mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-08-08 01:43:55 +00:00
fix(blueprints): gate confirmed apply on live intent fingerprint (#1663)
* fix(blueprints): gate confirmed apply on live intent fingerprint reconcileConfirmedPlan only checked approval_status, so a concurrent compose edit during Apply could deploy unapproved content under a stale fingerprint. Match the tick-path fingerprint gate, refuse Apply when live intent drifts, and surface reconciler refusal as PREVIEW_STALE instead of a false success. * test(blueprints): cover matching-fingerprint reconcileConfirmedPlan path Prove the production allow branch still deploys authorized actions when the approval fingerprint matches, and does not execute unauthorized blast nodes. * fix(blueprints): report live approval after confirmed snapshot apply A concurrent edit can clear approval while multi-node snapshot deploy is still running. Keep the in-flight snapshot contract, but re-read live effectiveApproval before responding and warn in the rollout dialog when approval is no longer current.
This commit is contained in:
@@ -78,6 +78,8 @@ export function RolloutPreviewDialog({
|
||||
const { failed = 0, pending = 0 } = result.outcomeSummary ?? {};
|
||||
if (failed > 0) {
|
||||
toast.warning(result.message || 'Rollout confirmed with node failures');
|
||||
} else if (result.effectiveApproval !== 'approved') {
|
||||
toast.warning(result.message || 'Confirmed snapshot finished; approval is no longer current');
|
||||
} else if (pending > 0) {
|
||||
toast.info(result.message || 'Rollout confirmed; some actions are still in progress');
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user