Skip to content

feat: Acceptance & Value model — Surfaces Part 2 (value pyramid & acceptance-aware rollups)#277

Merged
alexisbohns merged 12 commits into
mainfrom
claude/acceptance-value-model-surfaces-part2
Jul 19, 2026
Merged

feat: Acceptance & Value model — Surfaces Part 2 (value pyramid & acceptance-aware rollups)#277
alexisbohns merged 12 commits into
mainfrom
claude/acceptance-value-model-surfaces-part2

Conversation

@alexisbohns

Copy link
Copy Markdown
Owner

Summary

Completes the Acceptance & Value model surfaces (spec §3.4, §9.2, §9.3) on top of Part 1's /acceptances parity matrix. Every place that reads a view/flow's per-platform status now derives it from the acceptances covering it, and the value Pyramid ships.

  • Rollup seam (lib/utils/platform-status.ts): getEffectivePlatformStatuses(node, nodes, edges) — a view's per-platform status = the weakest (least-advanced) resolved status among its covering acceptances, falling back to the view's stored platformStatuses when uncovered. Plus addEffectiveNodeToRollup and computeFlowPlatformRollup (flow playlist rollup with effective views + acceptances covering the flow directly). computePlaylistRollup gained optional nodes/edges (default [] = unchanged stored behaviour).
  • Opted into the seam, so all surfaces agree: Overview product gauge (computeProductRollup), Journey graph, System map, Library cards, and the flow detail panel ("Computed Platform Statuses"). Delivery deliberately stays stored — acceptance is added as its own board species instead (additive, no double-count).
  • Value Pyramid: computePyramidAggregation util + a new /project/[id]/pyramid element-gauge grid (4 Bain tiers, per-platform gauges, platform chip filter, element → /acceptances?value=<id>) + sidebar entry + route wiring.
  • Overview cards: a Platform Parity card (gap count + widest gaps, → /acceptances?parity_gap=1) and a Value Pyramid mini-card (per-tier coverage gauges → /pyramid).
  • Infra: /pyramid documented in graph-model.md; CI wired for the two new suites; wobble registry regenerated for the new PyramidIcon (drift gate clean).

Behaviour/goldens: only one existing golden moves — test:coverage seed android 17→18, traced entirely to the single covered view V-pebble-detail now contributing its acceptance-derived development status. New test:effective-status (seam) and test:pyramid (aggregation) pin the new logic; test:journey-graph stays green (it pins structure, not rollup values).

Process: built task-by-task (subagent-driven), each with spec + code-quality review; a final whole-diff review (SHIP WITH NITS) surfaced two cross-surface inconsistencies (detail panel + system map still stored) which are fixed in the last commit.

Lab Note

en:
  title: See value delivery on the new Pyramid — and platform parity in every gauge
  summary: >-
    A new Value Pyramid page shows how well each of the 30 value elements is
    delivered, per platform and grouped by tier — click an element to see the
    acceptances behind it. And every view, flow, and product gauge now reflects
    the acceptances covering it, so status shows what's actually promised;
    the Overview gains a Platform Parity card and a Pyramid mini-card.
fr:
  title: Découvre la Pyramide de valeur — et la parité des plateformes dans chaque jauge
  summary: >-
    Une nouvelle page Pyramide te montre à quel point chacun des 30 éléments de
    valeur est livré, par plateforme et par étage — clique un élément pour voir
    les acceptations derrière. Et chaque jauge (vue, flow, produit) reflète
    maintenant les acceptations qui la couvrent, donc le statut montre ce qui est
    vraiment promis ; l'Aperçu gagne une carte Parité et une mini-Pyramide.
suggested:
  molecule: arkaik
  type: feature
  tags: [pyramid, parity, values, acceptances, changelog]

Test Plan

  • test:effective-status (new) — seam: weakest-link, uncovered fallback, flow direct-cover, seed goldens
  • test:pyramid (new) — value aggregation, tier order, unserved elements, platform filter
  • test:coverage — seed product rollup updated (android 17→18) and re-pinned
  • test:delivery — acceptance species expands one item/platform; existing assertions unaffected
  • test:journey-graph / test:maps / test:spotlight — structure goldens still green
  • test:acceptance / test:acceptance-matrix / test:value-icons / test:schema — green
  • npx tsc --noEmit + npm run lint clean; npm run generate drift gate clean
  • Manual: click through /pyramid (tiers, platform chips, element links), the Overview Parity + Pyramid cards, and a covered flow's detail panel vs its library card (gauges should now match)

🤖 Generated with Claude Code

alexisbohns and others added 12 commits July 19, 2026 17:14
Rollup seam, value Pyramid page, delivery acceptance toggle, and Overview
parity + pyramid cards. Nine tasks, TDD, goldens hand-derived from the three
seeded acceptances.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ances

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… registry

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
arkaik Ready Ready Preview, Comment Jul 19, 2026 4:13pm

@alexisbohns alexisbohns self-assigned this Jul 19, 2026
@alexisbohns
alexisbohns merged commit 3bfa914 into main Jul 19, 2026
5 checks passed
@alexisbohns
alexisbohns deleted the claude/acceptance-value-model-surfaces-part2 branch July 19, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant