Expand description
Policy-aware unified enforcement (decided.services.gate, v0.21.14 /
ADR-049) plus the STRICT .decided/config.yaml loaders it alone consumes
(decided.services.init.load_enforcement_policy / load_overrides, the
raising paths).
decided gate composes validation, relationship integrity, and review over
one corpus, then classifies every finding as blocking or advisory under
the corpus enforcement policy. The other commands keep the engine’s
lenient config readers (validate::load_overrides skips malformed
entries); the gate is the one surface where a malformed config is an
operational error — decided: malformed repository config <path>: <reason>
on stderr, exit 1 (MalformedRepositoryConfig in cmd_gate).
Structs§
- Code
Coverage - Code
Gate Options - Enforcement
Policy - Finding codes mapped to an enforcement class (ADR-049). Precedence:
off(suppress, None) ->blocking->advisory-> the caller default. - Gate
Finding - Gate
Report - Malformed
Config - The gate’s operational config error.
message()is the oracle’sstr(MalformedRepositoryConfig)shape;cmd_gateprefixesdecided:.
Constants§
- ENFORCEMENT_
ADVISORY - ENFORCEMENT_
BLOCKING - SOURCE_
RELATIONSHIPS - SOURCE_
REVIEW - SOURCE_
SENTRY - SOURCE_
VALIDATE
Functions§
- build_
gate build_gate(directory, recursive)— run validation, relationships, and review, then enforce the corpus policy. Findings the policy turnsoffare dropped; the rest sort by(path, line or 0, source, code, message).- build_
gate_ with_ code - check_
overrides - The STRICT face of
load_overrides(ADR-053):build_gatevalidates thevalidationsection shape and raises where the oracle raises. The override VALUES applied to the pipeline come from the engine’s lenient loader insidevalidate_directory— identical whenever this check passes (the lenient reader only ever drops entries this one rejects). - load_
enforcement_ policy load_enforcement_policy(start_dir)— the STRICT readerbuild_gateconsumes. YAML 1.1 resolves a bareoffkey to Bool(false); both key spellings are accepted,offwinning (section["off"] if "off" in section else section.get(False)).