Project directory (real seed data, plumbing.store/demo-data)
| id | name | jurisdiction | system-type | status | licensed professional |
|---|---|---|---|---|---|
| proj-1 | Cherry Blossom Apartments Water System | JPN | water | intake | Smith Plumbing LLC (CA-P-123456) |
| proj-2 | Downtown Tower HVAC Retrofit | USA | hvac-heating | intake | Jones HVAC Inc. (TX-H-789012) |
| proj-3 | Berlin District Heating Modernization | DEU | hvac-heating | intake | Müller Heizung GmbH (DE-HZ-456789) |
Scenario runs (this page's demo, each row = one real g/run* call)
Every row below is the literal disposition/status/violations returned by driving plumbing.operation/build's compiled StateGraph through langgraph.graph/run* -- no value here is invented after the fact.
| thread | op | subject | disposition | run status | violations | what this demonstrates |
|---|---|---|---|---|---|---|
t1 | log-progress-record | proj-1 | commit | done | Happy path: milestone log auto-commits at phase 3 | |
t2 | flag-safety-hazard | proj-2 | escalate | interrupted | Always-escalate: safety hazard flag (initial exec, pauses for approval) | |
t2 | flag-safety-hazard | proj-2 | commit | done | Always-escalate: safety hazard flag (human approves -> commits) | |
t3 | request-inspection-review | proj-3 | escalate | interrupted | Always-escalate: inspection review request (initial exec, pauses for approval) | |
t3 | request-inspection-review | proj-3 | commit | done | Always-escalate: inspection review request (human approves -> commits) | |
t4 | log-progress-record | proj-9 | HARD hold | done | no-legal-basis, project-unregistered | HARD hold: :project-unregistered (unknown subject proj-9) |
t5 | schedule-crew-dispatch | proj-1 | HARD hold | done | no-legal-basis | HARD hold: :no-legal-basis (:schedule-crew-dispatch has no MockAdvisor case yet) |
t6 | log-progress-record | proj-2 | HARD hold | done | unresolved-hazard | HARD hold: :unresolved-hazard (proj-2's hazard from t2 is still unresolved) |
t7 | flag-safety-hazard | proj-2 | HARD hold | done | unresolved-hazard, already-flagged | HARD hold: :already-flagged + :unresolved-hazard together (repeat gas-leak flag on proj-2) |
Progress-record log (:log-progress-record commits)
| record_id | kind | project_id | jurisdiction |
|---|---|---|---|
| JPN-PRG-000000 | progress-record-draft | proj-1 | JPN |
Crew-dispatch proposals (:schedule-crew-dispatch commits)
Empty by design in this demo: plumbing.plumbingadvisor's MockAdvisor has no case for :schedule-crew-dispatch yet, so every proposal falls to the "Unknown op" handler (empty :cites) and hard-holds on :no-legal-basis -- see the Scenario runs table, thread t5.
| record_id | kind | project_id | jurisdiction |
|---|
Safety-hazard flags (:flag-safety-hazard commits)
Always human-approved before commit -- unconditionally high-stakes, every phase. There is no "resolve" action in this coordination-only actor, so an unresolved hazard hard-holds every later op on that project until a licensed professional resolves it outside this system.
| record_id | project_id | hazard_type | description | escalated |
|---|---|---|---|---|
| USA-HAZ-000000 | proj-2 | gas-leak | Technician reported a gas odor near the retrofit tie-in point during HVAC-heating installation | yes |
Inspection review requests (:request-inspection-review commits)
Always human-approved before commit -- only a licensed plumber/HVAC technician signs off on installation compliance.
| record_id | project_id | inspection_scope | requires human sign-off |
|---|---|---|---|
| DEU-INS-000000 | proj-3 | gas-tightness-test | yes |
Safety notices sent (real plumbing.notify, mock transport, no network)
plumbing.operation's graph does not itself call plumbing.notify (confirmed: the :notifier build option is accepted but unused in every graph node) -- this send is issued directly against the mock transport at the point a human approved the escalation, the same real hazard data (project, hazard-type) the graph itself governed.
| channel | to | status | subject / message |
|---|---|---|---|
| Jones HVAC Inc. | sent | Safety Alert: gas-leak detected |
Rollout phase gate (plumbing.phase/phases)
| phase | label | writes allowed | auto-commit eligible |
|---|---|---|---|
| phase 0 | read-only | (none -- always escalate/hold) | |
| phase 1 | assisted-intake | log-progress-record | (none -- always escalate/hold) |
| phase 2 | assisted-verify | flag-safety-hazard, log-progress-record | (none -- always escalate/hold) |
| phase 3 | supervised-auto | flag-safety-hazard, log-progress-record, request-inspection-review, schedule-crew-dispatch | log-progress-record |
Permanent high-stakes ops (plumbing.governor/high-stakes)
Deliberately absent from every phase's :auto set -- a structural fact, not a rollout milestone (plumbing.phase's safety-escalation invariant docstring).
| op | escalates | why |
|---|---|---|
| flag-safety-hazard | always | ALWAYS escalates to a licensed professional, every phase (plumbing.governor/high-stakes) |
| request-inspection-review | always | ALWAYS escalates to a licensed professional, every phase (plumbing.governor/high-stakes) |
Audit ledger (plumbing.store/ledger, append-only)
Committed facts carry :subject directly; this actor's HARD-hold ledger facts record :op + violation rules but not :subject -- cross-reference the thread id in the Scenario runs table above for which request a given hold corresponds to.
| op | subject | status | rules / basis | detail |
|---|---|---|---|---|
| log-progress-record | proj-1 | committed | progress-log-standard | Cherry Blossom Apartments Water System: Rough-in water piping installed; pressure test scheduled |
| flag-safety-hazard | proj-2 | committed | International Plumbing Code (IPC, adopted by most jurisdictions) / International Mechanical Code (IMC) / EPA Safe Drinking Water Act (SDWA) § 1431-1445 (backflow prevention), https://www.icc.org/products-services/standards/i-codes/ipc, gas-leak | Downtown Tower HVAC Retrofit: SAFETY ALERT - gas-leak |
| request-inspection-review | proj-3 | committed | DIN EN 806 (Installation of drinking-water systems) / Verordnung über Gasanlagen (GAVO, transposing Boiler & Pressure Equipment Directive 2014/68/EU) / Arbeitsschutzgesetz (ArbSchG, Framework Directive 89/391/EEC, worker safety during installation), https://www.dvgw.de/en/our-topics/drinking-water/technical-standards, Druckprobe für Trinkwasserleitungen (DIN EN 806-4, pressure-test record), Gas-Dichtheitsprüfung (gas-tightness test per GAVO), Rückflussverhinderer-Inspektion (backflow-prevention device, DIN EN 806-7) | Berlin District Heating Modernization: Request licensed professional inspection review |
| log-progress-record | (see Scenario runs above for subject) | HARD hold | no-legal-basis, project-unregistered | |
| schedule-crew-dispatch | (see Scenario runs above for subject) | HARD hold | no-legal-basis | |
| log-progress-record | (see Scenario runs above for subject) | HARD hold | unresolved-hazard | |
| flag-safety-hazard | (see Scenario runs above for subject) | HARD hold | unresolved-hazard, already-flagged |