Skip to content

The ordered path from a task description to a connected node - #5

Merged
makseq merged 1 commit into
mainfrom
agent-path-from-task-to-connected-node
Aug 10, 2026
Merged

The ordered path from a task description to a connected node#5
makseq merged 1 commit into
mainfrom
agent-path-from-task-to-connected-node

Conversation

@makseq

@makseq makseq commented Aug 10, 2026

Copy link
Copy Markdown
Member

Why

Everything an agent needs to build somebody's node is already here — the contract, the recipe, a correct reference, a black-box harness, the operational steps. What was missing is the order. The orchestrator's "Create external node" button hands the user's own coding agent a prompt that says: clone this repository, read its docs, build the node, come back with an image digest. An agent arriving that way had to infer the sequence from five documents that each assume you already know why you are reading them.

What this adds

One section, "Building your own node from this template", in CLAUDE.md — the file Claude Code reads without being asked — plus a one-line pointer from README.md. Six numbered steps: read the documents, edit node.py, prove it with the harness, take the digest, write the README the human gets, hand it back.

Link, not copy. Every step points at the document that owns the detail and restates none of it. A rule written down twice goes stale in one of the two places, and the stale copy is the one somebody is reading. The only new normative claim about the platform is one BEHAVIOUR in step 6, about where a digest is pasted and what the reply prints.

Step 3 is the one that matters, because after step 2 the harness is building and judging the author's container, not ours. It states the bar honestly rather than pleasantly:

  • --red-for-real can only differ from the plain run while some test carries expected_red_until_fixed, and none does today;
  • only the conforms_today group has node.py as its subject, and most of it rests on basis_reference_quality or basis_our_policy — bases the contract permits a node to fail;
  • several of those tests assert this node copies its inputs to its outputs, so a node that transforms them goes red honestly. A red test there is a question, not an instruction.
  • CONFORMANCE-BASELINE.md is named for what it is: a measurement of the reference node, not a prediction about anybody else's.

Also, in passing

docs/OPERATIONS.md told the reader that a denied pull of the agent image meant the package had not been made public yet, and to ask an admin to publish it. The package is public now — an anonymous token against ghcr.io returns the manifest with a 200 — so no docker login is needed and the paragraph said the opposite of the truth. Corrected.

Known-stale and deliberately NOT fixed here

.github/workflows/conformance.yml's header still explains why CI is green by saying "Twenty tests are known to fail against node.py as it stands" and "Six of the twenty are contract violations". Both were true before node.py was repaired and are false now — that commit updated every document except this one. The token pushing this branch has no workflow scope, so the fix has to come from a push that is allowed to touch .github/workflows/.

Verification

  • python -m pytest128 passed, 1 skipped in 138s, on a real Docker daemon (28.4). The skip is the verbatim-citation check, which needs a checkout of the orchestrator.
  • python -m pytest --collect-only -q --print-labels → exit 0, 129 collected, so every test still declares exactly one group and one basis. Split today: 41 conforms_today, 67 subject_is_platform, 21 harness_self_test; 82 basis_contract, 24 basis_reference_quality, 23 basis_our_policy.
  • Every relative link and heading anchor added by this change resolves, checked mechanically.
  • The public-image claim was verified against ghcr.io directly, with no credentials.

🤖 Generated with Claude Code

This repository already has everything an agent needs to build somebody's node —
the contract, the recipe, a correct reference, a black-box harness and the
operational steps — and no ordered path through them. The "Create external node"
button in the orchestrator generates a prompt telling the user's own coding agent
to clone this repository and finish at an image digest, and an agent arriving that
way had to infer the sequence from five documents that each assume you already
know why you are reading them.

So: one section in CLAUDE.md, which Claude Code reads on its own, with a one-line
pointer from README.md. Six steps, each pointing at the document that owns the
detail. Nothing is restated — a rule written down twice goes stale in one of the
two places, and the stale copy is the one somebody is reading.

The step that carries the weight is the third, verification, because after the
node has been edited the harness is judging the author's container rather than
ours. It states the bar honestly, which means saying three things the section
would be easier without: that --red-for-real can only differ from the plain run
while some test carries expected_red_until_fixed, and none does; that only the
conforms_today group has node.py as its subject, and most of it rests on
reference-quality or our-policy bases the contract permits a node to fail; and
that several of those tests assert this node COPIES its inputs to its outputs, so
a node that transforms them goes red honestly. A red test there is a question,
not an instruction. CONFORMANCE-BASELINE.md is named for what it is — a
measurement of the reference node, not a prediction about anybody else's.

One stale statement is corrected in passing. OPERATIONS.md told the reader that a
denied pull of the agent image meant the package had not been made public yet, and
to ask an admin to publish it. The package IS public now — an anonymous token
against ghcr.io returns the manifest with a 200 — so no docker login is needed and
the paragraph said the opposite of the truth.

A second stale statement is NOT fixed here, because the token pushing this branch
has no workflow scope: the conformance workflow's header still explains why CI is
green by saying twenty tests are known to fail, which was true before node.py was
repaired and is false now. It needs the same treatment, from a push that is allowed
to touch .github/workflows/.

Verified: the full harness passes on this tree (128 passed, 1 skipped in 138s —
the skip is the verbatim-citation check, which needs a checkout of the
orchestrator); collection with --print-labels exits 0, so every test still
declares a group and a basis; and every relative link and heading anchor added
here resolves.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@makseq
makseq force-pushed the agent-path-from-task-to-connected-node branch from 11efa69 to eed1239 Compare August 10, 2026 14:06
@makseq
makseq merged commit 0d5554a into main Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant