Build queue
Living queue — shipped baseline, active track, next bets.
Single queue. Detail specs live in specs/ (active) or archive/specs/ (done/superseded). Implementation plans: plans/.
Formula: layout × style × content = site — see master spec.
Launch gate framing is retired (2026-06-15). The publish loop, builder, /styles, skins DS, pricing page + SKUs all shipped — see §Shipped baseline. Commercial sequencing still lives in the pricing spec ([2026-06-13-launch-pricing-studio-sequencing-design.md](../../docs/superpowers/specs/2026-06-13-launch-pricing-studio-sequencing-design.md)); product IA in the master spec ([2026-06-13-launch-platform-master-spec.md](../../docs/superpowers/specs/2026-06-13-launch-platform-master-spec.md)). Templates / Recipes / Studio are future tracks (§Post-gate, §Backlog), not blockers.
Active track — Builder UX polish (2026-06-27)
Zone: app-surface — contract docs/zones/app-surface.md · skill app-surface-zone (auto-loads on src/components/builder/**, src/app/(app)/**).
Component Registry + Widget Library and nersh npm publish are closed.
| Track / candidate | Spec / pointer | Notes |
|---|---|---|
| Builder UX polish ← active | plans/2026-06-14-outline-accordion-editor.md · plans/2026-06-14-builder-site-pagination.md · plans/2026-06-15-shell-styles-builder-fixes.md | Draft route chrome parity, N-logo mobile island, chat portaled bottom-right, empty-canvas attention ring; pagination PR-B (hero frame) still open |
| Composable composition + flow | [2026-06-28-builder-composable-layout-flows.md](../../docs/superpowers/specs/2026-06-28-builder-composable-layout-flows.md) · plan [2026-06-28-builder-flow-suggestions.md](../../docs/superpowers/plans/2026-06-28-builder-flow-suggestions.md) | M2 shipped — layout-shell/column suggestions + outline Next CTA; next: M3 block recipes / structural compose |
| Story Ring avatar | StoryRingAvatar · storyRingPrefs · Account → Profile controls | WIP — solo/duo/brand rings + random cycle; link-stack site avatars still on skin tokens |
| In-app domain registration | [2026-06-09-domain-registrar-north-star.md](../../docs/superpowers/specs/2026-06-09-domain-registrar-north-star.md) · plan [2026-06-28-domain-registration-pipeline.md](../../docs/superpowers/plans/2026-06-28-domain-registration-pipeline.md) | Done — Porkbun M0-M3 shipped (#312); spike domain validated; env vars live |
| Post-gate Phase 2 | §Post-gate below | Flip TEMPLATES_SURFACED / RECOMMEND_* + QA |
Shipped — Component Registry + Widget Library
Spec: [2026-06-15-component-registry-styles-widget-library.md](../../docs/superpowers/specs/2026-06-15-component-registry-styles-widget-library.md)
Phase 1 plan: [2026-06-15-component-registry-phase1.md](../../docs/superpowers/plans/2026-06-15-component-registry-phase1.md)
One registry of site components/widgets (built from atoms), surfaced as a bento mosaic that is also the context-aware insert picker (one library, two contexts: /styles browse-all + builder context-filtered via layoutInsertRules).
Design north star — "widget tetris": a packed bento mosaic where each widget claims a footprint (aspect + span) sized to its own shape — media is aspect-driven; nothing crammed into a too-small tile or marooned in a too-big one. shadcn create-page feel. Greenfield — zero reuse of the orphaned SiteSectionRegistryBrowser (dead stacked rows) or the live-but-weak CatalogueDashboardCanvas (col-span-full chunking + mono debug badges). Both replaced. Scope (core + 5 domain packs: local-service · creator · tech · blog · ecom, ~50 widgets) locked in spec §4. Wireframe locked (session artifact).
Plan: [2026-06-15-component-registry-phase2-bento.md](../../docs/superpowers/plans/2026-06-15-component-registry-phase2-bento.md) covers P2a–P2e.
| Phase | Scope | Status |
|---|---|---|
P0 — bucket facet | ComponentBucket + resolver | Done — ccf7abd |
| P1 — contact-card | link-stack → vertical+horizontal | Done — 7d43162 |
P2a — footprint facet | aspect + span on SectionMeta (mirror P0) | Done — #223 e0e8ffa |
| P2b — registry source reader | getLibraryWidgets() over builtin (seam for external/user) | Done — #223 |
P2c — WidgetTile | skinned preview at footprint aspect + Use | Done — #223 |
P2d — WidgetGallery | bento mosaic + bucket chips | Done — #223 |
P2e — mount in /styles + delete dead catalogue surfaces | SiteStylesTab Components tab; SiteSectionRegistryBrowser + CatalogueDashboardCanvas gone | Done — #223 |
| P3 — context filter (builder) | bento = insert picker via layoutInsertRules | Done — InsertLibrary → WidgetGallery + insertLibraryContext (#branch fix/tsconfig-templates-exclude) |
| P4 — 8starlabs wraps | timeline · flip-clock→countdown · marquee→logo cloud · status · system-banner→announcement · heatmap · partition-bar | Done — branch feat/p4-8starlabs-site-sections (0551856–88931e0); merge pending |
| P5 — new interactive widgets | video, gallery, music, product detail, variant, add-to-cart, reviews, ToC, reading progress + atom recipes | Done — feat/p5-interactive-widgets (15 widgets); open PR after #245 merges |
| P6a — user-saved components | save section subtree → RTDB → "My components" bucket in WidgetGallery + re-insert | Done — #248 |
| P6b — per-level overrides + inspector | override propagation, DS inspector panel | Done — PR #256 / #258 |
Open design decisions (spec §10)
Nav = section or chrome (deferred) · music-player: Spotify iframeEmbed (resolved P5) · footprint packing: resolved — dense grid shipped (#223).
Shipped — nersh CLI (npm)
Spec: [2026-06-20-ner-cli-publishing-design.md](../../docs/superpowers/specs/2026-06-20-ner-cli-publishing-design.md)
| Package | npm version | Status |
|---|---|---|
create-nersh | 0.1.6 | Live — npm create nersh@latest |
@nersh/render | 0.2.4 | Live — peer deps declared (0.2.1+) |
P1 portable core + P2 scaffold shipped. npm Automation token configured — future publishes need no OTP. Remaining: nersh dev, deploy funnel, @nersh/mcp (spec §Phases P3–P4).
Shipped — Professional layout + layouts gallery (2026-06-24)
Spec: [2026-06-23-professional-layout-design.md](../../docs/superpowers/specs/2026-06-23-professional-layout-design.md) · Plan: [2026-06-23-professional-layout.md](../../docs/superpowers/plans/2026-06-23-professional-layout.md)
| Piece | Status |
|---|---|
professional composition + sidebar/card sections | Done — #266–#268 |
/compositions gallery — all 5 layouts + portfolio live Sheet | Done — #267 |
Wizard /professional/new — résumé PDF pre-fill + manual form | Done — M0–M2 |
| LinkedIn auto-import (M3) | Deferred — extract-linkedin returns 501; no scraper |
| Orphan ScrapingDog module removed | Done — #269 |
Shipped — Skins as full hosted design system (do not re-open unless regressing)
| Spec | Scope | Status |
|---|---|---|
specs/2026-05-29-skins-virgil-google-apple-claude.md | Skin set: drop Editorial/Brutalist, Material→Google; P0 alignment | Done — 9 adaptive presets incl. google/apple/claude |
specs/2026-05-30-skin-depth-components.md | Layout + component + media tokens on SiteSurface | Done — P2a–P2d shipped; P2c gallery polish optional |
specs/2026-05-30-skin-component-libraries.md | Architecture decision: shared Site* primitives, no per-skin UI libs | Reference — governs migration |
specs/2026-05-31-skin-design-system-catalogue.md | /ds/site catalogue — all builder sections under one switchable skin scope | Done — P3 signed off 2026-06-06 |
specs/2026-06-03-nertia-default-design-system.md | Canonical default DS — /ds/nertia, pinned on /skins, manifest in src/lib/nertiaDesignSystem/ | Done — Phases 0–4 shipped |
specs/2026-06-03-skins-ds-plan.md | Contract §1/§8, media leveling, legacy unblock, adapter phase 3 | Phases 1–3 done — showcase roster = 3 skins |
Build state (code reality)
| Piece | Status |
|---|---|
SiteSurface, SiteButton, /ds/site route, skinCatalogue.ts | Built |
siteMediaTreatment + .site-media-* on hero/projects/collection/about/testimonials | Built (2026-06-03) |
google / apple / claude distinct in ADAPTIVE_SKINS (legacy map) | Built |
designSystemsAdapter — builtin reads via siteTokens | Built (batch 1 importers) |
SiteCard, SiteHeading, SiteSectionShell primitives | Built (2026-06-03) — polymorphic card, align/level heading, section-py token shell |
Sections on SiteSectionShell + token classes | Done — exceptions: link-stack (own CSS), lead-form (specialized card), click-to-call-bar (aside) |
Sections on SiteButton | Done — all CTA-bearing sections incl. lead-form + contact forms |
MUTED_TEXT / inline style={{}} | Eliminated from all sections (one dynamic alignItems remains in marketing-hero) |
/ds/site acceptance criteria (P3) | Signed off 2026-06-06 — 22 sections, variant rows, skin tabs |
Build track — parallel work (not Phase 2)
Work that does not add launch nav tabs. Detail specs unchanged; execution follows gate sign-off.
| Spec | Scope | Status |
|---|---|---|
specs/2026-06-05-domain-launch-factory.md | Particle launch — SEO packaging + bottle rocket | Built — prod dogfood bend.cleaning open |
specs/2026-06-04-bend-cleaning-fresh-import.md | Client vertical slice | Signed off — handoff / next client |
specs/2026-06-09-mvp-closeout-design.md | Gate checklist overlap | Reference — IA superseded by master spec |
| Templates GA | Flip TEMPLATES_SURFACED | Phase 2 — see §Post-gate |
| Layouts GA | Flip COMPOSITIONS_SURFACED | Phase 2 — see §Post-gate |
| Recipes GA | Flip RECOMMEND_* | Phase 2 — see §Post-gate |
Sequence: skins DS → launch gate → Particle prod QA + client delivery → Templates/Recipes surfacing.
Next track — DS library that converts (planning done 2026-06-03)
The forward bet: a design-system library where each skin changes the entire
look yet applies to any layout, with curated layout × skin pairings that
convert per archetype (service/local lead-gen first). Reconciles the layout
/ skin / template dovetail. Audit verified; engine plans still unstarted in code.
| Spec | Scope | Status |
|---|---|---|
specs/2026-06-03-ds-layouts-reconciliation-audit.md | Canonical model site = layout × skin × content; maps 6 overlapping sources → homes; 2 contract changes | Executed (2026-06-03 verification — see spec § Execution results) |
specs/2026-06-03-layouts-sections-plan.md | Layout axis: lead-gen research → extract layout axis → section gaps → build order | Plan — phase 1–2 done (src/lib/layouts/) |
specs/2026-06-03-skins-ds-plan.md | Skin axis: research → contract §1/§8 → adaptive migration → showcase roster (3) | Plan — Phases 1–2 done; contract in design-system-contract.md |
specs/2026-06-03-app-flow-plan.md | Dovetail: template fast-path + axis-swap power-path across start//skins//ds/editor | Phase 4 done (2026-06-10) — /skins redirect, live re-skin preview, start DS defaults |
specs/2026-06-10-prod-scratch-site-create-incident.md | Prod P0: /start/slug create 500 — undefined RTDB fields + fragile DS defaults lookup | Done — 94b12cb / PR #92 |
specs/2026-06-04-recommendation-engine-cleaning-x.md | Recommendation v0: fractal pattern sampling + Persona X build weights over cleaning corpus (not catalogue picker) | Done — /recommend + POST /api/recommend/recipes |
specs/2026-06-05-shadcn-first-patterns-plan.md | Fix section bottleneck — shadcn blocks → Site* primitives → skin; pattern variants not monoliths | Done — src/lib/patterns/, phases 0–4 |
specs/2026-06-04-bend-cleaning-fresh-import.md | Bend Cleaning vertical slice — Figma parity QA on bend-cleaning | Live — bend.cleaning published; hero/gallery/Cal.com on prod (#291–#301); write guardrails + admin seed UI removed (2026-06-27) |
specs/2026-06-19-prod-site-write-guardrails-design.md | CLI/editor prod write safety — backup, merge copy patches, block unpublish | Done — updateSite merge + putSite guard + pre-write backup on protected sites; seed:push deleted |
specs/2026-06-05-domain-launch-factory.md | Particle launch ritual — SEO packaging checklist + bottle rocket UX | Built — pipeline shipped; prod dogfood on bend.cleaning |
specs/2026-06-11-insert-library-design-v2.md | Insert drawer v2 — outline tree, nested selection, mobile sheet | Done — fbb513b; QA plan signed off |
specs/2026-06-07-first-publish-ship-ritual.md | Free first publish — digital warehouse overlay, directory drop | Done — ShipWarehouseOverlay on main |
specs/2026-06-07-page-load-animation-system.md | Per-site page-load presets (bend-cleaning bubbles) | Done — prod re-seeded 2026-06-07 |
specs/2026-06-07-booking-section.md | booking section + SiteBookingEmbed (Cal.com / Calendly) | Done — in bend stack |
specs/2026-06-07-site-frame-and-full-bleed.md | Site frame edge/page + fix per-section full bleed | Shipped (26eeb75) — /ds/site specimen remains |
specs/2026-06-09-ai-enhanced-generation-tier.md | Canonical — AI enhanced: Suno UX + SOP pipeline + preview/apply; supersedes FL session model | M1–M5 done — full pipeline, panel, credits, credit-pack checkout, chat 410; M6 deferred (Wave→credits migration) |
specs/2026-06-06-8starlabs-app-shell-extensions.md | First public shadcn directory import — @8starlabs registry, /ds specimens, app/admin only | Done — 5 components, gallery + admin status |
specs/2026-06-05-scout-specimen-catalogue.md | Scout (corpus + ranker) proposes; specimen table (RTDB + builtins) pins; gallery/start read specimens; /recommend reads both | Phases 1a–4 + 2b done (2026-06-09) — /start suggested strip with RECOMMEND_START_STRIP |
| specs/2026-06-10-ds-skins-ia-replan.md | Design hub: shadcn presets only, virtual zinc, soft gate, my-systems + sub-skin forks | Done (2026-06-08) — 4-tab /styles hub, build order 1–9, redirects + e2e |
| specs/2026-06-08-shadcn-create-skins.md | Pivot — skins = component library config (style × baseColor × theme); /styles = shadcn/create UX; multi-provider schema (shadcn v1, MUI stub) | Done — Phase 5: Get Code, workshop import, nertia ds export/import, MCP validate_library_config, siteShapes re-export (2026-06-09) |
Ownership (2026-06-13): Scott — Phase 1 QA on builder + styles + layouts. Agent — test hygiene, Particle prod dogfood, doc/spec sync.
Post-gate — Phase 2 (dynamics + prompt lite)
Not launch. Opens after Phase 1 exit. Master + pricing specs align on scope.
| Work | Spec | Notes |
|---|---|---|
| Templates surfacing | master §Phase 2 | Flip TEMPLATES_SURFACED; manifest QA green |
| Recipes / recommend strip | master §Phase 2 | Flip RECOMMEND_* when taxonomy stable |
/start prompt seed | pricing §Phase 2 | One prompt → layout + style + copy in existing editor; 1–5 AI enhanced credits |
| Pricing copy | pricing §Phase 2 | “Describe your site at start” — no new SKU |
Code today: RECOMMEND_SURFACED / RECOMMEND_START_STRIP still true — tighten before or at gate per master §Drift.
Sequence: Phase 1 gate → Phase 2 dynamics → client delivery at scale → Phase 3 Studio (below).
Internal R&D — Explore Queue
Personal X capture → slow classify → admin triage inbox. Scott-only v0; uid-scoped paths for future Wave users.
| Spec | Scope | Status |
|---|---|---|
specs/2026-06-05-explore-queue-design.md | Bookmarks poll; burn: topic lanes + disposition (enhancement/overhaul/trash); /admin/explore | Done — capture + burn crons, admin inbox |
Ops — standing hygiene
| # | Task | Source |
|---|---|---|
| 1 | Keep prod (main) deploy current on Vercel after merges | — |
| 2 | Vitest green before merge | master spec §Drift — green 2026-06-15 |
| 3 | Manual P0 publish-roundtrip smoke after builder/styles changes | manual-qa-soft-launch.md (reference, not a gate) |
Shipped baseline (done — do not re-implement)
The launch gate: first-time user claims slug → edits in dashboard → publish → {slug}.nertia.ai matches preview. No AI required. Met.
| Area | What shipped |
|---|---|
| Tier 1 cake | Full publish payload, owner PATCH + 403 test, image/file/list fields, publish roundtrip Vitest |
| Builder | dnd, viewport, duplicate, hide, export/import, skin customize → /skins; /builder/[slug] redirects to dashboard editor |
| App shell | (app) route group, compositions/skins nav, /community → /compositions, directory + listingEnabled |
| Custom domains | BYOD checkout, resolve, middleware (7682c4f) |
| Tier 2 UX | Sections |
| Skins library | /skins CRUD + export, import wizard on /skins/new, POST /api/ds-extract, builder merge |
| SEO | resolveSeo pipeline, dashboard preview, auto-metadata from copy+ds+status |
| Feedback Loop v1 | Chat, Stripe checkout + Customer Portal, undo, RTDB history, rate limit 10/min, upgrade banner (streaming deferred) |
| Analytics | analyticsStore, /api/analytics/hit, hosted beacon, Overview chart |
| Social | OAuth routes + Settings UI + hourly cron; prod provider apps still need live-feed QA |
Detail specs for the above: specs/2026-05-27-seo-metadata-system-design.md, specs/2026-05-29-builder-roadmap-design.md, specs/2026-05-29-builder-feature-completion.md, specs/2026-05-29-design-system-builder-design.md, specs/2026-05-29-feedback-loop-design.md.
Backlog — Phase 3 Studio (post-launch)
Not before Phase 2. Customer-facing name Studio (retire “Pro” in copy). Full definition: pricing spec §Studio + §Phase 3.
| Work | Source | Note |
|---|---|---|
| Studio Stripe SKU + checkout | pricing §Phase 3 | Target $60–100/mo — finalize after Phase 2 unit economics |
Remove greyed /pricing card | pricing §Phase 3 | Enable CTA when SKU live |
| Greenfield factory / prompt-first entry | pricing §Phase 3 | Dedicated flow or upgraded /start — not /pro at launch |
| Custom app mode + hosted renderer | pricing §Phase 3 | standalone slot; battlezone dogfood before marketing |
| BYOK + Studio credit pool | pricing §Phase 3 | Supersedes à la carte Hosting + AI enhanced — not stackable |
2026-06-08-ai-tier-competitive-research.md | Research appendix | Architecture lane validation for Studio |
Backlog / deferred (your call)
| Work | Source | Note |
|---|---|---|
| Feedback Loop streaming responses | feedback-loop-design.md | Deferred — add when chat UX feedback arrives |
/ds skin swatches (F3) | NEXT-QUEUE.md Lane F | P3 polish |
| GTM / business (Lane D) | NEXT-QUEUE.md · pricing spec | Launch SKUs locked in pricing spec; Lane D = ops/GTM polish only |
| AI enhanced — Wave session retire | 2026-06-09-ai-enhanced-generation-tier.md | M6 — retire feedbackLoop/sessions UI path after credits migration stable |
| Shell slots / layout wrapper toggles | Session 2026-06-05 | Deferred |
| Entanglement / Particle / Wave services | business-model-design.md | Scott engagements — no product surface |
| Legacy template migration banner | builder-roadmap-design.md §3.4 | Not built |
| In-app domain registration | specs/2026-06-09-domain-registrar-north-star.md · plans/2026-06-28-domain-registration-pipeline.md | Done — M0-M3 shipped (#312); Porkbun validated |
Parallel track — Populated templates (Phase 2 — not launch nav)
Manifest-driven sites: contentSchema + bindings + seed → POST /api/templates/apply. Owner-preview only until Phase 1 exit; flip after gate. See master spec §Phase 2 and build.md §Post-gate.
| Piece | Status |
|---|---|
| M0 schema, repeater, manifest, apply API | Done |
| M1 nine templates + adaptive skins (bold-dark, editorial-mono, soft-warm, clean-pro) | Done |
| Start flow + slug availability + export/validate APIs | Done |
| Layout QA 9×4 skins (vitest apply + collection JSON) | Done |
Builder labels/help from contentSchema bindings | Done — copyHints.ts, templateManifestId on editor |
| Per-template thumbnails | Done — distinct wireframes in public/template-seed/ |
Scout + specimen catalogue — specs/2026-06-05-scout-specimen-catalogue.md | Phases 1a–4 + 2b done (2026-06-09) — /start suggested strip with RECOMMEND_START_STRIP |
Parallel track (other session)
| Track | Spec | Rule |
|---|---|---|
/ds catalogue | specs/2026-05-29-design-system-builder-design.md + CLAUDE.md | Builder + Feedback Loop import from /ds — no forked section lists. /ds/site is the skin-aware site surface. |
Tech debt — tracked cleanups
| Item | Scope | Status |
|---|---|---|
Remove legacy src/themes/ | Dir is flagged "never reference" in CLAUDE.md + NERTIA_ARCHITECT_CONTEXT.md but still load-bearing. Migrate 3 consumers off @/themes first: src/app/(app)/account/sites/[slug]/edit/page.tsx (listThemes), src/app/admin/zero-point/build/page.tsx, src/lib/__tests__/hostedTokenPipeline.test.ts. Then delete src/themes/ (brutalist, editorial, mui, organic, zero-point, types, index + __tests__). Done = npm run verify + npm run test green with dir gone. | Backlog (flagged 2026-06-07) |
Archive
Superseded / shipped specs live in archive/specs/. Do not implement from these unless explicitly reviving. The visual-directions library (slot model) at archive/specs/2026-04-16-zero-point-generator-design.md §Visual Direction is still referenced by skills/build-direction/SKILL.md.
Session bootstrap
Say **sup** to boot (same as /init-nert or nertia architect).
- Read
CLAUDE.md - Read
**content/docs/build.md**— current work is the active track - Read
**docs/superpowers/handoffs/LATEST.md** — if present, last session close (see Playbook — Continue session) - Open the linked detail spec only for the piece you're touching
init-nert / **sup** uses this file as the work queue — not git. When a phase ships, update the phase table here + LATEST.md before calling done (architect §Phase ship sync).