A continuity abort resolves its own projection (route continuity B1)
A continuity candidate shares the admitted Expected key. Both abort intents marked its topology reconciliation Skipped, so a failed continuity left its candidate activation projected under the admitted key while the admitted receipt named the older one, and a later deploy's post-fence demotion refused as substituted. DeploymentTransaction::abort_topology_reconciliation is now the one rule for both intents and pre-fence validation: a deployment owes the projection when it published its Expected, a continuity owes it when it issued an activation. reconcile_failed_candidate_projection is the one resolution for both abort paths: a deployment withdraws its own key, a continuity demotes the shared key to Expected-only with its own exact activation and never withdraws the Expected. The post-fence incumbent demotion stays deployment-only and exact. Tests read the persisted topology store after the production publish/demote sequence. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
87fa57dd8c
commit
44277698c3
2 changed files with 290 additions and 48 deletions
|
|
@ -312,6 +312,12 @@ observation own current workload health. Historical receipts do not expire
|
|||
merely because their provider remains admitted longer than the observation
|
||||
window.
|
||||
|
||||
A failed continuity restart leaves its own candidate activation projected under
|
||||
the shared Expected key. Its abort demotes that key to Expected-only with the
|
||||
exact activation the transaction issued, so the projection never drifts from the
|
||||
admitted receipt. Rollback after fencing demotes the admitted generation's exact
|
||||
activation. No path adopts an activation the transaction did not issue.
|
||||
|
||||
Idunn starts and recovers from its own durable admitted state. Odin is the first
|
||||
managed semantic daemon, never an Idunn bootstrap dependency. Odin's initial
|
||||
admission is the sole graph-bootstrap exception: Idunn uses its root-admitted
|
||||
|
|
|
|||
Loading…
Reference in a new issue