Skip to content

Keep steward history inspection outside input locks - #8305

Open
loopx-agent wants to merge 1 commit into
mainfrom
codex/steward-nonblocking-inspection-20261108
Open

loopx-agent wants to merge 1 commit into
mainfrom
codex/steward-nonblocking-inspection-20261108

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Goal and delivered outcome

When a steward checks Turn history or report recovery, its read can hold the same locks that admit new conversation input. A slow read can leave a user waiting before their message even enters the queue. This change performs both read-only inspections outside those locks. It rejects a binding change before using the result, and still checks authority, queue state, and request identity under the existing admission fence when accepting a new Turn.

Author declaration

  • Written by Codex (OpenAI).
  • Specification basis: the reproduced same-session contention described above. Target: main.
Criterion Disposition Evidence
New input can enter the original queue during initial inspection and report recovery Implemented Real StewardTurnHost.submit and same-session queue admission, with history deliberately paused
Queued input retains priority; a binding change during inspection is rejected Implemented File and SQLite cases verify no new native worker starts and an existing failed report is retained

Scope and continuation

This is a transport fix for the read-only inspection. It leaves the final acceptance fence, report scheduling, and delivery behavior in their current owners. Installed latency and production delivery need separate verification after adoption. UI impact: none. Shared-authority fixture impact: none.

Validation

Tested revision: 71396bca5f0f999edd5a448b220091cd73e5e31d. Run state: finished. Input classes: synthetic, public fixture.

Check Result Evidence
Regression and real local entrypoint Passed 30 focused steward tests. The four new cases time out admitting ordinary input on the unchanged implementation and pass with the fix, across File and SQLite.
Static and premerge Passed Ruff, diff hygiene, and standard diff-selected premerge (six direct checks and two catalog checks).
Broader regression comparison Failed on both A wider exploratory run on the same patch before rebase completed 69 cases before stopping: 57 passed, 12 failed. All 12 failing test IDs reproduced on the unmodified target base; the remainder of that wider run was not completed.
Hosted CI and installed acceptance Pending Review and CI apply to this exact head. No live service was updated for the test.

Only the runtime file and its regression test changed. The commit includes a DCO sign-off and contains no private evidence or generated artifacts.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant