Skip to content

Sonnet 5.5 and Opus 5.5 dispatch: fan-out units on Sonnet 5.5, judgment on Opus 5.5, effort and default child model saved in settings (2.1.284 probes) - #479

Merged
seathatflowsinourveins merged 15 commits into
mainfrom
claude/sonnet55-dispatch-20260929
Sep 29, 2026
Merged

seathatflowsinourveins merged 15 commits into
mainfrom
claude/sonnet55-dispatch-20260929

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Scope

  • What this PR changes, in one or two sentences: after Claude Code 2.1.284 made the sonnet alias mean Sonnet 5.5, it saves the coordinator effort per model (xhigh) and defaults an unnamed child to Opus, states which fan-out units may run on Sonnet 5.5 (units an executable oracle or a later Opus stage checks; every judgment stays on an Opus 5.5 stage), gives child-usage.mjs the sonnet and fable alias rows, stops the effort guard from assuming ultracode: true runs a session at xhigh, scopes every statement about Ultracode and effort to the client version that measured it, and records the decision with a native receipt (27 probes and two session counts on 2.1.284).
  • Base commit: 6d626654 (origin/main at the last rebase, which includes Claude Code floor 2.1.281 -> 2.1.284: sonnet means Sonnet 5.5; pins verified against the signed manifest #477)
  • Lane: lane:foundation. The only shared hot file is manifests/evidence.json, by hash registration in the last commit. AGENTS.md is not touched here; its one stale sentence (three clauses, listed in the record) goes in a separate lane:shared pull request. The Claude Code floor raise to 2.1.284 was its own pull request, Claude Code floor 2.1.281 -> 2.1.284: sonnet means Sonnet 5.5; pins verified against the signed manifest #477 (merged as 6d626654, base of this branch).
  • Owned paths touched: .claude/settings.json, adoption/templates/claude.settings.template.json, adoption/hooks/claude/effort-default-guard.py and its SHA256SUMS, docs/decisions/2026-09-23-max-effort-default.md (dated addendum), docs/decisions/2026-09-27-model-currency.md (one count corrected: the Sonnet child made 38 assistant messages, not 82), docs/decisions/2026-09-29-sonnet-5-5-dispatch.md (new), docs/harness-defaults.md (three anti-pattern rows), evidence/receipts/claude-model-effort-probes-20260929.json (new), examples/claude-native/CLAUDE.md, examples/claude-native/ultracode.settings.json, examples/claude-native/workflows/{README.md,child-usage.mjs,test-child-usage.mjs,test-envelope.mjs,test-contract-mutations.mjs,SHA256SUMS} (the three test files: a fixture expectation and comments), recipes/claude-native-profile.md, recipes/claude-native-ultracode.md, tests/test_effort_default_guard.py, tests/test_install_claude_profile.py, manifests/evidence.json.
  • Not touched: the five hash-pinned role bodies and the frozen routes of the PR-H: E2E preregistration for the token-save-practice stack (frozen tasks, metrics, gate, procedure) #381 preregistration, every agent definition, every saved workflow script, and every PR-H: E2E preregistration for the token-save-practice stack (frozen tasks, metrics, gate, procedure) #381 file.

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
The ultracode setting neither sets nor overrides effort on 2.1.284 (a per-model level passed with --settings wins; a project effortLevel or modelSettings entry applies; the user-scope top-level effortLevel did not reach a Sonnet 5.5 session); a child that names no model runs the lead's; CLAUDE_CODE_SUBAGENT_MODEL=opus puts it on Opus; in an interactive session at max every child that named no effort ran at max native_proven (one host, one client version, Agent-tool children for the environment default) receipt claude-model-effort-probes-20260929 (29 cases; the extractors in its provenance, extract_all.py and extract_interactive.py, reproduce every row from the client's own transcripts, with a digest per retained script); the host read-back after the settings change is cases D1 to D3
Benchmark figures, system-card audits, Vals fallback counts, price and latency source_review the pages above, each cited with its scope in the decision record
Effort guard no longer treats ultracode as xhigh; its warning names the models the user-scope key reaches local_integration python3 -m unittest tests.test_effort_default_guard (28 tests), with the builder's negative control: exactly three new tests fail against the unchanged guard
Alias rows for sonnet and fable local_integration node examples/claude-native/workflows/test-child-usage.mjs (101 cases; 4 fail against the unchanged file)
The fan-out rule improves any outcome not claimed a routing rule, not a qualification; no in-repository role-quality comparison on Sonnet 5.5 exists, and the record lists the FrontierCode effort result and the Terminal-Bench disagreement as reasons to sweep before routing a coding class (record, "Effort", "Overturn", "Limitations")

Local commands run

$ python3 scripts/validate.py
exit 0  {"components": 69, "hashed_files": 7992, "profiles": 4, "receipts": 166, "status": "passed"}
$ python3 -m unittest tests.test_install_claude_profile tests.test_effort_default_guard tests.test_adoption_docs_consistency tests.test_child_usage_suite tests.test_foundation_catalog tests.test_apply_claude_settings
exit 0  Ran 171 tests, OK (skipped=4)   (the guard's verbatim-copy test needs the installed host copy to equal the repository copy; the host copy was reinstalled from this branch)
$ node examples/claude-native/workflows/test-child-usage.mjs     SUMMARY passed=101 failed=0
$ node examples/claude-native/workflows/test-envelope.mjs        SUMMARY passed=254 failed=0
$ node examples/claude-native/workflows/test-contract-mutations.mjs   SUMMARY passed=74 failed=0
$ sha256sum --check --strict SHA256SUMS   (examples/claude-native/workflows and adoption/hooks/claude)  exit 0
$ python3 scripts/component_matrix.py --check ; python3 scripts/new_host_grand_list.py --check ; python3 scripts/host_receipts.py validate ; python3 scripts/landscape.py --root .   exit 0 each
$ python3 -m unittest <the three pre-push registry tests, zizmor on PATH>     exit 0  Ran 3 tests, OK

The full python3 -m unittest fails the same 302 test ids on clean main on this workstation (a worktree under /tmp, host tooling); CI's validate job is the authority.

Decision record

docs/decisions/2026-09-29-sonnet-5-5-dispatch.md (alternatives considered, overturn conditions and unresolved items are in it). Reviews: one read-only GPT-6 Astra review at max (12 findings) and three independent Opus 5.5 reviewers at max (evidence fidelity, reproduction with negative controls, pins and consistency; 41 findings, several duplicates); a first repair round (receipt regenerated from the transcripts, guard and child-usage, instructions and records); an Opus 5.5 re-check of that repair (1 high, 3 medium, 7 low findings: a false statement that child-usage.mjs flags a Sonnet 5 child on an older client, an inference from two project agents whose definitions declare effort max, a recipe procedure that contradicted its own 2.1.284 update, and the missing coordinator condition in the portable CLAUDE.md, among others); and a second repair round that fixed all eleven. A last cross-family check of the second-round head (52d11856: one read-only GPT-6 Astra review at max) closed the review loop; nothing was reviewed after its repair. It returned no high finding, four medium and one low. One medium was the receipt not yet being registered (the deferred hot-file step, done in the last commit). The other four were confirmed against the repository text or the documentation and repaired in one commit (90f4a719, one-line text edits): the recipe now states the documented model order for a stage that names no model (definition, CLAUDE_CODE_SUBAGENT_MODEL, lead); a Sonnet coordinator no longer verifies teammate claims itself (the lead has any claim verified on Opus); two test comments scope the headless observation and state frontmatter precedence and the interactive case; the README carries the same Haiku statement as the portable instructions.

Residuals (recorded, not repaired here)

  • The host ~/.claude/CLAUDE.md carries this branch's first-round Quality, Ultracode and agent-team text, not the second-round wording (coordinator condition, teammate effort, one Opus list). The sync is held at the request of the session that owns the max-effort default (native-agent-stack-03), whose rule will change the same bullets; it lands with the follow-up that also carries the AGENTS.md line 35 pull request.
  • AGENTS.md line 35 (three clauses the record lists) and the --effort ultracode and --effort max plus ultracode: false forms are not probed here; the latter is covered by the other session's receipt once it is published.
  • The Vals Terminal-Bench 4.0 latency field carries no unit on the page; the record says so.

Applied outside the repository (host, not tracked)

  • ~/.claude/settings.json: modelSettings.claude-sonnet-5-5.effortLevel = xhigh and env.CLAUDE_CODE_SUBAGENT_MODEL = opus; the user's model, advisorModel and every other key untouched; backup .bak-20260929-dispatch; read back with fresh headless sessions (receipt cases D1 to D3).
  • ~/.claude/hooks/effort-default-guard.py reinstalled from this branch with tools/adoption/install_claude_profile.py --only guard (the other eight hook files already matched); backup .bak-20260929-dispatch.
  • ~/.claude/CLAUDE.md: the Quality, Ultracode and agent-team bullets take this branch's first-round text (backup .bak-20260929-dispatch, read back: the retired sentences are gone, the new ones present); see the residuals above for the held second-round sync.

For the Gate A owner

Nothing here edits a #381 file or a role body. It does change the environment a sealed run inherits: the project effortLevel: xhigh (this PR), the host settings above, and the guards of #470. See the comment on #381 about RUNBOOK.md line 222 (arms launched with no --model; this host's default is the sonnet alias, Sonnet 5.5).

Host evidence

Not applicable: no files under evidence/hosts/ change.

Checklist

  • No new or changed GitHub Actions.
  • No new or changed workflows.
  • No secrets are printed, logged or committed; no new required secret was added; the receipt passes the private-content scan.
  • No new paid hosting, subscription or billing surface was introduced.
  • Peer-owned untracked files and worktrees were preserved.

🤖 Generated with Claude Code

Scout and others added 15 commits September 28, 2026 22:07
…child to Opus

Claude Code 2.1.284: ultracode neither raises nor overrides effort, so a Sonnet 5.5
session with no saved level ran at medium; a stage that names no model runs the lead's.
The project and portable settings carry effortLevel xhigh; the template pins
claude-sonnet-5-5 at xhigh and sets CLAUDE_CODE_SUBAGENT_MODEL=opus (the portable file
does too, the project file leaves the host layer to). Tests added.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…he measured effort rule

The portable instructions and the workflows README state which units may run on Sonnet 5.5
(oracle- or Opus-checked fan-out), keep every judgment on Opus, and record the 2.1.284
effort and inheritance findings. The instruction word budget is re-baselined to 1,310.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
… and the default child model

Adds docs/decisions/2026-09-29-sonnet-5-5-dispatch.md, the probe receipt
claude-model-effort-probes-20260929, a dated addendum to the 2026-09-23 record and two
anti-pattern rows.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…ent version

ALIAS_RESOLUTION had rows for opus only, so a child that requested sonnet but
ran an older Sonnet than its client version documents was not flagged as
substituted. Add sonnet (Sonnet 5 from v2.1.197, Sonnet 5.5 from v2.1.284) and
fable (Fable 5.1 from v2.1.257) from the model-config doc's version history
table (fetched 2026-09-29). haiku and any alias without rows still have no
expectation.

test-child-usage.mjs: the "alias without rows" case moves from sonnet to
haiku; the opus table's sonnet clause takes the documented value
(claude-sonnet-5 on 2.1.281) and gains a haiku-is-null clause; new cases cover
the sonnet and fable version tables, a whole child on claude-sonnet-5 under
2.1.284 (older than documented), claude-sonnet-5-5 under 2.1.284 and
claude-sonnet-5 under 2.1.283 (complete), and a change from claude-sonnet-5-5
to claude-sonnet-5 within one child. 95 -> 101 cases.

SHA256SUMS lines for both files regenerated. manifests/evidence.json is left
to the integrating coordinator.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude Code 2.1.284 (measured 2026-09-29): ultracode neither sets nor overrides
a per-model effort level. An unsaved claude-sonnet-5-5 session ran at medium under
the host settings and the guard stayed silent, because resolve() returned xhigh for
any settings file with `ultracode: true`. That also kept the SessionEnd healer from
saving a level, since it only saves when resolve() gives none.

- resolve(): drop the ultracode branch. The level now comes only from
  CLAUDE_CODE_EFFORT_LEVEL, the highest-precedence saved modelSettings or applicable
  top-level effortLevel, and the maxEffortLevel caps. No other logic changed.
- Docstring: record the 2.1.284 measurement and that 2.1.281 behaved differently
  (docs/decisions/2026-09-23-max-effort-default.md stays as history).
- Tests: an unsaved Sonnet 5.5 under ultracode now warns; a saved xhigh stays silent;
  a saved lower level still warns; under ultracode the healer saves xhigh when nothing
  is saved, and respects a saved low.
- SHA256SUMS: regenerate the effort-default-guard.py line.

The installed host copy (~/.claude/hooks/effort-default-guard.py) is not touched here.
Refresh it with tools/adoption/install_claude_profile.py --only guard; until then
test_shipped_guard_is_verbatim fails on a host that has the old copy installed.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…om the transcripts

The 2026-09-28 model-currency addendum counted the Sonnet child's 82 transcript rows as
messages; it made 38 (all claude-sonnet-5-5 at max), and the first receipt drafts carried the
same kind of row counts (299 for the coordinator). The receipt is regenerated by a script that
asserts every row (model, effort, reminder lines, message count, client version) against the
native transcripts before writing, takes the run times from them, and embeds one extractor per
kind (headless cases, interactive cases) with a per-script digest. Its claim now separates the
headless findings from the interactive one (the lead's max reached every child, the Opus ones
included), scopes the effort findings to the setting form and to levels passed with --settings,
and counts 27 probes and two session observations. The addendum's count is corrected and the
mistake goes in the anti-pattern log.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…cument the same-family alias

The SessionStart warning said a user-settings top-level effortLevel does not apply to Opus 5.5
and later; it applies only to Opus 5, Fable 5.1 and earlier models (Sonnet 5.5 ran at medium
under a top-level xhigh, receipt case A1). The guard's docstring cites the documentation of the
2.1.284 change and scopes its ultracode rule to 2.1.284 and later. child-usage.mjs no longer
says a stage without effort inherits the coordinator's xhigh, and its alias table notes the
documented same-family exception (a family alias resolves to the lead's exact model when the
lead belongs to that family). test-envelope.mjs states the documented order for a stage that
names no model. Both SHA256SUMS files are regenerated and the host guard copy reinstalled.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
… Sonnet rule across files

Repairs the findings of one GPT-6 and three Opus 5.5 reviews of this branch. The workflow
contract, the routing table, the recipes, the portable CLAUDE.md and the dated addendum now
state the Ultracode and effort behaviour with its version (2.1.284: the setting leaves effort
unchanged, --effort ultracode still sets xhigh, Ultracode stays on at other levels; 2.1.281
statements are history). The portable Quality bullet lists the same Sonnet classes and
conditions as the README (a test oracle alone never clears a Sonnet build); the coordinator
model is stated once (Opus 5.5 by default, a Sonnet 5.5 coordinator sends each judgment to an
opus stage). The record quotes the system card and the benchmark pages with their scope (the
three Terminal-Bench 4.0 evaluations disagree and differ in more than the harness, the
FrontierCode result for max, the Vals cost and latency figures, the welfare-section figure it
no longer leans on), names the floor change's branch, records the guard and CLAUDE.md host
steps, and corrects the sealed-run and RUNBOOK statements. The instruction word budget is
re-baselined to 1,356.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…ions explain, fix the child-usage and coordinator statements

Applies the second-round review of this branch. The interactive inheritance finding is limited
to the children that named no effort (C1, C3 to C6); the project agents of C2 and C8 declare
effort max, so they show the definition, and the receipt, the record, the README, the recipe
and the addendum now say so. The record no longer says child-usage.mjs flags a Sonnet 5 child
on a client older than 2.1.284 (its alias table records that as the documented resolution) and
tells the operator to check `claude --version` before routing a stage to `sonnet`; it names the
floor pull request (#477). The portable CLAUDE.md gains the coordinator condition (a Sonnet 5.5
session hands each judgment to an opus-named stage), one Opus list and one build condition
across README, CLAUDE.md and the record, and the teammate effort follows the lead's session
effort. The recipe's remaining 2.1.281 statements are dated, the non-orchestrated max session
uses the 2.1.284 form (documented, not probed together with --effort max), the settings
example's description lists the two added keys, test comments no longer carry the retracted
rationales, the shell row drops the speed advantage (Vals' Terminal-Bench 4.0 data lists higher
latency and output tokens for Sonnet 5.5), the overturn conditions name measurements this
repository can make, and the anti-pattern row stops citing a generator the repository does
not retain. The instruction word budget is 1,372.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
A read-only GPT-6 Astra review at max of head 52d11856 returned four medium and one low finding
and no high one; four are confirmed against the repository text or the documentation and are
one-line edits, and the fifth (the receipt not yet registered) is the deferred hot-file step.
The recipe states the documented model order for a stage that names no model (definition, then
CLAUDE_CODE_SUBAGENT_MODEL, then the lead) instead of the lead alone. A Sonnet coordinator no
longer verifies teammate claims itself: the lead collects results and has any claim verified on
Opus, in the portable CLAUDE.md and the record's teammate row. The two test comments scope the
headless observation and state frontmatter precedence and the interactive case. The README
carries the same Haiku statement as the portable instructions. The record notes that the floor
pull request has merged.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Registers the dispatch receipt and the hashes of the files this branch changes on the
current main copy of manifests/evidence.json, the only shared hot file this lane touches.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Sep 29, 2026
@seathatflowsinourveins
seathatflowsinourveins merged commit ba31dcd into main Sep 29, 2026
25 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/sonnet55-dispatch-20260929 branch September 29, 2026 02:35
seathatflowsinourveins pushed a commit that referenced this pull request Sep 29, 2026
…ion; relate the record to #479 and the effort guard

A second read-only GPT-6 run with live search checked the vendor section against its sources and returned nine wording
corrections (five low, four medium). The coordinator re-fetched Cognition's data.json, Anthropic's Sonnet 5.5 launch page (footnote 2)
and Zapier's leaderboard (1.0.6) and applied all nine: the guidance sentence is scoped to the cited pages, the xhigh token saving
carries its similar-performance context, the FrontierCode token, cost and time figures are labelled Main with the Extended figures
beside them, Anthropic's two-case footnote is stated as two cases, Extended is an effective tie (63.58% against 63.53%), the Zapier
figures carry their default-fallbacks label (42.47% against 35.77%), --bare skips automatic discovery, the two Claude Code results
point in different directions without isolating skills or subagents, and the Opus 5.5 gain is stated as varying by benchmark.
One suggestion (Cognition's tokens field as output tokens) could not be confirmed from the fetched sources and was not adopted.

The header now names the rebase base (ba31dcd), quotes #479's addendum ("not adopted ... left to the user") as the trigger this
record acts on, and describes how the effort guard treats a session that the launcher starts at max (SessionEnd returns at
xhigh or above; the SessionStart warning is settings-derived and advisory).

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
seathatflowsinourveins added a commit that referenced this pull request Sep 29, 2026
… max only when nothing chose an effort); receipt and decision record (#483)

* Launcher: interactive terminal launches start at effort max (--effort max only when nothing chose an effort)

Claude Code cannot save max (the 2.1.284 settings schema takes low, medium, high, xhigh for
effortLevel and modelSettings) and CLAUDE_CODE_EFFORT_LEVEL would override every --effort,
/effort and child effort, so the documented --effort flag is added by the launcher that
install_native writes, in both bootstrap scripts (identical copies). It adds --effort max only
when stdin and stdout are a terminal, no -p/--print (also as a short-flag cluster such as -pc),
no --effort, CLAUDE_CODE_EFFORT_LEVEL unset, nothing after a "--", and the client reports
2.1.284 or newer (2.1.284 keeps Ultracode on at any effort level; on 2.1.281 a max session turned
orchestration off). Another command name gets the plain launcher.

Tests (tests/test_adoption_bootstrap.py): InteractiveEffortLauncherTests runs the generated
launcher on real pseudo-terminals against a stub client that reports a version and records its
exact arguments as JSON: a 27-case table (terminal, -p, --print, -pc, -cp, --, empty and
multi-line arguments, explicit --effort, the effort variable, no terminal, pipes, clients from
2.1.281 to 3.0.1, unreadable version) and nine broken launchers that the table must reject.
The pty helper kills and reaps a timed-out child and closes both descriptors on every path.

Cross-family review (one GPT-6 read-only round) found five issues, all handled in one repair
round: clusters, "--" and operands, the version floor, the leaking helper and a lossy recorder.
Decision record: docs/decisions/2026-09-29-max-default-effort.md.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

* Receipt claude-max-default-effort-20260929 and the decision record's evidence, reviews and vendor sections

The native receipt (kind native_cli_e2e, component claude-code) built by a script that asserts every
row against the client's own transcripts before writing: seventeen headless probes (saved xhigh
baselines, --effort max, children, the --settings env layer, ultracode false, Haiku), four interactive
terminal cases through a login shell on the installed launcher (max; xhigh after /effort xhigh;
explicit --effort xhigh; claude -p in a terminal), the 2.1.284 binary's settings-schema windows and
Ultracode gate, the repository tests re-run, and the host launcher's before/after hashes. An
independent verifier re-derived the headless rows from the raw transcripts (17 of 17).

The decision record gains the verified vendor and third-party max-against-xhigh measurements
(30 of 40 claims confirmed, 10 corrected, none unsupported), the settings audit (31 of 36 rows
confirmed, 5 corrected; nothing else to change), the one prior-art wrapper found, the review round
and the corrected description of which interactive runs the receipt holds.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

* Decision record: apply the cross-family fact-check of the vendor section; relate the record to #479 and the effort guard

A second read-only GPT-6 run with live search checked the vendor section against its sources and returned nine wording
corrections (five low, four medium). The coordinator re-fetched Cognition's data.json, Anthropic's Sonnet 5.5 launch page (footnote 2)
and Zapier's leaderboard (1.0.6) and applied all nine: the guidance sentence is scoped to the cited pages, the xhigh token saving
carries its similar-performance context, the FrontierCode token, cost and time figures are labelled Main with the Extended figures
beside them, Anthropic's two-case footnote is stated as two cases, Extended is an effective tie (63.58% against 63.53%), the Zapier
figures carry their default-fallbacks label (42.47% against 35.77%), --bare skips automatic discovery, the two Claude Code results
point in different directions without isolating skills or subagents, and the Opus 5.5 gain is stated as varying by benchmark.
One suggestion (Cognition's tokens field as output tokens) could not be confirmed from the fetched sources and was not adopted.

The header now names the rebase base (ba31dcd), quotes #479's addendum ("not adopted ... left to the user") as the trigger this
record acts on, and describes how the effort guard treats a session that the launcher starts at max (SessionEnd returns at
xhigh or above; the SessionStart warning is settings-derived and advisory).

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

* Launcher tests: keep the parent's slave descriptor open until the terminal is read (macOS discards unread output at the last slave close)

On the macos-15 runner (run 36512404577, job validate-macos) the three InteractiveEffortLauncherTests cases failed with an empty
capture: the helper closed its copy of the slave right after starting the launcher and read the master only after the child had exited.
XNU's ptsclose calls ttyclose, whose ttyflush(tp, FREAD | FWRITE) empties both queues at the last close of the slave, so the stub's
two lines were gone before the read; Linux keeps them, which is why the same tests passed there.

The helper now holds the slave open, reads the master while the launcher runs (it stops when the stub's two lines are in, or when
the child has exited and nothing more arrives), captures stderr, and puts it in the failure message. The Linux run of the class
passes (3 tests); the macOS result is the next CI run.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

* Register the launcher change, its tests and the receipt in manifests/evidence.json (hot-file commit, last)

Receipt entry claude-max-default-effort-20260929 (native_cli_e2e, claude-code) and the hashes of the six changed or new files, on
top of main's manifest at ba31dcd (docs/lanes.md protocol: main's copy, register each file, component_matrix and
new_host_grand_list --write; validate.py passes: 69 components, 7993 hashed files, 167 receipts).

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

---------

Co-authored-by: Scout <scout@local>
Co-authored-by: Claude Sonnet 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant