Also record hub IDs for RAIL-FAB-WP-0029 in the generated work-record index. Assistant: grok Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
88 lines
2.7 KiB
Markdown
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.
|