feat(etl): replace cancellation on repaired conditional-status stack - #147
Draft
seonghobae wants to merge 31 commits into
Draft
Conversation
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Aug 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack repair purpose
This Draft replaces old-stack PR #133 with a non-destructive cancellation branch rooted at repaired conditional-status predecessor PR #146. The original #133 branch and its fail-first history remain preserved. Checks, reviews, approvals, statuses, comments, and base snapshots from #133 or any predecessor head do not transfer.
Exact current boundary
repair/durable-job-conditional-status-2e388ad;9e4d69e0bb33ab57627c697a5d028b5309eca2bb;repair/durable-job-cancellation-9e4d69e;0a07ca3ba447ba696da2777d7d51eca373b38b2c;9e4d69e0bb33ab57627c697a5d028b5309eca2bb;No force push,
-X ours,-X theirs, destructive history rewrite, temporary repair workflow, protection bypass, or cross-repository write was used.Stack-divergence replacement RCA
Old PR #133 targets superseded old conditional-status PR #131. PR #146 is the repaired conditional-status boundary, so continuing #133 would preserve obsolete ancestry. The feasible repair was a replacement branch from exact #146 with auditable TDD history. Destructive rebase/force-push, retargeting an unchanged obsolete head, and deepening replay before cancellation repair are rejected.
Cancellation boundary
The repaired slice provides authenticated owner-scoped idempotent cancellation, a database-owned
CANCELLEDterminal state, one owner-matched conditional transition, payload/lease clearing, stale-worker fencing, principal/job-domain-separated replay identity, stable RFC 9457 conflicts, conditional-status invalidation, transactional V6 migration, concurrency/race coverage, rollout/rollback guidance, and explicit limits for non-transactional external side effects.RED → RCA → GREEN
The branch preserves the original fail-first cancellation history. A later exact-head CI failure on
dc53a3a7de2ab1ad59421c183db000b1bdf22426isolated one documentation-contract mismatch:DurableJobCancellationDocumentationTestrequired the exact buyer-visible phraseOwner-scoped durable-job cancellation, whileCHANGELOG.mdhad drifted toAuthenticated owner-scoped durable-job cancellation. Production cancellation, migration, concurrency, controller, and service tests were otherwise green.Immediate cause: exact changelog/test phrase mismatch. Technical cause: the prior repair used file/blob-level Contents API compare-and-swap while another writer changed the test contract, so branch-tip state was not atomically bound. Systemic cause: the repository writer lease is branch-wide but the mutation primitive used in that attempt was file-wide.
Material remediation options:
Commit
0a07ca3ba447ba696da2777d7d51eca373b38b2cis one non-forced fast-forward commit overdc53a3a...; its delta is exactly oneCHANGELOG.mdline. The branch-wide publication path used exact parent binding andforce=falseref update rather than the Contents API for this source repair.Exact-current-head proof
Accepted for literal head
0a07ca3ba447ba696da2777d7d51eca373b38b2con unchanged exact predecessor9e4d69e0bb33ab57627c697a5d028b5309eca2bb:31302915344: success;etl-service: 429 tests, zero failures/errors/skips;DurableJobCancellationDocumentationTest4/4 green; all configured JaCoCo coverage checks met;cdc-service: 106 tests, zero failures/errors/skips;31302915311: success;31302915319: success;The conditional self-hosted job is skipped and is not counted as positive evidence.
Still not passing
APPROVEDreview exists on this exact head;Queued, pending, skipped-required, neutral-required, absent, cancelled, failed, stale-head, old-base, predecessor-head, author-only, status-only, and synthetic-merge-only evidence are not accepted.
Merge policy
Keep this PR Draft. Do not merge or deepen replay until the prerequisite chain is eligible. After every predecessor/base/head movement, regenerate affected exact-head/base CI, Dependency Review, SBOM, SAST, Security Scan, commit-status, review-thread, automated-review, and independent-approval evidence. Merge only in dependency order with expected-head semantics and without weakening branch protection, tests, security, coverage, review independence, or writer leases.