Skip to content

Order Inbox status polls and detail refreshes together - #2959

Open
Chris0Jeky wants to merge 4 commits into
mainfrom
issue-2956/capture-read-ordering
Open

Order Inbox status polls and detail refreshes together#2959
Chris0Jeky wants to merge 4 commits into
mainfrom
issue-2956/capture-read-ordering

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Capture status polls and full-detail refreshes used separate read guards. Either delayed response could overwrite the newer state. They now share per-item read ownership; terminal hydration continues its status read's ownership, and a newer failed or cancelled read keeps older responses obsolete. Existing polling cadence, request deadlines, session/write guards and explicit recovery remain in place.

Validation: both response orders reproduced before repair (3 failing tests, 23 passing). The two store suites pass 117 tests; full frontend passes 6,502 with three existing skips across 420 files. Typecheck, production build, scoped lint, docs/link/governance checks and diff check pass. Four Chromium journeys pass, covering Paper/Legacy timeout recovery and both delayed-response orders through Legacy Refresh Detail; each ordering journey also proves a later fresh terminal poll retires the watch. Browser proof uses real authentication with synthetic capture responses for deterministic timing.

Four files changed: the store, focused regressions, browser regression and docs/product/INBOX_TRIAGE_POLLING.md. No backend behavior changes. Full backend and actual assistive-technology output were not rerun. Exact-head hosted CI is pending. Canonical docs remain with their existing owners; the lane release will carry the sync packet.

Closes #2956

Independent review: 194 polling/store/orchestrator tests pass, no CRITICAL/HIGH. MEDIUM #2960 tracks an uncached full-detail recovery contract gap reproduced at store level; no current ordinary user-visible failure was established. This PR does not claim that gap fixed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-11T00:13:19.885099Z 150a1fc New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copy link
Copy Markdown
Owner Author

Round-1 hold: immediately after publication, the implementation worker identified a possible uncached first-load interaction. A newer status-only poll may supersede the foreground full-detail read without populating a full body, leaving detail selection unresolved. The independent reviewer is examining this with the response-order contract. No merge until the scenario is reproduced/classified and any HIGH finding is repaired in the bounded fix round. Passing existing tests do not establish this case.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1dddbac224

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread frontend/taskdeck-web/src/store/captureStore.ts

Copy link
Copy Markdown
Owner Author

Round-1 independent review: SHIP at 1dddbac; no confirmed CRITICAL/HIGH. Reviewer ran 194 polling/store/orchestrator tests successfully and an in-memory probe for the first-load concern.

The probe confirms a MEDIUM store contract gap, now #2960: a status-only read can supersede an uncached detail read without replacing the full body. No ordinary visible failure path was established: Legacy triage starts with cached detail and retains it, view teardown stops watches, and Paper editing consumes the returned body directly. The earlier investigation hold is resolved by this classification; no fix batch is required under the bounded review policy. The gap is not claimed fixed.

Supersession, terminal hydration, timeout/retry, re-enqueue, logout, scope exit, retirement and fairness held. Browser evidence remains the implementer's four real-auth/synthetic-response journeys; hosted CI is still pending. Review round 1 complete.

Copy link
Copy Markdown
Owner Author

Cleanup: pushed source is preserved at 1dddbac. The clean implementation worktree was removed with plain git worktree remove after exporting ignored logs, browser results and cleanup inventory to C:\Users\Public\codex-shell-home\taskdeck-alpha-evidence\2956. Synthetic databases and disposable build/dependency outputs were removed with it. No owned browser/API listeners remain. The primary checkout retains only the unrelated bash.exe.stackdump. No active file writer; this PR retains its module lease until disposition.

Copy link
Copy Markdown
Owner Author

Current-base qualification at 10a2fdd: merged main7695211a0d31590c19845fd0e4cd559be521384e (#2949). Independent scoped review found no interaction blocker. The inbound 41-file type payload is byte-identical across the four Alpha candidates (SHA2566F80C8B1197DCDB73E63FF728DAF14A65645B1B2D2767DB410E95F57A7D95EBF), and this PR's owned paths are disjoint. Original source review stands; this was a read-only source/diff interaction pass, not new test execution. Fresh exact-head hosted CI remains required and pending.

Copy link
Copy Markdown
Owner Author

Current-base qualification at 2e20119: merged main 93ca1cd. The added payload is exactly #2957's WorkspaceObservationReader.cs and WorkspaceObservationApiTests.cs changes. Independent scoped interaction review confirms the original PR diff is unchanged and found no direct interaction defect. Normalized binary diff SHA-256 matches main's landed payload: 4ABA3D6CE91FDC934ED93418723239C8FAF4C6B86DBA2200349C4BBCFCB6F2DE. No local tests were repeated for these disjoint paths. Fresh exact-head hosted CI remains pending; this is not yet merge qualification.

Copy link
Copy Markdown
Owner Author

Current-base qualification at 150a1fc, based on main 02abedf: all four feature files are byte-identical to the previously reviewed head. Bounded independent interaction review SHIP; hierarchy/card-store refresh, WIP and manifest changes do not enter capture status/detail ownership maps or APIs. #2960 remains tracked.

npx vitest --run src/tests/store/captureStore.spec.ts src/tests/store/captureStore.polling.spec.ts src/tests/store/captureStore.integration.spec.ts src/tests/store/captureStore.demo.spec.ts src/tests/composables/useInboxOrchestrator.spec.ts --maxWorkers=2: 220 passed in five files. Source unchanged; guarded review fingerprint unchanged with successful cleanup. Logs: taskdeck-alpha-evidence/2956/current-base-tests.log. Exact-head hosted CI remains required.

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

Labels

None yet

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

[Inbox] Order nonterminal status polls with foreground detail reads

1 participant