What changed in each rr release — page 15 of 17. Full prose history in CHANGELOG.md.
MAY192026
ImprovementAZ-waveMay 19, 2026
Dashboard foundation rename — /admin → /dashboard/admin + workspace stubs
AZ-wave foundation only (mechanical URL prefix shift). Every `/preview/<template>/admin/...` route moves under `/preview/<template>/dashboard/admin/...`, freeing `dashboard/workspace/` as the new productivity surface. Permanent redirect from old URLs preserves every external link. Per-template constants split: DASHBOARD_BASE / ADMIN_PANEL_BASE / WORKSPACE_BASE introduced; ADMIN_BASE kept as alias for backwards compat. _shared/ui/admin-shell.tsx renamed to dashboard-shell.tsx with AdminShell as deprecated alias. Workspace landing pages now render a placeholder pointing to docs/architecture/dashboard-vision.md — BA/BB waves will populate it with notion editor + calendar + command-menu + database views. No URL breaking change; no consumer-side action needed.
BB-wave — Workspace bootstrap (notion editor at MAX, calendar, command-menu, database views)
BC-wave — feature harvest from superspace + notion-page-clone via /rr lift
MAY192026
ImprovementAY-waveMay 19, 2026
Session close-out — All Pages first sub-item + Dashboard vision docs
Tiny nav UX fix + comprehensive close-out docs so the next session resumes without retracing today's conversation. Reorder Pages sub-items so All Pages comes first (the listing surface a user opens before drilling into a specific page editor like Landing). Capture the Dashboard architectural direction (Admin Panel + Workspace split, RBAC/CRM/Analytics harvest from superspace) at docs/architecture/dashboard-vision.md, and a wave-by-wave log at docs/sessions/2026-05-19-session.md. Memory entries written so /rr in the next session auto-loads the vision + open items.
Templates touched (Pages children re-ordered)
saas-marketing-os — All pages first, Landing second
personal-brand-os — All pages first
agency-studio-os — All pages first
konsultan-os — All pages first
kreator-studio-os — All pages first
riset-kit — All pages first
wirausaha-os — All pages first
Docs
MAY192026
FeatureAX-waveMay 19, 2026
Nested Pages nav across all 7 templates + Open-full-page button
Closes the AV-deferred propagation: every website template now has the Pages parent + collapsible sub-items (Landing / All pages / blog / portfolio / services where applicable). ParentNavItem rewired to the canonical shadcn NavMain idiom (group/collapsible + group-data-[state=open]/collapsible:rotate-90) — same pattern shadcn ships in its docs. FeatureBar gets a new ExternalLink button: when the active docs tab is a preview surface, the button pops the iframed content out into a real browser tab at native size.
personal-brand-os — Landing, All pages, Blog, Portfolio, Services, Resources
agency-studio-os — Landing, All pages, Work, Services
konsultan-os — Landing, All pages
kreator-studio-os — Landing, All pages
riset-kit — Landing, All pages
wirausaha-os — Landing, All pages
Site
MAY192026
FeatureAW-waveMay 19, 2026
Notion Page Clone OS — nested Pages nav + landing-renderer composition
Applies the AV nested-nav pattern to notion-page-clone-os and rewires the public homepage to compose existing rr slices instead of a bespoke React tree. Admin sidebar now groups Landing / Snippets / All-pages under a single "Pages" parent (Collapsible + SidebarMenuSub). Public homepage reads admin-editable LandingSection rows from the template store and renders each via the canonical HeroBlock / FeatureGridSection / CtaBand slices, plus a custom snippets gallery section for the notion-blocks demo. Store schema bumped to v2-landing — landing-sections now first-class state managed via LANDING_UPSERT / LANDING_DELETE alongside pages + snippets.
Templates touched
notion-page-clone-os — nested Pages nav + LandingRenderer composition
Slices reused (no change)
hero-block — landing hero rendered via canonical HeroBlock
feature-grid — primitive showcase via FeatureGridSection
MAY192026
FeatureAV-waveMay 19, 2026
Admin sidebar: nested Pages parent + sub-items (POC on saas-marketing-os)
Admin nav was a flat list per template — every content surface (landing, blog, pricing, features, changelog) sat as a sibling top-level menu item. With more entities being added the sidebar started feeling crowded. AV adds optional `children` to AdminNavItem and renders nested entries via shadcn's `Collapsible` + `SidebarMenuSub` + `SidebarMenuSubButton`. POC on saas-marketing-os groups all page-driving CRUDs (landing, all pages, blog, pricing, features, changelog) under a single "Pages" parent. Top-level keeps Dashboard / Pages / Customers / Subscriptions / Leads. Other 6 templates queued for AW. Dynamic per-page section composition (using existing hero / feature-grid / pricing-page / blog-section / changelog-feed / faq-section / portfolio-section / cta / services / testimonials-grid slices) deferred to a separate AW-B sub-wave.
Templates touched
saas-marketing-os — Pages parent with 6 sub-items (POC)
Templates queued for AW (same restructure)
MAY192026
FeatureAU-waveMay 19, 2026
Notion Page Clone OS — full website template using notion-blocks
First end-to-end website template built on the notion-blocks bundle. Notion Page Clone OS = block-based notes-app starter with admin CRUD + public landing. Snippets entity (kind: equation/code/text/grid) renders live on the public landing via the four bundled primitives (EquationBlock / CodeBlock / NotifyMePopover / SelectableCell). Pure-localStorage state, zero convex required — drop-in for anyone shipping a writing surface or doc site. Wires the same _shared/{pages,landing,crud,ui} primitives the other 7 templates use so consistency holds across the OS family.
Templates touched
notion-page-clone-os — NEW website template (admin + public)
Slices touched
notion-blocks — first downstream consumer (template usedBy)
Site
MAY192026
ImprovementAT-waveMay 19, 2026
Docs catalog sidebar now uses shadcn Sidebar primitives
User principle: rr is an extension of shadcn, not a replacement. The website-template ADMIN sidebars already used shadcn Sidebar primitives (Sidebar / SidebarMenuButton / SidebarMenuSub / SidebarMenuBadge wrapped in SidebarProvider) — but the rr docs CATALOG sidebar (the left nav on /slices /layouts /templates /changelog etc.) was still a hand-rolled <nav> with custom buttons + chevrons. AT refactors it to shadcn primitives so collapse tooltips, mobile drawer, and persistent state inherit from the same canon as the admin shells. We extend shadcn — we don't fight it.
components/site/docs-sidebar.tsx: wrapped in SidebarProvider so SidebarMenuButton has its useSidebar() context — overrides flex / min-h-svh classes so the provider stays flush inside ThreeColumnLayoutAdvanced's left column
Visual hierarchy preserved (3-tier: section / branch / leaf) — chevron rotation, active badge, count pill all carry over via shadcn data-state
MAY192026
ImprovementAS-waveMay 19, 2026
Consolidate notion editor primitives into single bundle
Four tiny notion-lifted primitives (equation, code-block, notifications, database-cell-selection) collapsed into one catalog entry: notion-blocks. Each was ~5 files / one component — splitting them four ways cluttered the catalog without giving consumers narrower install ergonomics. notion-blocks is a peer-bundle: re-exports the four slices' public API behind one import path. Per-block narrow imports still work (the peer slices stay registered + lifted). Updated equation + code-block index.ts to also re-export their Props types for ergonomic typing.
Slices touched
notion-blocks — NEW peer-bundle. Catalog entry replaces 4 sub-entries
equation — added EquationBlockProps to barrel exports
code-block — added CodeBlockProps to barrel exports
Site
/preview/slices/notion-blocks — single page demos all 4 primitives (KaTeX formulas, TS/Bash code samples, NotifyMe bells, drag-fill table)
After AP killed the client-side reset churn, server-side nav still felt heavy because cacheComponents: true treats async server components as dynamic by default — every navigation re-ran readSliceFiles on the filesystem. AR adds Next 16 `use cache` directives to the file readers and per-route loading.tsx skeletons that stream instantly on click. /slices/[slug] now reports as Partial Prerender with 15m revalidate; nav between detail pages feels app-router-fast.
Site
lib/slice-files.ts: "use cache" on readSliceFiles + readPathsFiles — cross-nav cache, not just intra-render dedupe
components/site/docs-loading-skeleton.tsx NEW — shared title-strip / tabs / preview-iframe skeleton
app/(docs)/loading.tsx — catch-all skeleton for plain docs routes
RecentlyUpdatedBadge → "use client" so Date.now() runs in the browser (cacheComponents blocked the previous server read)
MAY192026
FeatureAQ-waveMay 19, 2026
Notion editor primitives lifted via new rr-sync pipeline
Four pure-UI primitives lifted from notion-page-clone using a new hash-based, idempotent sync pipeline. The pipeline auto-derives import rewrites from both repos' tsconfigs, follows transitive shared-dep graphs, cross-checks npm packages against rr's package.json, and ships a registry (rr-sync.json) so subsequent updates to the same slice in nosion can re-propagate with one command. Each lifted slice has an interactive preview at /preview/slices/<slug>.
Slices touched
equation — KaTeX-rendered LaTeX block, click-pencil to edit
docs/architecture/dashboard-vision.md NEW — Dashboard > Admin Panel + Workspace split direction; AZ→BC wave roadmap; source map for RBAC/CRM/Analytics from superspace + notion-page-clone
docs/sessions/2026-05-19-session.md NEW — wave-by-wave commit log AK→AY; flagged items for next session; process notes (200-LOC cap, pre-push build hook, wave-letter collisions)
Memory entries — dashboard-vision + session-2026-05-19 + feedback-wave-letters + feedback-changelog-discipline written to the project memory dir for cross-session auto-load
components/templates/_shared/ui/admin-nav-items.tsx — ParentNavItem refactored to canonical shadcn NavMain idiom (group/collapsible class + CSS-driven chevron rotation, no per-item useState)
components/site/feature-context.tsx — FeatureManifest.previewUrls?: { public?, admin? } so FeatureBar can resolve the surface URL without a fresh ref
components/site/preview/manifest-builder.tsx — buildPreviewManifest emits previewUrls from publicPath/adminPath
components/site/feature-bar.tsx — new ExternalLink button (right-side cluster) opens the active preview surface in a new tab; auto-hides on split tab and when manifest has no URL for the current surface
cta-band — landing CTA rendered via canonical CtaBand
components/templates/notion-page-clone/shared/nav-config.ts — buildAdminPrimaryNav now emits nested Pages parent with landing/snippets/all-pages children
components/templates/notion-page-clone/shared/store.tsx — landingSections added to State; storageKey bumped to v2-landing; LANDING_UPSERT / LANDING_DELETE reducer
components/templates/notion-page-clone/slices/home/LandingRenderer.tsx NEW — switch on section.kind → HeroBlock / FeatureGridSection / CtaBand / custom SnippetsGallery
components/templates/notion-page-clone/slices/home/HomePage.tsx — reads useLandingSections() filter+sort, renders via LandingRenderer