AI Initiative logoAI Initiative
Reading room / Manthan

manthan — Agent Protocol

manthan — Agent Protocol. Covers Inputs you receive; Inputs you do NOT receive; The seven steps; 1. Orient yourself.

Project explanation / technical method
This is the retained source text, not a new validation of its claims. Numerical results and comparative claims require the accompanying source review before public reuse.

Read the connected case study or article →

Not explicitly stated in source · Date not established

Provenance, authorship and editorial notes

manthan — Agent Protocol

Id

manthan-herald-protocol-manthan-agent-protocol

Project

Manthan

Source path

manthan/herald-protocol/manthan/AGENT_PROTOCOL.md

Source sha256

31c5218aecb69b02d337a77a4fb2d556f61bd1823813060ee389c8716ca131dd

Local copy sha256

31c5218aecb69b02d337a77a4fb2d556f61bd1823813060ee389c8716ca131dd

Repo head

3a94084024a3434cef331fecac91c2c3b43f0313

Date
Not recorded
Date basis

Original publication date not established; Git revision date retained separately.

Author

Not explicitly stated in source

Author basis

Unknown; Git committer not substituted for document author.

Last source commit

8b75d1b0157c20a0a463f0e31008ef9f73099beb

Last source commit date

2026-06-08T07:40:14Z

Document status

Project explanation / technical method

Summary

manthan — Agent Protocol. Covers Inputs you receive; Inputs you do NOT receive; The seven steps; 1. Orient yourself.

Topics
  • Exploration architecture and selection
  • Inputs you receive
  • Inputs you do NOT receive
  • The seven steps
Theme

Exploration architecture and selection

Priority

deep

Related ids
  • manthan-readme
  • manthan-docs-architecture
  • manthan-docs-business-overview
  • manthan-docs-demo-walkthrough
  • manthan-docs-principles
  • manthan-docs-qd-measurement-direction-plan
  • manthan-docs-swarm-evolution-integration
Evidence concerns
  • Recovered source text is preserved verbatim. Assertions, comparisons, commands and results belong to its original context; they were not re-executed or externally re-verified during this corpus review.
Word count

1218

Bytes

8048

Source relative

herald-protocol/manthan/AGENT_PROTOCOL.md

Remote mirror

manthan/herald-protocol/manthan/AGENT_PROTOCOL.md

Full text preserved

True

manthan — Agent Protocol

What a worker agent does, step by step. This is the contract.


Inputs you receive

Inputs you do NOT receive


The seven steps

1. Orient yourself

Read TODO.md. Read manthan/README.md. Read whichever of SPEC.md, EXT.md, CHARTER.md, THREATS.md are relevant to the kind of task you're about to claim. Do not claim before you understand the surrounding work.

2. Pick an unclaimed task whose dependencies are done

Run manthan/bin/list. The output shows pending tasks and their dependency status. Pick one where:

Prefer Tier 1 tasks unless the work needs you specifically.

3. Claim it

manthan/bin/claim <task-id> <your-worker-name>

If the script exits 0, the task is yours and a state/claims/<task-id>/ directory now exists with your details. If exit non-zero, someone else claimed it during your read — go back to step 2.

A claim has a 4-hour lease by default. If your work will take longer, extend with:

manthan/bin/claim <task-id> <your-worker-name> --extend 8h

4. Do the work

Work in state/findings/<task-id>/ (your sandbox). Do not modify files outside it without explicit instruction.

If the task description references documents (e.g. "implement [SPEC §3.3a]"), read those documents as written today — do not assume they match your training. Documents evolve.

If you discover the task is blocked by something not listed in dependencies — a missing primitive, an ambiguous spec sentence, a needed decision from the human — write your finding to state/findings/<task-id>/BLOCKED.md describing the blocker, and run:

manthan/bin/release <task-id> <your-worker-name> --status blocked

Releasing-as-blocked is honourable. Submitting partially-working code as done is not.

5. Self-review before submitting

Before you submit, ask yourself:

6. Submit

manthan/bin/submit <task-id> <your-worker-name> state/findings/<task-id>/

This:

After submitting, you are done with this task. Do not claim another in the same session. The orchestrator will spawn a fresh worker for the next one. (One-task-per-worker keeps work units clean and review boundaries crisp.)

7. Exit cleanly

Print a one-paragraph summary to stdout:

Then exit. Do not continue the session.


Rules

No scope creep

If you notice something related but not requested, write it as a follow-on task in your summary. Do not silently expand your work. Scope creep makes review harder and breaks the parallelism: another worker may already be claiming the work you're inadvertently doing.

No silent reformatting

If you touch a file you weren't asked to touch — even to fix typos — note it explicitly. Reviewers care.

No deleting other workers' findings

state/findings/<other-task-id>/ is read-only to you, period. If you think another worker's submission is wrong, write a critique to your own findings; don't edit theirs.

No racing

If you find a task in claimed state and the lease is still valid, do not force-release it. Pick something else. Force-release is only for stale leases or with explicit human authorisation.

Use absolute file paths in findings

When your findings reference files, use absolute paths (/path/to/herald-protocol/...) so reviewers can copy-paste. Relative paths are ambiguous across worker workspaces.

Cite specifically

If a finding rests on something in SPEC.md or EXT.md, quote the line and the section number. "Per [SPEC §3.6]: 'All Ed25519 signatures...'" is reviewable. "I followed the spec" is not.


Output expectations by task type

Task typeWhat "done" looks like
Code (T-002, T-003, T-005…)A directory with the implementation, a README.md explaining how to run it, at least 3 tests or worked examples, and a RECEIPT.md quoting the spec sections you implemented.
Test vectors (T-001)The vectors themselves (binary or hex), a generation script that re-derives them, a verification script, and a one-page document explaining each vector's purpose.
Documentation (T-012, T-013, T-018…)The document, plus a RECEIPT.md listing the source documents you read and any cross-reference checks you performed.
Research (R-201…R-213)A markdown report with: question, what you found, citations (URLs + retrieval date), what you couldn't determine, recommended next steps.
Audit (D-301…D-305)A markdown report with: scope, methodology, findings (numbered), severity for each, proposed remediation.

How to handle ambiguity

When the spec is unclear:

1. First, see if THREATS.md or the reviews/ directory clarifies — the original reviews captured a lot of decisions that didn't make it into prose.
2. Second, write your interpretation in a state/findings/<task-id>/INTERPRETATION.md and proceed under it. Note the ambiguity in your summary so the human can confirm.
3. Do not invent answers without flagging them. The INTERPRETATION.md is part of the deliverable, not optional.

If the ambiguity is severe enough that you can't proceed sensibly, release-as-blocked (step 4 above) and describe the ambiguity precisely.


What a good submission looks like

A reviewer skimming state/findings/T-001/ should see:

T-001/
├── RECEIPT.md           # 1 paragraph: what, why, spec sections
├── README.md            # how to use what you produced
├── NOTES.md             # decisions, surprises, follow-on tasks (if any)
├── <the actual deliverable>
└── INTERPRETATION.md    # if and only if you had to interpret an ambiguity

The reviewer reads RECEIPT first, NOTES second, then the deliverable. If they need INTERPRETATION, they read it. If they don't see RECEIPT, they bounce the submission.


What if I'm a Claude subagent specifically?

You probably are. A few extra notes:


This is the contract. The work waits.

Continue exploring