You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This adds shared gatekeeper action helpers and migrates Confluence and Notion to implement applyActionsThrough. Both gatekeepers serialize resolution work, apply pending actions in order, stage vetoes, and report cascade invalidations to the overseer. InvalidationLog preserves invalidation attribution across retries and crashes. This PR is stacked on the contract-and-driver PR and contains no additional workshop kernel changes. Covered by the backend-utils, Confluence, and Notion suites, the full workspace tests, and the manual Workers AI smoke test.
P1: Auto-approved actions can remain pending indefinitely. submitAction() eagerly starts syncActions(), which can observe "staged" and stop; promotion schedules no retry. See confluence-actions.ts:663 and notion-actions.ts:1131.
P1: Veto cascades delete staged actions before the overseer necessarily records them. The invalidation is then ignored, submission returns normally, and later approval marks the missing action approved without executing it. See confluence-actions.ts:630 and notion-actions.ts:1098.
P1: A crash after persisting "staged" but before promotion or rollback permanently blocks all subsequent actions at that record. See confluence-actions.ts:454 and notion-actions.ts:1045.
P2:InvalidationLog.prune() can remove attribution after an intervening request, so a later repeat of the original request no longer reports its invalidations, violating the RPC contract. See gatekeeper-action.ts:71.
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
backend/utilsChanges to shared backend utilitiesgatekeeperChanges to a gatekeeper integration
1 participant
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.
This adds shared gatekeeper action helpers and migrates Confluence and Notion to implement
applyActionsThrough. Both gatekeepers serialize resolution work, apply pending actions in order, stage vetoes, and report cascade invalidations to the overseer.InvalidationLogpreserves invalidation attribution across retries and crashes. This PR is stacked on the contract-and-driver PR and contains no additional workshop kernel changes. Covered by the backend-utils, Confluence, and Notion suites, the full workspace tests, and the manual Workers AI smoke test.