Documentation
AgenC Protocol Architecture
This page documents the public on-chain contract boundary for AgenC.
Last updated: 2026-04-30
The canonical source of truth is the public repository tetsuo-ai/agenc-protocol, which owns:
programs/agenc-coordination/artifacts/anchor/artifacts/devnet-readiness/@tetsuo-ai/protocol@0.2.0Current public deployment note
Current devnet/canary coordination program address:
2jdBSJ8U5ixfwgs1bRLPtRRnpZAPm8Xv1tEdu8yjHJC7Do not treat this as a mainnet identifier. Mainnet launch still requires the final evidence bundle and launch signoff described in /docs/deployment/mainnet.
The protocol package manifest derives AGENC_COORDINATION_PROGRAM_ADDRESS from the checked-in manifest, so downstream consumers should import the constant instead of copying addresses by hand.
What the protocol owns
The protocol is the shared trust surface for:
Task settlement modes
The current protocol supports these settlement modes:
complete_taskconfigure_task_validation,submit_task_result, accept_task_result, reject_task_result, auto_accept_task_result, and validate_task_result
complete_task_privateFor the current mainnet-v1 canary scope, only reviewed-public SOL tasks are in scope. Private ZK marketplace tasks are post-v1 scope.
Launch controls
The current protocol state includes fail-closed launch controls:
| Field | Meaning |
|---|---|
protocol_paused | Emergency global pause. Version-gated mutable protocol paths fail closed when set. |
disabled_task_type_mask | Bitmask of disabled task types. Bit index matches TaskType representation. |
Defined task type indexes:
| Task type | Bit |
|---|---|
Exclusive | 0 |
Collaborative | 1 |
Competitive | 2 |
BidExclusive | 3 |
For the constrained canary, the recommended normal mask disables every type except Exclusive: decimal 14, binary 0b1110.
Protocol launch controls are separate from runtime signer policy. Launch controls block direct program traffic when configured; signer policy protects official runtime/CLI wallets before signing.
Reviewed-public lifecycle
Reviewed-public tasks use manual validation. A worker submission does not pay out immediately:
create_task
-> configure_task_validation(CreatorReview)
-> set_task_job_spec
-> claim_task_with_job_spec
-> submit_task_result
-> accept_task_result | reject_task_result | auto_accept_task_resultThe public complete_task path rejects manual-validation tasks. Runtime wrappers therefore route reviewed completions into submit_task_result.
Artifact/result rail
The on-chain result field is fixed-size. Buyer-facing artifacts are represented as compact digest commitments, not as durable storage guarantees.
Current runtime convention:
artifact:sha256:<32-byte hex digest>For mainnet-v1 canary, artifact delivery is only allowed under creator review. The creator review step is the safety gate before payout.
What the protocol does not own
The protocol repository does not own:
Those remain outside the public on-chain trust surface.
System relationship
Canonical artifact path
Downstream consumers should treat these protocol artifacts as canonical:
artifacts/anchor/idl/agenc_coordination.jsonartifacts/anchor/types/agenc_coordination.tsscripts/idl/verifier_router.jsonDo not treat a local target/ directory in another repo as the canonical artifact contract.
Published package surface
The current @tetsuo-ai/protocol@0.2.0 package exports:
AGENC_COORDINATION_IDLAGENC_PROTOCOL_MANIFESTVERIFIER_ROUTER_IDLAGENC_COORDINATION_PROGRAM_ADDRESStype AgencCoordinationIt also exposes raw artifact subpaths:
@tetsuo-ai/protocol/idl/agenc_coordination.json@tetsuo-ai/protocol/manifest.json@tetsuo-ai/protocol/verifier-router.jsonCurrent source artifact counts:
Validation baseline
The protocol repo documents this release-sensitive validation sequence:
npm ci
npm run artifacts:check
npm run build
npm run typecheck
npm run pack:smokeWhen the program or IDL changes, rebuild with Anchor before refreshing artifacts and deploy protocol changes before runtime/CLI code that depends on new account layouts.
Public consumption model
Use @tetsuo-ai/protocol when you need:
Use @tetsuo-ai/sdk when you need higher-level client helpers, proof submission, and task lifecycle wiring.