generated from coulomb/repo-seed
Finish CUST-WP-0011 and implement STATE-WP-0061 suggestion backlog.
Add persisted Suggestion entities with WSJF ranking, relevance bumps, REST/MCP write surfaces, /suggestions dashboard page, and daily triage digest integration. Document the cluster operating model, archive the completed migration workplan, and seed WARDEN-WP-0012 routing scenarios.
This commit is contained in:
@@ -227,5 +227,8 @@ and age in days.
|
||||
---
|
||||
|
||||
*Capability requests are a sanctioned write use case of the State Hub alongside
|
||||
`resolve_decision` and `get_next_steps`. They do not originate in workplan files —
|
||||
`resolve_decision`, `get_next_steps`, and the suggestion backlog writes
|
||||
(`create_suggestion`, `vet_suggestion`, `decline_suggestion`,
|
||||
`promote_suggestion_to_task`, `bump_suggestion_relevance`). They do not
|
||||
originate in workplan files —
|
||||
they are operational coordination.*
|
||||
|
||||
49
dashboard/src/docs/suggestions.md
Normal file
49
dashboard/src/docs/suggestions.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Demand-Weighted Suggestion Backlog
|
||||
|
||||
The `/suggestions` page shows persisted **gated needs** that are not yet real
|
||||
tasks. Each unmet lookup increments `relevance`, which raises WSJF ranking.
|
||||
|
||||
## Stages
|
||||
|
||||
| Stage | Meaning |
|
||||
|-------|---------|
|
||||
| `suggestion` | Recorded need, not yet vetted |
|
||||
| `requirement` | Vetted with structured fields and notes |
|
||||
| `promoted` | Became a real `Task` (`promoted_task_id` set) |
|
||||
| `declined` | Rejected; terminal |
|
||||
|
||||
## WSJF projection
|
||||
|
||||
```text
|
||||
cost_of_delay = base_value + (relevance_weight × relevance)
|
||||
wsjf = cost_of_delay / job_size
|
||||
```
|
||||
|
||||
`GET /suggestions?rank=wsjf` returns open suggestions/requirements ordered by
|
||||
score. Promoted and declined entries are excluded unless
|
||||
`include_terminal=true`.
|
||||
|
||||
## Sanctioned writes
|
||||
|
||||
MCP and REST:
|
||||
|
||||
- `create_suggestion` / `POST /suggestions/`
|
||||
- `vet_suggestion` / `POST /suggestions/{id}/vet`
|
||||
- `decline_suggestion` / `POST /suggestions/{id}/decline`
|
||||
- `promote_suggestion_to_task` / `POST /suggestions/{id}/promote`
|
||||
- `bump_suggestion_relevance` / `POST /suggestions/{id}/bump-relevance`
|
||||
|
||||
Relevance also bumps automatically when:
|
||||
|
||||
- `GET /state/next_steps` surfaces open suggestions
|
||||
- A `CapabilityRequest` matches an open suggestion
|
||||
|
||||
## Daily triage
|
||||
|
||||
`GET /state/summary` includes `ranked_suggestions` for the activity-core
|
||||
`daily_triage_digest` resolver. See [WSJF Triage](/docs/wsjf-triage).
|
||||
|
||||
## Origin
|
||||
|
||||
Motivated by ops-warden `WARDEN-WP-0012` gated routing scenarios. Example
|
||||
backfill: `scripts/seed_wp0012_suggestions.py`.
|
||||
Reference in New Issue
Block a user