railiance-fabric/workplans/RAIL-FAB-WP-0030-flavor-and-depends-on-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

94 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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.