Skip to content

investigate(codex): receive input before the first turn through the owning App Server #306

Open

Description

@abruption

Problem

Ordinary session-peer refuses a live Codex thread before it has a saved thread record (thread_not_yet_persisted). A recent isolated startup test found the SQLite file already present but the target row absent. This does not establish that the owning App Server cannot accept input.

Investigation

Use a dedicated owned TUI and the same App Server, not a new server pretending to own an existing target. Inspect thread/loaded/list and test thread/queue/add before any user/model turn. If queueing cannot work, separately assess turn/start and its start-versus-steering semantics. Record CLI version, persisted-row state, submission evidence, and actual TUI receipt separately.

Acceptance and safety

  • Preserve home, owner, generation, direct-input and version guards; no database writes or permission bypass.
  • Bound deadlines and owned-process cleanup; never retry or fall back after an uncertain effect.
  • Do not read unrelated transcripts, copy credentials, change global configuration, or resume another writer.
  • Distinguish normal/shared-daemon launch from an opt-in dedicated App Server topology.
  • This is an isolated feasibility experiment, not stable runtime support or release authorization.

Related: #166 (diagnostic already implemented), #245 (ephemeral side sessions), #247 (steering). This issue concerns ordinary fresh sessions and is not a duplicate of those scopes.

Activity

  1. abruption commented on Oct 13, 2026

    @abruption
    OwnerAuthor

    Isolated feasibility result — 2026-10-13

    PASS in a dedicated macOS arm64 Codex 0.162.1 App Server/TUI topology.

    • Before any user prompt, the same server exposed exactly one loaded, idle, non-ephemeral, direct-input-capable thread. A read-only lookup of that exact thread found zero stored thread rows, checked again immediately before submission.
    • One thread/queue/add returned queuedSubmission.
    • The owned TUI displayed the test input and an actual model reply: ACK CODEX-FIRST-INPUT-306-QUEUE.
    • No turn/start, resume, database mutation, fallback, or resend was used. Queue acceptance and observed reply are separate evidence.

    This proves a feasible first-input transport; it does not add support to the released session-peer send. The server inherited normal authentication without copying credentials. No global settings or existing daemon were changed.

    Remaining gates

    Safe discovery and generation/owner binding for ordinary daemon, Orca and --no-daemon configurations; version/capability checks; bounded body-free observation; Linux/Windows/SSH validation. A post-reply metadata inspection stopped at the exclusive single-loaded-thread assertion; the changed inventory was not investigated, and no post-reply database-count claim is made.

    The dedicated server/TUI exited cleanly and their sockets were removed. The test conversation remains in normal native history. Sanitized harness and results are retained in the isolated local experiment worktree. Syntax checks passed; no runtime modification, PR, merge, release or deployment was performed.

  2. added this to the v1.2.0 milestone on Oct 13, 2026
  3. added
    priority:P2Planned reliability, acceptance or feature work; priority does not authorize implementation.
    on Oct 13, 2026
  4. modified the milestones: v1.2.0, Long-term on Oct 30, 2026
  5. abruption commented on Oct 30, 2026

    @abruption
    OwnerAuthor

    Milestone housekeeping — 2026-10-30: moved remaining acceptance from the already published v1.2.0 milestone to Long-term, following the owner's research/backlog organization request. Shipped implementation and merged evidence remain unchanged. This issue stays OPEN; existing priority and safety/validation gates are preserved. No next release date, implementation completion, new live-test permission or operational change is implied.

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

    priority:P2Planned reliability, acceptance or feature work; priority does not authorize implementation.

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions