Skip to content

design(handoff): adopt the Python #181 delivery state model and JSON contract #69

Closed

Description

@abruption

Public scoped 0.4.0 completion — 2026-10-18 KST

The user-approved limited scope is released as v0.4.0, npm latest0.4.0. Exact source dde3923efe116f87f38b1639b29b889d2b832e44, workflow39077096491 attempt1 and the reviewed/Actions/staged/public archive SHA256 84adc8b50ef8f03a2c2170e3c36a97b573f28a6bcbeb7dbc965e16c3b37a57c9 were verified. Exact-main CI/CodeQL, registry signature audit, Sigstore identity/source/subject verification and isolated install/removal passed. Protected environment and final npm approvals were completed by the user.

The four dependent PRs were merged in order and the release preparation #151 is merged. Companion skill candidate #37 in session-peer-skill was prepared and its exact profile/full candidate bytes reviewed; runtime publication does not publish that skill or adopt its pin. The published skill0.2.1 remains unchanged. Postpublication documentation record is PR #152, separately awaiting human merge, without changing the immutable publication source.

This closes the approved scoped development/release work, not every possible platform or automatic receipt route. Exact macOS Codex observation and explicit operator-confirmed receipts remain the included scope. Linux observation #130, Windows observation/private storage #131 and automatic voluntary receipt producer/collector #132 remain open follow-ups. No automatic ACK, receiver deduplication, generic exactly-once or broader native-platform qualification is claimed. Earlier candidate checkpoints below are historical.

Merged implementation checkpoint — 2026-10-18 KST

The user-authorized sequence #106 → #107 → #108 → #109 is merged. Exact final main is be6adb26f844e7158362a8fcd6d379fbe8d46864; CLI/release gate39046557287 and CodeQL39046557167 passed, including Windows Node22/24. Every PR merged by normal exact-head squash after its current-head CI and automatic Code/Security reviews; no admin/protection bypass.

The implementation retains the user-approved limited scope: exact qualified macOS Codex observation and explicit operator-confirmed receipts. Linux/Windows observation and automatic receipt bootstrap remain #130–#132. Publication/skill adoption is not implied by merge. Release preparation is PR #151, tracked in #150; human preparation merge and separate exact-source publication approval remain open. The older candidate/roadmap checkpoints below are historical.

Current roadmap — 2026-10-13 KST

This section supersedes older milestone/version/priority statements below. Existing acceptance criteria, evidence limits and historical records remain applicable. Versioned milestones are provisional planning targets, not committed dates or implementation/live-test/merge/release authorization. P1 means a milestone prerequisite/current-release item; P2 a planned extension/research track; P3 later dependent work.


User-approved 0.4.0 scope — 2026-10-11 KST

The user approved finishing all four issues #69/#70/#71/#72 together with narrowly qualified macOS arm64 Codex client-ID observation and explicit operator-confirmed receipts. This changes the planned platform/receipt scope, not the frozen handoff schema or ordinary-mode contract. Candidate implementation and test evidence are in Draft PRs #106 → #107 → #108 → #109; this checklist records reviewed candidate work, not shipped support, merged acceptance or permission to publish.

Linux native observation is tracked in #130, Windows observation/private handoff storage in #131, and a voluntary receipt producer/authenticated collector bootstrap in #132 (Future — Agent integrations). Queue acceptance, turn completion, visible response and queue deletion are never automatic ACK. Native retry remains false. Required unsupported goals refuse before effect; no post-attempt fallback/resubmission. Existing SSH trust, writer and version guards remain.

Candidate acceptance evidence

  • Adopt the exact jointly reviewed state/schema/exit design; frozen document/fixture bytes and hashes are unchanged. Published Python 1.1.0 8ca77cf31254c8287a2593fe484bb30a7dba2727 is the separate current runtime reference.
  • Preserve pre-effect refusal, post-attempt unknown, independent native submission facts and optional absence; injection and turn status do not overwrite consumption/ACK.
  • No automatic resend, receiver-dedup or exactly-once claim; retry authority stays false.
  • Document exact qualified Codex versions/platforms and unsupported Claude/Linux/Windows observation/automatic receipts, with follow-up links.
  • Vendor the unchanged shared contract fixture and pinned published compatibility fixture. Add actual pure-function Python/TS comparison: five tests / 45 cases covering all seven states, invalid schema/ACK/retry/privacy, projections and distinct native profiles. This does not establish full runtime/native interoperability.
  • Update API, PARITY and all four README/guide locales.
  • Human review, sequential merge, exact-main integration checks and separate exact-source release acceptance completed; public v0.4.0 evidence is recorded above.

The pure Python adapter verifies standalone/canonical handoff SHA-256 before import; it invokes no main, ledger, native CLI, collector or network. Static shared vectors and actual pure-validator results are distinguished from live observation/receipt qualification. Frozen design metadata remains historical provenance, not a new runtime-implemented claim.

Original issue plan (historical scope; superseded only by the explicit scoped acceptance above)

TS is pinned to the Python v1.0.2 contract, where posted and queued are submission evidence only and no wait/ACK exists (PARITY.md, "Wait / general ACK / exactly-once consumption"). Python #181 proposes delivery states for v1.1.0, grounded in a read-only observability study: submitted → delivered (injection observed) → acknowledged (correlated reply), with timed_out_unknown when nothing is observed before a deadline.

This issue is the design gate for the 0.4.0 milestone: #70 (correlation IDs), #71 (app-server client) and #72 (Codex observation) depend on it. Claude receipt research is #73.

Scope and completion criteria

  • Adopt the Python v1.1.0 state names, JSON fields and exit semantics exactly once they are fixed in #181; do not invent TS-only names. If Python changes the design, follow it before implementing.
  • Keep definite pre-submission refusal (submitted:false) and post-submission unknown distinct from the new states. delivered and turn completion are not proof that the request was understood or performed.
  • No automatic resend after any ambiguous or timed-out outcome; no exactly-once claim; consumptionConfirmed semantics stay truthful.
  • Per agent, document what is observable (Codex: client message ID and turn status) and what is unsupported (Claude by default).
  • Re-pin the conformance reference to the Python release that ships the contract and vendor the updated compatibility fixture; add cross-runtime cases for each state.
  • Update PARITY.md and the four READMEs/guides.

Out of scope: implementation (tracked separately), live delivery tests without explicit authorization.

Activity

  1. abruption commented on Oct 7, 2026

    @abruption
    OwnerAuthor

    0.4.0 source work is available as a Draft stack:

    All four issues #69/#70/#71/#72 remain in the single 0.4.0 milestone and OPEN. These PRs are partial source implementations, not publication/product acceptance. Automated receipt bootstrap, Windows private storage, original-sender SSH coordination, restart observation, full setup cancellation and real live/platform qualification remain release gates. Native local/SSH retry permission remains false.

    Latest local integrated check at ce4741f: build/types; npm test 259 total / 254 pass / 0 fail / 5 Windows-only skips; package smoke/install-uninstall/reproducible pack; repository checker; release pack/artifact; npm audit 0; diff checks pass. Local package SHA-256 a06956e07b7c7723a51fe59160450cbcec5b7819f3afe671d34451596d7a6f10 is validation only, not a published or exact future main artifact. Independent findings on URI routing, generation/storage binding, filesystem bounds and wait concurrency were corrected with regressions.

    Review order is #106 -> #107 -> #108 -> #109. Main retarget/rebase and exact-head CodeQL/CI are required before a future merge; stacked PR checks are not CodeQL completion. No merge, npm/stage/tag/fleet/protection changes performed.

  2. abruption commented on Oct 11, 2026

    @abruption
    OwnerAuthor

    0.4.0 progress — 2026-10-11 KST

    Draft PR #106 updated at d62e813c8146e9832659654a850734fc986fd3d7, integrating published 0.3.3 main without rewriting the previously reviewed Cloud fixes.

    Record the published Python 1.1.0 contract checkpoint without replacing the jointly frozen document, fixture or ordinary Python 1.0.2 oracle. The published document is byte-identical; two negative control-character vectors differ. Added a pin-separation regression.

    Local npm test: 189/194 passed, 0 failed, 5 Windows-only skipped; build/types, package lifecycle/install/uninstall, repository check, release pack/artifact, audit (0) and diff checks passed. Exact-head CI/CodeQL is now 12/12 SUCCESS, without reruns (CLI, CodeQL); fixtures are not live delivery/ACK or new native/platform qualification.

    Remaining: Cross-runtime execution and any later runtime-reference repin remain unverified. Design freeze is not runtime acceptance.

    All four issues stay in 0.4.0 and remain open. The frozen handoff design controls effect/evidence semantics: required unsupported capability refuses before effect; best-effort legacy fallback is permissible only before any app-server submission may have happened. A bare correlated reply is not authenticated machine ACK. Status/wait/recovery never resubmit. This record does not approve merge/release/publication or silently repin the historical oracle.

  3. abruption commented on Oct 11, 2026

    @abruption
    OwnerAuthor

    Additional 0.4.0 verification checkpoint — 2026-10-11 KST

    The four existing Draft PRs were updated without splitting the milestone or creating replacement PRs:

    Issue PR Exact current head Exact-head checks
    #69 #106 a9e5b3b 12/12 SUCCESS
    #70 #107 16cbd25 12/12 SUCCESS
    #71 #108 1eba3b5 12/12 SUCCESS
    #72 #109 e83fcff 12/12 SUCCESS

    Final #109 CLI CI / CodeQL. No rerun or protection bypass; no current-head Codex review is claimed or manually requested. CodeQL alert #10 in a newly added watchdog test was fixed by separating fixed executable fixture code from structured path data; final scan reports no new alerts and zero open branch alerts.

    Additional evidence actually obtained

    The user explicitly authorized separate test-only Codex/Claude sessions and identification messages. No existing working session received a test message.

    • macOS arm64 / Codex0.162.1: one native queue attempt per fresh thread, exact client-ID/original-thread/generation injection observation, positively linked turn, actual independent delivered wait. On another fresh thread, the operator verified a correlated voluntary response and explicitly confirmed before any new wait; ACK assurance is operator_confirmed, then acknowledged wait/status passed. This does not qualify an automated receipt collector/model identity authentication. A different harness order correctly refused receipt_order_unprovable; no resend.
    • Claude Code2.1.296 / Opus5.5: actual correlated send and best-effort request-ack posted once each. Required acknowledged wait refused before effect. Plain responses remain neither machine ACK nor native injection observation. Test terminal/PID/registry and project/ledger temporary cleanup confirmed.
    • Standalone resumed observation persists/reuses the original exact version/source/platform and original home/thread/generation. It makes no queue call; concurrent waits retain independent operation IDs/deadlines. Destination-side SSH preparation and final send use one remaining budget per destination, no deadline reset; partial/no-EOF input and owned-process watchdog cleanup have real-handler/fake-SSH regressions.
    • Integrated local npm test (build/types included) passed 337/332/0 fail/5 Windows-only skips with exact published Python1.1.0 archive; final test-only watchdog correction passed11/11 plus types/repository/diff. Package smoke, reproducible package, isolated install/uninstall, fresh exact-head pack/artifact and audit0 pass. Earlier failed timeout/packaging attempts are retained accurately in VALIDATION/PR, not counted as success.
    • The frozen design document/fixture hashes remain 46a953010c49214bd8f969412f26713384fbe09a0ba78ebf0fef75da40d0d889 / 963b94e78f510c2535e405813558275d512a5bfe6bbd99ffdf0994b4d2e6e441. Ordinary list/discovery oracle is published Python1.1.0, 8ca77cf31254c8287a2593fe484bb30a7dba2727; this is not full cross-runtime handoff qualification or an edit to immutable public npm0.3.3.

    Remaining gates / limits

    Actual quintet Windows10x64/Node24.16 fixture run remains 266 total /155 pass /2 fail /109 skip: one C# fake-SSH child .cmd --version AccessDenied plus its parent. Twelve minimal controls passed, but the exact host cause is unverified. This physical gate is not erased by green CI. No permissions/policies/services/guards changed; no Windows native agent/queue/ACK invoked, and remote marked diagnostic directory was removed.

    Automated receipt producer/collector bootstrap, original-sender SSH collector, Windows private ledger/native observation, Linux native observation and wider version/platform qualification remain unsupported/unverified. Required unsupported goals refuse before effect. POSIX SSH fixtures do not qualify an actual remote native agent. All owned live test terminals closed; native Codex test records retained, existing native records preserved.

    The milestone/issues remain OPEN and PRs remain Draft for human review and acceptance of the remaining supported-scope/implementation gates. Review/integration order remains #106 → #107 → #108 → #109, with exact-head checks after main changes. No merge, version bump, tag, staging, publication, operations change or closure was performed.

  4. abruption commented on Oct 11, 2026

    @abruption
    OwnerAuthor

    User-authorized additional verification — 2026-10-11 KST

    PR #109 exact head e9e4936466bae1ff64557f9d98fed3e0c04db55f records test-fixture fixes and VALIDATION evidence. No runtime/support relaxation or publication; #69/#70/#71/#72 remain together in 0.4.0, all four PRs Draft.

    • Physical Windows alternative: C# → Node → the unchanged PowerShell 5 encoded command avoids the observed C# child-launch failure. Full test:windows: 295 total /165 pass /0 fail /130 skip. Final exact-prefix guarded contract9/9, launcher controls3/3 and unsupported-platform guards3/3 pass. Underlying AccessDenied cause is unverified; production policies/ACLs/config/platform guards unchanged. No actual Windows native queue/observer qualification.
    • KR Linux arm64 /Codex0.162.1: existing explicitly authorized live session, exactly one actual SSH send, queued/submitted=true/queueId retained/retry=false. Required delivered wait refused before effect; best-effort observation/automatic ACK unsupported. No voluntary receipt received yet, no transcript polling/resend.
    • US Linux arm64 /Codex0.159.2: existing inactive session refused without queue/wake/resume/inactive opt-in. Fresh owned read-only TUI received one SSH test send and visibly produced the requested marker. Explicit original-tuple operator confirmation then acknowledged(operator_confirmed); status and acknowledged wait satisfied with zero new submissions. This is not automatic token receipt authentication or native client-ID injection observation.
    • Remote tests used runtime checkpoint e83fcff unchanged by subsequent test/docs commits. Exact uploaded development copies, not public npm artifact. All marked remote prefixes removed and absence verified; owned US TUI closed, inspectWriter inactive/absent; native history retained.
    • Latest macOS Node24 full suite337/332/0/5, focused delivery16/16, build/types/repository/link/diff/package/reproducible install-uninstall/pack-artifact checks pass; npm audit0. Unpublished candidate SHA256147791832dedc166f78fcf1f8f5a2d4d78eb181b9c85782ef0511f6321062201.
    • Prior CLI38110140277 failed one macOSNode22 fixture (owner_changed before intended persistence failure), releasegate failed. The follow-up removes four fake-tool Node startups from the bounded owner probe while preserving owner evidence, all assertions and production800ms/250ms guards; failure remains recorded. Current exact-head CI: 12/12 SUCCESS, attempt1; CLI38110540450, CodeQL38110538942, all bound to e9e4936. Zero open CodeQL branch alerts.

    Remaining capabilities are explicitly unsupported/unqualified: Linux/Windows native observation, automatic receipt/bootstrap and original-sender SSH collector. Ordinary queues and manual confirmations do not qualify them. No automatic retry/dedup/exactly-once claim. Human review/merge remains required; issues/milestone are not closed by this evidence. Dependency review order #106 → #107 → #108 → #109, rechecking the integrated current heads after any main update.

  5. abruption commented on Oct 11, 2026

    @abruption
    OwnerAuthor

    Scoped 0.4.0 acceptance checkpoint — 2026-10-11 KST

    The user-approved limited scope is recorded in #69/#70/#71/#72 and milestone0.4.0: qualified macOS arm64 Codex client-ID observation plus explicit operator-confirmed receipts. All four stay together. Linux #130, Windows #131 and voluntary authenticated receipt producer/collector #132 are Future extensions. Required unsupported goals still refuse before effect; no ACK inferred from replies/turns/queue deletion and no post-attempt resend.

    Integrated Draft PR #109 exact head d830ccaa1a459bfec0f3c67e2b0e682d99bc7734 adds test/docs only: actual pinned published Python1.1.0 pure-validator comparisons (5 tests/45 cases, all7states), wrong-ID/epoch/generation/private-input ACK negatives (core/CLI55/55), destination Codex fake-SSH single-submission regressions (SSH14/14). No native/runtime full-parity or new platform qualification is implied.

    npm test includes build/types: 347 total / 342 pass / 0 fail / 5 Windows-only skips on macOS arm64/Node24.16. Package/install-uninstall/repository/link/diff/audit checks passed; exact artifact has71 workspace-matching files, SHA-256 4f8366409e3f2f8a064ab52d1150fa7da06f239808b96835afbba664c8746818 (unpublished development bytes).

    Exact-head 12/12 checks PASS, attempt1: CLI38125288290, CodeQL38125286322, zero open CodeQL branch alerts. No current-head independent Codex review is claimed; historical failures/evidence remain in PR/VALIDATION.

    Remaining gates: companion skill guidance candidate session-peer-skill #31, human PR review/merge #106→#107→#108→#109 with current-main integration checks, and separate release preparation/approval. Named skill session was inactive at dry-run, so no message was queued or wake/resume attempted. Issues/milestone/Drafts remain open; no merge/tag/release/publication/operations change.

  6. added
    priority:P1Milestone prerequisite or current-release work; planning priority, not security severity.
    on Oct 13, 2026
  7. abruption commented on Oct 17, 2026

    @abruption
    OwnerAuthor

    Completed within the user-approved scoped v0.4.0 release. Public source/artifact/signature verification and explicit limits are recorded at the top of this issue. Follow-ups #130–#132 remain open.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:P1Milestone prerequisite or current-release work; planning priority, not security severity.

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions