Skip to content

Preserve convergence lessons and use native sweep gateway and stdin transport - #821

Draft
seathatflowsinourveins wants to merge 5 commits into
mainfrom
codex/ns2604-convergence-harness-lessons-20261006
Draft

seathatflowsinourveins wants to merge 5 commits into
mainfrom
codex/ns2604-convergence-harness-lessons-20261006

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

This retained chain carries #718, #763, #764 and #766, preserves their historical records, and extends the sweep harness with layer-specific discovery memory, twelve source-bound requirements, host-resolved gateway guards, upstream stdin prompt transport and additive frozen requirement snapshots through publication.

SOTA sources

Evidence-class table

Claim Class Evidence
Native transport/flag behavior and input mapping source_review Installed0.160.1 help, tagged source, native inventory/source binding and dated decision addenda
Gateway refusal/reuse, byte equality, timeout cleanup, annotations and snapshot propagation synthetic/integration Current harness331tests/10skips;15snapshot cases pass against the unchanged pinned owner helper; earlier460-test evidence retained separately
Repository integrity and changed-source scanner local_integration Native validate.py, register_file, report generators and Gitleaks8.30.1; registry committed last
Complete-prompt stdin transport native_execution Real native observation-inference job exit0;169925 delivered bytes equal the bound normalized payload; native usage retained, proposal/adoption truth unqualified
Qualification plans and remaining conditions source_review Landing-head hosted validation, integrated ledger helper and separate project-config precedence/T17p receipts remain required

Local commands run

Heavy checks are serialized at nice19/ionicec3. Failed phases and usage remain retained.

python3 -m unittest tests.test_landscape_sweep_harness tests.test_landscape_sweep_slot_inputs tests.test_codex_worker_lane -q
exit0:460 tests,15 skips,146.506s
Earlier phase:445 tests,1 stale staged-apps expectation,15 skips; corrected BuildArgsTests4pass
Pre-stdin phase:452 tests/15skips pass; endpoint-specific17 and slot21 controls pass
Native32-layer source pack:input/stage exit0,all12requirements;169926-byte complete prompt retained
gitleaks git --staged --redact --no-banner
exit0:approximately1002189 source bytes,no findings

Final validator exits0:69components,10402hashedfiles,4profiles,214receipts;54changedfiles registered natively. Final staged source scan exits0 over993718bytes and the hot-files/registry scan exits0 over22479bytes. Source71c1fb8 precedes final shared-instructions/registry d466be1. These are local/source checks, not upstream acceptance.

Decision record

docs/decisions/2026-10-06-sweep-discovery-memory-and-source-order.md, with appended2026-10-07 mapping/gateway/stdin addenda. Retained October5 records are byte-identical.

Host evidence

No host acceptance or installed/runtime status change. Source-tool availability inside isolated routes and actual native/gateway qualification are still conditional.

Checklist and landing path

  • Four originals are named and historical bytes/observations retained.
  • Source classes, failed phases and unknown provider usage/cost are kept distinct.
  • Delta GPT exact-head read, then command-center acknowledgment.
  • Original other-lane acknowledgment, gateway A/S/GW-01 predecessors and passing candidate T17p at the reviewed head.
  • Native observation-inference stdin job completed after the P2 push; merged-code T17p remains separate.
  • Landing path: exact-head GPT read and CC ACK; canonical gateway/host-record predecessors; candidate qualification; CC queues with5f before the gateway F PR. One rebase only on the explicit landing cue. This lane never merges.

P2 repair — 2026-10-07

At d580631, an owned detached gateway refusal now uses the existing inputs_changed terminal path before releasing its inherited lock. Initial/hand-run refusals stay write-free. The existing race fixture now covers a malformed post-binding gateway, unchanged bound bytes and archived attempts, exit2/cause/finished/done, and no probe/model spawn.

Before-fix regression:1test/exit1, uncaughtGatewayRefused; focused repaired26tests/exit0; harness316tests/3skips/exit0(84.363s). Finalvalidate0:69components/10403files/4profiles/214receipts. Native4pathregistration0; source/hotredactedscans0(10164/22712bytes); diff0. The earlier460-test/15-skip phase is retained, not relabeled as this rerun. New verification-p2-detached-gateway-20261007.json and an appended dated decision amendment preserve historical observations. Source dedd932 precedes final shared-files/registry d580631; one contentpush/no rebase on currentbase. Independent source critic ACCEPT.

Hostedvalidate was not run at d466/d580 because the PR was DIRTY; local checks are not hosted acceptance. The P2 delta read at d580 is ACK_AFTER, conditioned on registry order and landing-head hosted validation. The new producer content requires a fresh exact-head read and CC ACK before its landing turn.

Frozen producer binding and native transport evidence

Current head64b038d00f7601d61995c0939b094445f494b1d1 reuses the ledger owner's binding_version2 snapshot without changing legacy hashes. Inputs deliver captured text; V2 neutralization stays separate and its runner stays unavailable. Staging rejects scope/input inconsistencies before writes; V1/V2 conversion retains the snapshot. RESULT placeholder expansion preserves it, and converter privacy processing refuses any binding rewrite before publication. Completed sweeps are untouched. The owner's migration remains a dependency: declared snapshots are refused by a legacy-only ledger.

Current checks: harness331tests/10skips/exit0(86.565s); unchanged pinned owner-helper integration15tests/0skips/exit0; final privacy-fixture check1test/exit0. Seven of the full suite's skips await the ledger helper, three are existing optional checks. Native register_file covers changed tracked files and both new carriers; validate0(69components/10405files/4profiles/214receipts), source/hot redactedscans0(36392/23378bytes), diff checks0. Source commit74885c9 precedes final shared-files/registry64b038d0; one content push, no rebase. Failed fixture/validation conditions remain recorded; no scanner allowance or dependency-owner edit.

The real native transport check ran codex-cli0.160.1/gpt-6-astra/max with apps explicitly off, read-only/skip-git-check and non-git cwd. It delivered the complete169925-byte LF-rstripped prompt, equal to the bound payload, and returned valid discover JSON with exit0. Exact native usage is retained as one terminal event with subset counters kept separate; cost unknown. New verification-native-stdin and verification-producer-binding carriers distinguish native transport, synthetic controls, source review and pending host qualification. This neither adopts its five proposals nor establishes gateway project precedence.

Follow-ups

  • Qualify gateway project precedence and host behavior with the supported native harness; the retained stdin transport result proves payload delivery only.
  • Complete the ledger-owner V2 migration and its seven gated checks through the owner’s supported helper; retain the existing dependency gate for CC adjudication.

Review disposition follows the CC PR-wave ruling: in-scope reproduced P1/P2 defects or false claims at the head are blockers; other findings stay in this list. P1 safety/privacy/money/order findings always block. Subsequent fixes wait for Claude, GPT and Codex on the same head, or an explicit CC release; open items after the second fix round go to CC adjudication. Candidate changes return to the research queue, and #1009 has queue priority.

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 6, 2026
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-convergence-harness-lessons-20261006 branch from 754e802 to d466be1 Compare October 7, 2026 02:45
@seathatflowsinourveins seathatflowsinourveins changed the title Sweep harness: retain per-layer history and verify official sources Preserve convergence lessons and use native sweep gateway and stdin transport Oct 7, 2026
@seathatflowsinourveins seathatflowsinourveins added lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement and removed lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers labels Oct 7, 2026
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-convergence-harness-lessons-20261006 branch from d580631 to 64b038d Compare October 7, 2026 05:05
seathatflowsinourveins added a commit that referenced this pull request Oct 7, 2026
### 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.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant