Repository navigation
docs(handoff): propose shared v0.2 evidence and receipt contract - #261
Conversation
Joint design freeze record — v0.2correlation=STS-040-COMMON-CONTRACT-20261006-A Python-side exact source acceptance: approved_design_only. Joint design freeze: approved for this exact tuple ONLY.
The approval is recorded here without a new source/provenance commit or regeneration. HEAD remains the approved source commit; source diff against that commit is empty; document/fixture hashes were rechecked unchanged. Normative/schema/vector content is therefore unchanged. Any later normative/schema/vector change requires new exact review. The source document's unimplemented/non-frozen-protocol disclaimer and synthetic draft metadata remain historical source bytes; this record freezes the reviewed DESIGN, not an implemented/shipped runtime protocol. Scope: normative design and synthetic fixture only. runtimeImplemented=false. No merge, runtime implementation, receipt authentication/collector/persistence/crash/clock/SSH/platform acceptance, live submission, operational change or publication is approved. Producer/bootstrap, body-free observation, durable fencing and bounded cleanup remain implementation gates. Python runtime baseline remains published 1.0.3 / 0d25255. TS runtime/parity markers unchanged; #181/#69 remain OPEN; TS #69/#70/#71/#72 stay in 0.4.0. CI remains separate: exact-source run 37461834232 completed FAILURE (four optional Control dependency audits plus required release gate); docs/runtime checks succeeded. Existing source-map-js audit finding is neither repaired nor bypassed. Draft status stays; no full-green or merge-ready claim. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Summary
Relates to #181 and abruption/session-peer-ts#69. This is reviewed design v0.2 with exact-tuple joint DESIGN freeze; not implementation, a shipped/frozen runtime protocol, or a release promise.
Type
Checklist
Verified against
Published Python runtime reference: v1.0.3, commit 0d25255. Design base: 817d92a.
Local Python 3.14.8 on the updated integration head:
python3 -m unittest discover -s tests/docs -t . -q: 52 tests passed, including 20 synthetic contract tests.python3 tools/generate_session_peer.py --check: passed.git diff --check: passed.Notes
No merge, publication, runtime implementation, live delivery or operational change is authorized by this proposal. #181 remains open.
The following have exact-source cross-runtime DESIGN acceptance (see the joint freeze record below): generated ID preparation and operator-confirmation interfaces, ledgerEpoch/wait operationId fields, 5-second cleanup reserve within the 1..60-second total budget, lexical JSON integer checks, and intact-history/rollback limitations. Collector/producer validation, private bootstrap/restart continuity and real strict SSH preservation remain future implementation acceptance gates.
Unknown caller UUIDs are not fresh-ID evidence. Retained effect fences are never evicted to regain authority. Local fencing cannot detect unmarked rollback or cloned ledgers and is not receiver dedup/exactly-once delivery. Raw receipt authority is not exposed in sender/collector argv/URI/environment/ordinary JSON/diagnostics or their own raw persistence. Recipient native queues/history/transcripts may retain delegated receipt authority; token possession is not model identity.
The TS 0.4.0 issues remain together; runtime reference remains published v1.0.3 until a release actually implements a reviewed contract. Experimental Side Session/wake and paired-device/Relay support are not added.
Candidate document SHA-256: 46a953010c49214bd8f969412f26713384fbe09a0ba78ebf0fef75da40d0d889.
Shared fixture SHA-256: 963b94e78f510c2535e405813558275d512a5bfe6bbd99ffdf0994b4d2e6e441.
CI follow-up
CI run 37455780583: all four Node Control jobs fail in
npm audit --omit=devon the existingsource-map-jsdependency (GHSA-68fv-2mgg-jv7q), and the required release gate consequently fails. Documentation tests pass. Control source and lockfile are unchanged by this proposal; no dependency upgrade or audit bypass is included. This is a blocking repository CI dependency finding, not evidence that this draft is merge-ready. Handle the dependency remediation separately from the contract review.Exact-commit review amendments
Candidate: 99d8ec3. All seven TS freeze findings are addressed in normative text across four locales and synthetic vectors: authenticated duplicate expiry exception; atomic classified receipt recovery/manual proof-or-refusal; original generation binding and null-generation refusal; recipient-storage secret boundary; concrete missing-context query envelope; precise scoped byte/token bounds; original-request/target/goal-aware opt-in wire guard. The fixture includes 32 semantic expectations and 39 request-aware wire examples. These are schema/static examples, not actual authentication, crash, collector, SSH or live tests.
TS exact-source design approval and Python exact acceptance are now recorded; joint DESIGN freeze applies only to this candidate tuple. The b369cef run 37458387737 also completed with the same four Control audit failures and release-gate failure; docs and runtime jobs passed. The dependency finding is not resolved or bypassed here.
Final profile / wait-exit alignment
The seven prior normative amendments were accepted at design level by TS. Final conditional review findings are addressed here: original-request nativeProfile (Python/TS x Claude/Codex), exact canonical home/context, optional Python-Claude absence and TS target.agent/name:null, existing Codex UUID case rules and optional queueId, strict consumptionConfirmed=false, post-submission unsupported exit 1, pending-wait interrupt/operator stop exit 130 vs stopped status query exit 0. Native snapshots are independently preserved; ACK cannot be promoted from an invalid wire tuple. No fallback or resend after effect. The TS positive-profile source pin is published v0.3.1 only and does not change TS parity/reference markers. Exact TS design approval and Python acceptance are recorded; normative/schema/vector changes require new exact review.
Latest exact-candidate CI: 37461834232 completed with conclusion failure (four optional Control audit jobs plus the required release gate). No all-green claim or merge readiness.
Joint design freeze
Exact acceptance and joint freeze record: source 99d8ec3, the document/fixture hashes above, TS review-record head 63473fb80936b0085e08039997ac39f7158a58dd. No source files or fixture bytes changed when recording approval; no new source commit. This is design-only, runtimeImplemented=false, Draft remains. CI remediation and implementation/platform acceptance gates are not waived.
Current-main integration (2026-10-09)
Head d8f56c1 merges main 10a9cef without rewriting the frozen 99d8ec3 ancestor. Only the translation manifest conflict and canonical document-count assertion required resolution. The authoritative English contract and shared fixture retain the exact jointly approved SHA-256 hashes above, byte for byte. Current main already contains source-map-js 1.2.2; the earlier Control audit failure is historical, not bypassed. New current-head CI is running and must pass before any merge readiness claim. The draft and design-only scope are retained; no merge or publication performed.