Skip to content

Runtime Governance Contracts

This page captures the Phase 0 contract surface for the GA runtime-governance spine. It is the short reference for what is stable, what evidence is produced, and how the control plane behaves when a service is unavailable.

GA Runtime Services

The May 2, 2026 GA runtime-governance services are:

  • SFExplainClient
  • SFScopeClient
  • SFRBACClient
  • SFRAGClient
  • SFLineageClient

They are coordinated by:

  • SFPolicyClient for loading, activating, replaying, simulating, and reviewing policies
  • SFOperatorClient for trace inspection and operator evidence export
  • SFEnterpriseClient for deployment posture, retention/export controls, and enterprise evidence packaging

Stable Service Contracts

ServiceStable responsibilityPrimary signed record
sf_explainGenerate runtime decision explanationsspanforge.explanation.v1
sf_scopeCheck agent capability and resource boundariesspanforge.scope.v1
sf_rbacCheck actor role and permission alignmentspanforge.rbac.v1
sf_ragRecord grounding scores, sources, and threshold outcomesspanforge.grounding.v1
sf_lineageCapture decision and data provenancespanforge.lineage.v1
sf_policyRecord runtime policy decisions, comparisons, replay, and reviewspanforge.policy.*.v1

The policy action contract is fixed at GA:

  • allow
  • allow+log
  • redact
  • block
  • human_review

Evidence Contract

Every runtime-governance flow is expected to support:

  • a trace-linked decision path
  • signed evidence for each control that ran
  • policy decision records that explain the final action
  • exportable JSON packages for operators and auditors

The two top-level packaging contracts are:

ExportProducerPurpose
Operator packagesf_operator.export_package()Incident review, trace-level explanation, control-owner handoff
Enterprise packagesf_enterprise.generate_evidence_package()Audit handoff, deployment posture, retention/export control evidence

Failure Semantics

The runtime-governance docs assume these semantics:

ConditionExpected behavior
Service returns a normal decisionSigned record is emitted and can participate in policy evaluation
Service has no matching policyRuntime request continues with service-local behavior and no synthetic block is introduced
Candidate-policy replay or simulation failsFailure is isolated to replay/simulation output and does not change production enforcement
Operator export runs with no matching trace evidenceExport still succeeds with an allow-style empty workflow summary rather than inventing controls

Fallback Behavior

SpanForge already documents broader local fallback behavior in configuration.md. For the GA runtime-governance story, the important rule is narrower:

  • Fallback is allowed for evidence continuity and local operation.
  • Replay and simulation must remain separate from live production enforcement.
  • Export packages must reflect the evidence that actually exists; they must not synthesize missing scope, RBAC, grounding, explanation, or lineage records.

When you need the wider service-registry and local-fallback details, see: