Home / Program Flow · Diagram
Program flow — lifecycle DAG & lineage
What program_run_full drives, end to end. Each stage produces typed entity nodes in one lineage graph, connected by relationship edges (derives, covers, seeds, tests, found_in, escalates_to, fixes). Disciplines dispatch to CI and land asynchronously via program_sync; insights then scores the graph. Every hop also writes a correlation trace, and every escalation chains into the audit ledger.
flowchart LR classDef stage fill:#eef2ff,stroke:#4338ca,color:#1e1b4b,font-weight:600; classDef ent fill:#ecfdf5,stroke:#15803d,color:#064e3b; classDef test fill:#fffbeb,stroke:#b45309,color:#7c2d12; classDef defect fill:#fef2f2,stroke:#b91c1c,color:#7f1d1d; classDef fix fill:#f0f9ff,stroke:#0369a1,color:#0c4a6e; classDef sys fill:#0f172a,stroke:#0f172a,color:#e2e8f0; START(["program_start
create program + trace_id"]):::sys CAP["capability
Discovery"]:::ent REQ["requirement
Requirements"]:::ent ARC["architecture
Architecture"]:::ent SOW["sow_section
SOW"]:::ent GOV["governance_item
Governance"]:::ent IAC["iac_bundle
IaC"]:::ent TS["test_strategy / test_case
Test Design"]:::test TDS["testdata_set
Test Data"]:::test RUN["discipline_run × 8
Testing Master → CI"]:::test DEF["defect
defect manifest"]:::defect CR["change_request
Governance"]:::fix PAT["patch
Patch"]:::fix NREQ["new requirement"]:::fix INS["health score + R/A/G
+ AI narrative
Insights"]:::sys AUD["audit ledger · chain_hash
Exception"]:::sys START --> CAP CAP -->|derives| REQ CAP -->|derives| ARC REQ -->|derives| IAC ARC --> SOW SOW --> GOV REQ -->|covers| TS TS -->|seeds| TDS REQ -->|tests| RUN TDS -.feeds.-> RUN RUN -->|found_in| DEF DEF -->|escalates_to| CR DEF -->|fixes| PAT DEF -->|raises| NREQ NREQ -.re-enters.-> REQ RUN --> INS DEF --> INS GOV --> INS CR --> AUD PAT --> AUD DEF --> AUD INS -.reads whole graph.-> START
Orchestration / system
Delivery entities
Testing entities
Defect
Escalation / fix
Edge labels are the real relationship types stored on program_edge. The defect → CR / patch / requirement fan-out is the closed escalation loop; a raised requirement re-enters the lifecycle. Dashed edges are asynchronous (test data feeds CI runs; insights reads the full graph after the fact).