Skip to content

fix(board): keep loading owned by pending operations - #3359

Open
Chris0Jeky wants to merge 1 commit into
codex/3306-session-mutationsfrom
codex/3305-loading-owners
Open

Chris0Jeky wants to merge 1 commit into
codex/3306-session-mutationsfrom
codex/3305-loading-owners

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Issue #3305 replaces the shared loading Boolean's multiple writers with a shared set of operation owners. A board-A mutation can now finish while board B is still loading without dismissing B's loading state. Independent list reads and queued column/label mutations retain their own owners; logout clears all owners using the existing session generation. Replacing an explicit detail request releases its old owner even when the transport ignores abort.

Background refreshes, direct child reads and archive/restore keep their existing loading behavior. Existing generation checks, mutation ordering, and request results/errors are preserved. This reduces misleading empty states during board maintenance and keeps review-first proposal behavior intact.

Closes #3305.

Stacked on #3358 at 36b98d2b23e7de9a00cd7e7388e9dff5075d84e4, which depends on #3315. Merge parents first, then retarget and requalify against main. No parent branch should be deleted while it supports a child.

Verification at 4fa39113f0f284cc3d7f552b1edb547a255f8b3c:

  • Deferred overlap regressions reproduced nine failures against the unchanged parent; final focused board suite passes 440 tests.
  • Build/typecheck and lint pass, with 11 existing lint warnings.
  • Smart CI self-tests pass all 608 tests; documentation governance and relative links pass, with three existing masking warnings.
  • Full frontend: npx vitest --run --maxWorkers=2 passes 518 files and 7,437 tests, with three existing skips.
  • Three Chromium flows pass: rapid board switching, rapid back-and-forth navigation, and first-board/card creation.
  • Fresh independent review finds no introduced HIGH/CRITICAL defects. One LOW comment-drift note is declined as nonblocking: reset already clears ownership synchronously; the old explanatory prose does not alter executable behavior. No extra fix cycle is opened.

The source edit moves the unchanged mutation-smoke expression from line 673 to 656. Both the contract and its literal companion test use the new row; columns and the 50-character source expression are unchanged. Because the companion test is under scripts/ci/, ADR-0066 requires maintainer review before merge. Independent review and passing CI do not supply that approval. OUTSTANDING_TASKS J.2 records this gate; its 42 human-action rows remain unchecked.

STATUS documents the behavior. Runtime evidence is in .worktrees/codex-3305-loading-owners/.runtime and will be archived before cleanup.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 22, 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-22T19:34:53.598051Z 4fa3911 PR opened
ℹ️ 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.

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 22, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent initial review at 4fa3911 against parent 36b98d2 found no introduced HIGH/CRITICAL defects. Static inspection covered token-specific/idempotent release, queued column/label ownership, synchronous detail replacement and logout isolation. The reviewer ran no tests; coordinator evidence is separate: 440 focused tests, 7,437 full frontend tests with three existing skips, build/typecheck/lint, 608 Smart CI self-tests, docs checks and three Chromium flows all pass.

One LOW informational note is declined as a merge blocker: boardCrudStore.ts around line 712 retains commentary about the removed list-finally coupling. The executable reset now clears ownership synchronously, and the note has no runtime effect. No additional fix/review cycle is opened for it.

Required hosted CI, parent-first integration and ADR-0066 maintainer review remain merge gates. OUTSTANDING_TASKS J.2 records the control-path coordinate correction; no human approval or acceptance is inferred.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Windows API integration triage: the original run 35774369025 timed out after 45 minutes without an assertion or TRX. A targeted rerun of its failed Windows API job (106937950634) passed at the same head 4fa3911 on 2026-09-22 21:45Z. Ubuntu API integration and the parent/child Windows runs also passed; this is now evidenced runtime variance rather than a demonstrated source regression. No code or timeout policy changed. The stacked PR remains subject to parent #3358 maintainer review and fresh base/CI qualification before any merge.

@Chris0Jeky Chris0Jeky left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Coordinator verification: loading-ownership logic correct; merge needs parent plus the declared maintainer control-path review. Core beginBoardLoading verified: token-set ownership, stale-session finish is a no-op, logout purges tokens, double-finish safe, first settler cannot clear a sibling busy state. Detail handoff acquires before retiring so explicit-to-explicit stays busy while the replaced owner retires even if its transport ignores cancellation. Queued column intents each own loading from submission through settlement. Mechanical adoption across crud/comment/card/label stores is uniform. Mutation-smoke contract move 673 to 656 is self-consistent (expression and 1-based/0-based columns unchanged) and the green smart-ci contract test independently proves the coordinates; the OUTSTANDING_TASKS control-path disclosure matches exactly. Existing specs strengthened, new ownership spec covers overlap/rejection/logout/replacement. Full CI green, mergeable clean into parent. Required path: land #3358 first, then this with the maintainer review its own J-row declares under ADR-0066 (this verification is not that approval).

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

Status: Review

Development

Successfully merging this pull request may close these issues.

1 participant