Live proofs
Real end-to-end runs, not mock-ups. Outputs and per-step verdicts are captured in
the repository under docs/audit/live-runs/.
Proven runs
| Workflow | Steps | Status | Failure | Result |
|---|---|---|---|---|
| WF-001 | 3 | completed | none | 3 / 3 passed |
| WF-002 | 5 | completed | none | 5 / 5 passed |
| WF-003 | 7 | completed | none | 7 / 7 passed |
| WF-004 | 6 | completed | none | 6 / 6 passed |
| WF-005 | 3 | completed | none | 3 / 3 passed |
| WF-006 | 6 | completed | none | 6 / 6 passed |
| WF-007 | 4 | completed | none | 4 / 4 passed |
| WF-009 | 6 | completed | none | 6 / 6 passed (provided candidate pool) |
| WF-010 | 4 | completed | none | 4 / 4 passed |
| WF-008 | 7 | ⟲ returned | STEP-06C — counter-review gate | 6 passed, audit returned, report withheld |
Nine workflows ran end to end and completed; a tenth, WF-008, was returned by
its gate. WF-001 ran against catalog v4.0.0; WF-002 and WF-003 against
v3.27.0; WF-004, WF-005, WF-006, WF-007, WF-009, WF-010 and WF-008 against
v4.1.0 — all 10 catalog workflows have now traversed live (nine completed,
one returned). WF-008 is not an end-to-end proof — its counter-review gate
halted the run before the report; it is the opposite kind of evidence: proof that
a gate can block a deliverable. WF-009 completed on a synthetic,
provided candidate pool (fictional by design, GDPR-safe for a public trace),
not autonomous sourcing — and it carries a second trace where the same
shortlist gate halted a no-candidate variant, so the pair shows the gate
discriminates. See the sections below.
Above these ten sits the dispatcher (WF-000, new in v0.9.0) — a router
that picks which workflow to run. Its runs are a different kind of evidence,
below.
WF-000 — Dispatch (router + pilot)
New in runtime v0.9.0, and a different kind of evidence: not an eleventh
workflow, but the dispatcher that decides which of the ten to run from a
free-form brief — and can decline. It is not a catalog workflow and is
not counted among the ten runs or the nine proofs.
Router — 19 / 20. Across twenty briefs the router matched the expected
workflow nineteen times. The twentieth is the point, not the flaw: on a
pre-signature solicitation with no RFP, it returned NO_MATCH — the deliverable
matched WF-006, but that workflow's entry state ("RFP received") was not met, so
it declined and flagged the near miss rather than forcing a fit.
Verbatim from docs/audit/live-runs/wf-000-router-live-result.json:
{
"score": "19/20",
"results": [
{
"id": "P11",
"expected": "WF-006",
"got": "NO_MATCH",
"match": false,
"detail": {
"status": "NO_MATCH",
"rationale": "Current state is a direct pre-signature solicitation with explicitly no RFP received, so while the expected deliverable (commercial proposal) matches WF-006's endpoint, its entry state 'RFP received' is not met and no other workflow starts from an unsigned prospect ask.",
"nearestMiss": "WF-006"
}
}
]
}
(19 matching results omitted; the single divergence is shown in full.)
Pilot P01 — fail-closed, then routed, then completed. Given an
under-specified brief the dispatcher returned PARAMS_MISSING and named what it
needed rather than guessing; once a human amended the brief it routed to
WF-001 with a plan, and WF-001 then ran to completed (3 / 3, catalog
v4.2.0).
Excerpt (the return-loop phase) from
docs/audit/live-runs/wf-000-pilot-p01-dispatch-live-result.json:
{
"phase": "unamended (return loop)",
"outcome": {
"status": "PARAMS_MISSING",
"route": "WF-001",
"missingParams": ["team_size", "project_method", "level_of_detail"]
}
}
Amended, it routed with a plan; the routed WF-001 run
(wf-000-pilot-p01-wf001-live-result.json) then completed:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-BUSINESS-ANALYST", "catalogTag": "v4.2.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-PO-SCRUM", "catalogTag": "v4.2.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-QA-AGILE", "catalogTag": "v4.2.0", "verdict": "pass" }
]
}
NO_MATCH and PARAMS_MISSING are controls, not failures: they are why the
nineteen routes, and the completed pilot, can be trusted.
WF-001 — AI Product Scoping
- Status: completed — failure: none
- Result: 3 / 3 steps passed (catalog
v4.0.0)
The scoping backbone, proven end to end: a raw brief becomes a prioritized backlog with acceptance criteria. Three steps ran, each gated (STEP-02 was not part of this run).
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-BUSINESS-ANALYST |
pass |
STEP-03 |
AGENT-PO-SCRUM |
pass |
STEP-04 |
AGENT-QA-AGILE |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-001-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-BUSINESS-ANALYST", "catalogTag": "v4.0.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-PO-SCRUM", "catalogTag": "v4.0.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-QA-AGILE", "catalogTag": "v4.0.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-002 — SAFe Agile Delivery
- Status: completed — failure: none
- Result: 5 / 5 steps passed (catalog
v3.27.0)
The SAFe delivery backbone: PI objectives, a prioritized program backlog, and an executive-committee dashboard, produced end to end.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-PRODUCT-MANAGER-SAFE |
pass |
STEP-02 |
AGENT-RELEASE-TRAIN-ENGINEER |
pass |
STEP-03 |
AGENT-PO-SAFE |
pass |
STEP-04 |
AGENT-SCRUM-MASTER |
pass |
STEP-06 |
AGENT-CHEF-PROJET-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-002-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-PRODUCT-MANAGER-SAFE", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-RELEASE-TRAIN-ENGINEER", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-PO-SAFE", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-SCRUM-MASTER", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-06", "assetId": "AGENT-CHEF-PROJET-IA", "catalogTag": "v3.27.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-003 — RAG Customer-Support Chatbot (Insurer)
- Status: completed — failure: none
- Result: 7 / 7 steps passed (catalog
v3.27.0)
| Step | Agent | Verdict |
|---|---|---|
STEP-00 |
AGENT-FINANCIAL-ANALYST |
pass |
STEP-01 |
AGENT-PROMPT-ENGINEER |
pass |
STEP-02 |
AGENT-AI-ARCHITECT |
pass |
STEP-03 |
AGENT-DEV-PYTHON-IA |
pass |
STEP-04 |
AGENT-QA-AGILE |
pass |
STEP-05 |
AGENT-DEVOPS-CLOUD |
pass |
STEP-06 |
AGENT-SECURITE-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-003-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-00", "assetId": "AGENT-FINANCIAL-ANALYST", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-01", "assetId": "AGENT-PROMPT-ENGINEER", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-AI-ARCHITECT", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-DEV-PYTHON-IA", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-QA-AGILE", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-05", "assetId": "AGENT-DEVOPS-CLOUD", "catalogTag": "v3.27.0", "verdict": "pass" },
{ "stepId": "STEP-06", "assetId": "AGENT-SECURITE-IA", "catalogTag": "v3.27.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-004 — AI Consulting Engagement
- Status: completed — failure: none
- Result: 6 / 6 steps passed (catalog
v4.1.0)
This run opens the fourth live-proven domain, Management & Consulting: a signed consulting engagement carried end to end, from maturity diagnostic to an executive-ready deliverable.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-CONSULTANT-IA |
pass |
STEP-02 |
AGENT-FINANCIAL-ANALYST |
pass |
STEP-03 |
AGENT-CDO-DIRECTEUR-IA |
pass |
STEP-04 |
AGENT-CHANGE-MANAGER |
pass |
STEP-05 |
AGENT-FORMATEUR-IA |
pass |
STEP-07 |
AGENT-REDACTEUR-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-004-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-CONSULTANT-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-FINANCIAL-ANALYST", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-CDO-DIRECTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-CHANGE-MANAGER", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-05", "assetId": "AGENT-FORMATEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-07", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-005 — Strategic Intelligence & Growth
- Status: completed — failure: none
- Result: 3 / 3 steps passed (catalog
v4.1.0)
The runtime's lightest backbone: raw market signals become a qualified
intelligence radar, an SEO content plan, and publishable posts. Three agents, one
carried field per hop (highlights → topics), every blocking and advisory check
passing.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-VEILLE-STRATEGIQUE |
pass |
STEP-02 |
AGENT-GROWTH-IA |
pass |
STEP-03 |
AGENT-REDACTEUR-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-005-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-VEILLE-STRATEGIQUE", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-GROWTH-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-006 — Pre-sales / Commercial Proposal
- Status: completed — failure: none
- Result: 6 / 6 steps passed (catalog
v4.1.0)
The complement to WF-008: where WF-008's counter-review gate said no, WF-006's opening GO / NO-GO qualification gate said yes on a legitimate opportunity, and the pre-sales chain ran through to the commercial proposal.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-CONSULTANT-IA |
pass |
STEP-02 |
AGENT-BUSINESS-ANALYST |
pass |
STEP-03A |
AGENT-AI-ARCHITECT |
pass |
STEP-04 |
AGENT-CHEF-PROJET-IA |
pass |
STEP-05 |
AGENT-FINANCIAL-ANALYST |
pass |
STEP-07 |
AGENT-REDACTEUR-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-006-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-CONSULTANT-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-BUSINESS-ANALYST", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03A", "assetId": "AGENT-AI-ARCHITECT", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-CHEF-PROJET-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-05", "assetId": "AGENT-FINANCIAL-ANALYST", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-07", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-007 — Mission Onboarding — Day 1–5
- Status: completed — failure: none
- Result: 4 / 4 steps passed (catalog
v4.1.0)
The first days of a new engagement, carried end to end: a kickoff plan with a
provisional RACI, a client-context sheet, a stakeholder engagement plan, and a
Day-1 report. Handoff idiom raci → clientContext → engagementPlan; the writer
synthesizes the onboarding kit from all prior deliverables.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-CHEF-PROJET-IA |
pass |
STEP-02 |
AGENT-BUSINESS-ANALYST |
pass |
STEP-03 |
AGENT-CHANGE-MANAGER |
pass |
STEP-05 |
AGENT-REDACTEUR-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-007-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-CHEF-PROJET-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-BUSINESS-ANALYST", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-CHANGE-MANAGER", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-05", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-009 — IT / AI Recruitment
- Status: completed — failure: none
- Result: 6 / 6 steps passed (catalog
v4.1.0)
The fifth live-provable domain, HR & Talent: a hiring need becomes a need
sheet, a technical assessment grid, a scored shortlist, and a publishable job ad.
The last three backbone steps are carried by AGENT-RH-IA (sourcing/scoring,
selection, offer).
Synthetic candidate pool — by design, not autonomous sourcing
CVs are exogenous to the workflow (they arrive after the ad is published), so the run is proven on a synthetic, fictional candidate pool provided into the run. This is a demonstrator affordance, GDPR-safe for a public trace — a real deployment would inject candidates at the sourcing step via an ATS side-channel, never thread real personal data through upstream steps. The content was inspected, not just the verdicts: the seeded weak profile scored 20 / 100 and was excluded, and the selected candidate differs from the fixture — genuine reasoning, not an echo.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-BUSINESS-ANALYST |
pass |
STEP-02A |
AGENT-CONSULTANT-IA |
pass |
STEP-03 |
AGENT-REDACTEUR-IA |
pass |
STEP-04 |
AGENT-RH-IA |
pass |
STEP-05 |
AGENT-RH-IA |
pass |
STEP-06 |
AGENT-RH-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-009-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-BUSINESS-ANALYST", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02A", "assetId": "AGENT-CONSULTANT-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-RH-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-05", "assetId": "AGENT-RH-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-06", "assetId": "AGENT-RH-IA", "catalogTag": "v4.1.0", "verdict": "pass" }
]
}
The same gate, saying no — a second WF-009 trace
To prove the shortlist gate discriminates rather than rubber-stamps, the same
spine was run with a no-candidate seed. STEP-04's blocking criterion
rh-shortlist-validated counts real candidates; with none, it fails closed and
the run halts before selection — the honest opposite of the completed run.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-BUSINESS-ANALYST |
pass |
STEP-02A |
AGENT-CONSULTANT-IA |
pass |
STEP-03 |
AGENT-REDACTEUR-IA |
pass |
STEP-04 |
AGENT-RH-IA |
fail — shortlist not validated |
Verbatim excerpt from docs/audit/live-runs/wf-009-live-result-gate-halt.json:
{
"status": "failed",
"failure": {
"stepId": "STEP-04",
"kind": "eval-gate",
"message": "Eval gate \"STEP-04\" failed (1 blocking criterion(s): rh-shortlist-validated)"
},
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-BUSINESS-ANALYST", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02A", "assetId": "AGENT-CONSULTANT-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-RH-IA", "catalogTag": "v4.1.0", "verdict": "fail" }
]
}
The two traces together are the point: one gate, a pass on real substance and a
fail-closed halt on an empty pool. (results and output per step omitted here
for readability; they are present in the source files.)
WF-010 — Project Post-mortem
- Status: completed — failure: none
- Result: 4 / 4 steps passed (catalog
v4.1.0)
The tenth and last workflow to be proven live: a closed project becomes a
5-Whys root-cause analysis, a quality and technical-debt review, a team review,
and a lessons-learned report. Handoff idiom improvementPlan → qualityReview →
teamReview; the writer synthesizes the report from all prior deliverables.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-CHEF-PROJET-IA |
pass |
STEP-02 |
AGENT-QA-AGILE |
pass |
STEP-03 |
AGENT-CHANGE-MANAGER |
pass |
STEP-06 |
AGENT-REDACTEUR-IA |
pass |
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-010-live-result.json:
{
"status": "completed",
"failure": null,
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-CHEF-PROJET-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-QA-AGILE", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-CHANGE-MANAGER", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-06", "assetId": "AGENT-REDACTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" }
]
}
(results and output fields per step omitted here for readability; they are
present in the source file.)
WF-008 — AI Act / GDPR Compliance Audit
- Status: ⟲ returned for rework — failure: STEP-06C (counter-review gate)
- Result: the six pre-report steps passed; the counter-review gate then
returned the audit, so the report step (STEP-07) was withheld by
design (catalog
v4.1.0)
This is a fail-closed halt, on purpose. The linear orchestrator carries a
counter-review clearance gate at STEP-06C: the AI Methodology Auditor must
return cleared for the run to reach the report. Here it returned returned
instead — five documented reservations, a four-entry bias log, and ISTQB exit
criteria — so the blocking criterion audit-verdict-cleared did not clear and
the run stopped before the deliverable. The first live run where a gate blocks
a report, rather than passing it.
| Step | Agent | Verdict |
|---|---|---|
STEP-01 |
AGENT-JURIDIQUE-IA |
pass |
STEP-02 |
AGENT-AI-ARCHITECT |
pass |
STEP-03 |
AGENT-SECURITE-IA |
pass |
STEP-04 |
AGENT-DATA-ENGINEER |
pass |
STEP-05 |
AGENT-CDO-DIRECTEUR-IA |
pass |
STEP-06 |
AGENT-CHANGE-MANAGER |
pass |
STEP-06C |
AGENT-AUDIT-METHODO-IA |
fail — audit returned |
STEP-07 |
— (report) | withheld |
STEP-06C's fail is the gate refusing to clear, not a broken step: the
auditor's own verdict was returned (not cleared), and the blocking
criterion audit-verdict-cleared requires cleared. The run then halted
fail-closed, so STEP-07 never ran and no report was emitted.
Evidence (excerpt from the live-run JSON)
Verbatim excerpt from docs/audit/live-runs/wf-008-live-result.json:
{
"status": "failed",
"failure": {
"stepId": "STEP-06C",
"kind": "eval-gate",
"message": "Eval gate \"STEP-06C\" failed (1 blocking criterion(s): audit-verdict-cleared)"
},
"traces": [
{ "stepId": "STEP-01", "assetId": "AGENT-JURIDIQUE-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-02", "assetId": "AGENT-AI-ARCHITECT", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-03", "assetId": "AGENT-SECURITE-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-04", "assetId": "AGENT-DATA-ENGINEER", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-05", "assetId": "AGENT-CDO-DIRECTEUR-IA", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-06", "assetId": "AGENT-CHANGE-MANAGER", "catalogTag": "v4.1.0", "verdict": "pass" },
{ "stepId": "STEP-06C", "assetId": "AGENT-AUDIT-METHODO-IA", "catalogTag": "v4.1.0", "verdict": "fail" }
]
}
The top-level status is failed because the run is fail-closed: a gate
that returns a deliverable stops the spine. Read it as returned for rework,
not as a broken pipeline — every step that ran, ran clean, and the halt is the
design working. (results and output per step omitted here for readability;
they are present in the source file.)