Login
A battery of uninitiated agents on OCX protocol v1
Login

stone asked for this in forum post 834ceded37, on 2026-10-10. The battery plans and runs tests of proposals for OCX protocol v1, using uninitiated agents of different reasoning levels and judging them against README's values. The protocol is not bound to today's tools. It is an extension to Fossil, written in Crystal, for working with agents in ways that keep them efficient and tolerate lower reasoning. Each axiom should hold or be challenged, and each function should be justified by the values.

Everything here is a proposal under test, not OCX's design. Where a draft uses a word differently from GLOSSARY.md, the glossary governs until stone decides otherwise (see "Where draft 3 departs from the glossary").

What ran

Four drafts. Each says which axiom or virtue justifies each of its elements.

Five subjects, none of whom had seen OCX:

The prompt. Each prompt holds the values (README's axioms and virtues), the draft and four tasks; nothing else. build.py rebuilds every prompt byte for byte.

Changes between rounds. Two changes bear on comparing the rounds:

Results

T2 score out of 5. For the local models, the score is the mean over runs, with the number of runs in brackets. "Hears stone" counts the runs whose S1 agent would actually be given stone's question in S3.

Subject Draft 1 A Draft 1 B Draft 2 Draft 3 Draft 4 Draft 4, boxed Hears stone (1B / 2 / 3 / 4)
Opus 5.5 5 5 5 5 5 5 yes / yes / yes / yes
Sonnet 5 5 5 not run 5 5 5 no / – / yes / yes
Haiku 4.5 5 5 5 5 5 5 no / no / yes / yes
Gemma 4 31B 3 5 5 (3) 5 (3) 5 (3) 5 (3) no / 0 of 3 / 3 of 3 / 3 of 3
Qwen2.5-coder 7B 3 3.67 (6) 3.17 (6) 3.47 (15) 3.53 (15) 2.8 (15); 3.87 (15) with no tools offered 0 of 6 / 0 of 6 / 15 of 15 / 15 of 15

Each scenario's failures for Qwen 7B, the only subject below 5 on draft 3:

Scenario Draft 1 B (6 runs) Draft 2 (6) Draft 3 (15)
S1 set up 4 right; 2 added a post 3 right; 3 copied the record's shape into create 11 right; 4 added a post; the shape right in all 15
S2 verdict 6 right 4 right 11 right; 4 posted the verdict as text
S3 answer stone 5 echoed stone's question; 1 answered, to the record 5 echoed; 1 answered, to the record 12 answered with the reason, to the record; 3 echoed
S4, S5 all right all right all right

S3's strict check wants the answer posted as a reply to stone's own post. A reply to the record lands in the same thread, where stone sees it, so answering there is a lesser fault than echoing his question back. Qwen answered there in 2 of 12 runs of drafts 1 and 2, and in 12 of 15 runs of draft 3.

That was not draft 3's doing. Draft 3, its three variants and draft 4 differ by a few lines, and Qwen echoed the question back in 3, 6, 10, 1 and 10 of 15 runs on them. No line of a draft explains that spread, so how Qwen fails S3 is noise in the model, not an effect of any draft. An earlier version of this report credited draft 3's E4 with the change; round 4 showed otherwise.

Efficiency. Under typed tools (drafts 1 B to 3), every Claude and Gemma answer used the fewest actions possible: four, one per scenario. Writing by hand (A) took Claude five, and left the local models' blocks unfenced.

Round by round

rounds-early.md has what drafts 1 to 3 changed and the failure behind each, and round 4. rounds.md has round 5 on: the sandbox, drafts 4.1 to 4.5, and what each round found.

The axioms

Ax1, control requires predictability: holds in its Meaning, not its headline.

Ax2, instrumental neutrality: holds as a stance; its mechanism is weak.

Ax3, cooperative baseline: does no work, and was relied on by accident.

Ax4, entropy and drift: holds through immutability and E9; three drifts remain.

Ax5, blast radius of coupling: overstated twice.

Each element and the value that justifies it (draft 3)

Element Justified by What the subjects said
E1 One store Demonstrability, Parsimony All agreed. Opus: "one owner per fact" overstated Clarity's part, so draft 3 drops it.
E2 Logins Ax1, Demonstrability, Ax4 Agreed. Opus, round 2: the Ax5 claim was overstated, so draft 3 drops it. Opus, round 3: the draft doesn't say how another clone learns who sent an artifact. In Fossil, that receipt record stays on the repository that received it, so only the node can check attribution.
E3 The record Ax1, Clarity Agreed. Opus, round 3: one node per record is Ax1 (never two runs), not Ax5.
E4 The agent's life Ax1, Parsimony Agreed.
E5 The response Demonstrability Agreed, but only for runs whose node survives; hence lost.
E6 Verdicts Ax2, Demonstrability Contested: testimony rather than proof, and the last tag wins.
E7 The hook Ax1, Parsimony, Clarity Opus, round 2: "the strongest element". Opus, round 3: it filters by fixed rules, so "decides nothing" should go.
E8 Tools Clarity, Demonstrability (dry run), Parsimony Agreed. Opus, round 3: the same tools from three places is Clarity; the real loose coupling is MCP, a replaceable boundary between runner and node.
E9 Versions Loose Coupling, Ax4 Agreed once draft 3 removed the contradiction; Sonnet's unknown-key drift remains.

No subject called a draft 3 element unjustified.

Tolerating lower reasoning

README's values don't name it.

Where draft 3 departs from the glossary

Files