Skip to content

Order Inbox status polls and detail refreshes together - #2959

Merged
Chris0Jeky merged 4 commits into
mainfrom
issue-2956/capture-read-ordering
Sep 11, 2026
Merged

Chris0Jeky merged 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.

@Chris0Jeky
Chris0Jeky merged commit b58c1da into main Sep 11, 2026
36 checks passed
@Chris0Jeky
Chris0Jeky deleted the issue-2956/capture-read-ordering branch September 11, 2026 16:48
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Inbox] Order nonterminal status polls with foreground detail reads

1 participant