Add grounded questions and recover interrupted overhaul workflows - #2886
Conversation
# Conflicts: # docs/STATUS.md # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
# Conflicts: # docs/IMPLEMENTATION_MASTERPLAN.md # docs/STATUS.md # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
# Conflicts: # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
# Conflicts: # docs/IMPLEMENTATION_MASTERPLAN.md # docs/STATUS.md # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
# Conflicts: # docs/IMPLEMENTATION_MASTERPLAN.md # docs/STATUS.md # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Bounded independent review: the combined d0e08d5..652ee5d interactions and the final receipt/Review recovery at 7ad8bf1 were reviewed by separate fresh-context Luna passes, with no confirmed HIGH/CRITICAL defect. The subsequent CI-only main merge was independently checked and preserves all existing gates; runtime inputs remain identical. Full local and scoped final verification are recorded in the PR body. No new broad audit or review loop is requested. |
# Conflicts: # docs/IMPLEMENTATION_MASTERPLAN.md # docs/STATUS.md # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
# Conflicts: # autodoc/AGENT_INDEX.md # docs/IMPLEMENTATION_MASTERPLAN.md # docs/STATUS.md # docs/product/WORKSPACE_OVERHAUL_VALIDATION.md
|
Combined interaction review found HIGH: account deletion could leave Board.OwnerId pointing to an inactive user, allowing a late grounded-analysis save after insight erasure. Fixed948751cab requires Users.IsActive in every source read, including the save transaction. Regression performs real account deletion after the final service read while a co-owner retains the board;409 and zero recreated insights. Final30 API/worker tests pass. Bounded independent fix review confirms closure with no remaining HIGH/CRITICAL. Earlier transcription consent HIGH is fixedffd96e04f and independently verified. No broader review loop is being opened. New published head fce97dc includes the verified slices and source scope/docs reconciliation over merged main384d8dfaa. Required CI will qualify this exact head. Full frontend6428pass3skip and10combinedChromium journeys pass; fullbackend9281pass34skip with one unchanged worker-wait failure, which passes in final isolated verification. See the rewritten PR body and validation ledger for precise limits. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fce97dc67b
ℹ️ 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".
| return ObservationSaveOutcome.Saved; | ||
| } | ||
| catch (DbUpdateConcurrencyException) { return ObservationSaveOutcome.SourceChanged; } | ||
| catch (DbUpdateException ex) when (ex.InnerException is Microsoft.Data.Sqlite.SqliteException { SqliteErrorCode: 19 }) { return ObservationSaveOutcome.SourceChanged; } |
There was a problem hiding this comment.
Distinguish concurrent observation writes from source changes
When two tabs or devices analyze the same unchanged card concurrently, both requests can settle Chat quota and stage the same uniquely keyed observation; the losing insert then raises SQLite error 19 here and is reported as SourceChanged. The UI consequently tells the user to preview and retry—even though the source did not change and the sibling request saved a result—potentially consuming quota again. Handle this deduplication race idempotently or return an accurate concurrency outcome.
AGENTS.md reference: backend/AGENTS.md:L22-L24
Useful? React with 👍 / 👎.
|
Confirmed MEDIUM, non-blocking: concurrent explicit analyses can race on the unique question key and the losing save currently reports a source conflict. Each request already made its own user-requested model call; neither request retries automatically, rejected candidates are detached, and the unique key prevents duplicate saved questions. This is an inaccurate recovery message, not stale evidence publication, authority bypass or erased-data recreation. Track a bounded follow-up to return a distinct concurrent-save outcome and direct the user to refresh existing insights before considering another analysis. The current merge gate remains the reviewed HIGH fixes plus exact-head CI; this MEDIUM does not reopen another review/fix cycle. |
|
The previously classified MEDIUM concurrent-observation recovery-message limitation now has a dedicated follow-up, #2894, with a real SQLite regression and truthful-result acceptance scope. No new security, privacy, stale-publication or automatic-retry defect is asserted; the merged implementation and existing bounded review disposition remain unchanged. |
|
Completed overhaul worktree cleanup: comparison-compat, comparisons, contextual, continuation, dependencies, legacy-originals, source-fabric and studio were removed using normal git worktree remove after proving each HEAD is contained in main. No branch was deleted. Each worktree's status/head receipt and test/screenshot artifacts were preserved under C:/Taskdeck-overhaul/evidence/worktree-archive// with SHA-256 manifests. Raw snapshot files were also preserved for the seven bulk-archived worktrees; refreshing stale Git metadata changed no content or staged diff. The original source-pack checkout integration and the active source-context development checkout remain, as do the untouched primary checkout and unrelated issue-1547 worktree. No forced removal was used. |
Adds the remaining reviewed overhaul continuations over the merged source/preview/plan foundation: grounded model questions with fresh evidence at commit, optional quiet reminders, recoverable planning and source drafts, retained recording confirmation, comparison attribution and explicit private-audio transcription. All four experiences share the same data and review-first actions. Automatic transcription is disabled by default; owners inspect the configured destination, consent to a request, review provisional text and confirm an answer separately.
The combined delivery includes #2879 through #2891 and the small storage-contention recovery. Account erasure, private export, source lineage, stale route responses and uncertain receipts have direct checks. Source-pack reconciliation leaves generic worker hosting, all-history representation migration and undefined source-storage restore on their separate platform roadmap. Reminder work-hours/time-zone controls are the next bounded #2808 slice.
Validation at the integrated runtime:
Bounded independent reviews identified and resolved the two HIGH interactions: stale destination consent after configuration refresh, and a grounded analysis persisting after account erasure through a surviving board owner ID. Both narrow fix reviews are clean. The final account-erasure regression performs the actual deletion while another owner retains the board and proves no insight is recreated. Documented MEDIUM speech limits remain: final network-dispatch interval and circuit classification of 429/malformed bodies.
Continues #2808. Exact-head required CI and merge aging remain the delivery gate. No paid/live-provider quality, physical microphone, subjective usefulness, full restore or release acceptance is claimed. Human decisions remain in OUTSTANDING_TASKS.md. The primary checkout and working database are untouched.