You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Roadmap: normalise horizon vocabulary and add per-theme progress rollups at every grain #1207
Part of epic #1184 (PM stack coherence review, 2026-10-26).
Roadmap grains silently hide rows and the timeline has no progress rollup. Evidence: derive.ts roadmapDayGrain returns coarse/outside rows rendered only as a muted footnote; timeline() groups by Area x Horizon with no per-cell/per-theme counts or % done. Horizon vocabulary in seed data mixes 'Q4 2026', ISO dates, Ongoing, Now, Next, Later and Unscheduled, with the last three bucketed as opaque 'other' lanes.
Acceptance:
No row is reachable only via another grain; dateless rows render in a visible 'undated' lane.
Each theme header shows done/total rollups.
Horizon is constrained to a documented vocabulary and seed + live Grist vocabularies are validated by a script/test.
Acceptance criteria
No roadmap row is reachable only via another grain; dateless rows render in a visible 'undated' lane.
Each theme header shows done/total progress rollups.
Horizon is constrained to a documented vocabulary, and seed plus live Grist vocabularies are validated by a script/test.
Liveness: Verified still live at intake (2026-10-28): issue is open and unheld, and a merged-PR search for #1207 returned only unrelated text matches (no PR title or fix reference resolves this item). Part of epic #1184 (PM stack coherence review, 2026-10-26); sibling batch #1210–#1222 was enriched in the previous monitor run.
Notes: Related: #1628 (filed 2026-10-28) shows horizon dates are also never validated at the aggregator layer — month 13 invents a Q5 lane. Vocabulary normalisation here and validation there should agree on one documented vocabulary.
Risks: Scope creep across the pm-stack pages is the main risk for this batch; the acceptance criteria above (converted from the issue's original Acceptance list) bound the work. CI on the aggregator's render/derive tests is the verification surface.
Suggested approach: Take the acceptance criteria in order; keep the JSON twins in lockstep with the HTML pages, per the batch convention.
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
Verdict: triage already complete; fix exists as PR #3958 and now conflicts with main
Triage task 2485 posted the verdict here on 2026-11-01 (confirmed live) and queued implementation follow-up task 4917, which opened PR #3958 (queue/4917-1207-roadmap-horizon, 1 commit, 2026-11-01T20:02Z). The 2026-11-03 coverage join missed it because the issue has no queued/claimed task, only an open PR.
Fresh state (verified now):
origin/main is still unchanged on all three acceptance criteria: derive.ts keeps out-of-window rows as a bare outside count and undated rows in coarse (no visible undated lane); roadmap theme headers have no done/total rollup (the only done/total rollup in render.ts is the epic rollup); horizon remains free text in seed and live source.
Activity
developing-today commentedon Oct 27, 2026
CODE-341
dezren39 commentedon Oct 28, 2026
Intake review — fleet monitor
Liveness: Verified still live at intake (2026-10-28): issue is open and unheld, and a merged-PR search for
#1207returned only unrelated text matches (no PR title or fix reference resolves this item). Part of epic #1184 (PM stack coherence review, 2026-10-26); sibling batch #1210–#1222 was enriched in the previous monitor run.Notes: Related: #1628 (filed 2026-10-28) shows horizon dates are also never validated at the aggregator layer — month 13 invents a Q5 lane. Vocabulary normalisation here and validation there should agree on one documented vocabulary.
Risks: Scope creep across the pm-stack pages is the main risk for this batch; the acceptance criteria above (converted from the issue's original Acceptance list) bound the work. CI on the aggregator's render/derive tests is the verification surface.
Suggested approach: Take the acceptance criteria in order; keep the JSON twins in lockstep with the HTML pages, per the batch convention.
Labels normalised this pass:
source/human(coherence-review filer),effort/m,meta/enriched; existing kind/priority/status/app labels kept.13 remaining items
dezren39 commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done — duplicate triage packet; verdict already posted, fix PR is open but has bit-rotted (already_done)
Verdict: triage already complete; fix exists as PR #3958 and now conflicts with main
Triage task 2485 posted the verdict here on 2026-11-01 (confirmed live) and queued implementation follow-up task 4917, which opened PR #3958 (
queue/4917-1207-roadmap-horizon, 1 commit, 2026-11-01T20:02Z). The 2026-11-03 coverage join missed it because the issue has no queued/claimed task, only an open PR.Fresh state (verified now):
origin/mainis still unchanged on all three acceptance criteria:derive.tskeeps out-of-window rows as a bareoutsidecount and undated rows incoarse(no visible undated lane); roadmap theme headers have no done/total rollup (the onlydone/totalrollup inrender.tsis the epic rollup); horizon remains free text in seed and live source.git merge-tree origin/main origin/queue/4917-1207-roadmap-horizonreports a conflict inpm-stack/aggregator/src/render.ts(3 stages), caused by main moving under it since 2026-11-01 (e.g. Aggregator: one canonical work-item projection behind Today/Board/Needs-you/Projects #1206 canonical work-item projection, fix(aggregator): close 390px mobile audit gaps #4552). Diff is otherwise on-scope: derive/render/roadmap-horizon + seed/live validation script and tests, 11 files.Routing / ordering
render.tsconflict, re-run the aggregator tests) on task 4917's branch.render.tsblocks merge until the branch is refreshed; nothing here needs a decision from Drew.