Preserve reminder drafts and clarify grounded analysis recovery - #2895
Conversation
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. |
|
Independent review evidence: one fresh-context bounded Luna review of the complete recovery diff and one final narrow pass over the confirmed-400 handling and unchanged-tree main integration both returned CLEAN. The review covered draft/account generations, uncertain-save behavior, SQLite competing insert/update outcomes, winning evidence, one-time usage settlement, the exact previewed model text, and no automatic resend. No HIGH/CRITICAL defect remains from that review. Final local checks are recorded in the PR body and validation ledger; hosted exact-head checks remain the merge gate. |
|
Integration cleanup receipt: verified branch747e9c4e8 is contained in main; archived20copiedresources, all overhaulartifacts/backups and testresults under evidence/worktree-archive/integration with SHA256manifest. Reverified20sourcefilehashes before deleting only the duplicate integration/filesAndResources/taskdeck-overhaul directory. Normal git worktree remove deleted the checkout but reported permission denied on its administrative directory. Live git worktree list no longer contained integration; dry-run prune identified only its missing-gitdir metadata. Ran ordinary git worktree prune to finish metadata cleanup. No forced removal, primary resource deletion, branch deletion or data loss. Primary sourcepack remains untouched. |
|
Hosted review reconciliation: the automatic Codex review summary reports Completed for f39cc6c, and the current review/inline-comment endpoints contain no findings. This is an informational completion notice; no fix commit is needed. The independent bounded review evidence remains in comment5616052325. Required CI is still running its Windows API integration test step; no merge is attempted before that gate completes. |
|
New-base revalidation: required run34458797270 passed in full at f39cc6c, but PR2869 landed main2f0ec0324 before merge. Merge commit d25edf2 integrates that base without changes under backend/, frontend/ or .github/workflows. Only five auxiliary continuation admission/ledger files were added. The 343 continuation tests,684-file documentation-link check, governance and diff checks pass. A bounded fresh-context review of this base delta is CLEAN and confirms the prior recovery review remains valid. No product logic changed and the previous full local/hosted evidence remains applicable to the product; the repository-required exact-head workflow is rerunning before merge. |
|
Second base revalidation: required run34462673996 passed completely at d25edf2. Beforemerge, unrelated PR2871 landed main2d50256be. Merge dc83330 adds seven portable CI tooling/docs/test files without touching application code or workflow definitions. All350continuation tests pass; bounded new-base review is CLEAN and confirms the existing product review remains valid. Documentation links686/0broken, governance and diff checks pass. Final head eb955d4 also records the two successful full hosted runs in the product delivery notes; no product logic changed. The current exact-head required gate remains the final merge condition. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb955d4ae2
ℹ️ 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".
| if (attention.busy || !attention.settings) return | ||
| savingEnablement = true | ||
| try { await attention.save(enabled) } | ||
| finally { savingEnablement = false } |
There was a problem hiding this comment.
Prevent stale saves from clearing a newer draft guard
If account A's enable save remains pending, the session changes, and account B loads settings and starts another enable save, account A's eventual finally clears the component-wide savingEnablement flag while B's request is still active. When B's response updates attention.settings, the synchronous watcher then rehydrates the form from persisted settings and discards B's unsaved reminder-hours draft. Scope the guard with a request token or counter so an older completion cannot clear a newer request's protection.
Useful? React with 👍 / 👎.
|
Triage of3978276081: confirmed MEDIUM/P2 component-guard race. The store still rejects stale account receipts, but an old finally can clear a newer enable-save guard and discard unsaved hours fields. No saved-state or private-account authority loss is identified. Tracked separately in #2896 for a bounded request-ownership fix and regression; this is nonblocking for the current qualified delivery under the repository's review rule. No fix commit is added to2895. |
|
Current base qualification: both pending overhaul PRs now include main f667ae1 (#2878). This preserves the full Linux and Windows API suites while allowing Linux E2E to run alongside Windows qualification. All 354 continuation and required-E2E dependency tests pass. Independent bounded review is CLEAN: both platforms retain their prerequisites and full commands; Windows remains unconditional and required; no application files or recovery behavior changed. Documentation links (686 files), governance and diff checks pass. Parent #2895 is at ba6dcf5; child #2897 is at 0115119. The workflow and CI-tooling content is identical between them. The child's previously reviewed request-identity fix is unchanged from its passing 6,438-test frontend qualification. The older CI runs were superseded by these pushes, not classified as product failures. Merge #2895 first and preserve its branch until #2897 is safely retargeted. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ba6dcf5266
ℹ️ 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".
| Last Updated: 2026-09-10 | ||
|
|
||
| Optional reminder hours (#2808, pending delivery): explicit weekday and time windows in an IANA zone, including overnight and daylight-saving behavior. Server checks precede question lookup and budget admission; preference edits preserve the shared UTC allowance, old-client toggles retain the window, and exports include it without a new migration. The slice passed 9,270 backend and 6,421 frontend tests, with 34/three existing skips respectively. After parent integration, 56 API tests, 56 component tests, typecheck/build and five Chromium journeys pass, including a reproduced and fixed account-erasure race. Firefox and mobile Grove/Grove Night evidence are recorded in the validation ledger. Exact-head hosted qualification remains pending. [Policy](product/WORKSPACE_ATTENTION.md). | ||
| Final overhaul recovery follow-up (#2893/#2894, [PR #2895](https://github.com/Chris0Jeky/Taskdeck/pull/2895)): retain an unsaved hours draft across enable-only saves and confirmed validation rejections, distinguish competing question writes from source changes, and send the model exactly the previewed excerpt. Final frontend passes 6,436 tests with three existing skips; full backend passes 9,315 with 34 existing skips, followed by 17 API and 19 application tests for the final payload correction. Build/typecheck, scoped lint, browser recovery and bounded independent review pass. Required hosted runs 34458797270 and 34462673996 passed at reviewed heads f39cc6cf3 and d25edf2a5, including both operating-system suites and browser smoke. The PR records subsequent base qualification and the final merge receipt. The source and draft regressions were reproduced before repair; the validation ledger records their scope. |
There was a problem hiding this comment.
Do not claim a merge receipt before it exists
This marks PR #2895 as having a final merge receipt, but the changed validation ledger still says hosted exact-head qualification remains the merge gate (WORKSPACE_OVERHAUL_VALIDATION.md lines 28–29), and unlike the completed PRs below, no merge SHA or date is recorded. Since STATUS.md is the shipped-reality source of truth, keep this entry pending until the merge occurs or replace the claim with the actual receipt afterward.
AGENTS.md reference: AGENTS.md:L15-L18
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Classified MEDIUM/P2 wording ambiguity, non-blocking. This paragraph records two completed hosted runs and directs readers to this PR for subsequent base qualification and the final receipt; it does not supply or verify a merge SHA. For clarity: #2895 is OPEN and unmerged, current head ba6dcf5, required run 34469579196 is still in progress. No final merge receipt exists yet. The actual merge SHA and exact-head success will be posted here only after the gate passes and the merge succeeds. Declining another documentation-only head push/CI restart for this phrasing; the delivery tracker remains explicitly pending.
|
#2895 merged as b344a5a at 2026-09-10T11:34:50Z after all checks passed, including required run 34469579196 at reviewed head ba6dcf5. Issues #2893 and #2894 closed as completed. The merged tree is exactly 3adb0dab44c55fedfae6a3a555c7f978c3b58f7d, identical to the reviewed/tested parent head. #2897 is now retargeted to main; its actual merge base remains ba6dcf5, so its reviewed five-file diff, combined runtime tree and CI inputs are unchanged. Closing references now resolve to #2896 only. No merge-receipt-only commit or redundant application test run is needed; its exact-head required gate remains mandatory and pending Windows API completion. |
Reminder-hour edits were lost when toggling reminders or receiving a confirmed validation rejection. Preserve those drafts for correction and explicit saving, while account changes and uncertain writes still require reconciliation. Grounded analysis now reports competing inserts/revision writes accurately, preserves the winning evidence, and sends exactly the previewed excerpt to the model.
Closes #2893. Closes #2894. Refs #2808.
Validation:
This branch includes the merged #2892 receipt without a runtime tree change. The database/browser fixtures and speech/model transports are synthetic. Physical microphone acceptance, live-provider usefulness and production deployment remain separate. Full evidence and limits are in docs/product/WORKSPACE_OVERHAUL_VALIDATION.md; owner decisions remain in OUTSTANDING_TASKS.md. No automatic model retry or board apply is introduced.