Skip to content

Fix persistent identity for Capture task status mutations - #138

Merged
RCmerci merged 1 commit into
mainfrom
codex/fix-capture-status-identity-20261027
Oct 27, 2026
Merged

RCmerci merged 1 commit into
mainfrom
codex/fix-capture-status-identity-20261027

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Saving a Capture as a task could reuse a persistent status mutation ID from an earlier app lifetime. The transient request counter restarted at 1, so the new target conflicted with a historical outbox/receipt entry after the content insert had already committed. This was reproduced through normal UI on the pre-Stage4 a467188 App and on 6eceac6; the same allocator/status functions also exist unchanged in b9d4e7d.

Derive the Capture status sub-operation UUIDv8 from BLAKE128 of the canonical existing business mutation UUID, target, resolved status/clear and Capture-owned choice revision. Same-intent retries retain identity independently of transient request scheduling. A changed selection, including A→B→A, advances the choice generation. Keep the original insertion identity, request owner, queue and all persisted history.

Stacked on #137 (codex/graph-mutation-confirmation-20261027); one commit, seven files, only this separate behavior fix. No merge or release.

Validation at 69146ff:

  • Seven public Capture/Production_runtime regressions: original ID-reuse RED and independently identified A→B→A RED before correction; final complete source/native build and all regressions passed (Runtime182, Application150, sync333 and remaining suites).
  • Independent read-only code review and final evidence review: no unresolved findings.
  • Exact-head CI run 40499168130 and WIP check passed.
  • Full App on the existing iPhone13/iOS26.1 synthetic Simulator and retained graph: final core95.869s, relaunch default-task28.600s, Favorites/UUID-reference38.743s, existing PNG preview15.025s passed. Actual Todo→Done→No status, retained Append save, root31/45 and Oct26/25 transitions checked. An extra first-run selector typo was corrected in the external UI runner and the complete core re-exercised; final acceptance uses that corrected run.
  • Old conflicting outbox records002f/0039 remain byte-identical; three new actual Capture status operations have distinct v8 IDs. No database clearing or direct mutation.

Experimental host-restamp only, cross_abi_validated=false; no real-device ABI or online/account acceptance. Copy was clicked without clipboard-content assertion; Favorites tested its empty state; PNG used existing fixture content.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 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-10-27T11:52:03.958350Z 69146ff 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.

@RCmerci
RCmerci changed the base branch from codex/graph-mutation-confirmation-20261027 to main October 27, 2026 12:36
@RCmerci
RCmerci merged commit 9488d3c into main Oct 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant