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
94 lines
3.1 KiB
Markdown
94 lines
3.1 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: finished
|
||
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: done
|
||
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: done
|
||
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: done
|
||
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.
|
||
|
||
2026-09-14: T01–T03 landed. Default coordination export/UI omit
|
||
`flavor: residual`; `--include-residuals` / `?include_residuals=true`
|
||
shows them. Indexed `depends_on` is drawn first; citation `waits_on` is
|
||
fallback and tagged `edgeSource: citation`. Live hub flavor still needs
|
||
STATE-WP-0092 alembic deploy; until then unspecified flavor stays visible.
|