Skip to content

fix(capture): repair timestamp-masked legacy text divergence - #2805

Merged
Chris0Jeky merged 1 commit into
mainfrom
issue-2418/masked-capture-repair
Sep 8, 2026
Merged

fix(capture): repair timestamp-masked legacy text divergence#2805
Chris0Jeky merged 1 commit into
mainfrom
issue-2418/masked-capture-repair

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

Historical Keep/Archive writes could make a stale durable Capture look newer than its queue row, hiding divergent text from both startup repair and Inbox fallback. Add a resumable upgrade repair that checks those captures and serves truthful queue text while repair is pending.

  • Add one integer repair-version column (existing rows default to zero); successful intake/reconciliation earns the current version. SQL filters repair candidates and failed-row exclusions before LIMIT, preserving bounded payload materialization.
  • Use a distinct capture.legacy-queue.v2 completion marker so historical v1 success cannot certify this repair. Archived mismatches stay outstanding while healthy rows progress. Corrections append immutable superseding source assets.
  • Carry repair version through the narrow Inbox projection and detail mapping, protecting pending rows even when their aggregate timestamp is newer. No board mutation or review-first behavior changes.

Validation: red regression reproduced the masked-timestamp omission; focused Application tests passed 45/45; focused API/real SQLite tests passed 16/16. SQLite coverage checks one materialized queue payload per one-row page, server-side exclusions, persisted progress, retry without scanning repaired payloads, old-marker isolation, and archived-row failure with healthy-row progress.

Full backend gate on d4562fb: dotnet test backend/Taskdeck.sln -c Release -m:1 --logger "trx;LogFilePrefix=issue-2418" --results-directory .codex/local/issue-2418-test-results --verbosity quiet exited 0. Domain 1605 passed; Application 4209; API 2856 with 4 existing skips; CLI 243; Architecture 28 with 1 existing skip; Integration 36. Total: 8977 passed, 5 existing skips, 0 failed. The four API skips are existing quota-concurrency deferrals to #1435. TRX evidence is preserved under the worktree's ignored artifacts/issue-2418/test-results directory.

Docs: UPGRADING.md records the additive migration and repair behavior. Canonical STATUS/MASTERPLAN updates are owned by the coordinator. Doc links (663 files, zero broken links), docs governance, and git diff --check passed.

Risks: one initial bounded pass over legacy queue-backed captures; large-database wall-clock cost and non-SQLite providers are unmeasured. Archived mismatches remain outstanding with safe queue fallback; no existing private database or live provider was used. OUTSTANDING_TASKS.md remains unchanged.

Closes #2418

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 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-08T01:15:57.483578Z d4562fb 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

Copy link
Copy Markdown
Owner Author

Independent Terra review completed against head d4562fb and base db102dc. No confirmed CRITICAL/HIGH findings.

Reviewed the additive repair-version migration and model agreement, bounded owner/id/version/freshness selection, truthful list/detail fallback, separation from the old v1 completion marker, immutable source-asset lineage, and archived-row skip/progress behavior. Concurrent initial marker creation preserves the fallback and does not certify incomplete work.

The reviewer performed a read-only source review. Separately, the author ran the full backend gate at this unchanged head: 8,977 passed, five existing skips, zero failures. No real database upgrade, live provider, or large-database performance proof is claimed. Hosted exact-head CI remains required before merge.

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 8, 2026
@Chris0Jeky
Chris0Jeky merged commit dfa12ea into main Sep 8, 2026
35 checks passed
@Chris0Jeky
Chris0Jeky deleted the issue-2418/masked-capture-repair branch September 8, 2026 01:35
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 8, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Evidence preservation for eventual worktree cleanup: artifacts/issue-2418 has been copied to C:\Users\Public\codex-shell-home\taskdeck-wave-20260908\issue-2418. All copied file SHA-256 hashes matched; six TRX counters were read back and confirm the recorded totals. The generated bin/obj trees are disposable. The committed source is preserved by the merged PR and pushed branch.

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.

CF-01d: detect timestamp-masked capture text divergence in existing databases

1 participant