Skip to content

fix(integrations): bind connector reads to request lifetimes - #3329

Open
Chris0Jeky wants to merge 2 commits into
mainfrom
audit/3327-integration-read-ownership
Open

Chris0Jeky wants to merge 2 commits into
mainfrom
audit/3327-integration-read-ownership

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Closes #3327.

Summary

Binds integration list/detail reads to explicit request lifetimes instead of entity ID or one shared Boolean:

  • list and detail use independent ownership lanes;
  • a newer read retires only the previous owner in the same lane;
  • reset advances an epoch before clearing visible state;
  • stale successes, failures, toasts and finally settlement cannot alter the replacement lifetime;
  • loading remains true while either current list or detail lane still owns work;
  • legitimate list/detail concurrency remains available.

The integration API, DTOs, routes and mutation behavior are unchanged. This slice does not claim to cancel or roll back a connector mutation already accepted before reset.

Test-first evidence

Base: 307c3b8b50bec1cb0bfaea3e570a942bcb1d4451

  • Test-only commit: 78ecac7d3bc37fe80ba1c746f0eecb9e6d72f372
  • Corrective exact head: 4e232e22778489681b9db5746e5c221ada7a088a

A supplemental runner transpiled and executed the actual production store with only its framework/API boundaries stubbed:

  • unchanged main: 0/5 ownership schedules passed;
  • corrected source: 5/5 passed.

The committed Pinia/Vitest suite covers six schedules:

  1. A-old → B → A-new with A-old settling last;
  2. reset followed by same-ID stale success;
  3. reset followed by same-ID stale failure and no stale toast;
  4. list response after reset;
  5. reverse-settling list reads;
  6. overlapping list/detail loading ownership.

The test-only Required CI was superseded and cancelled when the corrective head was pushed, so no hosted canonical-red claim is made. Smart CI and Extended passed on the test-only commit; canonical regression qualification belongs to the corrective exact head.

Verification

Local/source-backed:

  • combined integration/permission actual-module ownership suite: 12/12 passed after correction;
  • TypeScript syntax transpilation of changed store/tests passed;
  • docs governance and golden-principles checks passed;
  • relative-link scan checked 719 Markdown files with zero broken links and the same three pre-existing masking warnings.

Hosted exact-head:

  • Smart CI Self-Test 35597534968: success;
  • CI Extended 35597535200: success;
  • Required CI 35597535219: success across the complete required matrix.

Ready for independent review. Green CI is qualification evidence, not merge authorization. Review should focus on A→B→A identity reuse, reset ownership, stale error/toast suppression, and independent list/detail loading.

No merge, release or deployment qualification is claimed.

Copy link
Copy Markdown
Owner Author

Fresh source-backed verification for exact head 4e232e22778489681b9db5746e5c221ada7a088a:

  • Actual production modules, unchanged uploaded-main source: 0/12 combined integration/permission ownership schedules passed; every failure matched the named stale-state or loading symptom.
  • Actual production modules, corrected source: 12/12 passed.
  • integrationStore.ts, integrationStoreOwnership.spec.ts, permissionsStore.ts, permissionsStoreOwnership.spec.ts, and adjusted permissionsStore.spec.ts all transpile under TypeScript 5.8.3 with zero diagnostics.
  • Smart CI Self-Test 35597534968: success.
  • CI Extended 35597535200: success.
  • Required CI 35597535219: queued at this checkpoint.

The actual-module runner uses only framework/API boundary stubs and does not replace canonical Pinia/Vitest or full hosted qualification. The test-only Required run was superseded/cancelled, so this comment does not claim a hosted canonical-red execution.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 21, 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-21T14:09:04.107638Z 4e232e2 Draft marked ready
ℹ️ 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Pending

Development

Successfully merging this pull request may close these issues.

Integration reads can overwrite newer same-ID state after A→B→A or reset

1 participant