FROZEN โ€” immutable history. Superseding/current decisions live in docs/decisions/. Do not edit.

ADR 0001: Flow Agents Consumes Flow For Workflow Enforcement

Date: 2026-05-24

Status

Accepted

Context

Flow Agents has been accumulating workflow sidecars, hooks, gate checks, evidence records, runtime exports, skills, provider settings, and Console ideas. That made the product useful, but it also blurred product boundaries with Kontour Surface and Kontour Veritas.

Surface already owns portable product transparency: claims, evidence, policies, freshness, gaps, and trust snapshots. Veritas already owns repo and AI-agent governance: repo standards, requirements, evidence checks, change guidance, and merge readiness.

Generic workflow enforcement is broader than Flow Agents and narrower than Veritas. It needs a focused owner.

Decision

Flow Agents will consume Kontour Flow for generic workflow enforcement instead of owning the generic enforcement kernel.

Flow owns:

  • Flow Definitions
  • Flow Runs
  • steps
  • gates
  • transitions
  • gate evidence
  • exceptions
  • continuation
  • Flow Reports

Flow Agents owns:

  • work modes
  • skills
  • provider settings
  • runtime adapters
  • native harness hooks
  • useful Flow-backed workflow Kits
  • Console views for agent users
  • local-first setup and runtime exports

Veritas remains an optional development governance evidence provider for Flow-backed Build workflows.

Consequences

Positive:

  • Flow Agents stays focused on agent-facing interoperability and seamless workflow enforcement.
  • Flow can serve non-agent or future agent consumers without inheriting Flow Agents-specific runtime concerns.
  • Veritas stays focused on repo/change governance rather than generic process state.
  • Surface remains the shared transparency foundation underneath both Flow and Veritas.

Trade-offs:

  • Flow Agents has to map existing sidecars into Flow concepts over time.
  • There is one more Kontour product boundary to explain.
  • Until Flow has a package, Flow Agents keeps its existing sidecar writer and hooks as the local implementation surface.

Alternatives Considered

Keep Workflow Enforcement In Flow Agents

Rejected because it would make Flow Agents responsible for both the agent-facing distribution and the generic process enforcement kernel.

Put Workflow Enforcement In Veritas

Rejected because Veritas should remain centered on repo standards and merge readiness.

Use Surface Directly

Rejected because Surface represents trust state but does not define process steps, gates, transitions, or continuation semantics.