A House Divided A House DividedDocumentation
Changelog
Game Design/Government & Executive

Parliamentary Government

Last updated 2026-08-21
Source files

Current behavior for parliamentary-country government formation, head-of-government appointment votes, Votes of No Confidence (VONC), Confidence Motions, and the legislation freeze. It applies wherever isParliamentarySystem(config) is true: parliamentary monarchies, parliamentary republics, and one-party states. This includes the UK, Japan, Germany, Ireland, and one-party countries that seat a head of government through the shared path.

Core collections#

Confidence Motion#

When a lower-chamber general election resolves and the incumbent Prime Minister retained their seat, a Confidence Motion is auto-filed in the pmAppointmentVotes collection with isConfidenceMotion: true, the incumbent as nominee, and a 24h duration. The PM stays in office (gov.status remains "formed") during the motion window.

Vote resolution branches:

If the incumbent lost their seat in the election, no confidence motion is filed; the government stays formed with a seat-mismatch state until the next PM action (resignation, VONC, etc.).

NPP PMs: pmCharacterId is null for NPP-held PM seats, which means no confidence motion fires (the helper's no-incumbent guard).

Data-flow entry point: runPostElectionGovernmentPhases in openConfidenceMotionForIncumbent + updateSeatCountsOnly (the latter refreshes cycle + seatsByParty + governingPartyId without touching PM state).

Legislation Freeze#

While governmentFormations.status === "pending" for a parliamentary country, legislation is strictly frozen:

Non-parliamentary countries (US, CA) have no governmentFormations.pending state in normal play, so the freeze never applies. One-party states (DD, CN, RU) count as parliamentary for this purpose since they seat a head of government the same way, so they can be frozen too. DE (Germany) is a parliamentary country and is subject to the freeze; it is not exempt.

The shared gate helper is checkLegislationFreeze(countryId) in , which wraps the underlying rule isLegislationFrozen(db, countryId) in .

VONC-Parallel PM Nominations#

PM appointment votes can be filed when either:

Implementation: the gate in checks both conditions; a 400 is returned only when neither is true.

VONC resolution interaction#