Skip to main content

Governance Packs

Profiles are RStack’s posture dial; governance packs (#78) make the posture concrete and inspectable. Each pack is a named bundle of governance capability with a declared enforcement level, defined by a pack.json under the package’s packs/ directory. Packs are declarative metadata over enforcement that lives in the harness — enabling a pack records intent and surfaces posture in the Business Hub; the enforcement code ships with RStack either way.

The packs

Which profile fits which team

  • lean-mvpdor-basic. Prototypes and MVPs: see what’s unresolved and what it costs, without any gate stopping you. Choose this when speed of iteration matters more than review ceremony — the evidence trail still accrues.
  • business-flexdor-basic, cross-harness-review (warning), drift-detection (warning). Client-facing delivery teams: approval gates and contracts are active, same-harness self-validation and traceability drift are reported rather than blocking. Choose this when a human reviews the warnings weekly.
  • enterprise-webappdor-enterprise, cross-harness-review (blocking), attestations, drift-detection, untrusted-pr-gate, both compliance mappings. Regulated or audit-facing teams: unresolved decisions and same-harness validation block, evidence is envelope-wrapped, and the repo boundary is gated. Choose this when “prove it” is a stakeholder, not a preference.
The ladder changes governance posture, not process weight — the same 15-stage pipeline runs in every profile; packs decide what blocks versus what reports.

Using packs

init writes the active set to .rstack/rstack.config.json:
Override enabled_packs to tune posture without changing profile; rstack-agents config validate names unknown pack names instead of ignoring them. The Business Hub’s policy ledger shows the active packs with their enforcement levels next to the operating profile.