docs: agent-registry family is keyless - tool tables, custody scope, spend-limit copy

README, .env.example, packages/signer/README.md, and docs/architecture/non-custodial-split.md
updated for the family-2 keyless migration (agent-registry build_* tools, no mnemonic
parameters): security notice narrowed to name the Self-Improvement Module as the only
remaining custodial family; agent-registry tool table renamed to the five build_* rows;
features bullets, self-hosting copy, Configuration/spend-limit scope notes, and the
architecture diagram's Safety Layer footnote all updated to "self-improvement only"; signer
README's pairing-status bullet and closing line extended to cover wallet/tx/contract AND
agent-registry; architecture doc's PR-sequence table marks family 2 as landed.

docs/VECTOR.md gains five new tool sections (register/update/transfer/deregister/message) -
this doc never documented the registry family under any name before, so these are additions
rather than renames; keyless framing (changeAddress, no mnemonic, unsigned CBOR + 4-call flow)
matches the style of the existing wallet/tx/contract sections. Safety Controls section's
custodial-family list also corrected to self-improvement only.
This commit is contained in:
FilipBl4gojevic
2026-07-29 19:53:25 +02:00
parent 2baff726a0
commit d0fc86c6e0
5 changed files with 133 additions and 64 deletions

View File

@@ -145,27 +145,29 @@ over-counts, which refuses too much rather than too little.
transactions, but an injected agent can still cause any transaction *within* policy.
Recipient allowlisting is the next lever.
- **Pairing this signer with the hosted builder now removes the custody exposure it was
designed to fix — for the wallet, transaction, and smart-contract family.** The signer's own
four tools are complete and independently verified end to end against live chain data
(`test/integration/roundtrip.test.ts`), and the hosted *builder's* tools in that family are
keyless: `vector_build_send_apex`, `vector_build_send_tokens`, `vector_build_transaction`,
`vector_build_deploy_contract`, and `vector_build_interact_contract` all take a wallet
*address*, never a mnemonic, and `vector_submit_transaction` / `vector_await_transaction`
complete the round trip. The pipeline — hosted keyless build → sign → submit → await — is
E2E-proven on Vector testnet (`packages/builder/test/integration/keyless-e2e.test.ts`): a
builder-produced unsigned transaction is signed with the same CML primitives `sign.ts` uses
(hash the body, produce a vkey witness, attach it — explicitly a stand-in for calling
`vector_signer_sign` directly, not a call to this package's own code), then submitted and
confirmed on real Vector testnet blocks. This signer's own tool surface, policy engine, and
audit log are exercised separately, by this package's own suite
(`test/integration/roundtrip.test.ts` and the smoke tests above). **What is still open: the
agent-registry and self-improvement tool families.** Their tools still require your mnemonic
as a call
parameter, so pairing this signer with the builder does not yet cover them. That migration is
tracked separately in
designed to fix — for the wallet, transaction, smart-contract, and agent-registry family.**
The signer's own four tools are complete and independently verified end to end against live
chain data (`test/integration/roundtrip.test.ts`), and the hosted *builder's* tools in these
families are keyless: `vector_build_send_apex`, `vector_build_send_tokens`,
`vector_build_transaction`, `vector_build_deploy_contract`, `vector_build_interact_contract`,
`vector_build_register_agent`, `vector_build_update_agent`, `vector_build_transfer_agent`,
`vector_build_deregister_agent`, and `vector_build_message_agent` all take a wallet *address*,
never a mnemonic, and `vector_submit_transaction` / `vector_await_transaction` complete the
round trip. The pipeline — hosted keyless build → sign → submit → await — is E2E-proven on
Vector testnet for both: a payment self-send
(`packages/builder/test/integration/keyless-e2e.test.ts`) and a full register → update →
deregister agent lifecycle with the 10 AP3X deposit round-tripped exactly
(`registry-e2e.test.ts`). Both sign with the same CML primitives `sign.ts` uses (hash the
body, produce a vkey witness, attach it — explicitly a stand-in for calling
`vector_signer_sign` directly, not a call to this package's own code), then submit and confirm
on real Vector testnet blocks. This signer's own tool surface, policy engine, and audit log
are exercised separately, by this package's own suite (`test/integration/roundtrip.test.ts`
and the smoke tests above). **What is still open: the Self-Improvement Module.** Its 5 tools
still require your mnemonic as a call parameter, so pairing this signer with the builder does
not yet cover them. That migration is tracked separately in
[`docs/architecture/non-custodial-split.md`](../../docs/architecture/non-custodial-split.md)
and has not shipped. Until it does, the root README's custody notice still describes those two
families accurately.
and has not shipped. Until it does, the root README's custody notice still describes that one
family accurately.
## Running it
@@ -192,9 +194,9 @@ example):
```
Register it alongside the hosted builder so an agent has both sets of tools available. For the
wallet, transaction, and smart-contract family, this pairing keeps your mnemonic off the hosted
server today — both halves are ready. See the last bullet under Known limitations above for
what's still open: the agent-registry and self-improvement families.
wallet, transaction, smart-contract, and agent-registry family, this pairing keeps your
mnemonic off the hosted server today — both halves are ready. See the last bullet under Known
limitations above for what's still open: the Self-Improvement Module.
## Testing