Repository navigation
Closed
Labels
app/pm-stackpm-stack (Pad/Grist) in developing-today/codepm-stack (Pad/Grist) in developing-today/codeeffort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilotFiled or worked by the queue/worker pilot
Description
Split of #1122 (part 2 of 2), filed by queue task 3013 (Lane D, 2026-10-29). Gated on part 1, #2399 (Project pool graph edges contract) landing first — if #2399 is not merged/closed, park with the dependency named.
Scope (render only): in pm-stack/aggregator/src/program.ts, implement the four server-rendered elements on /program/ plus the project header rollup, consuming the part-1 contract (pool items carrying parent/blocked-by/epic edges and effort/mode labels):
- Complexity-weighted rollup — weights xs=1, s=4, m=12, l=40; unlabeled = unsized weight shown separately, never zero.
- Hands queue.
- Blocked weight + longest blocked chain.
- Depth graph — server-rendered SVG, mobile-first, no client JS.
Graceful absence: a project without sizing/graph data renders the v1 sections plus an explicit "not yet sized/graphed" note — never a fake 0%.
Acceptance:
- A sized+graphed project renders all four elements from live feed data; render tests cover weighted/sized/unsized/blocked shapes on CI.
- An unsized project shows the explicit note and no percentage.
- With part 1 (impl(aggregator+collector) part 1 of 2: Project pool graph edges contract (split of #1122) #2399) landed, parent impl(aggregator+collector): complexity-weighted project visualization (rollup, hands queue, blocked weight, depth graph) #1122's acceptance is fully met and impl(aggregator+collector): complexity-weighted project visualization (rollup, hands queue, blocked weight, depth graph) #1122 closes via this part's PR.
Acceptance criteria
- With part 1 (impl(aggregator+collector) part 1 of 2: Project pool graph edges contract (split of #1122) #2399) landed, /program/ renders all four elements from the pool graph contract: complexity-weighted rollup (xs=1, s=4, m=12, l=40; unsized weight shown separately, never zero), hands queue, blocked weight + longest blocked chain, and the server-rendered SVG depth graph.
- An unsized project shows the explicit unsized note and no percentage.
- Parent impl(aggregator+collector): complexity-weighted project visualization (rollup, hands queue, blocked weight, depth graph) #1122's acceptance is fully met by this part landing, and impl(aggregator+collector): complexity-weighted project visualization (rollup, hands queue, blocked weight, depth graph) #1122 closes via this part's PR.
Metadata
Metadata
Assignees
Labels
app/pm-stackpm-stack (Pad/Grist) in developing-today/codepm-stack (Pad/Grist) in developing-today/codeeffort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilotFiled or worked by the queue/worker pilot
Activity
developing-today commentedon Oct 29, 2026
CODE-1223
dezren39 commentedon Oct 29, 2026
Intake review
4 remaining items
dezren39 commentedon Oct 30, 2026
🤖 Agent note · picked up
dezren39 commentedon Oct 30, 2026
🤖 Agent note · parked
09ec60d6):src/graph.tsblocked weight + longest chain + depth layout, depth-graph SVG + absence states in the /program/ pool section, 13 new tests. Laptop suite 521 pass / 7 fail — all 7 are the pre-existing pages-manifest breakage on clean main (aggregator: pages manifest broken on main — PageDef.group missing (3 typecheck errors, 7 test failures) #2580), identical without this change.queue/3573-2400-weighted-renderfix(aggregator): memoize shared blocker tails in longest-chain DFS (#…
Merge pull request #2831 from developing-today/queue/3573-2400-weight…
dezren39 commentedon Oct 30, 2026
🤖 Agent note · done — merged
010378b6); this issue and parent impl(aggregator+collector): complexity-weighted project visualization (rollup, hands queue, blocked weight, depth graph) #1122 are closed by it. Gate verified first: part 1 impl(aggregator+collector) part 1 of 2: Project pool graph edges contract (split of #1122) #2399 is closed/landed.788e41e8— subtree-completion memoization with a cycle-guard hit counter so path-truncated results are never cached — with a regression test using Codex's own 32-item fan-out repro, and a disposition reply on the finding thread. Codex re-review on the new head: completed, no findings.