symfonic.capabilities.governance.capability¶
capability ¶
The governance capability: seven concerns as one composition (T3.4.4).
compose is the only assembler. It builds the pipeline in the canonical
order from whatever ports the deployment actually has, and it leaves a
stage out rather than in-but-inert when its dependency is missing — an
inert stage in a trace is indistinguishable from a stage that examined the
turn and found nothing, which is the difference between "we checked" and
"nobody ever wired the checker up".
Credential hygiene is the exception: it needs no injection, so it is
always present. A deployment that genuinely wants no scrubbing says so
with patterns=[], which is recorded in the trace as a disabled stage
rather than as an absent one.
GovernanceCapability ¶
One object that answers: what does governance do to this turn, and why?
Source code in src/symfonic/capabilities/governance/capability.py
compose
classmethod
¶
compose(*, classifier: IntentClassifier | None = None, detector: FabricationDetector | None = None, reflector: Reflector | None = None, meter: TokenMeter | None = None, preconditions: Sequence[Objector] = (), guards: Sequence[Objector] = (), limits: BudgetLimits | None = None, patterns: Sequence[str] | None | object = USE_DEFAULT_PATTERNS, confidence_floor: float = 0.6, sensitive_terms: Sequence[str] = (), sensitive_tags: Sequence[str] = (), read_only_tools: Sequence[str] = (), trivial_ack_patterns: Sequence[str] = (), confidence: ConfidenceReporter | None = None, trigger_policy: MetacognitionTriggerPolicy | None = None, min_confidence: float = 0.6, refuse_min_confidence: float | None = 0.9, rulebook: RuleBook = CANONICAL_RULEBOOK) -> GovernanceCapability
Build the pipeline in canonical order from the available ports.
Source code in src/symfonic/capabilities/governance/capability.py
declarations ¶
The declaration table for the rulebook this capability composes.
describe
staticmethod
¶
Render the ordered stage/phase/failure-mode/rationale table.
This is the reviewable artefact: the same table a release note or a security review reads, generated from the objects the pipeline actually enforces rather than from a document beside them.