Skip to main content

Act 6 Gate Spec: Crown to Reclamation

Context

This doc authors the gate predicate that authorizes the ActState.CurrentAct: 6 -> 7 transition (the Act 6 Crown act finishing and Act 7 Reclamation beginning) per ../lore/adr/ad-0010-act-progression-actstate-scope.md. The transition is driven by the ActProgression system, which reads this predicate against committed scopes and fires OnActCompleted(6) followed by OnActStarted(7) when the predicate becomes true.

The source act doc is ./gd-act-6-crown.md. The "Boundary Into Act 7" section at lines 44-51 names the act's end state: the crown is strong enough to project sustained reclamation beyond holding what already exists, with long fronts and deep operations supported by realm-wide policy and logistics.

Realm.PolityRank does NOT advance on this transition; the rank stays at Crown per ad-0009 lines 56-71 (Crown is the top of the PolityRank ladder). Act 7 is a behavioral/agenda transition under the Crown, not a polity-rank promotion.

Gate Predicate

Act 6 is complete when at least one Front has run a full lifecycle to Concluded (successful Campaign Goals), demonstrating the crown can project sustained operations beyond local defense. Expressed as named state on committed scopes:

ActState.CurrentAct == 6
&& Realm.PolityRank == PolityRank.Crown
&& Realm.Fronts.Any(f => f.FrontStatus == FrontStatus.Concluded)
&& Realm.Fronts.Count(f => f.FrontStatus == FrontStatus.Concluded) >= Config.Act6.MinConcludedFrontCount
&& Realm.Provinces.All(p => p.SovereigntyState == StableUnderCrown)
&& Realm.NationalPolicy.PolicyState == Committed
&& Realm.CrownLogistics.SupplyContinuityState >= Config.Act6.MinSupplyContinuityThreshold

Named-state sources:

  • ActState.CurrentAct per ad-0010 line 53.
  • Realm.PolityRank per ad-0009 lines 56-71.
  • Realm.Fronts is the Realm-scoped Front collection; the Front scope and FrontStatus enum are committed at gd-fronts.md lines 176-190. FrontStatus.Concluded is the successful-conclusion state at gd-fronts.md line 186.
  • Realm.Provinces and Province.SovereigntyState reflect that Provinces remain stable under crown-scale rule per gd-act-6-crown.md line 38 ("ruling across multiple Provinces under one crown-scale layer").
  • Realm.NationalPolicy.PolicyState is the Crown-scale national policy surface per gd-act-6-crown.md line 19 ("National policy can override or redirect purely local priorities").
  • Realm.CrownLogistics.SupplyContinuityState is the Crown-scale logistics surface per gd-act-6-crown.md line 21 ("Armies, ward lines, and supply questions span the whole realm") and gd-act-6-crown.md line 49 ("Policy, logistics, and force projection no longer depend on one core region").
  • Config.Act6.MinConcludedFrontCount and Config.Act6.MinSupplyContinuityThreshold are UI-exposed Config fields with world-size-parameterized defaults.

The predicate explicitly requires FrontStatus.Concluded, not just Forming or Active. A FrontStatus.Failed Front does not satisfy the predicate per gd-fronts.md lines 188-190; the act-transition condition is demonstrated successful Crown-scale Front capability, not Front lifecycle traversal alone.

Triggered Events

When the predicate transitions to true, the ActProgression system fires:

  • OnActCompleted(ActProgressionArgs { PreviousAct = 6, NewAct = 7, TransitionDay = <current day> }).
  • OnActStarted(ActProgressionArgs { PreviousAct = 6, NewAct = 7, TransitionDay = <current day> }).

Both events carry trigger on_action per ad-0010 lines 81-84.

No PolityRank advancement event fires on this transition (the rank is already at Crown).

Capability Unlocks

The Act 7 unlock surface is the late-game reclamation agenda, per gd-act-7-reclamation.md lines 6-22:

  • Force-led Operations (ReclaimArea, SealGateScar, CleanseSite, ContainThreat) become canonical delivery mechanisms for large-scale reclamation work per gd-act-7-reclamation.md lines 15-20.
  • Crown-scale Front Campaign Goals targeting reclamation (Reclaim Territory Cluster, Seal Gate Scar) become first-class concerns per gd-act-6-crown.md line 65 and gd-act-7-reclamation.md line 72-75.
  • Other Shielded Zones and surviving external powers enter the realm's practical horizon per gd-act-7-reclamation.md line 28 (subject to the lore exposure rules in the cited row).

The strategic identity shift from holding to reclaiming is the Act 7 defining concern; this gate authorizes that Act 7 begins, not that the reclamation campaign has progressed.

Runtime Backing Status

Status at this doc's acceptance time: contract-only.

  • Host/runtime owner: legacy/v1/examples/valenar/Host/Systems/ActProgressionSystem.cs reads the predicate. The Front lifecycle is driven by existing Front systems per gd-fronts.md lines 192-195 (Front lifecycle transitions are deliberate Crown player decisions).
  • Source/generated owner: predicate body in Content/acts/systems.secs; Crown-scale national policy and logistics declarations in Content/realm/channels.secs and Content/crown/scopes.secs (proposed; authored in Wave 5a).
  • Read-model/UI owner: the React client's Crown-scale strategic view surfaces the FrontStatus roster; a transition cue informs the player the reclamation agenda is now primary.
  • Tests: <deferred-to-wave-5a> runtime-backing wave.
  • Illegal fallback behavior: throws IllegalTransitionException if any input cannot resolve. No fallback that admits FrontStatus.Failed or FrontStatus.Paused as satisfying the predicate. No calendar-elapsed, no time-at-Crown-rank fallback.
  • Next closure wave: Wave 5a runtime-backing wave.

Cross-References