Skip to content

feat(replies): add correlation IDs for explicit acknowledgements #70

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

  • Opt-in generated fresh UUID or retained prepared caller ID; validate original ledger epoch, canonical destination/home/thread/generation and immutable intent before at most one effect. Unknown/reused/conflicting IDs do not grant resend authority.
  • Treat correlation/private receipt input as inert structured data. Wrong ID/epoch/generation, duplicate keys, extra fields, malformed or over-limit frames cannot acknowledge or mutate retained evidence. Raw authority is not exposed in ordinary output/argv.
  • No transcript/body scanning, default waiting or ACK inference. The 0.4.0 portable path is deliberate operator confirmation through private input with assurance=operator_confirmed; automated token-possession collector/producer is deferred to feat(handoff): add explicit receipt producer and authenticated collector bootstrap #132.
  • Fixtures cover no receipt, delayed/late/duplicate receipt, wrong correlation/epoch/generation and restart/order uncertainty. New core/CLI negatives assert byte-identical ledger preservation; positive/duplicate confirmation causes no native queue/injection claim. Focused core/CLI 55/55 pass.
  • Update API, PARITY and all README/guide locales with the limited candidate scope.
  • Companion TS skill guidance candidate prepared in session-peer-skill Draft #37, exact b8ff909ffc5fe1e5b22c66a5c302be8332a76038. Complete-file fixture/profile review is included in release preparation chore(release): prepare 0.4.0 scoped delivery observation #151. This is not a published skill, installation pin or final whole-byte publication approval; current public skill0.2.1 remains unchanged.
  • Human review, sequential merge, exact-main integration checks and separate exact-source release acceptance completed; public v0.4.0 evidence is recorded above.

Ordinary Reply-To is not receipt authority. Manual attestation is neither agent/model authentication nor proof that a request was performed. Required automated ACK waiting remains unsupported until its authentic producer/collector route is separately qualified.

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

Python #181 identifies an explicit correlated reply as the portable, privacy-preserving acknowledgement path for both Claude and Codex (study). TS already emits structured Reply-To URIs but has no correlation identifier, so a caller cannot match a reply to the request that caused it.

Depends on #69 for field names. Builds on the sender/return-route work in #21.

Scope and completion criteria

  • Generate an opt-in correlation ID (or accept a caller-supplied one after validation) and carry it in the envelope and JSON result using the Python v1.1.0 field names.
  • Parse and validate correlation IDs in received envelopes as inert data; malformed, duplicate or mismatched IDs never authorize anything.
  • The CLI does not poll transcripts or wait by default; the acknowledged state is reported only from an explicit correlated reply, never inferred from posted/queued.
  • Tests: no reply, delayed reply, duplicate reply, wrong correlation ID, reply after target restart (fixtures only).
  • Update PARITY.md, READMEs/guides and the TS skill guidance.

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 #107 updated at df90a2cf9578bd56965a8ce7e44ef0058cbab670, integrating published 0.3.3 main without rewriting the previously reviewed Cloud fixes.

    Classify each concurrent receipt/confirmation wait against its own cutoff, preserve immutable terminal waits, and reject receipt ordering when an older pending wait has an unprovable restarted clock. Validate archived waits independently of the latest operation actions. Align the unsolicited-SSH-evidence fixture with the current exact-version gate, and feed stdin only to the fixture command that actually consumes it.

    Local npm test: 236/241 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: Automated receipt producer/collector bootstrap, generation-safe native ACK qualification, Windows private ACL storage and original-sender SSH coordination remain unsupported.

    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. added
    priority:P1Milestone prerequisite or current-release work; planning priority, not security severity.
    on Oct 13, 2026
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