Skip to main content
INFORMATIVEACTIVEDocumentation Governance

FLOW-05: Single Agent with Confirm Required

Source of Truth: tests/golden/flows/flow-05-single-agent-confirm-required/

Purpose

Multi-round approval workflow. Validates Confirm module integration where plans require explicit approval before execution.

Scope

This evaluation scenario validates:

  • Confirm module with decisions[] array for multi-round approval
  • Plan status transitions based on Confirm decisions
  • Trace recording of confirmation lifecycle events
  • ID binding relationships across modules

Non-Goals

This scenario does NOT evaluate:

  • Single-pass approval (see FLOW-01 for happy path)
  • Tool integration (see FLOW-03)
  • LLM enrichment (see FLOW-04)
  • Actual plan execution (focuses on confirmation semantics)

L2 Modules Exercised

ModuleRole in Flow
ContextImmutable anchor for Plan and Confirm
PlanContains execution strategy requiring approval
ConfirmRecords approval/rejection decisions
TraceRecords all confirmation lifecycle events

Key Protocol Fields

Confirm (Multi-Round)

  • confirm_id: UUID v4
  • target_type: "plan"
  • target_id: References plan_id
  • status: pending → rejected → approved
  • requested_by_role: Who requested approval
  • requested_at: When requested
  • decisions[]: Array of decision records
    • decision_id: UUID v4
    • status: "approved" | "rejected" | "cancelled"
    • decided_by_role: Who made the decision
    • decided_at: When decided
    • reason: Decision justification

Trace (Confirm Events)

  • events[]: Chronological confirmation events
    • confirm_submitted: Initial request
    • decision_rejected: First rejection
    • decision_approved: Final approval
  • All events reference confirm_id and decision_id

Integration Dimensions (L3/L4)

Minimal Integration for FLOW-05:

  • No Tool Integration (simple agent steps only)
  • No LLM Backend (pure confirmation semantics)
  • No Runtime Execution (trace contains confirmation events, not execution events)

Evidence

TypeLocationStatus
Golden Flowtests/golden/flows/flow-05-single-agent-confirm-required/✅ Passed
Input Fixturestests/golden/flows/flow-05-single-agent-confirm-required/input/Available
Expected Fixturestests/golden/flows/flow-05-single-agent-confirm-required/expected/Available

Expected Behavior

  • ONE Confirm object tracks full approval lifecycle
  • Multiple decisions added sequentially (reject, then approve)
  • decisions[0].status: "rejected" with rejection reason
  • decisions[1].status: "approved" with approval notes
  • Trace captures: confirm_submitted, reject_decision, approve_decision
  • Full audit trail via trace events

Invariants Tested

  • ID bindings validated via eq() rule:
    • plan.context_id == context.context_id
    • confirm.target_id == plan.plan_id
    • trace.context_id == context.context_id
    • trace.plan_id == plan.plan_id
  • Confirm status valid enum
  • Confirm target_type is "plan"
  • Decisions array has at least 1 entry
  • All decision_id values UUID v4
  • All reason fields non-empty

Protocol Invariant Milestone

FLOW-05 completion locks down Context, Plan, Confirm, and Trace minimum behavioral invariants for MPLP v1.0.


Document Status: Informative (Evaluation Scenario)
Source of Truth: tests/golden/flows/flow-05-single-agent-confirm-required/README.md