Skip to content

1.4.2

Choose a tag to compare

@woosungchoi woosungchoi released this 06 Oct 07:23
· 7 commits to main since this release
6512060

Worker terminal delivery and recovery

  • Publish terminal status, completion time, final event and cursor together in
    the job snapshot before exposing completion to delivery consumers. This fixes
    the terminal-delivery receipt race addressed by
    PR #106.
  • Replay a terminal event from the committed snapshot when its log append was
    interrupted, including a final JSON record without a newline. Preserve event
    ordering, pagination and archive replay without duplicating the final event.
  • Keep raw Codex turn completion from prematurely finishing a worker job. Late
    heartbeat/control callbacks cannot reopen a completed job or move its cursor.
  • Preserve failure evidence during failed admission and orphan recovery. Retain
    the existing one-worker-per-state-directory and no-power-loss-durability limits.

Telegram steering and decisions

  • Default new or unset queue modes to steer; enable CODEX_STEERING by default.
    Existing saved modes and explicit CODEX_STEERING=false remain respected.
  • Add /steer, /queue_mode_steer and a queue-mode button. Safe mode retains an
    explicit Apply to current task action. Restore live replies/activity updates
    with app-server steering, without duplicate streamed text or final delivery.
  • Preserve durable steering receipts, requester/chat/topic validation, duplicate
    protection and explicit holds for uncertain delivery across restarts.
  • Add optional sequential Telegram decision buttons, typed answers and cancellation.
    The per-job MCP tool waits for required answers; independent chats remain concurrent.
    Frontend reconnects retain waiting questions. Interrupted worker decisions require
    explicit recovery and are never silently replayed. See
    Telegram questions.

Operational status

  • Add opt-in /ops snapshots with configurable service metrics, localized labels
    and timestamps, freshness warnings and bounded read-only JSON input. No shell
    execution or provider credentials are required by this command. See
    Operational status.

Upgrade and validation

  • Drain active jobs and final-message delivery before restarting the worker, then
    restart both worker and bot to load steering and terminal-state fixes. A package
    version bump alone does not update an already-running process.
  • Add regression coverage for terminal publication, interrupted writes, archives,
    late callbacks, steering and decision recovery, and operational status inputs.
    Verify each distribution against its own pinned dependencies and CI gates.

Full changelog: v1.4.1...v1.4.2