Skip to content

feat(codex): add a shared bounded app-server client #71

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

  • Qualify exact native Codex 0.160.1 and 0.162.1 / Darwin arm64 storage/protocol profiles; unreviewed versions/platforms fail closed. Linux/Windows native qualification remains feat(observation): qualify Linux Codex client-ID delivery observation #130/feat(observation): qualify Windows Codex handoff storage and delivery observation #131, not inherited from Python or a fake peer.
  • Bound RPC framing, message/count budgets, owned process lifetime and cleanup. No trust/config/permission change or direct native state mutation; initial native bootstrap may create its policy-selected files before storage refusal, so zero queue is distinguished from zero filesystem activity.
  • Preserve unique stable writer/storage/home/generation binding; at most one queue attempt and no fallback after possible effect.
  • Public diagnostics/output contain no message body, transcript, secret or raw native stderr. Source SQL may evaluate body-bearing SQLite cells internally; body/error values never cross into JavaScript/ordinary output. This is not a blanket promise of no internal body access.
  • Scripted app-server fixtures and narrowly scoped native evidence are documented separately in PARITY/VALIDATION. Local macOS Codex 0.162.1 client-ID/linked-turn evidence exists; ordinary KR/US queues and Windows harness tests do not qualify another native observer.
  • Ordinary codex queue stays default; documented best-effort fallback is allowed only before any app-server queue attempt. Required unsupported observation refuses before effect.
  • Human review, sequential merge, exact-main integration checks and separate exact-source release acceptance completed; public v0.4.0 evidence is recorded above.

This is not wake, side-session recreation, thread resume, receiver dedup or automatic receipt collection. Existing #27 wake work remains distinct.

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

Codex delivery observation (Python #181, study) and bounded wake (#27) both need the experimental Codex app-server v2 protocol: thread/queue/add|list|delete with a caller-chosen clientUserMessageId, and thread/queue/changed, turn/started, turn/completed, item/completed notifications. TS currently only invokes codex queue.

This issue provides one bounded client that #72 and #27 can reuse.

Scope and completion criteria

  • Independently validate the app-server protocol for explicitly listed Codex versions and platforms; refuse unvalidated versions instead of inheriting Python version claims.
  • Bound process lifetime, message size, request/notification counts and timeouts; clean up owned processes on every path; never change trust settings or write native state directly.
  • Respect writer exclusion and the existing live-writer revalidation; submit at most once per request.
  • Do not log or return message bodies, transcripts or native stderr; expose fixed diagnostics only.
  • Fixture tests with a stub app-server (no live accounts); document supported versions in PARITY.md.
  • Keep the existing codex queue path as the default fallback.

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

    Revalidate the original writer after the awaited durable beforeEffect guard and before a possible queue write. A deadline while that verifier is pending prohibits later writes. Refuse malformed nativeQueueOnce input before version/bootstrap work. Added focused guard-race, late-verifier and zero-bootstrap regressions.

    Local npm test: 271/276 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: The exact native qualification remains Codex 0.160.1 / darwin-arm64. Current installed 0.162.1 is not qualified; no broader platform/version acceptance is claimed.

    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
  4. 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