Orchestrata Ultimate › Gates › uncovered-policies

Gate: uncovered-policies

At a glance

Purpose Print every policy requirement with no enabled mechanism behind it (REQ-GATE-011), on every battery run, without blocking.
Where it runs The scripts/gates.py battery (registered as uncovered-policies), after the __ast__ refresh pre-step.
Trigger A battery run whose fingerprint changed, or whose last cached verdict was not ok.
Exact command python scripts/gate.py uncovered
Blocks Never on findings: exit 0 on every successful query. Exit 2 only when the query itself fails (for example SnapshotMissingError).
Ruling / ADR RUL-014 — a ruling that exists only in prose is incomplete work, as an inference; the "severity tier in ONE channel" user ruling (2026-08-19) recorded in gate_rules.pl. No ADR names this gate.
Last recorded verdict ok: true in the primary checkout's .cache/gates.json (file last written 2026-09-22 10:01 local). wt-MAP-PRECOMMIT has no .cache/gates.json.

What it refuses

Strictly speaking, nothing — by design. It refuses to let unmechanized policy go unseen: every battery run prints each policy requirement that has no enabled mechanism behind it. A genuinely RED battery entry for this gate means the query machinery itself broke, not that a policy is uncovered.

Why it exists

From the scripts/gates.py registry comment:

"uncovered-policies is REQ-GATE-011's own drift detector (plans/prolog-gates-implementation-plan.md), wired ADVISORY per the user's 'severity tier in ONE channel' ruling (2026-08-19, gate_rules.pl policy_requirement/1): uncovered(Policy) names a policy requirement with no enabled mechanism behind it, and that is DRIFT — no file:line, nothing broken, must stay visible without ever blocking until someone promotes it."

And from scripts/gate.py's docstring: "uncovered prints every policy requirement with no enabled mechanism behind it (REQ-GATE-011) — RUL-014 as a query, never a gate: it reports, it does not change whether run passes."

How it runs

Typical failures and how to fix them

Wiring