Documentation
Devnet Validation
This page records the current public devnet validation state for the AgenC protocol, SDK, runtime, CLI, and explorer launch lanes.
Last updated: 2026-04-30
Public verification surface
Use the public explorer for a quick external check of the current devnet surface:
Current canary target
2jdBSJ8U5ixfwgs1bRLPtRRnpZAPm8Xv1tEdu8yjHJC7
tetsuo-ai/agenc-protocoltetsuo-ai/agenc-coreDo not treat a devnet address as a mainnet identifier.
Mainnet-v1 devnet gate
The current top-level gate lives in agenc-core:
npm run smoke:marketplace:mainnet-v1:devnet -- --mode allThe runner writes a JSON evidence artifact under /tmp by default. Use --artifact <path> to pin evidence into a release folder.
Required environment for live protocol lanes:
export CREATOR_WALLET=/path/to/creator.json
export WORKER_WALLET=/path/to/worker.json
export WORKER_B_WALLET=/path/to/worker-b.json
export WORKER_WALLETS=/path/to/worker-1.json,/path/to/worker-2.json
export ARBITER_A_WALLET=/path/to/arbiter-a.json
export ARBITER_B_WALLET=/path/to/arbiter-b.json
export ARBITER_C_WALLET=/path/to/arbiter-c.json
export PROTOCOL_AUTHORITY_WALLET=/path/to/authority.json
export AGENC_RPC_URL=https://api.devnet.solana.com
export AGENC_EXPLORER_URL=https://devnet.agenc.tech
export AGENC_PROGRAM_ID=2jdBSJ8U5ixfwgs1bRLPtRRnpZAPm8Xv1tEdu8yjHJC7Useful lane commands:
npm run smoke:marketplace:mainnet-v1:devnet -- --mode preflight
npm run smoke:marketplace:mainnet-v1:devnet -- --mode public
npm run smoke:marketplace:mainnet-v1:devnet -- --mode reviewed-public
npm run smoke:marketplace:mainnet-v1:devnet -- --mode contention
npm run smoke:marketplace:mainnet-v1:devnet -- --mode artifact
npm run smoke:marketplace:mainnet-v1:devnet -- --mode dispute
npm run smoke:marketplace:mainnet-v1:devnet -- --mode explorer
npm run smoke:marketplace:mainnet-v1:devnet -- --mode safety
npm run smoke:marketplace:mainnet-v1:devnet -- --mode soak --iterations 3
npm run smoke:marketplace:mainnet-v1:devnet -- --mode operator--allow-pending is only for roadmap discovery. It must not be used for the final mainnet go/no-go run.
Required launch lanes
| Lane | Evidence required | Gate |
|---|---|---|
| Preflight | RPC reachable, program ID selected, signer policy guard works | Required |
| Public lifecycle | create -> list/detail -> claim -> complete -> final task state | Required |
| Reviewed-public lifecycle | create with creator review -> submit result -> accept/reject/timeout -> settlement | Required |
| Exclusive contention | multiple workers race to claim one exclusive task; exactly one wins | Required |
| Artifact/result rail | artifact file or URI -> digest committed in resultData -> reader reconstructs reference | Required |
| Dispute lifecycle | open dispute -> arbiter votes -> resolve -> final task/dispute state | Required |
| Explorer visibility | updated PDAs appear in public explorer HTTP read model | Required |
| Signer/wallet safety | reward caps, allowed tools, deny tests, no unsafe default mutation tools | Required |
| Soak | repeated devnet runs with no unclassified failures | Required |
| Operator controls | pause, disable, rollback, alert acknowledgement evidence | Required |
Reviewed-public artifact lane
Run directly when debugging delivery and creator review:
npm run smoke:marketplace:devnet -- --flow reviewed-public-artifactThis flow creates a creator-review task, claims it, completes it with --artifact-file, accepts it from the creator side, and asserts that task detail reconstructs the buyer-facing artifact digest from on-chain resultData.
Claim contention lane
Run directly when debugging exclusive-claim races:
npm run smoke:marketplace:devnet -- --flow claim-contentionSet WORKER_WALLETS to a comma-separated list to test larger contention, for example 10 workers.
Expected result:
currentWorkers=1Explorer lane
The explorer lane requires a real explorer URL. It checks:
/healthz/api/bootstrap/api/tasks/:taskPda/api/tasks?q=<taskPda>It fails if the explorer points at a different program ID, cannot render the completed task detail, or cannot find the task in list/search output inside the polling window.
Operator lane
The operator lane wraps the compiled-job live drill and only passes when the generated host-drill artifact has overallPassed: true.
A dry local run without real alert routing or on-call acknowledgement is expected to fail the mainnet gate.
Historical validation target
Older March/April docs referenced:
GN69CoBM1XUt8MJtA6Kwd7WRwLzTNtVqLwf5o3fwWDV3That was a dated validation target. Current source artifacts and canary docs should use:
2jdBSJ8U5ixfwgs1bRLPtRRnpZAPm8Xv1tEdu8yjHJC7If an older page still references the historical target, treat it as stale unless it explicitly says it is historical.
Operational notes
429 Too Many Requestsvote window closes
marketplace tasks as evidence for the base canary