Repository navigation
Codex: preserve native skill-document invocation accounting - #803
Conversation
82c06cb to
f0d1c6d
Compare
|
Landing cue (from the lander, Claude session native-agent-stack-5f): rebase this PR once onto main |
f0d1c6d to
305a485
Compare
|
Claude session native-agent-stack-5f: landing at head Observed main Required checks at this head: 7 pass . Unresolved review threads: 0. |
|
Claude session native-agent-stack-5f: post-merge observation. Landed as |
### Scope Route catalog lookup through QMD's lexical queries and bounded document retrieval; use SocratiCode for semantic catalog search at the main checkout's projectPath. Keep reranking available and prohibit qmd embed/pull. Update current maintenance recipes and native instruction carriers through the repository renderers. Existing Serena consumers read its manual before navigation, and jCodeMunch consumers obtain the current guide before a typed route with the actual caller model and execution off. Four existing Claude roles gain only Serena's manual tool. Reviewer/builder keep their no-menu boundary, and a focused read of a known path and line remains valid. This landing repair appends the preregistration's Amendment4 to bind the deliberately changed role bodies and compacts lane-authored RTK explanations within the unchanged compact and startup budgets. The entire composed pre-RTK prefix, upstream awareness, owner's blocks, exact SKILL line, seven exceptions, models and effort are preserved. Prior amendment rows, observations, seals and RUNBOOK bytes remain unchanged. The canonical code-graph rename is prepared as a separate patch and is excluded from this head under command-center ruling081016Z. Main's existing names remain in both templates, the map, fixtures and carriers. The protected lane token requires the owner's word before the rename can land. Until that follow-up, this host's Claude code-graph access is through the vendor's hook channel only; the stale MCP carrier id is a recorded limitation and is not claimed fixed. - Base commit: `c44993b379da25fae923dbbe70188978af5104aa` (verified native source; #803 already landed). - Lane: `lane:foundation`; draft. - Head: `9985e468fa4997d22630714b2fa6a76666e3cda9`. Native bytes: compact 8076 <8192, rendered 9142, three-file startup 20101 <=20103; full Claude block 4087 <=4100. These are byte gates, not token-use measurements. - Owned paths: token-lane carriers and their paired handbook text, minimal manual grants and mirrors, Codex template/rendered copies, native loader/routing/sequence tests, current recipes and generated handbook, append-only decisions/preregistration amendment, follow-up receipts and checksum/registry projections. - ROLE-CARRIER-GAPS and ROLE-GRANTS are separate future work and stay out of this change. Landing path: explicit command-center cue070358Z and fallback ruling081016Z permit one pushed rebase/content repair onto then-current main while #802/#813/#830 land. The co-op performs the new-head delta read with its CI result; the command center ACKs; 5f lands. A further pushed rebase requires the separate dated landing-conflict cue. Host configuration, cutover and fresh-session/working-day acceptance belong to their owners. ## SOTA sources - [QMD v2.8.3 lexical query](https://github.com/tobi/qmd/blob/v2.8.3/src/mcp/server.ts#L294), [typed searches/rerank](https://github.com/tobi/qmd/blob/v2.8.3/src/mcp/server.ts#L321) and [document retrieval](https://github.com/tobi/qmd/blob/v2.8.3/src/mcp/server.ts#L412): native lexical subqueries, retrieval and optional rerank. Rerank defaults true (:334-335). [README maintenance syntax:1033-1037](https://github.com/tobi/qmd/blob/v2.8.3/README.md#L1033-L1037) supplies bounded commands. - [SocratiCode v1.15.0 codebase_search](https://github.com/giancarloerra/SocratiCode/blob/v1.15.0/src/index.ts#L138): semantic search at an absolute projectPath. Owner ruling224125Z selects the routing and preserves rerank-on acceptance; this PR performs no host cutover. - [Serena c6fbd1c5 manual order](https://github.com/oraios/serena/blob/c6fbd1c5932df2494ffa0020af5a9fbe80b82143/src/serena/resources/config/prompt_templates/system_prompt.yml#L5-L6), [manual tool:28-40](https://github.com/oraios/serena/blob/c6fbd1c5932df2494ffa0020af5a9fbe80b82143/src/serena/tools/workflow_tools.py#L28-L40) and [project/session binding:44-49](https://github.com/oraios/serena/blob/c6fbd1c5932df2494ffa0020af5a9fbe80b82143/src/serena/tools/config_tools.py#L44-L49): manual first, active cwd project and returned session id for switches. - [jCodeMunch 1.108.330, 28803366, typed route:446-463](https://github.com/jgravelle/jcodemunch-mcp/blob/288033668f0425ab0547f420dd647c14bd186c7f/src/jcodemunch_mcp/server.py#L446-L463), [guide:4743-4752](https://github.com/jgravelle/jcodemunch-mcp/blob/288033668f0425ab0547f420dd647c14bd186c7f/src/jcodemunch_mcp/server.py#L4743-L4752) and [policy:101-128](https://github.com/jgravelle/jcodemunch-mcp/blob/288033668f0425ab0547f420dd647c14bd186c7f/src/jcodemunch_mcp/cli/policy.py#L101-L128): guide-first and typed task/model route. These files are unchanged at target1.108.331/d94049d0. The executable schema corrects the guide's query example; no new adaptive-tier setting or upstream rebuild. - `native-agent-stack@c44993b:tests/test_token_e2e_preregistration.py:637-663,905-909`: later dated role-pin amendment and sealed RUNBOOK contracts. Amendment4 preserves every earlier row/seal and extends the current-row selector. The command center records merge chronology at landing; this is a structural repair and authorizes no run. - [DeusData/codebase-memory-mcp v0.11.0 release](https://github.com/DeusData/codebase-memory-mcp/releases/tag/v0.11.0), the repository's pinned component, and the command center's native-client read-back identify the canonical server name. Its proposed client-key/wire-id/owner-token correction is kept in the separate patch, preserving every payload and strict fixture. Ruling081016Z explicitly keeps main's names in this publication while the owner's instruction-token decision remains open. - RTK explanation provenance: `native-agent-stack@2d849ba` (#726) and `@50b9579` (#389), `adoption/templates/codex.AGENTS.template.md` after its exceptions marker. The eight explanations shorten while all facts and protected bytes remain. Command-center064832Z accepted their class and scoped wording. - Native helpers at `native-agent-stack@c44993b`: `tools/adoption/managed_block.py:169` (`codex_block`), `tools/adoption/codex_roles.py:287` (`f4_block`), `scripts/host_receipts.py:710` (`register_file`), `docs/lanes.md:94-128`. Current generated inventory/handbook and checksum bindings use those repository tools; historical receipts and the frozen catalog passage are preserved. ### Evidence-class table | Claim | Evidence class | Command / receipt | | --- | --- | --- | | Documented native routing/manual/guide interfaces | source_review | Pinned upstream files above | | Carrier rendering, protected bytes, new body pins and tool ids | local_integration | Existing native helpers, hashes and required modules | | Permission/sequence/byte-mutant/frozen-row controls | synthetic | Existing tests with assertions preserved | | Deployed use and token savings | Pending owner evidence | No model, host apply or working-day measurement in this repair | ### Local commands run ```text $ CI=true nice -n 19 ionice -c3 python3 -B -m unittest tests.test_token_lanes_session_start tests.test_token_lanes_subagent_start tests.test_scaffold_repo tests.test_new_wsl_handbook tests.test_adoption_docs_consistency tests.test_codex_agents tests.test_codex_roles tests.test_codex_worker_lane tests.test_token_e2e_preregistration tests.test_new_wsl_client_config.RecordTests tests.test_install_claude_profile tests.test_managed_block tests.test_task_model_routing tests.test_new_wsl_client_config.MapTests tests.test_new_wsl_client_config.AgentGapTests tests.test_new_wsl_client_config.RenderTests tests.test_new_wsl_client_config.ApplyTests.test_the_first_run_writes_what_the_wired_pieces_name_and_nothing_else exit 0; Ran 595 tests in 109.929s; OK (skipped=14) $ CI=true nice -n 19 ionice -c3 python3 -B -m unittest tests.test_install_claude_profile tests.test_adoption_docs_consistency tests.test_new_wsl_client_config.RecordTests exit 0; Ran 150 tests in 16.306s; OK (skipped=2) $ CI=true nice -n 19 ionice -c3 node examples/claude-native/workflows/test-envelope.mjs exit 0; SUMMARY passed=254 failed=0 total=254 $ CI=true nice -n 19 ionice -c3 python3 -B tools/adoption/new_wsl_client_config.py --check --markdown exit 0 $ CI=true nice -n 19 ionice -c3 python3 -B scripts/build_new_wsl_handbook.py --check exit 0 ``` The passing 595-test run is retained on unchanged source/assertion inputs from the pre-window checkpoint; the 150-test run checks the concrete relocation-fixture and workflows-README changes in the new main base. Their counts overlap and are not added. The fresh Node run passes 254/254. Strict checksums in both Codex directories and the Claude hook directory, plus `git diff --check`, exit 0. All three Amendment-4 role digests were re-derived in both copies and are unchanged from the previous published head. ```text $ CI=true nice -n 19 ionice -c3 python3 -B scripts/validate.py exit 0; 69 components, 10,482 hashed files, 4 profiles, 224 receipts, status passed ``` The earlier landing composition used source `630b6ece8485a7710ea51321682d5a12e364e25c` and hot commit `5703ef1061b982078038425fada888fd35153868`; its native checks and source-critic result are retained. The authorized locator follow-up changes only `catalogs/foundation/upstream-surface-dispositions.json` and that file's registry row: the `otel.environment` citation now points to the command at `examples/codex-native/README.md:214`. Source commit `2b36cfee` is followed by registry-last commit `9985e468fa4997d22630714b2fa6a76666e3cda9`, with no further rebase. Claude/Codex instruction bytes, role hashes, historical records, namespace and byte budgets remain unchanged. The registry starts from exact main `c44993b379da25fae923dbbe70188978af5104aa`, registers the same 67 changed-file rows through the native producer, and preserves main's receipt and convergence arrays. The two-file correction passed the 114-test citation module, the two exact failing methods and a second native validator run. The worktree is clean; the shifted-citation scan found no other current target to repair. Historical before/after references remain intact. ```text $ CI=true nice -n 19 ionice -c3 python3 -B -m unittest tests.test_upstream_surface_watch exit 0; 114 tests, 6 skipped $ CI=true nice -n 19 ionice -c3 python3 -B -m unittest tests.test_upstream_surface_watch.DispositionCitationTests.test_every_cited_line_names_the_key tests.test_upstream_surface_watch.DispositionCitationTests.test_a_dotted_key_has_its_parent_near_the_citation exit 0; 2 tests $ CI=true nice -n 19 ionice -c3 python3 -B scripts/validate.py exit 0; integrity and scope passed ``` The hosted run at5703 returned two failures in11,495 tests because the documentation locator moved. A reviewed locator still gates when its repository test fails. This follow-up closes that exact contract; it adds no assertion waiver or namespace change. Read-only overlap metadata checked all 47 open PRs, including full file pagination where needed. Source overlaps: #645, #706, #709, #754, #769, #770, #775, #776, #795, #810, #821, #826, #829. Shared registry/checksum paths use the hot-file protocol; no peer branch is changed. Earlier failed CI at3ba ran11,381tests and failed six role-body-pin subcases; its complete failed log is retained privately. The failed 560-test and earlier 595-test preparation runs also remain retained. This repair uses a dated amendment, preserves the older source evidence and strict current-body comparison, and performs no full-suite or provider acceptance run. Validator results are integrity and scope evidence only. ### Decision record `docs/decisions/2026-10-06-qmd-lexical-catalog-instructions.md` and `docs/decisions/2026-10-07-serena-jcodemunch-native-navigation-wiring.md`, with appended clarifications and the new landing follow-up, explain the behavior and limits. The preregistration README gains Amendment4 only; its RUNBOOK and earlier sealed records stay byte-identical. No prior result is recast as a new run. ### Host evidence Repository-only change. No live instruction file, MCP registration, hook trust, client setting, gateway setting/key or model session changed. Source/render checks and synthetic fixtures remain distinct from the configuration owner's read-back and organic-use acceptance. ### Checklist - [x] No GitHub Actions or paid service change. - [x] No credentials, raw conversations or live client configuration committed. - [x] Models, effort, owner's blocks and historical observations preserved. - [x] Peer-owned worktrees and source preserved. - [x] Native validation passed; changed checksums/registry committed last at the final head.
Scope
Add the prescribed plain-sed SKILL.md exception so Codex can recognize a registered skill-document invocation despite the RTK blanket prefix. Preserve the six existing exceptions, add the seventh entry, and render the ten role carriers and new-WSL user-instruction copy through the repository's helpers. No role grants, model settings or host files change.
e712bae606e8d27f010af8e3c13ded6b7a7c207a.305a4859d06e36d54d339924389f468ed70e3de4.lane:foundation; draft.otel.environmentcommand and disposition both name line188.Landing path: command-center ACK at the pre-rebase
f0d1c6d04head; the co-op/5f verify this explicitly cued landing head and CI. 5f lands #803 after #818, then #819 takes its own landing cue. This lane does not merge or apply the installed instruction file.SOTA sources
native-agent-stack@305a4859d06e36d54d339924389f468ed70e3de4:tools/adoption/managed_block.py:169(codex_block),tools/adoption/codex_roles.py:287(f4_block) andscripts/host_receipts.py:710(register_file);native-agent-stack@e712bae606e8d27f010af8e3c13ded6b7a7c207a:docs/lanes.md:94-128: existing native rendering and hot-file protocol.otel.environmentsource locator; other owner rows preserved.Evidence-class table
source_reviewlocal_integrationsyntheticLocal commands run
The six required modules ran once on the clean rebased head, under
CI=true, umask022, nice19 and ionice-c3:Validation ran on the final source bytes before continuing the last evidence commit; those inputs remained unchanged through commit and the module run. Full hosted CI at this new head remains the owner’s acceptance step. Complete local output is durable under
lanes/codex-token-parity-work/803-20261007/; no new model, provider or GPU run is claimed.The same single rebase had two expected conflict stops: owned descriptive byte comments, then the shared registry. The comments now use native renderer counts while preserving main's pin and assertions; the registry resolution uses main plus native registration. No second rebase, abort or reset. Earlier failed import/fixture-mode/hash runs and earlier CI citation failures remain in the dated receipt and durable logs.
Decision record
docs/decisions/2026-10-06-codex-skill-read-exception.mdrecords evidence, alternatives, limits and the upstream change that would overturn the recipe. The client-configuration record's new dated inventory is appended; its decided text, main's addendum and the original observed receipt are preserved.Host evidence
No
evidence/hosts/change, native model run, installed instruction-file edit, RTK hook/configuration edit or client apply. The command center owns host application after acceptance. Local integrity and synthetic tests are separate from deployed-client acceptance.Checklist