Skip to content

Change Validation

Validate agent changes against causal reconstruction. A polished terminal answer can conceal a skipped role, erased veto, unstable convergence decision, provider fallback, or incomplete trace. The proof must expose those paths.

flowchart TD
    C[Changed orchestration behavior] --> Q{Which authority moved?}
    Q --> L[Lifecycle or role]
    Q --> P[Provider or retry]
    Q --> T[Trace or result]
    Q --> S[Convergence or stop]
    L --> A[Allowed, forbidden, veto, and abort tests]
    P --> F[Metadata, redaction, timeout, and fallback tests]
    T --> R[Round-trip, completeness, and parity tests]
    S --> W[Window, oscillation, exhaustion, and reason tests]

Risk-to-evidence matrix

Risk Required focused evidence
a role advances control itself forbidden-transition and controller-ownership tests
handoff loses substantive state typed round-trip with input, output, issues, and lineage
veto is overwritten merge, verification, finalization, and trace assertions
convergence is mistaken for correctness stable-wrong and correct-nonconvergent fixtures
retry changes provider invisibly ordered attempts, model metadata, error, budget, and fallback record
secrets enter evidence trace, log, snapshot, error, and structured-output redaction tests
trace omits a failure role error, controller decision, stop reason, and terminal entry assertions
result diverges from trace reconstruction parity across pass, veto, abort, and dry-run paths
replay status ignores model parameters temperature, model, configuration, and contract mismatch tests
HTTP and CLI meanings diverge shared outcome-field assertions and interface-specific failure tests

Select the narrowest useful command

packages/bijux-canon-agent/.venv/bin/python -m pytest \
  packages/bijux-canon-agent/tests/<area>/<test-file>.py -q

make test PACKAGE=bijux-canon-agent

Add only affected boundary lanes:

make api PACKAGE=bijux-canon-agent
make lint PACKAGE=bijux-canon-agent
make quality PACKAGE=bijux-canon-agent
make build PACKAGE=bijux-canon-agent
make docs-check

Prove failure paths without live secrets

Use deterministic providers, fakes, or recorded controlled responses for lifecycle and trace evidence. Explicitly test timeout, rate limit, malformed payload, cancellation, retry exhaustion, and fallback. Live-provider checks may supplement adapter evidence but cannot replace deterministic failure tests or prove replayability.

For trace changes, compare canonical snapshots with observational fields excluded only where documented. Verify schema upgrade and malformed historical input behavior before claiming compatibility.

Update configuration, artifact, limitation, and release documentation whenever a role, transition, provider requirement, outcome field, trace version, or stop condition changes.

Validation is sufficient when the final outcome can be reconstructed from the retained trace and every alternate terminal path remains explicit.