Skip to content

Allow immutable correction of linked Triaged transcripts - #2822

Merged
Chris0Jeky merged 13 commits into
mainfrom
issue-1999/transcript-correction
Sep 9, 2026
Merged

Allow immutable correction of linked Triaged transcripts#2822
Chris0Jeky merged 13 commits into
mainfrom
issue-1999/transcript-correction

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Owned, proposal-less Triaged transcripts can be corrected and explicitly sent through Ask AI again. Save appends an immutable replacement when text changes, preserves the original transcript, and atomically updates the queue's canonical link with any existing durable source. Stale edits return 409 and roll back provisional records. Save does not enqueue or create a proposal, preserving review-first trust while reducing correction friction.

Queue routing may differ from immutable transcript board provenance. The reviewed fix removes the invalid board-equality rejection while retaining owner, capture, source, status, proposal and CAS checks.

Refs #1999.

Validation:

  • Two original Terra reviews plus fresh-context review of the rerouting fix: SHIP.
  • SQLite regression: red 409 then green 200 for a board-rerouted capture with boardless original/replacement transcripts. Application edit 19 and linked API correction 2 pass.
  • Broader focused Application 73/API 43, real correction -> explicit re-triage -> hosted worker -> proposal, and SQLite transcript/source rollback with DualWriteCaptures=false pass.
  • Chromium correction test passes with mocked capture responses; the real backend chain is separately covered by API integration.
  • Full backend dotnet test backend/Taskdeck.sln -c Release -m:1: observed exit 0, 9092 passed/5 skipped in the combined candidate. Its backend tree 7a36d704e5002e5df34897b682c9c04cb33591de exactly matches this head.
  • Current head 883e25589a97d6c2743a94bc65fd48bb9dd5e3e0, base 22fcac405946e226c136e2fd52be3b8cdf9ecca7: backend/frontend identical to reviewed source 9d2cf7926; only reviewed palette evidence changed in the base. Doc links 674/0 broken and diff check pass. Previous Paper triage 89/typecheck/build/ESLint evidence remains applicable; required hosted CI is requalifying this head.

Three non-blocking MEDIUM follow-ups are tracked on #1999: old triage stamp beside corrected material (provenance), raw line-ending fidelity and title-only duplicate source revisions (source follow-ups). No extra fix round is implied.

This source proceeds independently of parked integration #2824. OUTSTANDING_TASKS.md is unchanged. Original item 4 requires inline loading Cancel and remains separate work; the parent issue stays open.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 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-09T12:34:36.954965Z 883e255 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.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent Terra high reviews: SHIP for authorization/provenance and transaction/concurrency at97bb4f5aa; backend source patch remains identical at final e4fcf50 (stable patch-id80962f3b6d3656da8fc23289e21aeb534f51b2cd). Ownership and linked source/capture/board checks, immutable original retention, transactional SourceAsset supersession, conditional queue update and canonical worker retry were inspected. No confirmed HIGH/CRITICAL findings.

A bounded read-only verification of test-only04d305712 also returned SHIP: real SQLite proves no persisted replacement transcript or durable source after CAS loss; repository SQLite separately proves the actual conditional update and stale refusal; API integration reaches a proposal after correction and explicit re-triage; the browser spec accurately limits its mocked response claim to the UI contract. Reviewers did not rerun tests. Exact author/coordinator evidence and aggregate-process-exit limitation are in the PR body.

@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: e4fcf50c74

ℹ️ 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 backend/src/Taskdeck.Application/Services/CaptureService.cs Outdated
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Connector finding3967950068 triaged with the independent authorization reviewer: confirmed HIGH correctness blocker, fix-first. This occurs on the supported boardless transcript -> authorized queue-board routing -> empty extraction -> Triaged/no-proposal path; no board deletion is needed. The queue board is routing state while the transcript board is immutable provenance, so their equality incorrectly rejects a permitted correction despite canEditSuggestion=true.

A bounded fix is underway: remove only that equality check, retain owner/capture/source/status/proposal validation, and add a red-first rerouted-state regression preserving original boardless transcript provenance and the queue's current routing board. No merge until the fix and its scoped verification/review are complete.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Fix verification at9d2cf7926d823efcb115a9c52e0a33f2ccecdc9d: the original authorization reviewer confirmed HIGH closed, and a separate fresh-context Terra high fix review returned SHIP with no new findings. The removed board comparison supplied no cross-user/capture protection; retained provenance/ownership/CAS checks do. New SQLite regression exercises the exact rerouted state and preserves original/replacement boardless provenance. Red409 -> green200, Application edit19 and linkedAPI2pass. The initial GitHub push500 left the old ref unchanged; one retry succeeded after remote-ref verification. Thread resolved; no additional fix round opened.

@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: 9d2cf7926d

ℹ️ 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 backend/src/Taskdeck.Application/Services/CaptureService.cs
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Integration candidate #2824 is ready at ee90123. This source head and its owned files are preserved exactly. Combined local qualification passed: backend9092/5skip with aggregateexit0, frontend6234/3skip, Chromium4, build/typecheck/lint/docslinks. The integration introduces no source edits and retains the completed source review/fix records.

Please hold individual merges while #2824 qualifies against current main. This source PR remains open; it will be closed as superseded only after actual integration delivery and exact merge-tree proof. No parent issue or human acceptance is closed early.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Worktree cleanup complete: clean tracked state and source HEAD ancestry in pushed integration #2824 (ee90123) were verified; the owned source worktree was removed with plain git worktree remove. Unique ignored runtime/test artifacts were copied OUT first to C:\Users\jekyt\source\Taskdeck.claude\local\milestone-20260909\preserved-2822. Source branch refs and commits remain preserved; this PR stays open pending integration qualification and review disposition. Primary checkout and unrelated worktrees were preserved.

…dered

Show measured night palettes on real Paper surfaces
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

MEDIUM/tracked after bounded Terra severity triage: #1999 (comment). Corrected material retains an old triage stamp until explicit re-triage; this is a distinct normal-edit traceability issue, not the older crash/replay case. It creates no proposal/action and preserves owned-item/linked-transcript authorization. No third fix-round commit; follow-up acceptance checks are recorded.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Current-base qualification: #2822 refreshed without conflict to883e25589a97d6c2743a94bc65fd48bb9dd5e3e0 on main22fcac405946e226c136e2fd52be3b8cdf9ecca7. Both backend and frontend trees exactly match reviewed source9d2cf7926; only separately reviewed palette evidence changed in the base. Backend tree7a36d704e5002e5df34897b682c9c04cb33591de exactly matches the observed EXIT0 combined backend run (9092passed/5skipped). Current doclinks674/0broken and diffcheck pass. The unchanged seam retains source targeted/SQLite/real-worker/browser evidence; no redundant full suite was run for documentation-only base content. Required hosted CI and head aging reset. New provenance and source-fidelity MEDIUMs are tracked on #1999 (5601812054,5601775553); no blocker remains in this source. It will deliver independently of parked #2824.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Refreshed qualification worktree cleanup complete:883e25589a97d6c2743a94bc65fd48bb9dd5e3e0 verified on the remote source branch, git status --porcelain --ignored empty, plain git worktree remove succeeded. No ignored/unique material existed in this second qualification checkout. Original runtime/test evidence remains preserved-2822 and preserved-2824 as recorded previously. Primary and unrelated worktrees remain untouched.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Final combined candidate #2826 atf7e65bfbddccbf197ea3c7d258b05ef9418a4c6a preserves this reviewed source and passes fullfrontend6234/3skip, combinedChromium5, typecheck/build/lint/doclinks, and freshTerraSHIP. Holding individual merge while that exact combined tree qualifies. This replaces the earlier separate-delivery plan; parked2823/2824 remain excluded. Keep source open until integration delivery and source-content proof.

@Chris0Jeky
Chris0Jeky merged commit e6ceb62 into main Sep 9, 2026
37 checks passed
@Chris0Jeky
Chris0Jeky deleted the issue-1999/transcript-correction branch September 9, 2026 13:27
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 9, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Delivered through integration #2826, merged as 06bd4d1. Coordinator verified the actual main tree equals qualified f7e65bf exactly (tree 7315d28ec3a2e709da4f701f4489a864ec2c36e2), and all three source heads are ancestors. GitHub automatically marked the source PRs merged through the preserved merge commits. Required ci-required.yml run34353507971 passed, independent Terra SHIP, no unresolved threads. Previously tracked MEDIUM limitations remain follow-ups; no full parent-issue completion claim.

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.

1 participant