Skip to content

symfonic.capabilities.governance.stages.fabrication

fabrication

Fabrication checks: does the draft assert things nothing grounded?

Two thresholds, both explicit:

  • min_confidence — below it a finding is recorded and not acted on. Recording it anyway is the point: a deployment tuning its floor needs to see what it is currently ignoring.
  • refuse_min_confidence — at or above it the draft is refused outright. None opts out of refusal entirely, which is the safe default for an adopter who has not yet calibrated the detector against their corpus.

The stage also owns the v7.0.6 cross-signal: an action intent with no tool call in the turn is a finding regardless of what the draft says. That is the whole reason intent_filter is ranked ahead of this stage — the verdict must already be on the context when this runs.

FabricationStage

FabricationStage(detector: FabricationDetector | None, *, min_confidence: float = 0.6, refuse_min_confidence: float | None = 0.9)

Scan the draft, cross-check the intent, and report what is unsupported.

Source code in src/symfonic/capabilities/governance/stages/fabrication.py
def __init__(
    self,
    detector: FabricationDetector | None,
    *,
    min_confidence: float = 0.6,
    refuse_min_confidence: float | None = 0.9,
) -> None:
    self._detector = detector
    self._min_confidence = min_confidence
    self._refuse_min_confidence = refuse_min_confidence