railiance-fabric/workplans/RAIL-FAB-WP-0030-flavor-and-depends-on-graph.md
codex 3dc0ee8788
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Index RAIL-FAB-WP-0030 after fix-consistency writeback.
Also record hub IDs for RAIL-FAB-WP-0029 in the generated work-record index.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
2026-09-14 13:51:37 +02:00

88 lines
2.7 KiB
Markdown

---
id: RAIL-FAB-WP-0030
type: workplan
title: "Coordination graph: flavor classes and real depends_on edges"
domain: financials
repo: railiance-fabric
status: proposed
owner: grok
topic_slug: railiance
flavor: extension
depends_on:
- STATE-WP-0092
- RAIL-FAB-WP-0029
created: "2026-09-14"
updated: "2026-09-14"
related:
- CUST-WP-0072
- COORDINATION-WP-0005
origin: residual-policy
origin_ref: the-custodian/history/20260914-open-workplan-chokepoints.md
state_hub_workstream_id: "4805eaed-8376-559f-96f5-5d82a8d57928"
---
# Coordination graph: flavor classes and real depends_on edges
Workplan 3 of 3 for the flavor / `depends_on` change. Fabric remains a
**perspective** on State Hub (`RAIL-FAB-WP-0029`). Do not author
workplans here. Do not let the explorer become an editor.
Until `STATE-WP-0092` lands, keep recovering `waits_on` from task prose.
After it lands, prefer indexed `depends_on` edges and treat citation
edges as diagnostic fallback.
## Hide residuals in the default coordination view
```task
id: RAIL-FAB-WP-0030-T01
status: wait
priority: high
depends_on: [STATE-WP-0092, RAIL-FAB-WP-0029]
state_hub_task_id: "7a852b07-6c2a-5765-a963-f955ef2426cd"
```
`export --format coordination` and
`/ui/graph-explorer?mode=coordination` omit `flavor: residual` workplans
and their tasks by default. A control includes them (parity with hub
`include_residuals`). Unspecified flavor stays visible. Do not infer
residual from the word “residual” in titles.
Done when a residual node is absent from the default graph and present
when included, documented in `docs/coordination-graph.md`.
## Draw depends_on as first-class edges
```task
id: RAIL-FAB-WP-0030-T02
status: wait
priority: high
depends_on: [STATE-WP-0092, RAIL-FAB-WP-0029]
state_hub_task_id: "4238ab07-3f46-50e7-8862-bca66e9010a4"
```
Once the hub returns workplan `depends_on`, emit those edges in the
coordination export (distinct from `waits_on` citations and
`belongs_to`). Style flavor as a node class
(planning / implementation / refactoring / extension / residual).
Chokepoint sizing should use in-degree of **relevant** nodes by default.
Done when the explorer shows hub `depends_on` without requiring a
workplan id to appear in a wait note, and the two edge types are
legible as different.
## Keep citation recovery as fallback
```task
id: RAIL-FAB-WP-0030-T03
status: todo
priority: low
depends_on: [RAIL-FAB-WP-0029]
state_hub_task_id: "43e76e17-e6bb-55ab-8d48-bfbf0b458148"
```
Retain `waits_on` citation parsing for files that have not yet been
backfilled (`CUST-WP-0072`). Mark citation-only edges so they are not
confused with indexed `depends_on`. No new authoring surface.
Done when the docs state the precedence: indexed `depends_on` first,
citations as fallback, never the reverse.