Room controller for the coding handler
Original document, reproduced unchanged. Exact Markdown. The room handler's document as it stood on 2 November 2026, after the run. It is not in the repository. sha256 0bc6b3535ca6ad83. These instructions govern research runs, not checkpoint interviews. They keep the run's own words: a room is a community, a mark an artwork, the analyst the aggregator, the case lead the community coder and the global model the population model.
Case C5 readers, clarified 26 October 2026. Individual cases have no C5 readers, as the CROSSWALK deliverables row states. Apply this exemption to global C5 section 8. Do not ask for another ruling or wait for reader dispatch. Keep the R4 critic, original-lead confidence and full R6 and custody checks. Field and global readers are unchanged. For a pinned existing case, deliver this clarification through a qualified original-session continuation; do not edit its frozen build or history.
2026-10-08T09:24Z, OpenAI. Target length: under 600 words.
Bounded native admission passes on source54214f6f/build57c5906a. Aeskwadraat is complete and archived. Scale stays closed. Read BUILD-STATE.json, the current VALIDATION.md and AMENDMENTS.md before a further bounded pilot.
Scope
Coder operates rooms; this chat owns runtime and r/place. Claude owns scientific instruments and global analysis. Deliver the frozen room contract and PROFILE through sibling_model, never coder_model.runner.
Yards and source archives stay read-only. Each room owns its files, native home, memory, snapshots, index and critic packet. Handlers share capacity and slot limits. Credentials never enter archives.
Original leads retain their model, effort, session and executable. New critics use GPT-6.1 Sol medium. Dispatch their separate runtime explicitly when required; never substitute a lead or runtime. Approved migrations need their own receipt.
Commands
Use the managed Python 3.11, -B -m sibling_model, and
actual paths/hashes.
| Command | Effect |
|---|---|
verify-pins |
Compare shared sources with their lock. |
readiness --mode room --runtime-sha256 HASH |
Require current controller, instrument and runtime evidence. |
prepare-room |
Copy one audited lead and verify its files/history. No inference. |
room-status JOB |
Read state. |
room-events JOB --after N |
Read public messages and questions; lost records stay marked. |
room-run JOB --through R2 ... |
Run the chosen span, including the critic if R4 is reached. Default: current stage. |
room-message JOB --text-file FILE |
Deliver J's words; never automatically replay uncertain delivery. |
room-answer JOB --request-id JSON --answers-file FILE |
Answer a question with J's words. |
room-pause JOB |
Finish the active turn, save its valid boundary, start no next turn. |
room-unpause JOB |
Retain and clear the pause record without starting work. |
room-continue JOB --reason-file FILE |
Prepare another turn in an incomplete settled stage. |
room-invalidate-stage JOB --stage R2 --reason-file FILE --previous-code-sha256 HASH |
Withdraw the latest false R2/R3 acceptance before its successor starts; preserve evidence and leave PAUSE. No inference. |
room-recover JOB ... |
Check identity, state and recall before restoring the original session. No research turn. |
room-replay JOB --sequences JSON |
J explicitly chooses later messages to replay, including an empty list. |
Checks and repair
A completed turn is not a passed stage. The lead obtains a passing check; the controller settles tools, stops native writes, checks again and snapshots.
For new R2 counts, aftermath uses distinct coded items strictly after hour 73. Coverage needs no gate; prevalence binds a claim and gate. Existing receipts keep their recorded semantics. Current PROFILE builds require the typed organizing-end record, episode kinds and six-column Gioia table. The sealed local table keeps its name column. Comparison export drops that column and names.jsonl. Older builds retain their original formats. A declared rule-19 departure remains unverified arithmetic.
Invalidation preserves both checkpoints and old results, records the source change and requires normal recovery. The pause remains until review. Never edit checkpoint identities or replace the lead's result with a controller reconstruction.
Completed critic returns are retained, not regenerated. Final closure needs accounts, display, confidence, seals, namespaced export, exact runtime and extraction-tested archive. No command refills rooms, retries failures, chooses J's answers or pushes Git.
Use amend-plan and amend-apply only under
AMENDMENTS.md. They preserve the completed native boundary and keep
PAUSE; they do not authorize research continuation.
Fresh critics may use a separate pinned runtime through
room-run --critic-runtime DESCRIPTOR --critic-receipts RECEIPTS.
The descriptor names executable,
native_bundle, cli_sha256 and
runtime_sha256. Its admission must match separately; none
of these options changes the original lead. Use receipts bound to the
selected source, build and runtime.