Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 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
856faed
Merge remote-tracking branch 'origin/main' into codex/c1-initial-read…
loopx-agent Nov 3, 2026
b8c2bf1
refactor(turn): consume complete sources in managed previews
loopx-agent Nov 4, 2026
c3c4703
docs(c1): record caller retirement and original quota costs
loopx-agent Nov 4, 2026
3140929
Merge current main into complete-source caller migration
loopx-agent Nov 4, 2026
1d3fc02
fix(quota): retain typed projection casts after integration
loopx-agent Nov 4, 2026
86081b1
Merge current main before initial-reader transport work
loopx-agent Nov 4, 2026
a6c2550
Reuse prepared current-context addresses for opaque first reads
loopx-agent Nov 4, 2026
204fabd
Refuse default-route fixtures before writes without runtime isolation
loopx-agent Nov 4, 2026
b96d512
Record prepared-reader full-path costs and qualification limits
loopx-agent Nov 4, 2026
cfadd38
Merge remote-tracking branch 'origin/main' into codex/c1-initial-read…
loopx-agent Nov 4, 2026
898aaa9
Merge remote-tracking branch 'origin/main' into codex/c1-initial-read…
loopx-agent Nov 4, 2026
2c6d86f
Adopt the existing combined settlement owner for native C1 callers
loopx-agent Nov 4, 2026
5818e37
Record owned-settlement comparisons without qualifying C1 net benefit
loopx-agent Nov 4, 2026
5aa46dc
Merge remote-tracking branch 'origin/main' into codex/c1-initial-read…
loopx-agent Nov 4, 2026
a175e91
Qualify final-head byte cohorts and preserve incomplete cost coverage
loopx-agent Nov 4, 2026
11d7aba
perf(context): prepare native navigation with its original capture
loopx-agent Nov 4, 2026
3917af2
docs(context): qualify native capture IO and preserve net-cost limits
loopx-agent Nov 4, 2026
189d13d
test(context): isolate small-page cursors from install-prefix metadata
loopx-agent Nov 4, 2026
62c32bf
perf(runtime): reuse exact Todo lenses within one request
loopx-agent Nov 4, 2026
cb1ac8c
test(quota): consume current guided settlement contracts
loopx-agent Nov 4, 2026
9380173
docs(context): qualify request-local Todo transport savings
loopx-agent Nov 4, 2026
4ef4287
perf(cli): defer completed settlement diagnostics on replay
loopx-agent Nov 4, 2026
75c0534
docs(context): retain warm regressions and snapshot read costs
loopx-agent Nov 4, 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
189 changes: 188 additions & 1 deletion docs/architecture/rfcs/controller-executor-unified-contract-v0.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Numeric integrity for complete contracts and Host transport

中文镜像:[同名检查点](2026-10-29-complete-numeric-integrity.zh-CN.md)。

This is proposed C1 integration in [#7430](https://github.com/loopx-project/loopx/pull/7430),
not a mainline or installed cutover. The comparison starts at
`4173cc2ee7ef94de00ca777ff8600455c080c29f`, after integrating main
`33d9ecd9fd29bce4986da6c9e9a6b758a24f91b3` and the preceding source-comparison ledger. Numeric binding is
implemented at `974cd09ef7cb12832911ee58880aaf25e86fb2b2`; the final runtime
`e18d46db51c58ee17c770d7bba915f0133cf9f78` also retires the unused source echo.

## One source identity through actual consumers

The preceding [packaged comparison](2026-10-29-packaged-source-comparison.md)
showed that a complete contract accepted `1.0 → 1` while its original capture-byte
check refused the changed file. The new experimental binding explicitly declares
`hash_codec=context_source_numbers_v1`. Its source and content commitments use the
existing TypeScript source identity, including sparse producer numeric encodings.
These distinguish integer/float values, negative zero and large integers that a
JavaScript parse can otherwise merge. Exact byte layout and alternative spellings
of the same producer value remain the separate capture-byte boundary.

| Consumer / owner | Convergence |
| --- | --- |
| `diagnostic_projection.ts::contextSourceIdentity` | Track retained or relocated values; removed carriers leave no numeric tokens in the projected identity. Existing callers without metadata retain their canonical identity. |
| `turn_envelope.ts` composition and complete validation | One numeric-aware binding, reused by replan reads, capture binding, Host checks and driver lineage. The complete path no longer recomputes a normalized whole-decision hash at each seam. |
| Python Turn transport | Derive sparse numeric encodings from original values and apply the existing source edits. No second digest, selection or recovery rule. |
| `host_candidate.py::complete_host_input` | Consume the existing compact `host_context` check. Delete the unused `validate_complete` source-echo operation; retain original model-source values. |

Missing/unsupported codecs or missing numeric transport reject before dependent
work. Older experimental complete bindings need their pinned reader; raw captures
are not rewritten. Historical v0 hashes, Turn keys and receipt decoding retain
their existing behavior. The binding adds integrity, not execution authority or a
new model-facing view.

## Qualification and remaining failures

Five numeric mutation cases fail on the unchanged baseline and pass after repair
across seven complete consumers. Additional tests cover unsupported codecs,
missing numeric transport, actual File/SQLite replan-file refusal/restoration,
malformed references, original-capture recovery and once-only settlement.
Capture rejection retains the original-observation diagnostic and error code.
The unified failure writer preserves the collection error without attempting a
legacy runtime renderer or manufacturing a complete contract.

The affected Python ladder passes 457 cases at `974cd09ef`. On the final runtime,
the retirement ladder passes 220 cases; one new assertion initially reversed the
existing unsupported-operation message wording, and its corrected case passes
separately. The final TypeScript ladder passes 149 cases. Touched-file typing
passes; a broader eight-file check still has 27 inherited errors versus 32 on the
baseline, with no new errors. This is not full typing qualification. The initial
442-pass/13-failure integration run is retained: it exposed capture diagnostics,
old fixture hash arguments and an obsolete failure-format assumption. The
corrections retain the original semantic refusal assertions.

After integrating main `3b4641c4fc0ec314d347f74b05880bb516012049`, product
sources remain identical to the final runtime above. Native file-manifest,
selection and compaction/recovery tests pass 198 cases; 46 native-binary opt-in
cases remain skipped. The external scheduler/worker ladder passes 183 cases.
Ark Host passes 39 local protocol fixtures with `arkruntime` 0.8.0 and mock
transport in a private dependency target. Resolving the full optional SDK profile
was stopped after its service-dependency expansion; this selected fixture run
does not qualify that installation profile or a live provider. MemT Host fixtures
cannot collect because tokenizer/runtime dependencies are unavailable. Neither
optional live provider nor model behavior is qualified.

Both isolated Python 3.14 wheels contain 1,860 product files matching their pinned
source, with generated frontend assets checked separately. The same synthetic
six-outcome/24-requirement workload runs through real File and SQLite CLI, native
hooks, compaction, corruption recovery, early-spend refusal and single settlement.
All 21 existing source/recovery predicates pass in every arm. The baseline still
accepts the numeric-only semantic mutation; the final runtime refuses it. Actual
emitted warm files reconstruct exactly; missing baselines and damaged deltas
recover the same full source. No live Goal, installed host or model is a fixture.

## Costs and next boundary

| Packaged observation | File: baseline → repair | SQLite: baseline → repair |
| --- | --- | --- |
| Cold saved presentation | 68,407 → 68,602 bytes | 68,515 → 68,706 bytes |
| Actual warm delta file | 3,755 → 3,775 bytes | 3,763 → 3,783 bytes |
| Complete observer CLI stdout | 494,448 → 495,559 bytes | 495,234 → 496,329 bytes |

Every arm makes 38 observer CLI calls plus one actual-delta read. Nine in-process
codec operations and one standalone integrity control are additional qualification
work, not a mandatory model reading policy. Package/fixture path-length differences
are included in these byte totals; the growth is not attributable solely to the
codec field. This C1-before/C1-after cohort does not replace the original-quota
comparison or the earlier frozen **25,862 > 13,000** failure.

For the standalone Host consumer, the same 68,227-byte synthetic source yields
one RPC in both versions. Request-parameter JSON grows 108,061 → 108,150 bytes;
result JSON shrinks 68,504 → 207 bytes. Original task, facts and constraints remain
exact; the new contract binding itself adds 41 bytes. Both installed wheels
reproduce this result. These are argument/result JSON sizes, excluding protocol
framing, composition/setup, model input processing, timing, memory and full Turn
cost. Deleting an unused echo does not establish a positive whole-path result.

Continue within the original C1 owner on remaining consumer/writer cutover,
historical-reader exit and comparable accepted outcomes with complete costs.
Keep existing independent source-fidelity PRs and their owners; this checkpoint
does not promote defaults, launch an experiment or close C1.
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# 完整契约的数值完整性与 Host 运输

English mirror: [the same checkpoint](2026-10-29-complete-numeric-integrity.md).

这是 [#7430](https://github.com/loopx-project/loopx/pull/7430) 中提议的 C1 集成,
尚未切换 mainline 或安装入口。对照基线为
`4173cc2ee7ef94de00ca777ff8600455c080c29f`,已集成 main `33d9ecd9fd29bce4986da6c9e9a6b758a24f91b3` 和前一份
来源对照 ledger。数值 binding 实现在 `974cd09ef7cb12832911ee58880aaf25e86fb2b2`;
最终 runtime `e18d46db51c58ee17c770d7bba915f0133cf9f78` 同时退役无用的来源 echo。

## 同一来源身份贯穿实际消费者

前一份[打包对照](2026-10-29-packaged-source-comparison.zh-CN.md) 发现:完整契约接受
`1.0 → 1`,原始 capture 字节校验却拒绝变更文件。新实验 binding 显式声明
`hash_codec=context_source_numbers_v1`,来源与内容承诺复用既有 TypeScript 来源身份,
包含稀疏 producer 数值编码,区分 JavaScript parse 可能合并的整数/浮点、负零及大
整数。精确字节布局及同一 producer 值的其他写法仍由独立 capture 字节边界负责。

| 消费者/owner | 收敛方式 |
| --- | --- |
| `diagnostic_projection.ts::contextSourceIdentity` | 跟随保留/搬移的值;删除的 carrier 不在投影身份中留下数值 token。没有 metadata 的既有 caller 保留原 canonical identity。 |
| `turn_envelope.ts` 组合与完整验证 | 同一数值 binding 供 replan、capture、Host 检查及 driver lineage 复用;完整路径不再在每个接缝重新计算归一化整份 decision hash。 |
| Python Turn 运输 | 从原始值派生稀疏数值编码,并应用既有来源 edits;不新增第二套 digest、选择或恢复规则。 |
| `host_candidate.py::complete_host_input` | 复用紧凑的 `host_context` 检查,删除无调用方的 `validate_complete` 来源 echo operation,保留原模型来源值。 |

缺失/不支持的 codec 或缺少原数值运输信息在依赖工作前拒绝。旧实验完整 binding 须
使用版本固定的 reader,原 capture 不改写。历史 v0 hash、Turn key 与回执 decoder
保留既有行为。该 binding 增加完整性检查,不授予执行权限或新增模型侧视图。

## 验证与剩余失败

五种数值 mutation 在未修改基线上失败,修复后通过七类完整消费者。补充验证覆盖不
支持的 codec、丢失数值运输、真实 File/SQLite replan 文件拒绝/恢复、畸形引用、
原 capture 恢复及一次结算。Capture 拒绝保留原始观察诊断与 error code。统一失败
writer 保留 collection error,不调用旧 runtime renderer 或制造完整契约。

`974cd09ef` 的受影响 Python ladder 457 过。最终 runtime 的退役 ladder 220 过;
一条新增断言最初把既有“不支持 operation”消息的词序写反,纠正后该用例单独通过。
最终 TypeScript ladder 149 过。修改文件的类型检查通过;扩大至八文件仍有 27 个继承
错误,基线为 32 个,没有新增错误,不据此宣称完整类型资格。保留初始 442 过/13 败
集成运行:它暴露 capture 诊断、旧 fixture hash 参数及过期失败格式假设;纠正后仍
保留原语义拒绝断言。

合入 main `3b4641c4fc0ec314d347f74b05880bb516012049` 后,产品源码仍与上述最终
runtime 相同。原生 file-manifest、选择及压缩/恢复测试 198 过,46 条 native binary
opt-in 用例仍跳过;external scheduler/worker ladder 183 过。Ark Host 在私有依赖
目录使用 `arkruntime` 0.8.0 和 mock transport,39 条本地协议 fixture 通过。完整可选
SDK profile 的 service 依赖展开已被限时停止;这组精选 fixture 不证明该安装 profile
或 live provider。MemT Host 缺少 tokenizer/runtime 依赖,无法收集 fixture。两条可选
live provider 及模型行为均未取得资格。

两份隔离 Python 3.14 wheel 各有 1,860 个产品文件与固定源码一致,生成的 frontend
assets 分别校验。同一合成六成果/24 要求负载经真实 File/SQLite CLI、native hook、
压缩、损坏恢复、提前 spend 拒绝及一次结算运行。每组既有 21 条来源/恢复判据均过;
基线仍接受纯数值语义 mutation,最终 runtime 拒绝。实际 warm 文件精确重建,缺失
baseline 或损坏 delta 恢复同一全文;未用 live Goal、已安装 Host 或模型作 fixture。

## 成本与下一边界

| 打包观察 | File:基线 → 修复 | SQLite:基线 → 修复 |
| --- | --- | --- |
| 冷态保存视图 | 68,407 → 68,602 字节 | 68,515 → 68,706 字节 |
| 实际 warm delta 文件 | 3,755 → 3,775 字节 | 3,763 → 3,783 字节 |
| 完整观察器 CLI stdout | 494,448 → 495,559 字节 | 495,234 → 496,329 字节 |

每组观察器 38 次 CLI,另加一次实际 delta 读取。九次进程内 codec operation 和一次
独立完整性 control 属于验证工作,不是模型强制读取策略。总字节包含 package/fixture
路径长度差异,增长不能全部归因于 codec 字段。这是 C1 修复前后对照,不能替代原
quota 对照,也不改变先前冻结的 **25,862 > 13,000** 失败。

独立 Host 消费者使用同一份 68,227 字节合成来源,两版均一次 RPC。Request 参数 JSON
从 108,061 增至 108,150 字节,result JSON 从 68,504 降至 207 字节。原任务、事实及
约束精确保留,新 contract binding 本身增加 41 字节;两份安装至隔离环境的 wheel
均复现。这里计参数/结果 JSON,不含协议 framing、组合/准备、模型输入处理、时延、
内存及完整 Turn 成本;删除无用 echo 不等于完整路径结果正向。

继续沿原 C1 owner 推进剩余 consumer/writer 切换、历史 reader 退出及可比验收成果/
完整成本。保留既有独立来源保真 PR 与负责人;本检查点不提升默认、不启动实验,
也不结清 C1。
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# C1 context source-fidelity checkpoint

中文镜像:[同名检查点](2026-10-29-context-source-fidelity.zh-CN.md)。

C1 integrates main `b201da8bab305d053866aa0d4516b97ba4a4499e` and reuses normal
[PR #7661](https://github.com/loopx-project/loopx/pull/7661), source
`4bb530c0f7b22950ba17300dacdc5a23debedf12`. This is proposed source adoption,
not a merged, installed or model-qualified rollout. The separate journal repair
[#7657](https://github.com/loopx-project/loopx/pull/7657) remains a prerequisite
through its existing owner.

The generic context codec also normalized original numbers in cold delivery and
full recovery. Warm equality could omit a change between `1` and `1.0`, negative
zero, or distinct large integers. Seven of nine independent exact-number cases
fail on the unchanged baseline. Ordinary dictionary equality concealed part of
that failure.

The existing TypeScript codec now compares sparse original-number identity and
returns the existing source-edit format. Python applies those edits to original
values; it does not select sources, diff contexts or decide recovery. The same
source-identity helper serves C1 acceptance sharing and the codec. Full bodies,
primitive/grouped literals and reordered sources retain origin. Recovery rejects
normalized-equivalent damaged deltas against the supplied current capture.
Direct JavaScript callers retain detached results. No native hook, source
selection, authority, admission, settlement or historical digest is changed.

The independent slice passes 76 Python checks, including actual File/SQLite CLI
cold/warm/missing-baseline paths, and 90 TypeScript checks. Another 194 capture,
selection, reader and lifecycle regressions pass; 46 native-binary opt-in cases
remain skipped. Typecheck, Ruff, public scan, semantic advisory and standard local
premerge pass. C1 integration results are pinned on its PR; earlier cohorts stay
at their original revisions. This is reconstruction from the supplied source,
not proof that the old semantic hash distinguishes every numeric source.

Matched synthetic component costs cover five codec RPCs, not a complete model or
Host Turn:

| Body | Request parameter JSON, base → repair | Response result JSON, base → repair |
| --- | --- | --- |
| 8 KiB | 70,855 → 72,040 bytes | 41,277 → 5,183 bytes |
| 64 KiB | 524,616 → 525,801 bytes | 300,569 → 5,183 bytes |

Both larger samples retain a warm delta; model-visible growth is the restored
numeric distinctions. With no body, response metadata grows from 2,400 to 3,560
bytes. Sequential local latency samples move in both directions; memory and full
Host/model/human-attention costs remain unqualified. Request limits, original
quota comparison and the frozen 25,862 > 13,000 failure are unchanged.

Continue with numeric hash identity across all actual consumers and remaining
bridges before writer/caller cutover and historical-reader exit. Reuse this codec
and the journal owner rather than adding caller-specific number patchers. Keep
original-quota single-session accepted outcomes/full cost open; optional two-session
work remains separate.
Loading
Loading