Site Packaging and Collison Redesign Implementation Plan

For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

Goal: Organize the website into stable public pages and archived labs while redesigning the homepage in a sparse Patrick Collison-inspired style.

Architecture: Preserve existing public URLs through root-level redirect stubs, move experimental assets into topic folders under labs/, and keep canonical site pages at the root for GitHub Pages compatibility. Add a dependency-light publishing harness that checks asset inventory, redirects, internal links, required GitHub Pages files, and optional Jekyll build health.

Tech Stack: GitHub Pages/Jekyll, static HTML/Markdown, vanilla JavaScript, Python stdlib validation.


Current Inventory

The repo has 84 site-relevant assets excluding .git internals:

Functional clusters:

Target Structure

/
  README.md
  _config.yml
  CNAME
  bookshelf.md
  quotes.md
  thought-snippets.html
  assets/
    data/
    images/
    js/
  docs/
    plans/
    specs/
    qa/
  labs/
    bias/
    calendar/
    kismet/
    name-layout/
    time-viz/
  pdfs/
  scripts/
  tests/

Redirect Policy

Root URLs for moved prototypes remain valid via lightweight redirect pages:

cognitive-biases.html remains at the root as a public index page unless a later pass chooses to promote labs/bias/index.html.

Task 1: Add Publishing Harness Tests

Files:

Step 1: Write failing tests

Create tests that expect the harness module to:

Step 2: Run tests to verify failure

Run: python3 -m unittest tests/test_site_harness.py -v

Expected: fail because scripts.site_harness does not exist.

Step 3: Implement minimal harness

Implement scripts/site_harness.py with:

Step 4: Run tests to verify pass

Run: python3 -m unittest tests/test_site_harness.py -v

Expected: all tests pass.

Task 2: Package Experimental Assets

Files:

Step 1: Move files in topic batches

Use a script to move only files in the approved mapping. Do not move canonical pages, PDFs, images, or JavaScript assets in this batch.

Step 2: Generate redirect stubs

Each root stub should include:

Step 3: Repair relative links inside moved files

Update moved pages as needed:

Step 4: Run harness

Run: python3 scripts/site_harness.py

Expected: zero errors.

Task 3: Collison-Style Homepage Redesign

Files:

Step 1: Replace heavy homepage presentation

Remove the neural animation-forward homepage and replace it with a sparse text index:

Step 2: Keep behavior low-risk

Do not add external CSS dependencies. Keep styling inline and tiny because GitHub Pages currently renders README.md directly.

Step 3: Run harness

Run: python3 scripts/site_harness.py

Expected: zero errors.

Task 4: Add Labs Index

Files:

Step 1: Create a plain labs landing page

List:

Step 2: Run harness

Run: python3 scripts/site_harness.py

Expected: zero errors.

Task 5: Documentation Refresh

Files:

Step 1: Update structure documentation

Document the new canonical pages, labs folders, redirect strategy, and publishing harness.

Step 2: Run harness

Run: python3 scripts/site_harness.py

Expected: zero errors.

Final Verification

Run:

python3 -m unittest tests/test_site_harness.py -v
python3 scripts/site_harness.py

If Ruby/Jekyll tooling is available locally, also run one of:

bundle exec jekyll build
jekyll build

If unavailable, the harness must report that the Jekyll build was skipped rather than failed.