railiance-fabric/docs/coordination-graph.md
codex 725e440b1e
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Adapt the coordination graph to flavor and indexed depends_on.
Omit flavor=residual by default, draw hub depends_on first, and keep
citation waits_on as a tagged fallback. Explorer checkbox and CLI
--include-residuals match State Hub include_residuals.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
2026-09-14 16:20:24 +02:00

50 lines
1.9 KiB
Markdown

# Coordination graph (workplans and waits)
State Hub owns workplans. Fabric does not author them. This view *projects*
open workplans and open tasks into the existing graph explorer so chokepoints
are inspectable.
```bash
# JSON payload (residuals omitted by default)
railiance-fabric export --format coordination --state-hub http://127.0.0.1:8000
# Include flavor=residual
railiance-fabric export --format coordination --include-residuals --state-hub http://127.0.0.1:8000
# UI (local registry server)
make graph-explorer
# then open
# http://127.0.0.1:8765/ui/graph-explorer?mode=coordination
# optional: &include_residuals=true
```
## Nodes
Open workplans (`proposed|ready|active|blocked|backlog`) and their open
tasks (`todo|progress|wait`).
`flavor: residual` workplans and their tasks are **omitted by default**.
Unspecified flavor stays visible. The word “residual” in a title is not a
flavor. The explorer checkbox / `include_residuals` query includes them
(parity with State Hub `include_residuals`).
Workplan nodes carry `flavor` / `nodeClass`
(`planning` | `implementation` | `refactoring` | `extension` | `residual` |
`unspecified`).
## Edges (precedence)
1. **Indexed `depends_on`** (`edgeSource: indexed`, `edgeType: depends_on`)
from State Hub workplan `depends_on` (and `/state/deps` when the list
endpoint does not yet carry the field). These do not require a wait note.
2. **Citation `waits_on`** (`edgeSource: citation`) when a wait/human task
cites another workplan id in its prose **and** no indexed `depends_on`
already exists for that pair. Fallback for files not yet backfilled
(`CUST-WP-0072`). Never the reverse: citations do not replace indexed
edges.
3. **`belongs_to`** task → workplan.
Chokepoint size is in-degree of **visible** (by default: non-residual)
workplan nodes from `depends_on` and remaining `waits_on` edges.
Solid blue = indexed `depends_on`. Dashed amber = citation `waits_on`.