Skip to content

Resolve the upstream-surface backlog to Claude Code 2.1.296 and Codex rust-v0.162.1 - #950

Merged
seathatflowsinourveins merged 4 commits into
mainfrom
claude/gap-resolution-20261009
Oct 12, 2026
Merged

seathatflowsinourveins merged 4 commits into
mainfrom
claude/gap-resolution-20261009

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

  • What this PR changes, in one or two sentences: clears the upstream-surface backlog from the 2026-10-04 baseline (Claude Code 2.1.289, Codex rust-v0.160.0) to Claude Code 2.1.296 and Codex rust-v0.162.1. It adds 51 name rows (49 open names plus two the docs do not list yet; four were ruled by the command center on 2026-10-09 and are recorded), re-reviews the Claude memory and skills document rows, advances the baseline, and records the gaps, the page-digest rows not added and the hand-offs in one decision record. Catalog data and two regression tests; no other code, instruction text, setting, hook or unit changes. Commits: the backlog resolution (a944bcb), the four command-center rulings (ed43fe2), the owner names for each follow-up (343c34c, decision record only) and the corrections of four claims that were false at 37b9008 (7381e59): the workflow-agent model order (one disposition reason, the record and a regression test), the AGENTS.md line count and the base that the first dated watch run is attributed to (the record and a second regression test), and the status of Claude Code native practice, 2026-10: one evidenced default per role slot #923 (the record only), with the registry entries of the catalog and of the test module.
  • Base commit: 900835c60ce9890cd704df4e98ded0b8aa91977d (the merge base of this head)
  • Original base: a7bb4a51eea9cc321dd06dd6243a5b2654a5f805 (main after feat(local-pages): show native lanes, rates and model services #941, committed 2026-10-10T00:03:13Z). The branch was cut here and has been rebased since. The watch runs dated 2026-10-10 below were made at this base, and on this branch before the rebase; their output is host-local and not attached here (F12). They are dated observations at the original base, not measurements at the current one.
  • Lane: lane:foundation
  • Owned paths touched: catalogs/foundation/upstream-surface-baseline.json, catalogs/foundation/upstream-surface-dispositions.json, docs/decisions/2026-10-09-claude-code-gap-resolution.md, tests/test_upstream_surface_watch.py (two regression tests), manifests/evidence.json (the entries of the two catalogs and of the test module only).

SOTA sources

  • anthropics/claude-code CHANGELOG.md at 2301018b1f61: the 2.1.296 section (lines 3 to 84), with the entries at lines 7 and 8 that two rows cite as their source (CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL, CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS), and the entries at lines 100 (2.1.295), 299 (2.1.292) and 554 (2.1.290), whose versions the reasons of three more rows name; those three rows cite the environment-variable page.
  • Claude Code docs, read 2026-10-09: environment variables (descriptions of the seven observed names), memory and skills (the two re-reviewed rows).
  • Claude Code docs, read 2026-10-11, for the corrected workflow-agent model order (sha256 prefixes of the markdown bodies): workflows 994709b9 (Cost section) and sub-agents dd3f22aa (the model order), with adoption/templates/claude.settings.template.json:27 (CLAUDE_CODE_SUBAGENT_MODEL is opus).
  • openai/codex rust-v0.162.1 at commit 092d3acd6bec: codex-rs/features/src/lib.rs (feature table lines and doc comments) and the config-schema.json release asset (sha256 7933a70506e7…); release notes rust-v0.161.0 and rust-v0.162.0.
  • @anthropic-ai/claude-agent-sdk 0.3.296 sdk.d.ts and the installed Claude Code 2.1.296 binary for idleCompaction (existing row, unchanged).
  • The repository's own watch, scripts/upstream_surface_watch.py and its guide, reused unchanged; nothing is rebuilt.

Evidence-class table

Claim Evidence class Command / receipt
At the original base (a7bb4a51) the watch reported 55 new names, 6 removed, 2 stage changes and 51 unreviewed (49 names plus the memory and skills digests) local_integration upstream_surface_watch.py --network --dry-run --json, 2026-10-10 00:04:06Z (host-local, output not attached: F12)
After the rows and the new baseline it reports 0 new, 0 removed, 0 stage changes, 0 unreviewed, no changed document, all kinds observed local_integration the same command, 2026-10-10 00:25:49Z (made before the rebase; the PR's catalog edits are unchanged since, except the reason text of one dispositions row corrected in 7381e59, which the watch's counts do not read; 343c34c edits the decision record only)
Each row's reason matches the primary source it cites source_review docs, CHANGELOG lines, lib.rs lines and config-schema.json named in the decision record
The workflow-agent model order in the CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL row and the record (7381e59) source_review workflows page (Cost section) and sub-agents page (model order), read 2026-10-11; template line 27; no probe was run
A test guards that claim: it fails on the tree of 37b9008 and passes on 7381e59 local_integration unittest tests.test_upstream_surface_watch.DispositionCitationTests.test_unset_workflow_agents_are_not_said_to_inherit_the_session_model: FAILED (3 sub-assertions) on 37b9008 plus the test file (the row and the record say the agents inherit the session model; the row does not name CLAUDE_CODE_SUBAGENT_MODEL), OK on 7381e59
The record pins no CLAUDE.md or AGENTS.md line count and dates no run at "the PR base" (7381e59); the import it keeps holds local_integration unittest tests.test_upstream_surface_watch.DispositionCitationTests.test_the_record_pins_no_instruction_file_line_count_and_no_relative_base: FAILED (2 sub-assertions: "(8 lines)" and "the PR base") on 37b9008 plus the test file, where the record said AGENTS.md had 14 lines and it had 25; OK on 7381e59; the import is checked against the @AGENTS.md line of CLAUDE.md
The catalog is valid and the watch and currency suites pass local_integration --check-dispositions; unittest tests.test_upstream_surface_watch tests.test_currency_due tests.test_currency_due_notice (233 tests, 6 skipped; 231 before the two added regression tests, and the same 6 skips)
Repository validation passes with the two catalogs re-registered local_integration python3 scripts/validate.py
Not shown: behavior of any 2.1.296 change, the daily units, CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL precedence untested boundary listed in the decision record

Local commands run

$ python3 -E -s -B scripts/upstream_surface_watch.py --network --dry-run --json      # at the original base a7bb4a51: new 55, removed 6, stage_changed 2, unreviewed 51
$ python3 -E -s -B scripts/upstream_surface_watch.py --check-dispositions            # valid, 363 rows
$ XDG_STATE_HOME=<scratch> python3 -E -s -B scripts/upstream_surface_watch.py --network --write-baseline --force   # exit 0; host state dir untouched
$ python3 -E -s -B scripts/upstream_surface_watch.py --network --dry-run --json      # new 0, removed 0, stage_changed 0, unreviewed 0
$ python3 -E -s -B -m unittest tests.test_upstream_surface_watch tests.test_currency_due tests.test_currency_due_notice   # Ran 231 tests, OK (skipped=6)
$ python3 scripts/component_matrix.py --check; python3 scripts/new_host_grand_list.py --check   # exit 0, exit 0
$ python3 -E -s -B scripts/validate.py                                               # exit 0, status passed
# re-run on the tree of 7381e59a9: --check-dispositions valid (363 rows); the unittest line Ran 233 tests, OK (skipped=6); evidence_manifest.py, component_matrix.py and new_host_grand_list.py --check exit 0; validate.py exit 0, status passed
$ python3 -E -s -B -m unittest tests.test_upstream_surface_watch.DispositionCitationTests.test_unset_workflow_agents_are_not_said_to_inherit_the_session_model tests.test_upstream_surface_watch.DispositionCitationTests.test_the_record_pins_no_instruction_file_line_count_and_no_relative_base   # tree of 37b9008d2 plus the test file: FAILED (failures=5); tree of 7381e59a9: OK

Follow-ups

Found by the first Claude read (F1 to F10) and the first GPT read (F11 to F14), both at 37b9008; none blocks this PR.

  • F1, currency lane (reproduced, latent). tests/test_upstream_surface_watch.py:879 (33, 173), :892 173 and :939 1034 (docstring :937, "real rust-v0.160.0 schema") pin the old artifacts' counts. They skip in CI and in the runs this PR lists (the 6 skips are this PR's untested boundary). With the real 0.3.296 sdk.d.ts and the rust-v0.162.1 config-schema.json in UPSTREAM_SURFACE_TEST_CACHE, CachedArtifactTests ran 6 and failed 3 ((33, 174) against (33, 173), 174 against 173, 1057 against 1034). The PR neither causes nor worsens this; it surfaces once the daily units fill the default cache. Read the expected counts from the committed baseline's source_counts and counts.
  • F2, command center (time lag). The skills page digest has moved again (live 35fd2c11, row and baseline 3a4428d1). A live dry-run at the head reports unreviewed: ['claude:doc:skills'] and nothing else (new 0, removed 0, stage_changed 0); it needs a digest re-review through the carrier audit after landing. The memory page still hashes to its row. The body's "0 unreviewed" is the 2026-10-10 00:25:49Z measurement and stands as dated.
  • F3, command center (sequencing). Land this PR before installing stack-currency.timer and upstream-surface-watch.service, or the first daily run re-reports the 55 names and 2 documents. The live checkout now exists and Check active model selectors against a versioned native catalog #943 is on main, so the record's "after Check active model selectors against a versioned native catalog #943 lands" and "the command center creates that checkout" are past; they are not false at this PR's tree, which has no Check active model selectors against a versioned native catalog #943.
  • F4, currency lane (P3). The three features.guardianv2.* rows say "Guardian features are native-off here". guardian_approval is Stable and on at the pin (codex-rs/features/src/lib.rs:1764-1766 at 092d3acd); guardianv2 is UnderDevelopment and off (:1806-1808). Scope the sentence to Guardian V2.
  • F5, currency lane (P3). codex:feature:code_mode_tool_search cites "#51126, #51209"; only #51209 is the ranked tool discovery, and #51126 is the promise-settlement helpers (rust-v0.162.0 notes, same highlight line).
  • F6, command center (P3). The Ultra Fast row says the OmniRoute profile drops it client-side ("measured 2026-10-09"); no retained record in this PR or the tree supports it. Attach the measurement or soften the sentence.
  • F7, done. This list; the PR template has no Follow-ups heading.
  • F8, currency lane (P3). The baseline sources keeps two entries from the in-memory trial of the page-digest rows that were not added (claude-doc-docs-index 5bbcf52c, claude-doc-platform-release-notes e3071b25). No committed enabled document row observes them; they are harmless and the next --write-baseline drops them. The record does not mention it.
  • F9, command center (P3, registration gap). The decision record has no entry in manifests/evidence.json; this PR registers the two catalogs and the test module and does not add the record's entry. evidence_manifest.py --check and validate.py pass without it (185 of the 247 docs/decisions Markdown files are registered, this record not among them).
  • F10, command center (wording). "Four rows were ruled by the command center" (the record, "Dispositions written"; the Scope bullet above repeats it): the four rulings cover 11 rows (WORKFLOW_SUBAGENT_MODEL, daybreak, api_key_cyber_access_programs x2, cli_daybreak x2, ultrafast_mode x2, model_providers.*.capabilities* x3).
  • F11, currency lane (P3, GPT read: release-surface coverage). Entries of the pinned changelog (2301018b) that are not names and have no disposition: the gateway managed.policies[].code key (CHANGELOG.md:5), the Read tool's allow_large (:10), hook onFailure: "block" (:87, 2.1.295) and the Agent tool's effort parameter (:298, 2.1.292). autoCompactWindow in subagent frontmatter (:6) is not decided by the 2.1.289 claude:setting:autoCompactWindow row, which covers the setting, and the two Codex stage changes have no rows (the record says so). The record hands such changes to the weekly practice pass, but claude_changelog_delta() (scripts/upstream_surface_watch.py:1043) keeps only versions newer than the baseline, so the 2.1.290 to 2.1.296 window drops out of the watch's report once this baseline lands. Keep a dated disposition or a linked hand-off for each before that context is lost.
  • F12, command center (P3, GPT read: captures and receipts). None of the baseline's 16 sources digests has its original capture attached to this PR. The GPT read reproduced three (the changelog blob from the mirror at 2301018b, the rust-v0.162.1 schema from the 092d3acd mirror, and codex features list: 167 names, the same digest and size) and could not reproduce the other 13 (dated page, registry and API bodies, and sdk.d.ts 0.3.296, which no supplied mirror carries). The first Claude read re-fetched sdk.d.ts, the schema asset, the changelog and the memory page and found the baseline's digests; the skills page has since moved (F2). The record's host-local observations (the watch runs, the settings-drift and host-configuration inventory, the OmniRoute measurement, page churn, credits and pricing) have no attached receipts either. Attach the dated bytes and receipts with matching hashes. A missing capture does not show that a claim is false, and a current page does not show what it said on 2026-10-09.
  • F13, record owners (P3, GPT read: hostname hygiene). At 37b9008, the machine's hostname (withheld here) appears on 35 lines of catalogs/foundation/upstream-surface-dispositions.json and 18 lines of manifests/evidence.json (20 occurrences), all in text this PR does not change; the PR's diff, the baseline and the new record hold none. It is hygiene, not a blocker. Normalize the historical labels only through each record owner's evidence-preserving process, not as a condition of this PR.
  • F14, command center (P3, GPT read: installed guard). tests/test_secret_path_guard.py::SecretPathGuardTests::test_host_profile_copy_is_verbatim (the assertion is at :3147 here and was at :3124 at 37b9008) failed on the review host because the installed user-scope guard differs byte for byte from scripts/hooks/secret_path_guard.py; the module otherwise ran 90 tests with 1 failure and 2 skips. This PR changes neither file, and no unsafe behavior was established. The repository already records this as a by-design difference until the profile installer's guard step runs (docs/decisions/2026-09-29-key-management.md; tools/adoption/install_claude_profile.py --only guard). Reconcile the installed copy to its intended pin; do not roll the host back to pass the test. Reported by the GPT read; not re-run here.

Decision record

docs/decisions/2026-10-09-claude-code-gap-resolution.md: the measured backlog, the dispositions and why, the three page-digest rows tried and not added (change rate), what the watch cannot see, the hand-offs (command-center tools window, settings drift, living-page deltas, grand-catalog candidates, owner items), the inverse and the overturn conditions.

Host evidence

Not applicable: no file under evidence/hosts/ changes.

Checklist

  • No GitHub Actions or workflows are added or changed.
  • No secrets are printed, logged or committed; no new required secret.
  • No new paid hosting, subscription or billing surface.
  • Peer-owned untracked files and worktrees were preserved. The primary checkout was not edited; this branch lives in its own worktree.

Merge notes: manifests/evidence.json is a hot file, so the entries of the two catalogs and of the test module may need the one landing-turn rebase (take main's copy and re-register upstream-surface-baseline.json, upstream-surface-dispositions.json and tests/test_upstream_surface_watch.py). The daily units that will read these catalogs are not installed yet; this change should land before their first run.

🤖 Generated with Claude Code

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 10, 2026
@seathatflowsinourveins
seathatflowsinourveins force-pushed the claude/gap-resolution-20261009 branch from fff5e13 to 37b9008 Compare October 11, 2026 20:39
@seathatflowsinourveins
seathatflowsinourveins marked this pull request as ready for review October 11, 2026 20:43
@seathatflowsinourveins
seathatflowsinourveins force-pushed the claude/gap-resolution-20261009 branch from 37b9008 to 8e90041 Compare October 12, 2026 00:50
… rust-v0.162.1

Disposition the 49 open names plus two the docs do not list yet, re-review the
Claude memory and skills document rows, advance the baseline from 2.1.289 and
rust-v0.160.0, and record the gaps, the page-digest rows not added and the
hand-offs in one decision record. Data only: no code, instruction text,
setting, hook or unit changes.

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

Leave CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL unset (declined); decline
ultrafast_mode (plan-gated, dropped client-side by the OmniRoute profile);
keep the Codex cyber access programs as owner information only; decline the
model_providers capabilities rows until the currency lane's trial after #943.
Rows, decision record and the re-registered catalog hash change together.

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

The page-URL diffs go to the command center (through the daily watch service it
installs after #943), the changelog-name report to the currency lane, and the
settings-drift inventory to cc-native-practice. The weekly practice pass, the
TeammateIdle gate, the cost-data check and the WebSearch interaction now say who
acts or that nothing is scheduled.

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

Unset workflow agents do not inherit the session model. The workflows page
(Cost section) and the sub-agents page (Choose a model), read 2026-10-11
against Claude Code 2.1.296, resolve a workflow agent's model as a model the
script names, then the definition, then CLAUDE_CODE_SUBAGENT_MODEL, then the
session model, and adoption/templates/claude.settings.template.json:27 sets
CLAUDE_CODE_SUBAGENT_MODEL to opus. The reason of the
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL row and the record's workflow-agent bullet
now say so, and the dispositions catalog is re-registered in
manifests/evidence.json. Only that row's reason text changed in the catalog;
keys, dispositions, sources and versions are identical, and the watch's counts
do not read the reason.

The record said this repository's CLAUDE.md (8 lines) imports AGENTS.md (14
lines). AGENTS.md has 25 lines at 8c95a50 (#944 grew it before the rebase), and
a count of a file other PRs edit goes stale in a record that is kept, so the
record now states only the import. It also dated the first watch run "at the PR
base", which every rebase moves; the row now names the original base, a7bb4a5
(main after #941, committed 53 s before the run), as the PR's body recorded it.

Two tests in DispositionCitationTests guard these claims:
- test_unset_workflow_agents_are_not_said_to_inherit_the_session_model
- test_the_record_pins_no_instruction_file_line_count_and_no_relative_base
  (no line count after CLAUDE.md or AGENTS.md, no "the PR base", the run row
  names a commit, and CLAUDE.md still imports AGENTS.md through its @AGENTS.md
  line, which keeps the one relationship the record states true).
On the tree of 37b9008 plus the test file, the two fail five sub-assertions
(the row and the record say the agents inherit the session model, the row does
not name CLAUDE_CODE_SUBAGENT_MODEL, the record pins "(8 lines)", and the record
says "the PR base"); on this commit they pass. tests/test_upstream_surface_watch.py
is re-registered in manifests/evidence.json.

The record called #923 a draft; #923 landed in a30c218, its skill pins
client_version 2.1.295 (reference/slots.json:3), and "Cloud routines" is a
ranked alternative of the scheduled-tasks slot (reference/slots.json:1625). The
record now says so, re-dates its exact-case search of the skill's pages, and adds
the sub-agents and workflows pages read on 2026-10-11, with their body digests,
to its SOTA sources. Its scope sentences and its evidence counts (233 tests with
the two new ones) now name the regression tests.

Not run: a probe of workflow-agent model precedence; the corrected sentences
rest on the documentation, and the tests guard the committed text, not the client.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins force-pushed the claude/gap-resolution-20261009 branch from 8e90041 to 7381e59 Compare October 12, 2026 03:23
@seathatflowsinourveins
seathatflowsinourveins merged commit 8b1ef0c into main Oct 12, 2026
35 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/gap-resolution-20261009 branch October 12, 2026 03:57
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