Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
7b41b85
refactor(turn): compose one complete governed input across callers
loopx-agent Oct 27, 2026
9ca580b
refactor(turn): isolate original captured Host context restoration
loopx-agent Oct 27, 2026
49573d8
docs(controller): reconcile independent delivery and historical quali…
loopx-agent Oct 27, 2026
04c6ae3
docs(controller): record target native budget integration
loopx-agent Oct 27, 2026
9de0d26
refactor(context): compose native scope and encoding in one call
loopx-agent Oct 27, 2026
56c3cbe
docs(context): record native composition cost and recovery boundaries
loopx-agent Oct 27, 2026
e8c6d6b
refactor(turn): read execution facts from the complete source
loopx-agent Oct 27, 2026
c47fb1e
refactor(turn): consume complete Host source before legacy decoding
loopx-agent Oct 27, 2026
9805817
test(turn): qualify report replans against complete Host input
loopx-agent Oct 27, 2026
b3b2135
refactor(turn): prepare Codex input with one source check
loopx-agent Oct 27, 2026
c02aeaa
docs(controller): qualify input preparation cost and remaining gaps
loopx-agent Oct 27, 2026
f23105d
refactor(turn): share selected work in planning and session recovery
loopx-agent Oct 27, 2026
49e69f2
fix(turn): retain historical whitespace in selected work identity
loopx-agent Oct 28, 2026
5b2e91d
fix(turn): bind completion classification to the captured source
loopx-agent Oct 28, 2026
5e3d86f
refactor(quota): share acceptance and context projection transport
loopx-agent Oct 28, 2026
65ea4fa
docs(controller): record packaged quota comparison and compaction gap
loopx-agent Oct 28, 2026
3090dc7
refactor(quota): share typed Todo diagnostic projection
loopx-agent Oct 28, 2026
ac3b2bc
docs(controller): record shared diagnostic costs and independent slice
loopx-agent Oct 28, 2026
ae13554
test(context): qualify scoped overlay adoption and quota costs
loopx-agent Oct 28, 2026
9be5256
fix(context): deliver complete registered Goal material before busine…
hhyykk Oct 28, 2026
99b2f18
fix(context): enforce Goal readiness in Codex prompt preparation
hhyykk Oct 28, 2026
2bdf242
fix(turn): retain lane fencing around staged capture execution
loopx-agent Oct 28, 2026
0e2a01b
test(turn): qualify staged capture and inherited Goal readiness
loopx-agent Oct 28, 2026
e902d23
refactor(turn): bind published input in the capture owner
loopx-agent Oct 28, 2026
614167f
docs(rfc): retain capture-owner repair qualification
loopx-agent Oct 28, 2026
78937d7
fix(quota): preserve original facts across diagnostic projection
loopx-agent Oct 28, 2026
81b3d4a
fix(context): preserve source identity during acceptance sharing
loopx-agent Oct 28, 2026
21be280
docs(rfc): record diagnostic preservation and C1 integration evidence
loopx-agent Oct 28, 2026
094c657
test(turn): check native prompt bytes after main material repair
loopx-agent Oct 28, 2026
19042b8
docs(rfc): retain main transport integration and merge boundaries
loopx-agent Oct 28, 2026
2ca00cb
fix(turn): keep one shared diagnostic import after integration
loopx-agent Oct 28, 2026
396635e
fix(context): reuse verified Goal sources and scoped reading prose
loopx-agent Oct 28, 2026
36e7ac5
docs(controller): record complete input costs and native delivery slice
loopx-agent Oct 28, 2026
87c14a5
fix(context): retain one Goal integrity import after main integration
loopx-agent Oct 28, 2026
4604ee4
refactor(context): share identical complete Todo summary lanes
loopx-agent Oct 28, 2026
c59d82b
test(context): distinguish diagnostic edits from projected documents
loopx-agent Oct 28, 2026
d410e29
docs(context): qualify same-capture diagnostic lane reuse
loopx-agent Oct 28, 2026
5a770d1
Merge main and preserve unified context reader identity
loopx-agent Oct 28, 2026
281910a
Preserve missing-work errors and localize host preparation
loopx-agent Oct 28, 2026
bca6350
Merge current context recovery and shared Todo record owners
loopx-agent Oct 28, 2026
fc47630
Record current integration evidence and remaining C1 qualification
loopx-agent Oct 28, 2026
09fc165
Keep the execution fence on the complete Turn entry
loopx-agent Oct 28, 2026
95deaab
Retain native overhead and intermediate failure evidence
loopx-agent Oct 28, 2026
ea67e99
Merge main for first-call and captured recovery integration
loopx-agent Oct 29, 2026
b339272
Reuse progressive material delivery for signed complete captures
loopx-agent Oct 29, 2026
2358110
Merge current main for complete-context integration validation
loopx-agent Oct 29, 2026
c335aae
docs(controller): prioritize independent current-capture recovery del…
loopx-agent Oct 29, 2026
07cdb0a
docs(rfc): record lossless reference and caller cost findings
loopx-agent Oct 29, 2026
f2a3059
docs(rfc): record independent recovery merge
loopx-agent Oct 29, 2026
fd65514
fix(quota): preserve original facts in context sharing
loopx-agent Oct 29, 2026
dd600ac
docs(rfc): separate context source preservation from C1 qualification
loopx-agent Oct 29, 2026
16626b9
fix(quota): preserve numeric identity during context sharing
loopx-agent Oct 29, 2026
7717614
refactor(context): converge C1 on advisory navigation and shared reads
loopx-agent Oct 29, 2026
4144d09
refactor(context): adopt file-first delivery in unified contract
loopx-agent Oct 29, 2026
263b740
fix(testing): preserve CLI JSON in tuple results
loopx-agent Oct 29, 2026
be65544
test(context): reuse source-faithful CLI transport in C1
loopx-agent Oct 29, 2026
c7756a1
chore: reconcile C1 with current main
loopx-agent Oct 29, 2026
1e9657f
fix(turn): preserve original numeric evidence in journals
loopx-agent Oct 29, 2026
b8b5d66
test(turn): qualify journal source fidelity in C1 recovery
loopx-agent Oct 29, 2026
efce061
chore: reconcile C1 with current main
loopx-agent Oct 29, 2026
9ec8dda
fix(context): preserve source numbers through delivery and recovery
loopx-agent Oct 29, 2026
3afc2d5
docs(rfc): record shared context source fidelity and its costs
loopx-agent Oct 29, 2026
13c7b74
Merge remote-tracking branch 'origin/main' into codex/controller-deci…
loopx-agent Oct 29, 2026
4173cc2
docs(rfc): qualify packaged C1 source delivery and its cost gap
loopx-agent Oct 29, 2026
974cd09
fix(turn): bind complete consumers to original numeric identity
loopx-agent Oct 29, 2026
e18d46d
refactor(turn): retire the unused complete-source echo operation
loopx-agent Oct 29, 2026
fdc8fe4
docs(rfc): record complete numeric binding and measured Host costs
loopx-agent Oct 29, 2026
7a502fc
Merge commit '3b4641c4fc0ec314d347f74b05880bb516012049' into codex/co…
loopx-agent Oct 29, 2026
dfcf7da
docs(rfc): qualify native recovery and optional Host fixtures
loopx-agent Oct 29, 2026
b9d1ce1
fix(turn): reuse sparse numeric provenance across complete consumers
loopx-agent Oct 29, 2026
0f376a9
test(turn): freeze the paired numeric cost source once
loopx-agent Oct 29, 2026
6481049
docs(rfc): reconcile sparse transport costs and pinned binding readers
loopx-agent Oct 29, 2026
60ef2b5
Integrate C1 with shared source identity and current main owners
loopx-agent Oct 30, 2026
af1808a
fix(context): keep bounded native references readable
loopx-agent Oct 30, 2026
35e4ef2
fix(turn): retain historical unbound wait decoding
loopx-agent Oct 30, 2026
c3f243a
Merge current main recovery and lifecycle fixes into C1
loopx-agent Oct 30, 2026
ceb7baa
test(turn): keep staged reader rejection oracles independent
loopx-agent Oct 30, 2026
0adc519
Merge independently proposed native context reference repair into C1
loopx-agent Oct 30, 2026
1910f6a
test(turn): scope preflight observation to the pinned CLI
loopx-agent Oct 30, 2026
abc6f28
Merge current main context and reader owners into C1
loopx-agent Nov 1, 2026
0642146
test(runtime): tolerate retiring directories during fixture cleanup
loopx-agent Nov 1, 2026
5a8453e
fix(context): recognize Codex alpha 11.2 replay metadata
loopx-agent Nov 1, 2026
96bba8f
Merge current main before C1 native integration qualification
loopx-agent Nov 1, 2026
36ffae5
Merge main and bound default Turn plan inspection output
loopx-agent Nov 1, 2026
e95467d
Merge current main host adapter binding into C1 candidate
loopx-agent Nov 1, 2026
d598e5e
test: migrate complete Turn CLI consumers
loopx-agent Nov 1, 2026
b111364
Merge main into complete Turn contract candidate
loopx-agent Nov 1, 2026
b2cc17e
Consolidate heartbeat read and settlement guidance
loopx-agent Nov 1, 2026
ec96131
Merge current main into C1 contract candidate
loopx-agent Nov 1, 2026
f48ac24
fix(heartbeat): qualify the existing exact-Turn settlement locator
loopx-agent Nov 1, 2026
6a82098
test(C1): follow current capture and snapshot boundaries
loopx-agent Nov 1, 2026
958eef4
Merge remote-tracking branch 'origin/main' into codex/controller-deci…
loopx-agent Nov 1, 2026
18b55e0
fix(heartbeat): share complete guidance across prompt consumers
loopx-agent Nov 1, 2026
4547a48
Merge remote-tracking branch 'origin/main' into codex/controller-deci…
loopx-agent Nov 1, 2026
4a15f2b
docs(C1): record shared prompt qualification and remaining cost holds
loopx-agent Nov 1, 2026
f3ae163
Merge commit '6ad80633c4d0ce360e18f3f3d7b1913540355226' into codex/co…
loopx-agent Nov 1, 2026
04ba4bd
Merge commit '035f7ac666cef390676c00b6fb0537ede3c9cf44' into codex/co…
loopx-agent Nov 1, 2026
b852af5
perf(presentation): remove nested padding from complete Turn Markdown
loopx-agent Nov 1, 2026
46bdadd
docs(C1): distinguish Markdown padding savings from complete packet size
loopx-agent Nov 1, 2026
8316c9f
fix(turn-host): bind optional providers to checked complete work
loopx-agent Nov 1, 2026
67f9c0b
Merge commit '5a9c0a6126dd92902f0bacd22762811afa60c407' into codex/co…
loopx-agent Nov 1, 2026
324d2ac
docs(C1): record optional host source checks and measured costs
loopx-agent Nov 1, 2026
ae8ee46
Merge remote-tracking branch 'origin/main' into codex/controller-deci…
loopx-agent Nov 1, 2026
e838e75
fix(dsh): share complete work identity across host bindings
loopx-agent Nov 1, 2026
47d1d10
docs(controller): qualify bundled DSH identity cutover
loopx-agent Nov 1, 2026
5d9dbb8
Merge current main into C1 consumer convergence
loopx-agent Nov 1, 2026
3d58796
refactor(turn): read native child metadata from complete source
loopx-agent Nov 1, 2026
e06e1a5
docs(controller): qualify native child source convergence
loopx-agent Nov 1, 2026
d104649
Merge commit 'c334bbaf196505778149ae4edeefaa013d343259' into codex/co…
loopx-agent Nov 1, 2026
08ec72d
test: qualify Codex App profiles through native capture recovery
loopx-agent Nov 1, 2026
8fe6a9c
docs: record native profile recovery qualification
loopx-agent Nov 1, 2026
0cd09b4
Merge commit '111519af76e56141c56eb7a27443da59def775b9' into codex/co…
loopx-agent Nov 1, 2026
5a759b2
refactor(turn): reuse complete-source validation during planning
loopx-agent Nov 2, 2026
42b842f
docs: record matched complete-plan transport reduction
loopx-agent Nov 2, 2026
33952fe
fix(turn): retain malformed complete input for checked refusal
loopx-agent Nov 2, 2026
d9ec6bd
test(turn): bind context subprocesses to the intended checkout
loopx-agent Nov 2, 2026
bd2ea9c
docs: record complete Host input refusal and source qualification
loopx-agent Nov 2, 2026
aa5da00
test(steward): isolate the synthetic native provider
loopx-agent Nov 2, 2026
a49625e
fix(steward): validate the complete source before task argv
loopx-agent Nov 2, 2026
9baa678
docs: record managed validation source and component cost
loopx-agent Nov 2, 2026
dd00992
test(chat): isolate the ordinary native provider fixture
loopx-agent Nov 2, 2026
4502a2f
Merge main for native conversation recovery integration
loopx-agent Nov 2, 2026
4cdf977
test(steward): adapt the merged native recovery fixture caller
loopx-agent Nov 2, 2026
e3d6283
docs: qualify the integrated managed validation routes
loopx-agent Nov 2, 2026
0305630
Integrate current context reader owners into complete C1
loopx-agent Nov 2, 2026
94955ee
Merge current main reader and canonical-source fixes into C1
loopx-agent Nov 2, 2026
60ca5a7
Merge current main before C1 progressive-source qualification
loopx-agent Nov 2, 2026
b7c7dae
fix(context): deliver complete current preferences in initial reads
loopx-agent Nov 2, 2026
a6aedec
Integrate complete current preference delivery into C1
loopx-agent Nov 2, 2026
c597775
test(context): qualify complete preferences and native C1 requirements
loopx-agent Nov 2, 2026
632c05a
docs(context): qualify existing canonical projection costs
loopx-agent Nov 2, 2026
5aff452
Integrate current main before generic Goal dispatch repair
loopx-agent Nov 2, 2026
2efc658
fix(turn): validate complete Goal before generic Host dispatch
loopx-agent Nov 2, 2026
26585b7
docs(turn): qualify generic dispatch refusal and recovery costs
loopx-agent Nov 2, 2026
f68b6cd
fix(turn): reject incomplete Goal before start reservation
loopx-agent Nov 2, 2026
9907799
docs(turn): qualify cadence refusal and unchanged valid-path costs
loopx-agent Nov 2, 2026
410080e
perf(turn): coalesce the initial reserved-start journal checkpoint
loopx-agent Nov 2, 2026
b9da985
refactor(turn): retire the Python work-selection rule
loopx-agent Nov 3, 2026
9180b87
test(c1): preserve complete fixture sources across main integration
loopx-agent Nov 3, 2026
487aa9a
test(c1): keep Host observation inside the declared artifact scope
loopx-agent Nov 3, 2026
75bc0e7
Merge current target main into the C1 proposal
loopx-agent Nov 3, 2026
d2c788b
fix(c1): validate complete sources at journal recovery boundaries
loopx-agent Nov 3, 2026
839db14
Merge current target recovery and authoring fixes into C1
loopx-agent Nov 3, 2026
0a74529
test(c1): read staged captures through the current native reader
loopx-agent Nov 3, 2026
0bbc76a
Merge remote-tracking branch 'origin/main' into codex/c1-budget-integ…
loopx-agent Nov 3, 2026
2a70807
feat(turn): deliver one versioned complete Host input
loopx-agent Nov 3, 2026
669dd75
fix(context): preserve required material priority in initial reads
loopx-agent Nov 3, 2026
13c16a4
Merge commit '9d47a36eec0c05b54edcff8323ee81853814457e' into codex/c1…
loopx-agent Nov 3, 2026
96a2302
Merge commit '669dd7517f6389efbc8a7dadf04d95f27e3c3c4e' into codex/pi…
loopx-agent Nov 3, 2026
009c229
fix(host): consume complete input in optional adapters
loopx-agent Nov 3, 2026
3e7a96c
test(turn): read task witness from complete source
loopx-agent Nov 3, 2026
a1e9144
fix(context): replay pinned selections in their recorded order
loopx-agent Nov 3, 2026
09541e6
Merge current main with complete C1 source
loopx-agent Nov 3, 2026
b25f849
Merge pinned reader order consumer into C1
loopx-agent Nov 3, 2026
699002a
fix: accept digest-bound raw initial read continuation
loopx-agent Nov 3, 2026
cc64940
Merge current main into C1 reader integration
loopx-agent Nov 3, 2026
f5dfadf
Merge current main before C1 session reader cutover
loopx-agent Nov 3, 2026
6bcd3c5
refactor(turn): read native sessions from complete source
loopx-agent Nov 3, 2026
fae90d4
test(turn): isolate CLI binding probe from lazy exports
loopx-agent Nov 3, 2026
62045db
Merge current main with C1 strict Codex result transport
loopx-agent Nov 3, 2026
849a5ee
fix(codex): read result evidence rules from complete source
loopx-agent Nov 3, 2026
865970f
Merge current main before operation Host preflight convergence
loopx-agent Nov 3, 2026
cfaf2e4
Reuse checked source for operation Host preflight
loopx-agent Nov 3, 2026
1d79ba7
Merge current main before complete Host request cutover
loopx-agent Nov 3, 2026
559654f
Cut over shared Host requests to complete source input
loopx-agent Nov 3, 2026
e4e0bdd
Merge current main before internal Turn projection convergence
loopx-agent Nov 3, 2026
8fd5d7f
Reuse checked Turn facts for complete Host recovery
loopx-agent Nov 3, 2026
71568e7
Merge current main before Codex timeout qualification
loopx-agent Nov 3, 2026
0eb0042
Qualify Codex timeout recovery before and after Session observation
loopx-agent Nov 3, 2026
0939c74
Unify complete-source Turn plans across execution and recovery
loopx-agent Nov 3, 2026
d7b49e8
Document single-source Turn plan recovery and measured costs
loopx-agent Nov 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/architecture/rfcs/STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ appendix may keep dated history, but no dated log heading may precede it.
| [RFC: Capable Agent Manager and Semantic Work Handoff (v0)](capable-manager-semantic-handoff-v0.md) | Accepted | [Personal Follow-through independent proposal](personal-follow-through-v0.md) | [2 entries](ledger/capable-manager-semantic-handoff-v0/) |
| [RFC: Complete State Recovery and Controlled Reactivation (v0)](complete-state-recovery-v0.md) | Accepted | none | — |
| [RFC: Composable State Machines and Recovery Verification (v0)](composable-state-machines-recovery-verification-v0.md) | Accepted | none | — |
| [RFC: Controller / Executor Sessions and One Governed Work Contract (v0)](controller-executor-unified-contract-v0.md) | Accepted | none | [5 entries](ledger/controller-executor-unified-contract-v0/) |
| [RFC: Controller / Executor Sessions and One Governed Work Contract (v0)](controller-executor-unified-contract-v0.md) | Accepted | none | [12 entries](ledger/controller-executor-unified-contract-v0/) |
| [Explicit Todo continuation: Stage A](cross-session-memory-substrate-v0.md) | Accepted | none | — |
| [RFC: LoopX Desktop Execution Frontends v0](desktop-execution-frontends-v0.md) | Accepted | none | — |
| [RFC: External Evidence Research Capability v0](external-evidence-research-capability-v0.md) | Accepted | none | [3 entries](ledger/external-evidence-research-capability-v0/) |
Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/rfcs/STATUS.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
| [RFC:强能力 Agent 管家与语义工作交接(v0)](capable-manager-semantic-handoff-v0.zh-CN.md) | 已接受 | [个人事项持续跟进独立提案](personal-follow-through-v0.zh-CN.md) | [2 条](ledger/capable-manager-semantic-handoff-v0/) |
| [RFC:完整状态恢复与受控重新激活(v0)](complete-state-recovery-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:可组合状态机与恢复验证(v0)](composable-state-machines-recovery-verification-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:Controller / Executor 会话与统一受治理工作契约(v0)](controller-executor-unified-contract-v0.zh-CN.md) | 已接受 | 无 | [5 条](ledger/controller-executor-unified-contract-v0/) |
| [RFC:Controller / Executor 会话与统一受治理工作契约(v0)](controller-executor-unified-contract-v0.zh-CN.md) | 已接受 | 无 | [12 条](ledger/controller-executor-unified-contract-v0/) |
| [显式 Todo 接续:阶段 A](cross-session-memory-substrate-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:LoopX 桌面执行前端 v0](desktop-execution-frontends-v0.zh-CN.md) | 已接受 | 无 | — |
| [RFC:外部证据研究能力 v0](external-evidence-research-capability-v0.zh-CN.md) | 已接受 | 无 | [3 条](ledger/external-evidence-research-capability-v0/) |
Expand Down
135 changes: 135 additions & 0 deletions docs/architecture/rfcs/controller-executor-unified-contract-v0.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,17 @@ writer/consumer cutover and original-quota outcome/full-cost qualification remai
open. The added bridge calls must be counted; code convergence alone is no
evidence of lower cost.

The current-main integration also checks the provenance of its qualification
fixtures. `read_fixture_todos` previously seeded canonical authority from an
attention summary, erasing an authored tail after 500 characters before capture.
It now uses the existing full source parser and Todo normalizer. A real
File/SQLite CLI case carries that tail through complete capture, a subprocess
Host's artifact, independent validation, settlement and replay. Both original
truncation failures remain evidence; this repairs the test input, not a runtime
policy. Current size and compatibility failures remain open. Deterministic
artifact agreement and measured CLI/RPC bytes do not qualify model comprehension,
native accepted outcomes, total cost or the full C1 cutover.

| Current source / obligation | Present envelope treatment | Required C1 disposition |
| --- | --- | --- |
| `interaction_contract.agent_channel.work_context` and pending required reads | `work_context` plus `required_reads`; identical inline material can be referenced | One complete requirement/evidence source with resolvable references; preserve pending reads and their completion conditions |
Expand Down Expand Up @@ -890,6 +901,21 @@ reject an unsupported inner version before Codex prompt execution or DSH runner
loading, without spend. The complete-contract/context/DSH/stdio selection passes
352 cases; TypeScript checking and focused lint pass. This qualifies these
interaction semantics, not every required field or packaged-host adoption.
Heartbeat templates now own the ordered settlement instruction; exact-Turn
binding adds only its canonical source locator, instead of repeating the
execution and no-static-reconstruction clauses. Thin prompts combine complete
capture and required-context reads before action, while sharing the unchanged
progress/outcome clauses. On the unchanged full-route fixture (320-character
scope, explicit CLI and five capabilities), the unbound prompt falls from 4,981
to 4,895 budget characters under the original 4,900 ceiling. The exact-Turn
variant falls from 5,198 to 4,987 and still fails that ceiling. The padded-route
negative remains rejected; no route, capability, fixture population or limit
was shortened. The prompt/platform selection passes 115 checks with one skip.
These are presentation and clause-retention results, not model adoption or cost
benefit. Four other original CLI-budget failures remain open. Integration with
opaque reader references also exposed two obsolete digest-field assertions;
their File/SQLite consumers now read the pinned machine descriptor, preserve
the original receipt and reject byte-changed captures without admission or spend.
Remaining cache consistency investigation, other old reader expectations, staged instruction parity and
actual optional/external consumers, version admission and packaged host
continuity remain unfinished. Operation-SDK checks without an explicit native
Expand All @@ -914,6 +940,13 @@ design, not a claim that these paths have changed.
| `turn_driver/decision_capture.py` and `cli_commands/quota_capture.py` | Reuse immutable capture, validated readers and full/delta delivery. Fresh delivery and saved-capture recovery must reconstruct the same contract; do not reuse a continuity baseline for a different projection merely because its Turn identity matches. |
| `benchmark/runtime/worker.py`, `benchmark/runtime/sessions.py` and `scripts/external_scheduler_worker.py` | Migrate the product entry they actually invoke. Keep evaluation setup and outer wake ownership; do not add benchmark-only conversion or count a managed-host test as attached-host acceptance. |

The current proposal's [private-plan checkpoint](ledger/controller-executor-unified-contract-v0/2026-10-30-c1-source-convergence.md#current-private-plan-boundary)
migrates the complete-source Turn writer and its capture, Host, CLI resume,
native conversation, capability, child-result and journal consumers together.
It writes one source in `loopx_turn_plan_v1`, retains explicit original-version
readers, and does not close the remaining quota-preview/presentation, installed
adoption or original-quota outcome/full-cost requirements.

Before replacing any seam, its implementation PR records source path, field or
instruction clause, current readers, target owner, representation, recovery and
retirement condition. Relocation must include reference resolution; an omitted
Expand All @@ -933,6 +966,22 @@ are reconciled. Rollback likewise separates outstanding work from new admission.
A version transition does not rewrite saved prompts, journals or source hashes
as if they had always used the new contract.

Code convergence is part of each migration slice, not only the final C9 cleanup.
Both entrypoints must call the same semantic implementation for composition,
reference validation, context reconstruction and settlement. Keep genuinely
host-specific launch/observation mechanics in thin adapters; do not force their
different lifecycles into a new general-purpose runner. The existing typed owners
remain responsible for their respective decisions.

For each slice, record the before/after callsites, shared owner, removed duplicate
algorithm and remaining compatibility caller with its removal condition. Qualify
both routes with the same independently authored semantic cases and their real
transport/recovery tests. A wrapper that only delegates can be transitional;
copying a rule into a newly named common module while leaving two implementations
is not convergence. The next change to a shared rule should be made and tested in
one owner and reach both routes. Do not make declining line counts an acceptance
metric or remove unique host coverage to meet one.

The first C1 PR must include the two production composition callsites above and
at least one complete producer-to-final-input journey, with an explicit list of
remaining readers. Qualifying that bounded slice does not enable the new writer
Expand Down Expand Up @@ -1252,6 +1301,84 @@ model adoption. All-host defaults, other omitted material, trusted Host coverage
writer/reader cutover and §9's outcome/full-cost comparison remain open. Index
overhead participates in the existing full-versus-folded byte guard.

The C1 candidate's journal inspection, publication, settlement lookup and managed
retry now consume a present complete contract through the same checked-source
owner as Host dispatch. A changed source, unsupported version or self-consistent
but divergent executor adapter blocks recovery/publication; it cannot select the
historical decoder. Native file reads and Python transport retain the original
sparse numeric spellings. The old adapter-only decoder remains for historical
journals without a complete contract. This is a source-integrity repair with
additional validation cost, not installed adoption, full reader retirement or
the original-quota outcome/net-cost qualification.

The candidate's external generic CLI stdin now uses the same complete-source
Host request v1 as native model input. It removes the second executable
envelope from that wire and preserves the original contract, capture readers,
Turn key and result transport. The shared checked-source owner validates v1
directly; native adapters share version decoding, and the DSH stdio consumer
accepts v1 as well as historical v0. Missing/invalid source, mixed carriers and
capture drift refuse without selecting the historical decoder. Ark and MemT
distribution adapters also use the Core decoder through the
existing supported Host seam; provider permissions, receipt recovery and exact
memory-lifetime gates remain. Their matching-Core requirement is explicit.
The private executor adapter and versioned historical journal readers remain until their
own replacement is qualified. This source-level wire cutover requires external
v0 adapters to migrate; it establishes neither installed adoption, original
quota outcome/full-cost qualification nor model-retention benefit.

The candidate's built-in Codex/DSH session-index lookup now reads identity from
one checked complete source. Normal CLI planning, failed-session resolution and
journal inspection no longer transport a second executor adapter for that read.
The existing TypeScript identity owner and native session store retain the same
Goal/Agent/Todo scope, namespace and lifetime checks. An explicitly supplied
historical adapter still selects its existing decoder and consistency checks;
malformed supplied sources never fall back. Host dispatch, injected callbacks
and the private executor/journal adapter keep their separately qualified
boundaries. This read-only caller replacement does not authorize a launch or
qualify whole-C1 retirement, model adoption or original-quota full-cost benefit.

The candidate's strict Codex result normalizer also reads material-result
evidence applicability through the existing checked-source owner, for both the
CLI and operation Host. A complete source cannot lose that obligation when
its executor adapter is absent; malformed supplied sources do not fall back.
The strict output schema keeps required nullable fields, stop results normalize
null evidence to absence, and non-null evidence content remains the executor
validator's responsibility. Historical requests without a complete source
retain their original rule.
This replaces one active metadata reader and adds a fresh source check after
the provider; it does not qualify whole-C1 cutover or net-cost/model benefit.

Operation Hosts also reuse that dispatch owner for preparation and normalized
session lineage. Codex checks complete work and Goal delivery before native
initialization, retaining a fresh prompt/schema check after startup. DSH reuses
the lineage already checked in its preparation invocation instead of issuing
another identity read. The optional projection metadata stays outside model
input and persisted authority; callers that do not request it retain their
existing projection. Historical codecs, session scope/lifetime, confirmation
and consumption gates, and post-provider validation keep their owners. These
caller changes require separate startup/refusal, native protocol and matched
component-cost evidence; they do not close the remaining private-adapter cutover
or establish original-quota outcome/full-cost benefit.

The shared Turn Host-request producer now selects that same complete v1 input
for built-in Hosts and injected callbacks as well as generic CLI stdin. It
checks the private plan's source/adapter consistency before removing the second
carrier. Original-capture publication preserves v1 and its immutable reader
header; only an original historical observation can restore the old request
codec. A quota capture without a journal key retains its original source-Turn
reference; provided journal keys still match exactly, without a fabricated binding.
Failed-session recovery checks the complete source/header and retains the
existing native scope, action-hash number codec and scoped request/replan identity.
Its complete-input `driver_lineage` reader now consumes the checked action facts
directly, without regenerating a v0 adapter, cold reader commands or compaction
diagnostics. Both readers share the same route and scoped-identity rules;
historical envelopes retain their own version/signature proof and scalar codec.
Private plans/journals still retain their adapter: retiring this recovery caller
does not retire that writer or all Core adapters. Qualify actual dispatch,
recovery/replay and source-check/derivation costs separately. Unchanged bridge
traffic is not a measured latency gain; already-complete model input is not
another compression gain or original-quota outcome qualification.

C1's inventory is part of its usable replacement, not a standalone architecture
framework. C3/C4/C5 can proceed independently once C1's contract is stable;
C7 can prepare measurements before C6 but cannot claim two-session outcomes.
Expand Down Expand Up @@ -1390,3 +1517,11 @@ The directory is the index. A planning/source-inspection entry does not establis
runtime delivery; live priorities and claims remain in the roadmap and canonical
work. Keep historical entries append-only and refine the current normative plan
here rather than treating a dated audit as a permanent execution queue.

The [source-convergence checkpoint](ledger/controller-executor-unified-contract-v0/2026-10-30-c1-source-convergence.md)
keeps the candidate's detailed chronology outside this normative plan. Integration
preserves main's presentation/journal owners and shares numeric source identity
and edit transport across acceptance, summaries, authoring and Vision. This does
not qualify writer/consumer cutover, installed adoption or the original-quota
accepted-outcome/full-cost comparison. Remaining reader retirement and negative
cost observations keep C1 open.
Loading
Loading