Governed architecture overview · Framework newcomers, technical writers, engineering managers

Architecture Overview

How AgentVector places a deterministic boundary between what an AI agent proposes and what a system is permitted to do.

Source binding ✓ reconciled
Bound to
SwiftVectorCore @ tag v2.0.1 · Codex spec v2.2
Scope
Public architecture concepts and the reducer verdict contract. Excludes jurisdiction-specific rule tables.
Author
Stephen Sweeney — holds authority over accuracy
Drafting
AI-assisted under governed review. Every claim traces to the bound source or is marked as illustrative.

This document is written under a governed authoring process: an AI drafts, the named author holds authority over correctness, and every substantive change is recorded in the authoring trail at the end of the page.

Writing portfolio →

What AgentVector is

AgentVector is a framework for governing autonomous AI agents. It exists to close a specific gap: an agent reasons probabilistically, but the actions it emits — writing a file, sending a command, moving money, flying an aircraft — hit a deterministic world with real consequences.

The framework's central claim is that authority must live in state, not in prompts. A prompt can shape what an agent is likely to propose, but it cannot bind what a system will actually do — it is interpreted anew on every run and can be reworded around. AgentVector moves the binding decision out of the model's output and into a deterministic layer the model can inform but never unilaterally cross.

The framework has three parts, each answering a different question:

  • The Codex — a specification of governing Laws. Defines what must be enforced, in language, with no code. Read the Codex →
  • SwiftVector — the enforcement kernel. A deterministic state machine, written in Swift, that decides whether a proposed action is permitted.
  • Governance layers — domain-specific compositions (for aviation, desktop agents, records) that apply the Codex's Laws to where the agent operates.

How an action flows

Every consequential action an agent wants to take passes through the same path. The agent never touches the outside world directly; it proposes, and the kernel decides.

State ──▶ Agent ──▶ proposes Action ──▶ SwiftVector reducer ──▶ Verdict │ ┌───────────────────┬───────────────┴───────┐ ▼ ▼ ▼ AUTO_ALLOW AUTO_DENY ESCALATE │ │ │ effect runs blocked Principal decides │ │ └──────────▶ hash-chained evidence ◀────────┘ (new State)
Fig. 1 — The proposal→verdict→evidence loop. The reducer is a pure function: same state and action always yield the same verdict.

The key property is that the reducer is deterministic. Given the same state and the same proposed action, it returns the same verdict every time — which is what makes a governed run replayable: you can re-run the recorded sequence and reproduce every decision exactly. For safety cases and audits, that reproducibility is the whole point.

The verdict contract

Every action the reducer evaluates resolves to exactly one of three verdicts. This three-state gate is the core of the enforcement model.

Verdict Meaning What happens
AUTO_ALLOW Action is within the authorized envelope for the current state. Effect executes. Proposal, verdict, and result written to evidence chain.
AUTO_DENY Action violates a Law or domain rule. No human review can rescue it in this state. Effect blocked. Denial and reason recorded. State unchanged.
ESCALATE Action requires human judgment — a deliberate handoff, not uncertainty. Action held. Operator decides. Decision recorded with identity and rationale.

The presence of ESCALATE is what keeps a human meaningfully in command rather than nominally in the loop. It is not a catch-all for uncertainty; it is a deliberate handoff for the specific decisions the system is designed to reserve for a person.

Reading a verdict in code

A caller integrates the kernel by routing every side-effecting action through the reducer and acting only on an allowed verdict:

// The agent proposes; the reducer governs; effects run only on .allow
let verdict = reducer.evaluate(action, in: currentState)

switch verdict {
case .allow(let effect):
    effect.run()                 // only reachable path to the outside world
case .deny(let reason):
    log.blocked(action, reason)  // recorded, never executed
case .escalate(let request):
    principal.present(request)   // held for human decision
}

Why this is different from prompt-based control

A prompt-governed agent that "usually" refuses an unsafe action is one clever rephrasing away from performing it, because the refusal lives in the same probabilistic layer as everything else the model does. A state-governed agent cannot be talked past the boundary, because the boundary is not something the model evaluates — it is a deterministic gate the model's output must pass through before any effect runs.

Where to go next

Authoring trail

✓ chain intact · 4 entries

An AI drafted the prose; Stephen Sweeney holds authority over correctness. Each entry below is a substantive human intervention on the AI's draft — the change and, more importantly, why. This is what "a human stood behind it" means as a verifiable artifact rather than a claim.

a1f9…c204 2026-07-07 09:12 AUTHOR EDIT
On the verdict contract, the AI wrote that ESCALATE is used whenever the reducer is uncertain. Corrected to ESCALATE is a deliberate handoff for specific reserved decisions, not a catch-all for uncertainty.
Why: The draft implied the gate is a confidence threshold. It isn't — escalation is defined by rule, not by the reducer's uncertainty. This is a correctness error a reader would have carried into their mental model.
7b30…9e11 2026-07-07 09:08 AUTHOR EDIT
Flagged the Swift snippet as Illustrative and bound the claim to v2.0.1.
Why: The AI produced plausible method signatures from pattern, not from the source. Rather than delete a useful example, I scoped it honestly so it can't be mistaken for verified API. Accuracy is preserved without losing pedagogy.
3c8d…41aa 2026-07-07 09:01 AI DRAFT
Generated the full architecture overview, verdict table, and flow diagram from the source-binding brief.
Why: Scope given: Explain the three parts, the proposal→verdict→evidence loop, and the three-state gate for a newcomer. Do not invent jurisdiction rules.
0000…root 2026-07-07 08:57 SOURCE BOUND
Bound the document to SwiftVectorCore@v2.0.1 and Codex v2.2, and declared the author as authority over accuracy.
Why: Establishes the root of the chain. Nothing below it is authoritative except by reconciliation against this source.