A missing newline fused the closing delimiter onto the last frontmatter value (`- KONT-WP-0016---`), or fused a value onto the following key. Either way the frontmatter never terminates and the whole body is swallowed. Because workplan files are selected by `type: workplan`, such a file is not invalid but invisible: it appears in no projection, raises no error, and is reported as neither a workplan nor a problem. A forge-derived reset would therefore read its correct hub record as no longer deriving and propose retiring live work. Only the missing newline is inserted; no value is altered. Refs STATE-WP-0083-T08
1.5 KiB
1.5 KiB
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | completed | state_hub_workstream_id | note |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CUST-WP-0000b | workplan | State Hub v0.2 — Decisions, Suggestions & Dependencies | infotech | the-custodian | completed | custodian | custodian | 2026-02-25 | 2026-02-25 | 2026-02-25 | 6585ee66-aa4e-436e-bbec-d83293c33e8f | Pre-ADR-001 record. This workplan was created DB-first before the workplan-as-repository-artefact convention was established. Retroactive file written on 2026-03-11 to satisfy the ADR-001 consistency checker (C-08). |
State Hub v0.2 — Decisions, Suggestions & Dependencies
What was built
Delivered 2026-02-25, evolving the hub from a state tracker to an active coordination layer:
WorkstreamDependencymodel + migration0b547c153153— directed dependency graph between workplans- API:
POST/GET /workstreams/{id}/dependencies/,DELETE /workstreams/{id}/dependencies/{dep_id} - API:
GET /state/next_steps— derived next-action suggestions (never persisted) StateSummaryextended withnext_stepsanddepends_on/blockson workplans- Design boundary formalised: hub is a read model with exactly two write use cases — resolving decisions and suggesting next steps
- MCP:
get_next_steps()tool added scripts/script.py.makoadded (required for Alembic autogenerate)
References
- Alembic migration:
0b547c153153 - Design boundary document:
canon/architecture/(hub as read model) - CLAUDE.md global + railiance updated with
get_next_steps()in session start