Most thresholds come from the tier defaults (see tiers.yaml). Use overrides
sparingly and keep evidence in the report.
Assurance scope note: the published assurance basis covers GPT-2
and BERT profiles. Repo-included presets and pilot configs for families such
as Mistral 7B, Qwen2 7B, Qwen2.5 7B, and Qwen2.5 14B expand runnable coverage, not the published
assurance basis.
Guard Pipeline Flow
Concepts
Guard lifecycle: the core runner calls prepare(...) (if implemented)
and always calls validate(...). Optional hooks (before_edit, after_edit,
finalize) are only used when you manage guards manually (e.g., with
GuardChain).
Tier policies: --tier balanced|conservative|aggressive resolves a full
policy bundle from runtime/tiers.yaml; overrides in config are merged on top.
Measurement contracts: Spectral and RMT guards record estimator + sampling
contracts in reports and are enforced by invarlock verify in CI/Release,
alongside required runtime.manifest.json runtime provenance for evaluation outputs.
guards.order defines the execution chain and is required in YAML presets. The
packaged presets include it by default; remove a guard from the list to skip it.
Troubleshooting
Guard prepare failed: set context.run.strict_guard_prepare: false in
your run config for local debugging, or adjust tier policies for the guard
that failed.
Spectral instability: lower sigma_quantile, narrow scope, or increase
deadband to reduce noise.
RMT ε-band violations: tighten calibration (more windows) or adjust
epsilon_by_family only if you are updating tier policy evidence.
Variance guard never enables: A/B gate may fail; inspect
variance.metrics.predictive_gate and variance.metrics.ab_gain in the report.
Observability
report.guards contains guard results by name.
reports include resolved_policy.{spectral,rmt,variance} and evidence
blocks (spectral.*, rmt.*, variance.*).
Validation flags are recorded under validation.* (invariants_pass,
spectral_stable, rmt_stable).