Skip to content

policy(memorable-builds): catalog + lint + whats-new template + captureDemo --hero-artifact#63

Merged
w1ne merged 19 commits intodevelopfrom
policy/memorable-builds-clean
May 4, 2026
Merged

policy(memorable-builds): catalog + lint + whats-new template + captureDemo --hero-artifact#63
w1ne merged 19 commits intodevelopfrom
policy/memorable-builds-clean

Conversation

@w1ne
Copy link
Copy Markdown
Owner

@w1ne w1ne commented May 4, 2026

Summary

Memorable-builds policy: structural enforcement that every `v0.X.0` ships a hero artifact (not a generic primitive). Implements §3 of the policy spec.

  • Spec: `docs/superpowers/specs/2026-05-04-memorable-builds-policy-design.md`
  • Plan: `docs/superpowers/plans/2026-05-04-memorable-builds-policy.md` (already on develop)

What's in this PR (19 commits)

  • Typed catalog (`scripts/lib/memorableBuildsCatalog.ts`) mirroring spec §2; `v0.1` and `v0.2` grandfathered.
  • Pure validator (`scripts/lib/demoMetaValidator.ts`) — catalog/denylist/override gates; unit-tested.
  • `scripts/lint-demos.ts` uses the validator for catalog + denylist + override checks.
  • `scripts/lib/whatsNewTemplate.ts` — three required sections (Hero artifact / Why memorable / What's new) + filler validator.
  • `scripts/captureDemo.ts` requires `--hero-artifact ` (exempted for `--rotate-only`); writes `heroArtifact` / `catalogSource` / `overrideApprovedBy` to meta.json.
  • Project-root `CLAUDE.md` — `v0.X.0` demo-discipline reviewer rule.
  • `docs/demos/README.md` — catalog/denylist rule appended.
  • Roadmap §H11 enforcement line points at the policy spec.
  • v0.21 donut hero-artifact build script (`examples/v0.21/donut.kcad.ts`) + `capture-demo:donut` npm script.

Verification

  • All 46 unit tests pass on this branch (typecheck clean).
  • Drift sentinels green.

Replaces #61

PR #61 was opened earlier on the original `policy/memorable-builds` branch. That branch's diff against current develop is misleading because it predates the merges of PR #62 (website) and others — its file list shows ~9.5K lines of which most are duplicates of already-merged work. This clean branch was cherry-picked from origin/develop and contains only the 19 unique policy commits.

Test plan

  • CI `qc` job passes
  • Manual: run `npm run capture-demo:donut` produces a v0.21/donut/ directory with valid meta.json.heroArtifact and whats-new.md
  • Manual: `scripts/lint-demos.ts` rejects a demo whose meta.json has `heroArtifact: 'box'` (denylist hit)

w1ne added 19 commits May 4, 2026 16:25
Pre-commits a 16-artifact catalog (v0.21 re-shoot through v1.0 capstone)
and binds the "recognizable hero artifact" bar through six structural
touchpoints — meta.json field, lint-demos denylist + catalog match,
whats-new.md template sections, demos README rule, gap-closure §H11
pointer, and reviewer-agent prompt addition. Replaces the implicit
"promo-grade MP4" guidance that let bracket-holes ship as the v0.21
demo. v0.2 box-minus-divider grandfathered; v0.21 re-shoots as donut.
@w1ne w1ne merged commit 675dfd0 into develop May 4, 2026
2 checks passed
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