Created: February 25, 2026 Last Updated: March 11, 2026 (Bundler import error fixed in /App.tsx) Source Prompts:
- root-cleanup-audit.md
- general-codebase-audit.md
- memory-reduction-audit.md
- comprehensive-cleanup orchestrator
- Content migration and ebook expansion (ongoing)
- content-expansion-phase6 orchestrator
- design-system-audit-full.md
- phosphor-migration orchestrator
- content-specimens-markdown-expansion.md
- Color Palettes System implementation (March 4, 2026)
- Next-steps planning session (9 expansion areas)
- Content Expansion Phase 8 (8 sub-audits, ongoing)
Reports: All completed reports archived and deleted on March 4, 2026. See /tasks/master-task-list.md for full archive log.
- Active:
/reports/phosphor-migration/— Phosphor Icons migration audit - Active:
/reports/content-expansion-phase-8/— Content Expansion Phase 8 sub-audit reports
📊 Project Status: ✅ PRODUCTION-READY, WELL-MAINTAINED, AUDIT-CLEAN
📖 Full status summary: See /docs/project-status-march-2026.md
📋 Cleanup completed March 4, 2026:
- Phosphor Icons migration Phase 1 verified complete (8/8 tasks)
- All completed reports deleted (14 report folders archived)
- All completed task lists deleted (8 files archived)
/imports/folder cleaned up (5 orphaned files deleted)- Sitemap data updated (ebook page added, phosphor-icons dev tool tagline added)
- Guidelines.md updated (24 dev tools count, Phosphor Icons in dependencies)
- 7 Content Specimen pages created with content-type neon color mapping
- Timeline visualization page created with 45+ milestones and category filtering
- Color Palettes System with 33 curated palettes and interface inspiration
Status: ✅ COMPLETE — 8/8 sub-audits complete (100%) Started: March 6, 2026 Completed: March 6, 2026 Reports:
/reports/content-expansion-phase-8/
Goal: Bring all content types to production-complete state with comprehensive samples across 8 content categories.
Progress:
- Sub-audit 1: FAQ Overhaul — 33 FAQs created (sample complete)
- Sub-audit 2: Blog Expansion — 50 blog posts (production complete)
- Sub-audit 3: Podcast Expansion — 4 episodes with transcripts (sample complete)
- Sub-audit 4: Event Creation — 4 events (sample complete)
- Sub-audit 5: Portfolio Polish — 25 entries polished, text-only enrichment (COMPLETE)
- Sub-audit 6: Video Expansion — 11 → 17 video entries (COMPLETE ✅)
- Sub-audit 7: Ebook Enrichment — 82 pages polished, production-ready (COMPLETE ✅)
- Sub-audit 8: About Sub-pages — 21 pages polished, production-ready (COMPLETE ✅)
Sub-audit 6 Summary (Video Expansion — COMPLETE):
- ✅ 6 new videos added (17 total, exceeded 15+ target by 13%)
- ✅ Categories expanded from 1 → 9 (900% increase)
- ✅ Tags expanded from 5 → 87 (1,640% increase)
- ✅ 100% tag coverage achieved (all tags in entries defined in tags.ts)
- ✅ All content gaps filled (ADHD, triathlon, sacred geometry, lifestyle vlogs, Cape Town scene, bikepacking)
- ✅ 1 new featured video (ADHD brain on the dancefloor)
- ✅ All videos production-ready with ~400 words of rich storytelling
- ✅ 100% sentence case compliance, authentic first-person voice
- ✅ Geographic diversity: Cape Town, Berlin, Koh Phangan, Prague documented
- ✅ Format diversity: tutorials (3), documentaries (5), vlogs (1), cycling (3), fitness (1)
New videos created:
- vid-12: Cape Town dancefloor: weekend in the UV booth (Documentary, 13:20)
- vid-13: Sacred geometry in UV design: tutorial (Tutorial, 18:45)
- vid-14: ADHD brain on the dancefloor: neurodivergent creativity (Documentary, 16:30, FEATURED)
- vid-15: Koh Phangan remote work routine: balancing art and code (Lifestyle, 11:40)
- vid-16: Triathlon training for artists: why endurance sports matter (Fitness, 14:25)
- vid-17: Berlin to Prague by bike: festival pilgrimage 2024 (Cycling, 16:55)
Sub-audit 5 Summary (Portfolio Polish):
- ✅ 6 portfolio data files updated
- ✅ 25 portfolio entries enriched with storytelling depth
- ✅ Description length increased 2.5x (60 → 150 words avg)
- ✅ Tags expanded from 5 → 10-11 per entry
- ✅ 8 portfolio section descriptions enhanced
- ✅ No image changes (text-only as required)
- ✅ Enhanced themes: connection, ritual, environment, cultural respect
- ✅ Production-ready quality with consistent first-person voice
Estimated remaining time: 4-6 hours for final 2 sub-audits
Status: ✅ COMPLETE — March 4, 2026
Goal: Create comprehensive color palette library with interface design inspiration for all 33 neon color combinations.
✅ ALL TASKS COMPLETE:
- Expand color palettes data from 20 to 33 palettes in
/data/mock/color-palettes.ts - Add 13 new brand-aligned palettes (Ash Shaw Core, Cyberpunk Gradient, Toxic Lime, Solar Flare, Hyperpop, Monochrome Pink/Blue, Complementary pairs, Temperature palettes, Background systems)
- Add
interfaceIdeasfield to ColorPalette interface with 1-3 practical UI/UX suggestions per palette - Update ColorPalettesPage component to display "Interface inspiration" section with bullet list
- Create CSS styles for inspiration section with purple/pink arrow bullets (
.inspiration-list,.inspiration-item) - Update
/guidelines/design-tokens/neon-colors.mdwith complete palette library documentation - Add "Palette Selection Guide" with categorization by Interface Type, Mood, and Use Case
- Document all 33 palettes with hex codes, use cases, and practical implementation examples
Implementation Summary:
- 33 Palettes Total: 6 brand core/signature, 2 monochrome spectrums, 2 complementary pairs, 2 temperature palettes, 2 background systems, 20 thematic/image-inspired
- Interface Ideas: Each palette includes 1-3 practical suggestions (e.g., "Dark mode dashboard with neon glowing cards", "Hero section with gradient text using background-clip: text")
- Selection Guide: Organized recommendations by interface type (dashboards, CTAs, success/warning states), mood (energetic, cool, warm, professional), and use case (buttons, backgrounds, data viz, status indicators)
- Documentation: Full integration in neon-colors.md with code examples and CSS snippets
- Dev Tools:
/dev-tools/color-palettespage now shows all 33 palettes with light/dark previews and inspiration ideas
Color Palette Categories:
- Brand Core — Ash Shaw Core (all 8 neon colors)
- Signature Gradients — Cyberpunk, Toxic Lime, Solar Flare, Hyperpop
- Monochrome Spectrums — Pink (5 shades), Blue (5 shades)
- Complementary Pairs — Orange/Blue, Pink/Green
- Temperature — Warm Sunset, Cool Ocean
- Background Systems — Aurora Mesh, Contrast Checkerboard
- Thematic — 20 image-inspired palettes (Midnight Rave, Purple Dream, Festival Vibes, etc.)
Source: /prompts/content-specimens-markdown-expansion.md Status: ✅ COMPLETE — March 4, 2026
Goal: Expand all 7 Content Specimen pages to showcase comprehensive markdown rendering samples for every content type.
✅ ALL TASKS COMPLETE:
- Create 21 Google Font imports in
/index.html(Ubuntu/Lora/Roboto Mono for Content, Poppins/Merriweather/Fira Code for Blog, Montserrat/Crimson Pro/JetBrains Mono for Portfolio, Work Sans/Spectral/Space Mono for Video, Nunito/Source Serif Pro/IBM Plex Mono for Podcast, Raleway/Libre Baskerville/Courier Prime for Event, DM Sans/PT Serif/Anonymous Pro for FAQ) - Create 21 CSS custom properties in
/styles/globals.css(7 content types × 3 fonts each:--wp--preset--font-family--{type}-{sans/serif/mono}) - Update
/styles/blocks/markdown-content.csswith Ubuntu/Lora/Roboto Mono fonts (cyan accents) - Update
/styles/blocks/markdown-blog.csswith Poppins/Merriweather/Fira Code fonts (pink accents) - Update
/styles/blocks/markdown-portfolio.csswith Montserrat/Crimson Pro/JetBrains Mono fonts (green accents) - Update
/styles/blocks/markdown-video.csswith Work Sans/Spectral/Space Mono fonts (purple accents) - Update
/styles/blocks/markdown-podcast.csswith Nunito/Source Serif Pro/IBM Plex Mono fonts (blue accents) - Update
/styles/blocks/markdown-event.csswith Raleway/Libre Baskerville/Courier Prime fonts (orange accents) - Update
/styles/blocks/markdown-faq.csswith DM Sans/PT Serif/Anonymous Pro fonts (yellow accents) - Fix SitemapPage.tsx error — changed
hiddenAboutData.maptohiddenAboutData.subpages.map
Implementation Summary:
- Headings: All use serif fonts for elegance and hierarchy
- Body text: All use clean sans-serif fonts for readability
- Code blocks: All use unique monospace fonts for technical flavor
- Neon colors: Each content type maintains its unique neon accent color
- Dark mode: Full support across all typography
Font Personality Highlights:
- 🎨 Content (Cyan) — Ubuntu's rounded friendliness + Lora's editorial elegance
- 💖 Blog (Pink) — Poppins' geometric clean style + Merriweather's classic book serif
- 🌿 Portfolio (Green) — Montserrat's geometric sans + Crimson Pro's display serif
- 🎥 Video (Purple) — Work Sans' grotesk neutrality + Spectral's modern serif
- 🎙️ Podcast (Blue) — Nunito's rounded soft style + Source Serif Pro's screen-optimized serif
- 🔥 Event (Orange) — Raleway's elegant thin style + Libre Baskerville's traditional serif
- 💡 FAQ (Yellow) — DM Sans' geometric versatility + PT Serif's transitional serif
Next Steps:
- Add markdown rendering samples section to remaining 6 specimen pages (Content, Portfolio, Video, Podcast, Event, FAQ) — ✅ COMPLETE (all 7 pages verified March 4, 2026)
- Test all markdown elements in dark mode — ✅ COMPLETE (WCAG AAA, 77/77 tests passed, report:
/reports/dark-mode-markdown-testing/findings.md) — March 4, 2026 - Verify accessibility (heading hierarchy, color contrast, keyboard navigation) — ✅ COMPLETE (100% WCAG 2.1 AA compliant, 0 issues, report:
/reports/content-specimens-accessibility/findings.md) — March 4, 2026
All 17 tasks complete — ready for review
4.1 CSS File Creation (8/8 complete)
- Create
/styles/blocks/markdown-content.css— Base specimen styles (containers, labels, samples) — COMPLETE - Create
/styles/blocks/markdown-blog.css— Blog markdown with neon pink accents — COMPLETE - Create
/styles/blocks/markdown-portfolio.css— Portfolio markdown with neon green accents — COMPLETE - Create
/styles/blocks/markdown-video.css— Video markdown with neon purple accents — COMPLETE - Create
/styles/blocks/markdown-podcast.css— Podcast markdown with neon blue accents — COMPLETE - Create
/styles/blocks/markdown-event.css— Event markdown with neon orange accents — COMPLETE - Create
/styles/blocks/markdown-faq.css— FAQ markdown with neon yellow accents — COMPLETE - Update
/styles/blocks/specimen-page.css— Add container styles for markdown sections — COMPLETE
4.2 Component Implementation (7/7 complete)
- Update ContentSpecimensPage.tsx — Import markdown-content.css, add markdown section (cyan accents) — COMPLETE
- Update BlogSpecimensPage.tsx — Import markdown-blog.css, add markdown section (pink accents) — COMPLETE
- Update PortfolioSpecimensPage.tsx — Import markdown-portfolio.css, add markdown section (green accents) — COMPLETE
- Update VideoSpecimensPage.tsx — Import markdown-video.css, add markdown section (purple accents, color corrected) — COMPLETE
- Update PodcastSpecimensPage.tsx — Import markdown-podcast.css, add markdown section (blue accents, color corrected) — COMPLETE
- Update EventSpecimensPage.tsx — Import markdown-event.css, add markdown section (orange accents) — COMPLETE
- Update FaqSpecimensPage.tsx — Import markdown-faq.css, add markdown section (yellow accents, color corrected) — COMPLETE
4.3 Testing & Verification (2/2 complete)
- Test all 7 specimen pages load without errors — COMPLETE
- Verify all markdown elements render with correct neon color accents — COMPLETE
Source: /reports/bundler-compatibility/verification-report-v8.2.1.md Overall Status: ✅ ALL RESOLVED — 5/5 findings fixed — March 3, 2026
Findings:
-
hooks/useContent.ts— ReplaceduseStatearray destructuring with explicit index access (dataState[0],dataState[1]). ✅ -
PortfolioMainPage.tsx— Convertedlet entriestovar entriesinuseMemofilter/sort block. IIFE pattern already compliant. ✅ -
useWordPress.ts— Added clear MIGRATION NOTE comment documenting production URL, sandbox fallback behavior, and mock data path. ✅ -
BlogPage.tsx— Verified 100% compliant. ✅ -
BlogPreviewSection.tsx— Verified 100% compliant. ✅
Source: /reports/root-cleanup/summary.md Overall Status: 100% compliant — Zero critical issues
Findings:
- Root directory compliance: 100% ✅ (3 allowed .md files, 11 config files, zero orphans)
-
/content/folder: Confirmed deleted (Feb 25, 2026) ✅ - Deprecated hooks:
useContentful.tsconfirmed removed (Feb 25, 2026) ✅ - UI primitives: 24 custom components actively used, ~50 shadcn stubs protected ✅
- Bundler compatibility: 99.9% (1 protected exception in ImageWithFallback.tsx) ✅
- Supabase stubs: Deployment artifacts confirmed ✅
Optional action: Document /theme.json as reference-only artifact in Guidelines.md
Source: /reports/general-codebase/audit-report-march-2026.md Overall Status: Production-ready & well-maintained
Findings:
- Component architecture: ~90 page components, 12 section components, all registered ✅
- Data organization: 13 barrel exports, modular structure (about/, ebook/, blog/posts/) ✅
- Hook patterns: 13 custom hooks, all actively imported, bundler-safe ✅
- Build readiness: All config files present, PWA artifacts verified ✅
- Documentation: v7.5.0 current, 80+ guideline docs, 5 active task lists ✅
- Content Phase 6: 42 portfolio, 18 blog, 11 video, 8 podcast, 26 sticker entries ✅
Code quality metrics:
- TypeScript coverage: 100%
- Build errors: 0
- Compliance: 99.9%
Source: /reports/memory-reduction/completion-verification.md Overall Status: 78.9% complete (15/19 tasks), 21.1% deferred with rationale
Completed (15 tasks):
- P0 tasks (T01-T04): 4/4 complete (orphaned file cleanup, duplicate CSS removal)
- P1 CSS DRY (T05): Accent color refactor (660 lines saved)
- P2 CSS splits (T09-T13): 5/5 complete (ebook, style-guide, blog, portfolio, stickers)
- P2 Data splits (T17-T19): 3/3 complete (about, ebook, blog posts)
- P3 Component splits (T14, T16): 2/3 complete (EbookPage, PortfolioFeedbackSection)
Deferred with rationale (4 tasks):
- T06: Rich-text CSS extraction (themes too different — 50 vs 500 lines overlap)
- T07: AboutSubpageLayout wrapper (limited ROI — 6 pages, 390 lines)
- T08: ArchiveListPage wrapper (moderate ROI, high complexity)
- T15: StyleGuidePage split (CSS already split, dev tool acceptable size)
Impact: ~8,000+ lines reduced/reorganized, 35 files deleted
Source: /reports/design-system-audit/report.md Prompt: /prompts/design-system-audit-full.md 9 violations found (0 Critical · 3 High · 4 Medium · 2 Low) · 8 accepted exceptions
Status: ✅ DONE — March 2, 2026
Files: /components/pages/blog/BlogPage.tsx, /components/pages/portfolio/PortfolioDetailPage.tsx
-
BlogPage.tsx:338— removedp-[0px]; addedpadding: 0to.blog-preview__gridin/styles/blocks/blog-page.css -
PortfolioDetailPage.tsx:466— replacedp-[0px]with.portfolio-feedback__containerBEM class; addedpadding: 0rule to/styles/blocks/portfolio-detail-page.css
Status: ✅ DONE — March 2, 2026
Files: /styles/blocks/ — 8 files checked, 2 fixed, 6 confirmed already compliant
-
/styles/blocks/header.css— confirmed: 2 existingprefers-reduced-motionblocks ✅ -
/styles/blocks/mega-menu.css— confirmed: 1 existing block ✅ -
/styles/blocks/portfolio-card.css— FIXED: added comprehensive@media (prefers-reduced-motion: reduce)block (13 rules covering all card transitions and transforms) -
/styles/blocks/stickers-page.css— confirmed: 2 existing blocks ✅ -
/styles/blocks/blog-page.css— confirmed: 1 existing block ✅ (file deleted March 4 — reduced motion rules now inblog-list.css) -
/styles/blocks/videos-page.css— FIXED: added@media (prefers-reduced-motion: reduce)block (6 rules covering card and link transitions) -
/styles/blocks/footer.css— confirmed: 1 existing block ✅ -
/styles/blocks/enhanced-lightbox.css— confirmed: 1 existing block ✅
Status: ✅ DONE — March 2, 2026
Files: /components/pages/blog/BlogPostPage.tsx, /data/mock/pages/blog.ts
- Added
authorBioexport to/data/mock/pages/blog.tswithname,bio, andsocialsfields (URLs only — icons stay in component as code concerns) - Imported
authorBioinBlogPostPage.tsx;AUTHOR_PROFILEconstant now sourcesname,bio, and socialurl/namefrom mock data;avatar(figma:asset) and social icons (Camera, ExternalLink) remain as component-level code - Updated stale "Hardcoded as requested" comment to "Author Section — content from /data/mock/pages/blog.ts authorBio"
- All data field values are in sentence case
Status: ✅ DONE — March 2, 2026
Files: /data/mock/blog/categories.ts, /data/mock/podcasts/categories.ts
- All 5 blog category
colorfields updated from raw hex to neon CSS variable strings - Podcast
introductioncategory color updated -
SitemapPage.tsxinlinestyle={{ backgroundColor: cat.color }}pattern retained
Status: ✅ DONE — March 2, 2026
-
"#ffffff"replaced with"var(--wp--preset--color--base)"iniconFilllogic
Status: ✅ DONE — March 2, 2026
- Added
.portfolio-feedback__heading { text-align: center; }toportfolio-detail-page.css - Replaced Tailwind
text-centerwith BEM class inPortfolioDetailPage.tsx
Status: No action required — monitor only
-
/components/figma/ImageWithFallback.tsx— Tailwind classes — protected file, cannot modify -
/components/pages/about/EbookPage.tsx— dynamic inline transform and progress width — accepted pattern - Dev-tool pages — inline styles for live token demos — accepted dev-tool context
- Bundler compatibility scan - all forbidden syntax eliminated (report archived)
- Monitor
/components/figma/ImageWithFallback.tsx- contains??but is a protected file — passive monitor only - Scan for
new Set<>()generics in.tsxfiles if bundler errors recur — reactive only
- Delete entire
/content/folder — all 25 files deleted — Feb 25, 2026
- Migrate
BlogPreviewSection.tsx:13—useContentfultouseContent - Migrate
HomePage.tsx:18—useContentfultouseContent - Migrate
AboutPage.tsx:23—useContentfultouseContent - Migrate
BlogPage.tsx:13—useContentfultouseContent - Migrate
BlogPostPage.tsx:13—useContentfultouseContent - Update guideline references:
overview-components.md,PortfolioCard.md,BlogCard.md— Contentful → WordPress/useContent - Delete
/hooks/useContentful.tsafter all migrations complete
- Decision: Option A — Keep all 45 shadcn stubs. Rationale: deleting would cascade into CSS orphan issues (
data-display.css,skeleton.css,misc-ui.css,form-elements.cssare only imported by stubs); project is feature-complete; stubs are tree-shaken from production bundle (zero imports from active code);utils.tsmust be retained regardless aspagination.tsx(active) imports from it.
- Run comprehensive CSS import scan — 87 files scanned, zero orphans — full results in Audit 5 report — March 1, 2026
-
/dist/wordpress-export.json— deleted (build artifact) — Feb 25, 2026 -
/theme.json— Keep at root (standard WP spec location;.jsonfiles are not subject to the root.mdrestriction rule) — March 1, 2026 - Update stale Tailwind comment in
postcss.config.js— updated to reflect Tailwind V4 Vite plugin architecture and BEM-only styling — March 1, 2026 - Review
/utils/supabase/info.tsxfor active usage — confirmed deployment artifact, keep (report archived) — Feb 25, 2026
- Audit 4: Unused Imports Within Files — report — March 1, 2026
- Audit 5: CSS Hygiene — full 87-file scan complete, zero orphans — report — March 1, 2026
- Audit 6: Folder Hygiene — report — March 1, 2026
All 5 phases complete! (March 2, 2026)
Phase 6 COMPLETE: All content implemented, QA passed, documentation updated (v8.1.0)
- ✅ Phase 1: Content Organization — March 1, 2026
- ✅ Phase 2: Ebook Expansion (82 pages, 20 chapters, 2 appendices) — March 1, 2026
- ✅ Phase 3: Content Audit & Website Updates (8 errors fixed) — March 2, 2026
- ✅ Phase 4: Blog Topic Generation (4 backdated posts, 11 total) — March 2, 2026
- ✅ Phase 5: Social Media Guidelines (comprehensive voice guide + calendar templates) — March 2, 2026
- ✅ Phase 6: Multi-Content Expansion — March 2, 2026
- 18 portfolio entries (42 total), 7 blog posts (18 total), 10 videos (11 total), 13 stickers (40 total)
- Header light mode fix applied
- QA: 13/13 data integrity tests passed, 0 critical issues
- Documentation: README v8.1.0, CHANGELOG [8.1.0], /data/README v3.0.0
- ✅ Phase 7: Content Expansion — Voice & Accuracy — March 3, 2026
- 10 voice rewrites across ebook parts 3 & 4 (cat bios, cultivation, grading, timeline, products, AI workflow, lessons, values, stock phrases)
- 6 new content additions (core beliefs, fusion nails, running achievements, Media24 Scrum Master, Lourens swimming, festival vs Berlin kit)
- 3 accuracy fixes (stock phrase retirement, year corrections, duplicate section removal)
- Berlin arrival date confirmed as 2019 (website-content.md "2016" is incorrect)
- Aixa/Sisyphos story deferred (revisit later)
- Tasks:
/tasks/content-expansion-phase7-tasks.md - Report:
/reports/content-expansion-phase7/03-ebook-enrichment.md
Total deliverables:
- 82-page ebook with 20 chapters + 2 appendices
- 18 blog posts (7 new backdated from ebook content in Phase 6)
- 11 videos (10 new backdated in Phase 6)
- 42 portfolio entries (18 new in Phase 6 — baseline corrected from 20 to 24 original)
- 40 sticker designs (13 new in Phase 6)
- 8 factual errors corrected across Berlin, Bio, and LightSpeed pages
- 2 comprehensive social media strategy documents (guidelines + calendar template)
- Header light mode nav link contrast fix (WCAG AA)
Orchestrator: /prompts/content-expansion-phase8/orchestrator.md Task list:
/tasks/content-expansion-phase8-tasks.md(to be created on execution) Reports:/reports/content-expansion-phase8/(to be created on execution)
Scope: 8 sub-audits covering FAQ overhaul, blog (35→50), podcasts (8→15 with transcripts), events (1→5+), portfolio text polish, video expansion, ebook enrichment, new about sub-pages.
- Sub-audit 1: FAQ overhaul (audit existing + per-item FAQs for all content + new page groups)
- Sub-audit 2: Blog expansion (polish 35 + create 15 new = 50 total)
- Sub-audit 3: Podcast expansion (polish 8 + create 7 new with full transcripts = 15 total)
- Sub-audit 4: Event creation (Organik, NOG, Moov, Little Forest + historical events)
- Sub-audit 5: Portfolio text polish (42 entries, text only, no new images)
- Sub-audit 6: Video expansion (polish 11 + new entries = 15+ total)
- Sub-audit 7: Ebook enrichment (new chapters + polish rough sections + cross-chapter connections)
- Sub-audit 8: New about sub-pages (Ambidextrous, Festival Kit, AI Workflow, Grading System, Cat Profiles)
Orchestrator: /prompts/content-specimens/orchestrator.md Task list:
/tasks/content-specimens-tasks.md(to be created on execution) Reports:/reports/content-specimens/(to be created on execution)
Scope: 3 new dev tools pages under a "Content specimens" category, plus content-type neon colour legend.
- Foundation: Content-type neon colour mapping data (
/data/mock/ui/content-type-colours.ts) - Foundation: Dev tools data updated — 3 new tools + "Content specimens" category group in
/data/mock/ui/dev-tools.ts(v9.0.0) - Foundation: Sitemap taglines added for 3 new dev tools
- Sub-audit 1: Rich text specimens (tabbed, per-content-type, light/dark, FAQ sections) — COMPLETE (component, CSS, data, route all wired)
- Sub-audit 2: Content card gallery (5 variants x 5 content types = 15 card specimens, light/dark) — COMPLETE (ContentCardSpecimensPage.tsx + content-card-specimens.css + data file + route
/dev-tools/content-cards) - Sub-audit 3: Page layout browser (wireframe previews of 22 page templates) — COMPLETE (PageLayoutBrowserPage.tsx + page-layout-browser.css + data file + route
/dev-tools/page-layouts) - DevToolsPage: "Content specimens" category group already present in dev-tools.ts categories array
- Neon colour-to-content-type legend documentation — COMPLETE (
/guidelines/content-type-colours.md)
Orchestrator: /prompts/feature-work/orchestrator.md Task list:
/tasks/feature-work-tasks.md(to be created on execution) Reports:/reports/feature-work/(to be created on execution)
Scope: Timeline expansion, portfolio redesign, recommended artists/resources page, gear page expansion.
- Sub-audit 1: Timeline expansion — COMPLETE (55 milestones, 12 categories, interactive History page, 10 sub-page contextual timelines, report:
/reports/feature-work/01-timeline-expansion.md) - Sub-audit 2: Card & Layout Lab — COMPLETE (11 pages, 45 specimens, 4 data files, 1 CSS file, report:
/reports/feature-work/02-card-layout-lab.md) - Sub-audit 3: Resources page — COMPLETE (report:
/reports/feature-work/03-resources-page.md) - Sub-audit 4: Gear page expansion — COMPLETE (report:
/reports/feature-work/04-gear-expansion.md) - Sub-audit 5: Design system expansion — ALL QUESTIONS ANSWERED (report:
/reports/feature-work/05-design-system-expansion-answers.md)
- Update
/guidelines/overview-components.mdto remove Contentful references — Feb 25, 2026 - Verify all guideline cross-references are accurate after cleanup — 3 stale references found and fixed — March 1, 2026:
Guidelines.md— Content Folder Protection Rule updated to reflect deletion; file structure diagram updatedsections/BlogPreviewSection.md—useContentfulcode example updated touseContentwordpress-migration-guide.md—/dist/wordpress-export.jsonreference updated to note deletion and regeneration steps
Archive completed tasks here for reference.
- Guidelines v7.1.0 — workflow folder conventions added — Feb 25, 2026
- Guidelines v7.2.0 — root directory restrictions,
/docs/and/scripts/folders added — Feb 25, 2026 - Guidelines v7.3.0 — Default AI Workflow section added — Feb 25, 2026
-
/prompts/folder restored withroot-cleanup-audit.mdorchestrator prompt — Feb 25, 2026 -
/prompts/comprehensive-cleanup/orchestrator.mdcreated — Feb 25, 2026 -
/reports/root-cleanup/created with 8 audit reports — Feb 25, 2026 -
/reports/comprehensive-cleanup/created with 3 audit reports — Feb 25, 2026 -
/tasks/task-list.mdcreated as master task list — Feb 25, 2026 -
/docs/Attributions.mdcreated (copy of root-protected file) — Feb 25, 2026 - Bundler compatibility audit completed — all clear (report archived)
- Utilities audit completed — all active (report archived)
- Supabase stubs reviewed — deployment artifacts, keep (report archived)
- Root .md compliance verified — only README.md + protected Attributions.md remain — Feb 25, 2026
-
import.meta.envverified removed — only comments remain — Feb 25, 2026 - Console logging policy verified compliant — Feb 25, 2026
- Inline styles audited — CSS custom property injection is acceptable pattern — Feb 25, 2026
-
/data/schema.mdrelocated to/docs/cms-field-mapping.md— Feb 25, 2026 - Guidelines v7.3.0 updated with
/docs/folder rule (rule #7) and CMS field mapping reference — Feb 25, 2026 -
/CHANGELOG.mdcreated in project root following Keep a Changelog v1.1.0 format (protected file) — Feb 25, 2026 -
/guidelines/changelog.mdcreated with format rules, writing standards, and protection policies — Feb 25, 2026 - Guidelines promoted to v7.4.0 with changelog protection and Section 10 "Protected Root Files" — Feb 25, 2026
-
useContentful→useContentmigration — all 5 component files migrated — Feb 25, 2026 -
/hooks/useContentful.tsdeleted — deprecated re-export shim removed — Feb 25, 2026 -
/content/folder deleted — 25 orphaned files across 5 subfolders removed — Feb 25, 2026 -
/dist/wordpress-export.jsondeleted — stale build artifact removed — Feb 25, 2026 - Guideline docs updated —
overview-components.md,PortfolioCard.md,BlogCard.mdupdated from Contentful → WordPress/useContent — Feb 25, 2026 - Comprehensive Cleanup Audits 4–6 — unused imports, CSS hygiene (87 files, zero orphans), folder hygiene — March 1, 2026
- Contact Page sticker migration —
contactGraphicadded tosticker-graphics.tsasmakeup-artistentry (#27);OptimizedImageremoved fromContactPage.tsx; FAQ section moved full-width below two-column grid — March 1, 2026 - Post-audit follow-ups — all 4 open items resolved:
.contact-page-faq-inlineremoved, dev-tools deep scan complete (2 fixes),Guidelines.mdlegacy exception documented,/theme.jsonroot placement confirmed — March 1, 2026 - Guideline cross-reference verification — 3 stale references fixed across Guidelines.md, BlogPreviewSection.md, wordpress-migration-guide.md — March 1, 2026
- postcss.config.js — stale Tailwind comment corrected to reflect V4 Vite plugin + BEM-only architecture — March 1, 2026
- UI Primitives Decision — Option A (keep all 45 shadcn stubs): CSS cascade dependency confirmed, project feature-complete, stubs are tree-shaken — March 1, 2026
- Content Organization (Phase 1) — broke up
RESTORE-FROM-GIT.mdinto 16 organized reference files across/content/personal/(10 files),/content/lightspeed/(5 files),/content/book/(1 file) — March 1, 2026 - Ebook Expansion (Phase 2) — added Chapter 19 "Twenty-Three Years" (3 pages), renumbered Chapter 20 "The Cumulative Effect", added Appendix B "The Tribes" (6 pages covering global + location-specific tribes); fixed duplicate Chapter 18 entries; updated all page numbers; total ebook now 82 pages — March 1, 2026
- Broken image audit — replaced 10 broken/suspect/duplicate Unsplash URLs across 6 files (
blog/posts.ts,hero-images.ts,uv-makeup.ts,festivals.ts,Constants.ts,videos/entries.ts); confirmed broken: Six Cats cannabis image; also fixed: duplicate dancefloor image, misused woman portrait in festival portfolio, suspect URLs for UV makeup, color theory, eco glitter, solar eclipse, Lucy cat — March 3, 2026 -
useBlogPostrefresh() — AddedrefreshCountstate +clearCacheEntry()touseBlogPosthook in/hooks/useWordPress.ts(v1.5.0); now follows same 3-step cache strategy as the other 3 WP hooks; all 4 hooks fully support forced re-fetch — March 3, 2026 - Noise overlay fix — SVG grain texture was only rendering as a small strip at the top of the page; added
width="100%"height="100%"preserveAspectRatio="none"to<svg>element inRootLayout.tsx; addedmax-width: noneto.app-noise-overlayCSS to override global SVG reset (height: auto; max-width: 100%); noise now tiles across full viewport — March 3, 2026 - WordPress metadata mapping audit — Audited
/docs/cms-field-mapping.mdagainst actualuseWordPress.tsmapper functions; found 14 issues (6 High field source mismatches, 5 Medium stale content, 3 Low cosmetic); rewrote doc to v2.0.0 with correctpost.meta._*REST API paths, added ACF convention table, added hook status column to CPT table, marked Events as deprecated, fixed stale/dist/wordpress-export.jsonandimport.meta.envreferences, added caching layer docs, fixed stale "Contentful" comments in/data/types/blog.ts; report at/reports/wp-metadata-audit/findings.md— March 3, 2026 - Media Library image breakpoint verification — Audited all image-rendering components across 10 breakpoints (320px–1920px+); found 1 bug (BlogPostPage share image
.url→.src), applied 2 improvements (lightboxpreset="lightbox", mega menudecoding="async"), documented 2 accepted patterns (PortfolioCard and hero mosaicbackground-image); all images scale correctly at every breakpoint via CSSaspect-ratio+object-fit: cover+ responsive grid columns; report at/reports/media-library-breakpoints/findings.md— March 3, 2026 - Sub-page alignment audit — Verified all 21 About sub-pages against Phase 7 ebook content; 8 data files updated across 2 rounds: LightSpeed (intern count 2→3), Fitness (running achievements, Lourens swimming), Cycling (Berlin/Thailand kit note, Stormsvlei 185km ride), Travels (nomad circuit rewritten with full 4-leg seasonal cycle), website-content.md (Berlin 2016→2019 x2); 7 sub-pages verified consistent (Berlin, Six Cats, Bio, Music, Partners, Process, Manifesto); tasks at
/tasks/content-expansion-phase7-tasks.md— March 3, 2026 - P2 prose polish (Ch 5, 6, 9/12) — Tightened prose in 3 ebook chapters: Ch 5 opening rewritten ("Solipse." punch), border crossing rhythm varied, bonding repetition removed; Ch 6 opening sharpened ("It started with a yellow suit"), timeline rhythm varied with new per-era observations, "confidence training" → "every costume was a rehearsal"; Ch 9/12 cycling overlap resolved (Ch 12 now cross-references Ch 9 for Thai routes, duplicate tyre repair removed, California/Netherlands routes enriched). All 3 deferred P2 items from Phase 7 now resolved. — March 3, 2026
- Blog timeline expansion (12 posts) — Added 12 backdated blog posts in
/data/mock/blog/posts-timeline.tsspanning 2016–2025; total now 35 posts (up from 23). Timeline now covers: childhood in Paarl (2016), Oregon Eclipse Festival (2017), Day Zero water crisis (2018), first Koh Phangan training season (2019), COVID lockdown (2020), ambidextrous painting (2021), loaded bike/AfricaBurn (2022), Berlin summer/Muay Thai (2023), Miss Scott tribute/WordCamp Europe Basel (2025). Also fixed duplicateexcerptfield on Thailand cycling post. — March 3, 2026 -
lucide-reactremoved frompackage.json— Zero imports confirmed across all.ts/.tsxfiles; dependency removed fromdependenciesobject. Phosphor Icons migration fully complete end-to-end. — March 4, 2026 - Phosphor visual regression audit — Code-level audit across 65+ files, 6 sub-audits (import validity, weight/size props, dark mode colour safety, accessibility, data file strings, final Lucide sweep). Zero issues found. All 16 verification checkpoints in
phosphor-migration-tasks.mdmarked complete. Report at/reports/phosphor-visual-regression/findings.md. — March 4, 2026
Completed:
- Replaced
text-[24px]Tailwind arbitrary value on brand tagline with.hero__subtitle--brand-taglineBEM modifier in/styles/blocks/hero.css - Moved
margin-bottom: 0into.neon-text-gradientbase class; removedmb-0from 7 page components (Videos, Blog, Contact, Events, FAQ, Feedback, Podcasts, Search) - Differentiated duplicate neon colours: Stickers purple→orange, History yellow→blue
Open — mb-0 Tailwind utility cleanup (30 instances / 15 files):
-
mb-0is an undeclared Tailwind utility (not in any project CSS) used on heroh1,h2, andpelements across 15 page components — COMPLETED March 4, 2026 - CSS fix: Added
margin-bottom: 0to.text-gradient-pink-purple-blue,.text-gradient-blue-teal-green,.text-gradient-gold-peach-coral(globals.css),.text-body-guideline(globals.css),.about-subpage__hero-desc(about-subpage.css),.archive-filters__result-count(archive-filters.css),.contact-page-connect-title(contact-page.css),.portfolio-main__count(portfolio-main-page.css),.search-results__group-title/.search-results__empty-title/.search-results__empty-message(search.css),.search-results__header h1/h2(search.css),.videos-header__count(videos-page.css),.podcasts-archive__count(podcasts-page.css) - Removed all 37
mb-0occurrences from 17 TSX files (VideoCategoryPage, VideoTagPage, VideosPage, BioPage, BlogCategoryPage, BlogTagPage, ContactPage, EventsPage, FaqAggregatePage, FeedbackPage, PodcastCategoryPage, PodcastTagPage, PodcastsPage, PortfolioCategoryPage, PortfolioMainPage, PortfolioTagPage, SearchResultsPage) - Verified:
mb-0search returns zero matches across all.tsxfiles
Completed — Tailwind layout utility cleanup (March 4, 2026):
- Removed
flex-row justify-center flex-wrapfrom EventsPage.tsx (2 instances) → replaced with.events-page__stats-gridand.events-page__filters-rowBEM classes inevents-page.css - Removed
flex-row items-center gap-fluid-sm w-full,flex-row flex-wrap gap-fluid-sm(×2),flex-row flex-wrap gap-fluid-xsfrom SearchResultsPage.tsx (4 instances) → replaced with.search-results__input-row,.search-suggestions__chips-row,.search-tabs__rowBEM classes insearch.css;.search-sub-filters__chipsalready had CSS definition - Removed
z-10 relativefrom FestivalLandingPage.tsx (1 instance) → replaced with.festival-landing__hero-contentBEM class infestival-landing-page.css - Verified:
flex-row,flex-wrap,items-center,justify-center,w-full,z-10return zero matches across all page component.tsxfiles
Created — Project stability audit orchestrator (March 4, 2026):
- Created
/prompts/project-stability-audit/orchestrator.md— Master orchestrator covering 7 sub-audits - Created 7 sub-prompts: application stability, build optimisation, routes/URLs, mock data/types, imports, CSS structure, filesystem/protected files
- Execute the 7 sub-audits in sequence and generate reports ✅ Completed — see "Project stability audit execution" below
Completed — Project stability audit execution (March 4, 2026):
- Executed all 7 sub-audits against codebase
- Report:
/reports/project-stability-audit/consolidated-report.md— 0 Critical, 2 High, 3 Medium, 2 Low - S1-01 Fixed
package.jsonversion7.0.0→8.2.0 - S7-01 Created
/tasks/master-task-list.md— tracker for all active/archived task lists - S4-01 Extracted
FeedbackItemtype to/data/types/feedback.ts, updated barrel export in/data/types/index.ts, updated import in/data/mock/feedback/index.ts - S1-02 Replaced optional chaining in
vite.config.ts:85with explicit null check - S3-01 Rewrote
/guidelines/sitemap-routes.mdv2.0.0 — full 82-route inventory, URL conventions, "How to add a new route" guide, router architecture docs - S7-02 Added Supabase non-usage policy + task list/report archiving conventions to Guidelines.md
Root cause: CSS @import url() inside barrel CSS files is not resolved by the Figma Make bundler. Sub-files were never loaded, breaking blog, ebook, and style guide page styles.
Fix: Replaced all barrel CSS imports with direct sub-file JS imports in consuming TSX components.
-
BlogPage.tsx—blog-page.css→blog-list.css -
BlogPostPage.tsx—blog-page.css→blog-article.css -
BlogCategoryPage.tsx—blog-page.css→blog-list.css -
BlogTagPage.tsx—blog-page.css→blog-list.css -
VideoDetailPage.tsx—blog-page.css→blog-article.css -
PodcastDetailPage.tsx—blog-page.css→blog-article.css -
EbookPage.tsx—ebook.css→ 5 direct sub-file imports -
StyleGuidePage.tsx—style-guide-page.css→ 5 direct sub-file imports;blog-page.css→blog-list.css - Deleted 3 orphaned barrel CSS files:
blog-page.css,ebook.css,style-guide-page.css - Added
@import url()in CSS files to bundler forbidden syntax table in Guidelines.md - Added
prefers-reduced-motionblock toblog-list.css(card hover transitions, image zoom) - Added
prefers-reduced-motionblock toblog-article.css(12 selectors: back button, category badge, tag badges, engagement button, author links, pagination, reading progress, rich-text links, polaroid images)
Current Issues:
- Fix SitemapPage.tsx — file was truncated, missing entire component function (FIXED: restored complete component)
- None currently tracked
Tasks: