@perkos/agent-sdk 0.7.1 → 0.8.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/README.md +69 -17
- package/dist/builders.d.ts +5 -1
- package/dist/builders.d.ts.map +1 -1
- package/dist/builders.js +155 -11
- package/dist/builders.js.map +1 -1
- package/dist/client.d.ts +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +168 -26
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/custody/backend.d.ts +4 -0
- package/dist/custody/backend.d.ts.map +1 -0
- package/dist/custody/backend.js +149 -0
- package/dist/custody/backend.js.map +1 -0
- package/dist/custody/cli.d.ts +3 -0
- package/dist/custody/cli.d.ts.map +1 -0
- package/dist/custody/cli.js +43 -0
- package/dist/custody/cli.js.map +1 -0
- package/dist/custody/engine.d.ts +54 -0
- package/dist/custody/engine.d.ts.map +1 -0
- package/dist/custody/engine.js +115 -0
- package/dist/custody/engine.js.map +1 -0
- package/dist/custody/ledger.d.ts +24 -0
- package/dist/custody/ledger.d.ts.map +1 -0
- package/dist/custody/ledger.js +122 -0
- package/dist/custody/ledger.js.map +1 -0
- package/dist/custody/permit.d.ts +42 -0
- package/dist/custody/permit.d.ts.map +1 -0
- package/dist/custody/permit.js +91 -0
- package/dist/custody/permit.js.map +1 -0
- package/dist/custody/socket.d.ts +11 -0
- package/dist/custody/socket.d.ts.map +1 -0
- package/dist/custody/socket.js +118 -0
- package/dist/custody/socket.js.map +1 -0
- package/dist/evaluation-commitments.d.ts +47 -0
- package/dist/evaluation-commitments.d.ts.map +1 -0
- package/dist/evaluation-commitments.js +96 -0
- package/dist/evaluation-commitments.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/cli.d.ts +3 -0
- package/dist/mcp/cli.d.ts.map +1 -0
- package/dist/mcp/cli.js +36 -0
- package/dist/mcp/cli.js.map +1 -0
- package/dist/mcp/evaluation.d.ts +33 -0
- package/dist/mcp/evaluation.d.ts.map +1 -0
- package/dist/mcp/evaluation.js +141 -0
- package/dist/mcp/evaluation.js.map +1 -0
- package/dist/mcp/server.d.ts +27 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +207 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +7 -2
- package/dist/policy.js.map +1 -1
- package/dist/service-fees.d.ts +15 -0
- package/dist/service-fees.d.ts.map +1 -0
- package/dist/service-fees.js +109 -0
- package/dist/service-fees.js.map +1 -0
- package/dist/types.d.ts +66 -2
- package/dist/types.d.ts.map +1 -1
- package/docs/ARCHITECTURE.md +18 -2
- package/docs/EXISTING_AGENT.md +123 -0
- package/docs/HERMES_BUYER.md +91 -0
- package/docs/HERMES_CHECKPOINTS.md +88 -0
- package/docs/HERMES_CUSTODY.md +164 -0
- package/docs/HERMES_MCP.md +157 -0
- package/docs/HERMES_PROVIDER.md +98 -0
- package/docs/RELEASE_0.8.0_RC1.md +60 -0
- package/docs/SERVICE_FEES.md +108 -0
- package/docs/TESTNET_QUICKSTART.md +123 -0
- package/docs/VALIDATION_AND_RELEASE.md +82 -0
- package/docs/WALLET_SIGNER_SETUP.md +52 -0
- package/examples/service-fees.ts +36 -0
- package/examples/testnet-journal.ts +57 -0
- package/examples/testnet-lifecycle.ts +188 -294
- package/examples/testnet.env.example +12 -14
- package/package.json +7 -1
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -3,10 +3,25 @@
|
|
|
3
3
|
## Scope
|
|
4
4
|
|
|
5
5
|
The SDK is a typed boundary between agent frameworks and the existing PerkOS contracts. The core
|
|
6
|
-
|
|
6
|
+
browser entry point contains no LLM, HTTP-paywall, MCP server, wallet extension, or private-key store. Those
|
|
7
7
|
systems integrate through explicit interfaces so that transaction policy remains reusable and
|
|
8
8
|
auditable.
|
|
9
9
|
|
|
10
|
+
The unreleased Node-only `nayori-mcp` binary is a separate stdio adapter built on the official
|
|
11
|
+
MCP SDK. It exposes fixed-testnet public reads and offline commitments, not signing or payment
|
|
12
|
+
tools. There is no private-key store or custody service in that adapter. See
|
|
13
|
+
[Hermes MCP](HERMES_MCP.md) for role-specific tools and remaining integration gates.
|
|
14
|
+
The optional [QA custody candidate](HERMES_CUSTODY.md) runs separately: operator permit,
|
|
15
|
+
wallet-scoped lock, durable reservation/txid ledger and fixed testnet SDK backend. MCP delegates
|
|
16
|
+
bounded requests over a filesystem Unix socket; it never receives a key. Distinct Linux identity
|
|
17
|
+
and access-control verification are deployment gates, not claims established by a same-UID test.
|
|
18
|
+
|
|
19
|
+
The provider-only evaluation opt-in connects MCP to the fixed public QA evaluator origin.
|
|
20
|
+
It binds admission to the configured custody job and its confirmed submission, validates SDK
|
|
21
|
+
commitments against on-chain state, then reuses the deterministic evaluation ID. Evaluator
|
|
22
|
+
credentials, signing and byte verification stay outside MCP. x402 purchases remain a separate
|
|
23
|
+
integration gate; evaluation admission does not add another payment.
|
|
24
|
+
|
|
10
25
|
## Flow
|
|
11
26
|
|
|
12
27
|
```text
|
|
@@ -163,5 +178,6 @@ available through explicit same-network overrides.
|
|
|
163
178
|
|
|
164
179
|
- Durable replay-store and hosted HTTP adapters for the x402 Stacks facilitator.
|
|
165
180
|
- Hosted MPP challenge consumption, settlement reconciliation and confirmed receipt delivery.
|
|
166
|
-
-
|
|
181
|
+
- Deployment/isolation validation of the candidate wallet-enabled MCP delegation and durable operator-approved limits;
|
|
182
|
+
the read/prepare QA foundation already exists separately.
|
|
167
183
|
- Optional framework-specific integrations and higher-confirmation settlement policies.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Connect your existing agent to Nayori
|
|
2
|
+
|
|
3
|
+
Start here **after your agent is installed and working with your own LLM**. Keep that runtime,
|
|
4
|
+
model and provider. Nayori adds Stacks identity, escrow and payment integration; it does not
|
|
5
|
+
install your agent or configure its LLM. No PerkOS-LLM account or credentials are required.
|
|
6
|
+
Never send Nayori your model API key, wallet private key or recovery material.
|
|
7
|
+
|
|
8
|
+
Hermes is an example integration, not a requirement. A non-TypeScript runtime can use a
|
|
9
|
+
controlled TypeScript sidecar or the documented HTTP surfaces; HTTP/MCP discovery alone does
|
|
10
|
+
not implement the on-chain job lifecycle.
|
|
11
|
+
|
|
12
|
+
## 1. Choose the integration and release
|
|
13
|
+
|
|
14
|
+
| Path | Available boundary | Start with |
|
|
15
|
+
| --- | --- | --- |
|
|
16
|
+
| TypeScript SDK | Public npm 0.7.1: reads, transaction plans and operator-supplied signer interfaces | This guide and the [SDK README](../README.md) |
|
|
17
|
+
| Local MCP for an existing Hermes | Unreleased QA candidate: fixed testnet contracts, bounded role tools and optional separate custody | [MCP setup](HERMES_MCP.md) |
|
|
18
|
+
| Remote partner MCP | Invite-only OAuth API access; not the local Hermes custody bridge | [Partner guide](PARTNER_PILOT.md) |
|
|
19
|
+
|
|
20
|
+
Install a reviewed, pinned public version in your agent's integration package:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npm install --save-exact @perkos/agent-sdk@0.7.1
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The QA candidate shares a version label with a **different** npm artifact. Its Hermes tools,
|
|
27
|
+
committed-evaluation walkthrough and fee integration require the reviewed QA source/tarball.
|
|
28
|
+
Do not assume installing npm 0.7.1 installs those features. Record the source commit and artifact
|
|
29
|
+
SHA-256; do not use an unpinned auto-downloading command in a financial agent.
|
|
30
|
+
|
|
31
|
+
## 2. Prepare the wallet and signer under your control
|
|
32
|
+
|
|
33
|
+
Follow [wallet and signer preparation](WALLET_SIGNER_SETUP.md) separately from SDK installation.
|
|
34
|
+
If you already have a suitable signer, verify it rather than creating another wallet.
|
|
35
|
+
Use a dedicated testnet identity, verify recovery, and authorize only a small STX gas budget.
|
|
36
|
+
The agent requests bounded operations; its isolated signer checks and signs them. The LLM does
|
|
37
|
+
not receive a private key. SDK installation creates neither a wallet nor an on-chain identity.
|
|
38
|
+
|
|
39
|
+
## 3. Pin testnet and verify the deployment
|
|
40
|
+
|
|
41
|
+
Select `network: "testnet"` explicitly. Match registry, escrow generation, token and evaluator
|
|
42
|
+
to the intended QA deployment before any transaction. A network selection alone does not select
|
|
43
|
+
the fee-candidate contracts. The public npm default and the [QA fee candidate](SERVICE_FEES.md)
|
|
44
|
+
are distinct; do not copy a candidate override into production.
|
|
45
|
+
|
|
46
|
+
This example reads a count and creates an **unsigned** plan only:
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
import { PerkOSClient } from "@perkos/agent-sdk";
|
|
50
|
+
|
|
51
|
+
const nayori = new PerkOSClient({ network: "testnet" });
|
|
52
|
+
console.log(await nayori.getAgentCount());
|
|
53
|
+
|
|
54
|
+
// Obtain this public address from your verified testnet signer, not from an LLM.
|
|
55
|
+
const operatorAddress = "YOUR_VERIFIED_TESTNET_ADDRESS";
|
|
56
|
+
const plan = nayori.transactions.registerAgent({
|
|
57
|
+
name: "My Research Agent",
|
|
58
|
+
description: "Produces cited research for assigned jobs.",
|
|
59
|
+
wallet: operatorAddress,
|
|
60
|
+
endpoints: [],
|
|
61
|
+
});
|
|
62
|
+
console.log(plan.network, plan.contract, plan.functionName);
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Replace the address placeholder before building the plan; it intentionally is not a usable
|
|
66
|
+
wallet. `endpoints: []` is appropriate when the agent has no public service. Do not advertise
|
|
67
|
+
an example URL, private host or local stdio process as an HTTPS MCP endpoint.
|
|
68
|
+
|
|
69
|
+
## 4. Register and verify the agent
|
|
70
|
+
|
|
71
|
+
1. Choose real public metadata. Check saved receipts/IDs before making another registration.
|
|
72
|
+
2. Review the plan's network, registry, `register-agent` call and arguments in your signer.
|
|
73
|
+
Use the same operator address as transaction sender and metadata wallet in this walkthrough.
|
|
74
|
+
The contract records the sender as `creator`; a metadata wallet alone does not prove ownership.
|
|
75
|
+
3. Explicitly authorize the registration and network fee using your controlled signer integration.
|
|
76
|
+
A plan does not sign or broadcast. `registerAgent()` on a signer-enabled client returns a
|
|
77
|
+
broadcast receipt, not confirmation. Preserve that receipt's txid durably.
|
|
78
|
+
4. Use `nayori.confirm(savedTxid)` and require `status === "success"`. Verify the registry call
|
|
79
|
+
returned `(ok uN)` and record that **agent ID**, not a job ID or OAuth identity. Confirm the
|
|
80
|
+
configured canonical depth independently where your release policy requires it.
|
|
81
|
+
5. Read `await nayori.getAgent(agentId)`. Require an active record, matching `creator`, `wallet`,
|
|
82
|
+
name, description and endpoints. Save network, registry, txid and agent ID together.
|
|
83
|
+
6. On timeout or missing state, query the saved txid and registry before retrying. Do not infer
|
|
84
|
+
your ID from the global agent count, or re-register merely because a response was slow.
|
|
85
|
+
|
|
86
|
+
Registration is now verifiable on-chain. It does not grant OAuth scopes, buy a resource, create
|
|
87
|
+
a job or authorize another wallet. Request partner OAuth only if the API path you actually need
|
|
88
|
+
requires it; direct SDK contract registration does not require partner credentials.
|
|
89
|
+
|
|
90
|
+
## 5. Choose the job role
|
|
91
|
+
|
|
92
|
+
- **Buyer/client:** create objective criteria, create a job, set budget, fund and assign a provider.
|
|
93
|
+
Confirm every state-changing transaction before proceeding. Fund the escrow contract, not a
|
|
94
|
+
provider wallet directly. Use [the buyer walkthrough](HERMES_BUYER.md) for the QA Hermes example.
|
|
95
|
+
- **Provider:** register with its own signer, verify assignment and escrow, do the real work and
|
|
96
|
+
submit evidence. It cannot self-assign in the QA bridge. It needs STX for its own gas but does
|
|
97
|
+
not send sBTC merely to receive payment. See [the provider walkthrough](HERMES_PROVIDER.md).
|
|
98
|
+
- **Outcome:** neither participant controls Nayori's evaluator key. Check the decision, appeal
|
|
99
|
+
window and final settlement; verify zero escrow, actual payout/refund and reputation state.
|
|
100
|
+
|
|
101
|
+
The [role-separated testnet walkthrough](TESTNET_QUICKSTART.md) supplies guarded QA commands,
|
|
102
|
+
inputs and recovery behavior. It is a separate candidate, not a claim that a funded autonomous
|
|
103
|
+
Hermes session has passed merely because the guide exists. See the separately
|
|
104
|
+
[verified supervised lifecycle](VALIDATION_AND_RELEASE.md). x402 resource purchases have their own [payment workflow](X402_PAYMENTS.md),
|
|
105
|
+
permission and budget; registering an agent or requesting evaluation does not buy an x402 resource.
|
|
106
|
+
|
|
107
|
+
## Completion checklist
|
|
108
|
+
|
|
109
|
+
Use [QA checkpoints](HERMES_CHECKPOINTS.md) for role funding budgets, the custody-specific
|
|
110
|
+
six-burn confirmation gate, job-bound provider handoff and recovery. Funding a wallet is not
|
|
111
|
+
funding escrow; an evaluator decision is not a payout.
|
|
112
|
+
|
|
113
|
+
- Existing agent and its own LLM unchanged; no model key shared with Nayori.
|
|
114
|
+
- Operator-controlled wallet/signer and recovery tested, secrets outside agent prompts and Git.
|
|
115
|
+
- Explicit testnet/deployment and bounded gas/operation permissions.
|
|
116
|
+
- Successful registration tx, returned agent ID and matching active registry record.
|
|
117
|
+
- Chosen role tested against a real job, with confirmed submission and economic outcome.
|
|
118
|
+
- Public receipts contain no secrets; simulated/unsigned steps are not labeled completed E2E.
|
|
119
|
+
|
|
120
|
+
Promote to mainnet only through a separately reviewed network/deployment configuration and
|
|
121
|
+
spending authorization. Testnet registration does not create a mainnet identity. One supervised
|
|
122
|
+
funded Hermes scenario passed; clean published-package onboarding, paid-resource integration and
|
|
123
|
+
the recorded demo remain separate gates.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Hermes buyer — controlled QA walkthrough
|
|
2
|
+
|
|
3
|
+
**Unreleased candidate; one supervised internal lifecycle verified.** Follow this with a
|
|
4
|
+
separate provider operator. Do not substitute mainnet URLs or assume the published npm 0.7.1
|
|
5
|
+
contains these tools. This guide is the recording checklist, not evidence that every step passed.
|
|
6
|
+
|
|
7
|
+
See [validation and release boundaries](VALIDATION_AND_RELEASE.md) for the exact tested source,
|
|
8
|
+
public transactions and remaining gates. Reuse an already registered, verified identity; omit
|
|
9
|
+
`register` from a new permit and recalculate its action/gas budget instead of registering twice.
|
|
10
|
+
|
|
11
|
+
## 1. Operator prerequisites
|
|
12
|
+
|
|
13
|
+
### Bring your working agent
|
|
14
|
+
|
|
15
|
+
Your Hermes is already installed and working with your own LLM. Keep that configuration;
|
|
16
|
+
this guide adds Nayori tools, not a model provider. No PerkOS-LLM account, model migration or
|
|
17
|
+
model API key shared with Nayori is required. Hermes is an example, not a platform requirement.
|
|
18
|
+
Start with [existing-agent onboarding](EXISTING_AGENT.md) and the separate
|
|
19
|
+
[operator wallet/signer checklist](WALLET_SIGNER_SETUP.md). Keep model credentials out of
|
|
20
|
+
prompts, MCP arguments and recordings. Your agent's model is separate from Nayori's evaluator.
|
|
21
|
+
|
|
22
|
+
- Create and back up a dedicated Stacks testnet wallet **outside Nayori and outside Hermes**.
|
|
23
|
+
Use your own Stacks.js signer or the reviewed isolated custody pilot. Wallet creation,
|
|
24
|
+
key recovery and funding remain operator responsibilities, not SDK tools.
|
|
25
|
+
- Verify the restored key derives the expected address before funding. Never display keys,
|
|
26
|
+
recovery material, environment contents or authorization headers in a recording.
|
|
27
|
+
- Keep the buyer key only inside its signer boundary. Hermes must not share that UID,
|
|
28
|
+
key mount, writable policy, Docker socket, sudo or access to the provider's socket.
|
|
29
|
+
- Install the exact reviewed QA tarball as described in [MCP setup](HERMES_MCP.md).
|
|
30
|
+
Record source SHA and artifact SHA-256. Do not use unpinned `npx` or confuse candidate
|
|
31
|
+
version 0.7.1 with the different publicly distributed 0.7.1 artifact.
|
|
32
|
+
|
|
33
|
+
## 2. Configure and verify permissions
|
|
34
|
+
|
|
35
|
+
Create the public profile with `role: client` and four distinct, verified buyer/provider/
|
|
36
|
+
evaluator/treasury addresses. Follow [custody permissions](HERMES_CUSTODY.md) for a short-lived
|
|
37
|
+
permit, private journal and socket. Start with signing disabled and no funded key loaded.
|
|
38
|
+
|
|
39
|
+
The pilot allows at most one job per permit: up to 1000 atomic sBTC units or 100000 micro-STX,
|
|
40
|
+
5000 micro-STX gas reserved per action and no more than 35000 total per permit. Limits are
|
|
41
|
+
caps, not a live network fee quote. The buyer's six actions normally require a 30000 cap.
|
|
42
|
+
Accept the included 200 bps evaluation-earned fee and net refund after evaluated rejection.
|
|
43
|
+
|
|
44
|
+
Configure Hermes using the exact paths in MCP setup. Verify `nayori_context` reports
|
|
45
|
+
testnet, your wallet and the fixed v6/v5 contracts. With custody, verify
|
|
46
|
+
`nayori_custody_status` reports the intended permit and zero unexpected operations. A context
|
|
47
|
+
response does not prove wallet ownership or successful registration.
|
|
48
|
+
|
|
49
|
+
## 3. Execute one real job
|
|
50
|
+
|
|
51
|
+
After operator review, isolation tests, backup and explicit low-value testnet funding:
|
|
52
|
+
|
|
53
|
+
1. Enable testnet signing in the **signer service**, not in Hermes's environment.
|
|
54
|
+
2. Ask Hermes to call `nayori_execute` with `{"action":"register"}`. Confirm the saved txid
|
|
55
|
+
and agent ID. Do not repeat registration under a new permit because a response is slow.
|
|
56
|
+
3. Define a real small task and objective acceptance criteria in the operator permit.
|
|
57
|
+
`nayori_prepare_job` previews the commitment; it does not create or authorize a job.
|
|
58
|
+
4. Execute `create`, then query custody status until its returned job ID is confirmed.
|
|
59
|
+
5. Execute `set-budget`, `fund`, then `assign`, confirming each before the next. In the
|
|
60
|
+
custody pilot confirmation includes six subsequent burn blocks, not six Stacks blocks.
|
|
61
|
+
6. Give the confirmed public job ID to the provider operator. The buyer assigns the provider;
|
|
62
|
+
the provider cannot self-assign. The provider verifies escrow before doing work.
|
|
63
|
+
7. Track `nayori_get_job`. The provider delivers and, if explicitly enabled, requests public
|
|
64
|
+
QA evaluation. Buyer and provider do not possess the evaluator key.
|
|
65
|
+
8. Read the actual on-chain decision and appeal deadline. For an unappealed decision, call
|
|
66
|
+
buyer `finalize` only after the deadline. The pilot blocks appealed jobs for human handling.
|
|
67
|
+
9. Independently inspect transaction events, terminal state, zero escrow, exact provider/
|
|
68
|
+
treasury payouts and reputation. For approved gross 1000 sBTC units, expect 980 provider
|
|
69
|
+
and 20 treasury under the configured 200 bps policy. A decision alone is not payment.
|
|
70
|
+
|
|
71
|
+
## 4. Failure and recovery
|
|
72
|
+
|
|
73
|
+
Follow [QA checkpoints](HERMES_CHECKPOINTS.md) for the exact confirmation condition:
|
|
74
|
+
`currentBurn >= transactionBurn + 6`. Explorer success may arrive before custody confirmation.
|
|
75
|
+
Wallet funding, escrow funding and final payout are separate checkpoints.
|
|
76
|
+
|
|
77
|
+
Query custody/evaluation status before retrying. Preserve the same permit, journal, job and
|
|
78
|
+
txid. A reserved operation without saved txid may already have signed: stop and investigate.
|
|
79
|
+
Do not delete locks/journals, change nonce, increase gas or authorize a duplicate payment to
|
|
80
|
+
make an error disappear. Recovery requires operator review of chain, nonce, mempool and events.
|
|
81
|
+
|
|
82
|
+
## 5. Separate paid-resource and recording gates
|
|
83
|
+
|
|
84
|
+
The current MCP does **not** purchase x402 resources. The [x402 paying flow](X402_PAYMENTS.md)
|
|
85
|
+
needs its own permission, budget and successful walkthrough before a video claims that
|
|
86
|
+
capability. Evaluation admission does not add a second x402 fee to this job.
|
|
87
|
+
|
|
88
|
+
Record installation, public profile, tool discovery, actual registration/job/funding/assignment,
|
|
89
|
+
provider handoff, decision and settlement. Label edited waiting periods. Keep private setup off
|
|
90
|
+
screen. Keep the video and internal receipts outside the repository. Our controlled wallets are
|
|
91
|
+
`internal-team-operated-not-m2-adoption`, not external grant adoption.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Hermes QA checkpoints and confirmation handling
|
|
2
|
+
|
|
3
|
+
This is an **unreleased QA candidate**, not a completed funded autonomous E2E certification.
|
|
4
|
+
One supervised internal sBTC lifecycle is verified in [validation and release boundaries](VALIDATION_AND_RELEASE.md).
|
|
5
|
+
Use your existing agent and LLM. Keep the wallet and policy signer under your control, outside
|
|
6
|
+
the model process. Follow [existing-agent onboarding](EXISTING_AGENT.md), then the
|
|
7
|
+
[buyer](HERMES_BUYER.md) or [provider](HERMES_PROVIDER.md) manual.
|
|
8
|
+
|
|
9
|
+
## Fund wallets before enabling execution
|
|
10
|
+
|
|
11
|
+
Wallet funding is not agent registration and is not escrow funding. Derive and verify each
|
|
12
|
+
public address from its own signer, test recovery and inspect balances on the intended network.
|
|
13
|
+
Do not fund example addresses or send money to a provider as a substitute for `fund-job`.
|
|
14
|
+
|
|
15
|
+
For the bounded sBTC QA walkthrough:
|
|
16
|
+
|
|
17
|
+
| Role | Initial wallet budget | What it authorizes |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| Buyer | 1000 **atomic sBTC units** plus 30000 micro-STX | One escrow budget and six actions at 5000 micro-STX gas each |
|
|
20
|
+
| Provider | 10000 micro-STX | Registration and submission at 5000 micro-STX each |
|
|
21
|
+
| Evaluator / appeal authority | Separately operated | Neither participant receives these keys or spending permissions |
|
|
22
|
+
|
|
23
|
+
These are pilot caps, not a live fee estimate or guaranteed inclusion price. Funding transfers
|
|
24
|
+
also cost gas to their sender and are outside those recipient budgets. The provider needs no
|
|
25
|
+
sBTC deposit to receive an approved payout. Verify the canonical token principal, not just its
|
|
26
|
+
ticker. The candidate accepts STX or sBTC escrow; direct USDCx resource payments are separate.
|
|
27
|
+
|
|
28
|
+
## Track these checkpoints independently
|
|
29
|
+
|
|
30
|
+
| Checkpoint | Required evidence | Does not prove |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| Wallet ready | Correct network/address, recovery and asset/gas balances | Registration or escrow |
|
|
33
|
+
| Tools ready | Real discovery, role context and bounded signer status | A chain transaction |
|
|
34
|
+
| Signed / broadcast | Durable intent and saved txid | Canonical success or confirmation depth |
|
|
35
|
+
| Registered | Successful registry call, returned agent ID and matching active record | A created or funded job |
|
|
36
|
+
| Job funded | Confirmed job ID, criteria commitment, assigned provider, exact asset and escrow | Delivered work |
|
|
37
|
+
| Work submitted | Confirmed evidence commitment and retrievable matching bytes | Evaluator approval |
|
|
38
|
+
| Decision pending | On-chain decision and explanation hashes, appeal deadline | Payment or final reputation |
|
|
39
|
+
| Settled | Terminal state, zero escrow, exact transfer events and reputation state | External adoption by itself |
|
|
40
|
+
|
|
41
|
+
## Six-burn confirmation gate
|
|
42
|
+
|
|
43
|
+
The QA custody pilot keeps an operation `signed` until its transaction is canonical, anchored
|
|
44
|
+
and successful **and six subsequent Bitcoin burn blocks have arrived**. For a transaction in
|
|
45
|
+
burn block `B`, the condition is `currentBurn >= B + 6`. This is not six Stacks blocks, not six
|
|
46
|
+
seconds and not an estimate of wall-clock completion. A success shown by an explorer may precede
|
|
47
|
+
the custodian's `confirmed` state. The SDK's general confirmation tracker and this custody gate
|
|
48
|
+
are different policies; do not assume all SDK methods apply this depth automatically.
|
|
49
|
+
|
|
50
|
+
Call `nayori_custody_status` to reconcile the existing journal. Do not call `nayori_execute`
|
|
51
|
+
again to force confirmation, change the nonce, delete state, replace the permit, or increase the
|
|
52
|
+
gas budget. A reserved operation without a txid, an abort, unavailable RPC or uncertain broadcast
|
|
53
|
+
requires operator investigation. Keep the same journal and saved txid; there is no automatic
|
|
54
|
+
fee bump or automatic rebroadcast. Six burn blocks reduce, but do not eliminate, reorg risk.
|
|
55
|
+
|
|
56
|
+
## Role handoff and outcome
|
|
57
|
+
|
|
58
|
+
The buyer completes registration, creation, budget, funding and assignment one action at a time.
|
|
59
|
+
Issue the provider's permit only after independently verifying the real job ID, identities,
|
|
60
|
+
criteria, expiry, token and exact funded escrow. Never use a synthetic job ID in a funded permit.
|
|
61
|
+
The provider's pilot permit is job-bound; it then registers and submits with its own signer.
|
|
62
|
+
|
|
63
|
+
If the identity is already registered, verify the active record and reuse it; omit registration
|
|
64
|
+
from the permit and recalculate the cap. The verified repeat cycle used five buyer actions
|
|
65
|
+
(25000 micro-STX) and one provider submission (5000 micro-STX), excluding incoming funding and
|
|
66
|
+
the evaluator's own gas. These do not replace the first-registration budgets above.
|
|
67
|
+
|
|
68
|
+
Preserve the submitted evidence bytes. An evaluator decision does not move escrow. Wait through
|
|
69
|
+
the job's actual appeal deadline and respect any appeal; do not replace the chain deadline with
|
|
70
|
+
a timer in your agent. Approved gross 1000 atomic sBTC under the QA 200 bps policy settles as
|
|
71
|
+
980 to the provider and 20 to the job-pinned treasury. Verify events rather than calculating
|
|
72
|
+
an expected amount and reporting it as paid. Production contract generations may differ.
|
|
73
|
+
|
|
74
|
+
## Isolation, evidence and video
|
|
75
|
+
|
|
76
|
+
Restrict the signer's outbound transport to the approved testnet RPC. Keep the model process
|
|
77
|
+
away from key files, writable permits/journals, the Docker socket and privileged shell access.
|
|
78
|
+
An operator-owned restricted relay is one deployment option, not an SDK-managed custody service.
|
|
79
|
+
RPC reachability is not authorization; the signer still validates every operation and budget.
|
|
80
|
+
|
|
81
|
+
Save public network, source/artifact hashes, permit hash, agent/job IDs, txids, block heights and
|
|
82
|
+
verification results. Keep secrets, private host paths and internal logs out of published docs
|
|
83
|
+
and recordings. Label shortened waiting periods in the video. Team-operated testnet participants
|
|
84
|
+
are internal QA, not independent mainnet adoption.
|
|
85
|
+
|
|
86
|
+
The local Hermes MCP does not purchase x402 resources. [x402](X402_PAYMENTS.md) needs a separate
|
|
87
|
+
permission, budget, confirmed payment and delivered-resource receipt; evaluation admission does
|
|
88
|
+
not create a second payment. Record that gate separately from the escrow workflow.
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Hermes custody — bounded QA execution candidate
|
|
2
|
+
|
|
3
|
+
**Unreleased; deployed only for the controlled QA pilot. Do not enable funded wallets before your Linux isolation gate.**
|
|
4
|
+
This candidate adds `nayori-custody`, a separate Node service, and optional delegation from
|
|
5
|
+
`nayori-mcp`. It is not in published npm 0.7.1. No mainnet mode exists.
|
|
6
|
+
|
|
7
|
+
[One supervised internal lifecycle](VALIDATION_AND_RELEASE.md) passed with isolated signers.
|
|
8
|
+
That historical evidence does not authorize your deployment, wallet or spending limits.
|
|
9
|
+
|
|
10
|
+
## Trust boundary
|
|
11
|
+
|
|
12
|
+
Hermes/MCP → filesystem Unix socket → operator permit + durable ledger → SDK plan → testnet signer.
|
|
13
|
+
|
|
14
|
+
The service uses the real SDK builders and validation, not an LLM-generated raw transaction.
|
|
15
|
+
The model can request an action; it cannot choose network, contract, wallet, recipient, amount,
|
|
16
|
+
fee, private-key path, shell command, RPC endpoint, or signer module. The service never executes
|
|
17
|
+
job text as instructions. MCP has no private key and does not sign locally.
|
|
18
|
+
|
|
19
|
+
The **deployment**, not the presence of a socket, establishes isolation:
|
|
20
|
+
|
|
21
|
+
- Linux only for the custody CLI; signer and Hermes must use **different non-root UIDs**.
|
|
22
|
+
- Use a dedicated wallet and one immutable permit/ledger per participant for this pilot. Do not
|
|
23
|
+
reuse the wallet outside the custodian, or run another custodian with another state directory.
|
|
24
|
+
- Signer-owned private directories: `0700`; permit, journal and key files: `0600`, single link,
|
|
25
|
+
regular files, no symlinks. Use canonical absolute paths. No `.env` in Hermes or key in arguments.
|
|
26
|
+
- IPC directory: signer-owned `0710`, trusted connector group; socket `0660`. Its ancestors
|
|
27
|
+
must let Hermes traverse **only the IPC path**, not the private data directory. Set the signer
|
|
28
|
+
primary group to this connector group so the socket inherits it. Do not give group write access
|
|
29
|
+
to the IPC directory. Unrelated users must not belong to the connector group.
|
|
30
|
+
- Hermes must have no sudo, Docker socket, host root, `CAP_SYS_PTRACE`, shared key mount, signer
|
|
31
|
+
UID, writable signer source/dependencies, or access to signer process memory. Disable core dumps.
|
|
32
|
+
Restrict signer egress to the testnet RPC; keep permit/state/code inaccessible to Hermes.
|
|
33
|
+
- `--hermes-uid` rejects root/same UID, but **does not attest a running Hermes process or enforce
|
|
34
|
+
container mounts/capabilities**. Verify those operational controls before loading any funded key.
|
|
35
|
+
|
|
36
|
+
Linux pathname socket permissions govern access; these semantics are not portable to every OS.
|
|
37
|
+
See [Linux unix(7)](https://man7.org/linux/man-pages/man7/unix.7.html) and
|
|
38
|
+
[Node IPC documentation](https://nodejs.org/docs/latest-v22.x/api/net.html#ipc-support).
|
|
39
|
+
Same-UID macOS protocol tests are **not** an isolation proof or an external security review.
|
|
40
|
+
|
|
41
|
+
## Operator permit
|
|
42
|
+
|
|
43
|
+
Only the operator writes this JSON, outside Git. All fields below are required; placeholders
|
|
44
|
+
intentionally fail validation. Addresses must be distinct, valid testnet principals. `expiresAt`
|
|
45
|
+
is UTC wall-clock authorization expiry; `expiredAt` is the job's **Stacks block** expiry.
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"version": 1,
|
|
50
|
+
"id": "qa-buyer-001",
|
|
51
|
+
"profile": {
|
|
52
|
+
"network": "testnet",
|
|
53
|
+
"role": "client",
|
|
54
|
+
"client": "BUYER_TESTNET_ADDRESS",
|
|
55
|
+
"provider": "PROVIDER_TESTNET_ADDRESS",
|
|
56
|
+
"evaluator": "VERIFIED_QA_EVALUATOR_ADDRESS",
|
|
57
|
+
"treasury": "VERIFIED_QA_TREASURY_ADDRESS"
|
|
58
|
+
},
|
|
59
|
+
"asset": "sbtc",
|
|
60
|
+
"amount": "1000",
|
|
61
|
+
"gasBudget": "30000",
|
|
62
|
+
"expiresAt": "2099-01-01T00:00:00.000Z",
|
|
63
|
+
"expiredAt": "REPLACE_WITH_FUTURE_STACKS_HEIGHT",
|
|
64
|
+
"jobId": null,
|
|
65
|
+
"description": "Compute 7 + 5 and explain the result",
|
|
66
|
+
"acceptanceCriteria": [
|
|
67
|
+
{ "id": "sum", "requirement": "Return 12", "verification": "Check arithmetic" }
|
|
68
|
+
],
|
|
69
|
+
"agentName": "QA buyer",
|
|
70
|
+
"actions": ["register", "create", "set-budget", "fund", "assign", "finalize"],
|
|
71
|
+
"evidenceOrigins": ["https://evaluator.qa.nayori.ai"],
|
|
72
|
+
"serviceFeeConsent": "200bps-net-after-evaluation"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Replace the illustrative expiry with a short operator-approved window. Maximum escrow is
|
|
77
|
+
1000 sBTC units or 100000 micro-STX. Gas is **5000 micro-STX per action**, cumulatively reserved,
|
|
78
|
+
maximum 35000 per permit; failed/ambiguous operations do not replenish it. No gas bump or
|
|
79
|
+
sponsorship is attempted. Service consent accepts the existing **included 2% evaluation-earned
|
|
80
|
+
fee and net refund after evaluated rejection**, not a second x402 charge. Funds stay in escrow
|
|
81
|
+
until the contract settles them.
|
|
82
|
+
|
|
83
|
+
For the provider use a separate wallet/state/socket, role `provider`, the confirmed `jobId`, and
|
|
84
|
+
actions `["register", "submit"]`. Client/evaluator/treasury, criteria, budget and job expiry must
|
|
85
|
+
match the buyer's job. A provider never gets create/fund/assign/finalize authorization here.
|
|
86
|
+
|
|
87
|
+
## Start and connect
|
|
88
|
+
|
|
89
|
+
Install the exact reviewed QA tarball on each side. Record its SHA-256 and source commit.
|
|
90
|
+
First start with **signing disabled**, without a funded key:
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
nayori-custody --permit /private/permit.json --state /private/state \
|
|
94
|
+
--socket /ipc/nayori.sock --key-file /private/wallet-key \
|
|
95
|
+
--hermes-uid 2002
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Paths/UID are illustrative, not commands to provision the production server. The permit and
|
|
99
|
+
state directories must already satisfy permissions. Startup prints only the permit hash and
|
|
100
|
+
enabled flag to stderr. The key is read lazily **after** live checks and durable reservation.
|
|
101
|
+
After human review and the isolation gate, the operator may explicitly append
|
|
102
|
+
`--enable-testnet-signing`. Never give Hermes permission to modify service arguments.
|
|
103
|
+
|
|
104
|
+
Add to the existing [MCP configuration](HERMES_MCP.md):
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
- --custody-socket
|
|
108
|
+
- /ipc/nayori.sock
|
|
109
|
+
- --permit-hash
|
|
110
|
+
- OPERATOR_RECORDED_64_HEX_SHA256
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Two optional tools appear:
|
|
114
|
+
|
|
115
|
+
| Tool | Purpose |
|
|
116
|
+
|---|---|
|
|
117
|
+
| `nayori_custody_status` | Reconcile saved txids; show permit, budget, job ID and operations |
|
|
118
|
+
| `nayori_execute` | Request one allowed action, e.g. `{"action":"create"}` |
|
|
119
|
+
|
|
120
|
+
Submit additionally requires the exact evidence manifest schema from `nayori_prepare_submission`.
|
|
121
|
+
No `evidence` argument is accepted for other actions. Evidence origins, manifest hash/schema,
|
|
122
|
+
MIME and byte declarations are checked, but the signer **does not fetch or verify content bytes**.
|
|
123
|
+
The evaluator still must validate those bytes and judge the actual work.
|
|
124
|
+
|
|
125
|
+
Recommended sequence: buyer register → create → status/confirmed job ID → set-budget → fund →
|
|
126
|
+
assign; provider register → submit. Request each new action only after the previous one confirms.
|
|
127
|
+
Provider MCP can separately opt into [public QA evaluation admission](HERMES_MCP.md#optional-provider-evaluation-admission)
|
|
128
|
+
after a confirmed submission. No LLM API credential, internal evaluator bearer or x402 purchase
|
|
129
|
+
is added to custody. After an on-chain decision
|
|
130
|
+
and the appeal deadline, the buyer can finalize. Appealed jobs are blocked for human resolution;
|
|
131
|
+
this pilot does not expose appeal, refund, review-timeout or administrative actions.
|
|
132
|
+
|
|
133
|
+
## Recovery and accounting
|
|
134
|
+
|
|
135
|
+
- One wallet-scoped lock prevents parallel custodian processes using the same state directory.
|
|
136
|
+
- Append-only journal: reservation → locally derived txid → canonical confirmation. Each write
|
|
137
|
+
and parent directory entry is fsynced before the next side effect. Gas is never reset on restart.
|
|
138
|
+
- Exact duplicate requests return the existing state. Changed evidence for an already attempted
|
|
139
|
+
submit is rejected. Signing/broadcast timeouts, aborted transactions, partial journal writes and
|
|
140
|
+
unknown outcomes block additional spending. Errors never claim that no signature was made.
|
|
141
|
+
- Reconciliation requires the saved txid, canonical anchored success, expected contract result,
|
|
142
|
+
and **six subsequent burn blocks**. Create binds its returned job ID for subsequent actions.
|
|
143
|
+
Six confirmations reduce reorg risk; they do not eliminate it. Public RPC is a trust dependency.
|
|
144
|
+
- A crash leaves a lock. **Never delete/replace a ledger, approve a new permit for the same wallet,
|
|
145
|
+
or remove a lock blindly to retry.** Stop all signer processes; inspect chain nonce, saved txid,
|
|
146
|
+
mempool and events. Preserve evidence and obtain explicit operator recovery authorization.
|
|
147
|
+
This candidate intentionally has no automatic “unlock/retry payment” command.
|
|
148
|
+
- Nonce must be idle; another wallet user or pending transaction blocks signing. Postconditions
|
|
149
|
+
are deny-mode; sBTC is pinned to the canonical QA token and v6/v5 contracts.
|
|
150
|
+
- Finalization confirmation is not the full E2E acceptance report: independently verify exact
|
|
151
|
+
provider/treasury transfers, zero escrow, outcome and reputation before declaring success.
|
|
152
|
+
- Ordinary JavaScript strings cannot guarantee private-key memory erasure. This is a constrained
|
|
153
|
+
software custodian, not an HSM, MPC wallet, audited production signer, or disaster-recovery system.
|
|
154
|
+
|
|
155
|
+
## Release gates still required
|
|
156
|
+
|
|
157
|
+
1. Review/merge QA source and validate package integrity.
|
|
158
|
+
2. Deploy from the authorized workstation to QA; provision distinct Linux identities and prove
|
|
159
|
+
Hermes cannot read/modify key, permit, journal, code or another role's socket.
|
|
160
|
+
3. Crash/restart and concurrency tests across those OS identities, first with unfunded fixtures.
|
|
161
|
+
4. Explicitly approved low-value testnet buyer/provider run using **actual Hermes**, including
|
|
162
|
+
evaluator admission, exact payout events and recovery. Internal actors are not M2 adoption.
|
|
163
|
+
5. Complete the x402 onboarding walkthrough, release version/npm distribution, two operator
|
|
164
|
+
manuals and developer video. Production/mainnet remain unchanged until separately approved.
|