Skip to content

Simplify the site: three-item nav, work in about, scrub what doesn't describe the work - #95

Merged
prime3679 merged 7 commits into
mainfrom
claude/personal-website-simplify-nwxmmq
Sep 23, 2026
Merged

prime3679 merged 7 commits into
mainfrom
claude/personal-website-simplify-nwxmmq

Conversation

@prime3679

@prime3679 prime3679 commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

What

Streamlines the public surface for its actual reader: people evaluating Adrian's product leadership and hands-on AI work.

Simplify

  • Nav is writing · lab · about. Three items fit on one row at 320px, so the hamburger menu, its mobile panel, and its script are gone.
  • /work/ is folded into /about/, with one row per role in the record's key/value shape. /work/ redirects to /about/#work, and /work/#siriusxm keeps its anchor.
  • /services/ is retired and redirects to /about/.
  • A new shared Redirect.astro replaces the hand-copied meta-refresh stubs, carries the incoming #fragment across, and keeps the meta refresh as the no-script fallback.
  • Contact is out of the primary nav. It's the email link in the footer and on about. The form is trimmed.
  • Night shift toggle removed. Dark mode follows prefers-color-scheme.
  • DelightLayer removed. It was a 261-line easter-egg script loaded on every page.

Scrub

  • Removed /360/, /joytap-privacy/, and the JoyTap post.
  • Removed four unpublished drafts about retired systems.
  • Removed seven lab toys. Lab is now Rogue, past the pilot, fork, meeting price tag (linked to its essay), and ink field.
  • Retired Signal Room. The 12-episode fiction serial from the openclaw/hermes era is gone, along with its routes, OG cards, RSS items, instrument.css, Panel, and SignalLog. Git history keeps the episodes.
  • Profile data now matches the visible site. The Person description dropped "independent AI diligence analyst / Creator of The Trust Layer", which was no longer accurate. It now describes the Salesforce role and the SiriusXM, Disney+, and EA history. jobTitle and knowsAbout follow.
  • Removed pages return the 404 page, which links home, lab, and writing. A test asserts they stay gone. The public-surface scan now covers RSS and flags any public "signal room".

Bugs

  • /blog/<slug> stubs and the Formspree return URL no longer pay an extra canonical 308.
  • mobile-homepage.mjs now exits after passing.
  • 124 stray " , " left by earlier em-dash removals are now plain commas.
  • Every remaining lab tool links back to /lab/ in its own type and ink.
  • CLAUDE.md, AGENTS.md, and the .agent architecture contract and map describe the site as it is.

Verification

  • npm run check: 0 errors, 0 warnings
  • npm run build: 18 pages
  • npx vitest run: 82/82 pass
  • npx playwright test --project=chromium --project=mobile-chrome: 85/85 pass
  • node .hermes/verifiers/public-surface-scan.mjs: passed
  • node .hermes/verifiers/mobile-homepage.mjs: passed
  • python3 .agent/contribution_gate.py audit: ok

Not in this PR

Repo cleanup follows separately: dropping the GitHub Pages workflow, the .agent/ gate, and the overlapping agent docs.

🤖 Generated with Claude Code

https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU

…or easter eggs

- nav is writing · lab · about; it fits on one row at 320px, so the
  hamburger menu and its script are gone
- /work/ merges into /about/ as one record row per role; /work/ and
  /services/ become redirect stubs through a shared Redirect component
  (now, blog, and blog/<slug> reuse it too)
- signal room and contact leave the primary nav: signal room is linked
  from lab, contact is the footer's email link
- contact form drops the subject field and the duplicate social links
- night shift toggle and pre-paint theme script removed; dark mode now
  follows prefers-color-scheme in tokens.css
- DelightLayer easter-egg script removed from every page
- homepage footer "a short record" becomes "about"
- tests, verifiers, and agent docs updated to match; architecture
  fingerprint refreshed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU
@vercel

vercel Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
personal-site Ready Ready Preview Sep 23, 2026 6:34pm UTC

Request Review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-23T13:48:28.976426Z 102b5bb PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

- /blog/<slug> stubs pointed at the slashless /writing/<slug>, paying the
  canonical 308 on every old link; they now use postHref
- the contact form's Formspree return URL was /contact?sent=1, another
  308 hop; it is now /contact/?sent=1
- mobile-homepage verifier never exited after passing: SIGTERM reached
  npx but not the astro preview child, and unread stdout pipes kept node
  alive. the server now runs detached with ignored output and shutdown
  signals the whole process group
- CLAUDE.md lab rules described a stat tile and toy row that no longer
  exist; they now match src/pages/lab.astro
- architecture fingerprint and HTML digest refreshed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 102b5bbcaa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/pages/work.astro
Comment thread .agent/architecture.json Outdated
- Redirect.astro: meta refresh drops the incoming #fragment, so a small
  inline script redirects first and carries it over. /work/#siriusxm now
  lands on /about/#siriusxm; the meta refresh stays as the no-script
  fallback. test added
- .agent/architecture.json and docs/architecture.html now describe the
  three-item nav with no mobile menu, drop the delight layer, and list
  /work/, /services/, and /now/ as compatibility redirects instead of
  /work/ as a core page. digests refreshed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU
End-to-end crawl of every link on the built site (42 pages, 564 links):
no broken internal links. Fixes from the audit:

- lab toys: 8 of 10 had no way back to the site. each now carries a
  "back to lab" link (the crazy wall's existing wording) in the toy's own
  type and ink: in the footer or credit line where one exists, beside the
  iron log wordmark, and top-left (last in the DOM, so the toy keeps the
  first tab stops) on the full-bleed toys. meeting price tag's credit now
  points at the lab instead of the homepage
- content: 124 stray " , " left behind by em-dash removal across 9 posts
  and one episode ("TL;DR , forward this") are now plain commas
- signal room index: the panel caption read "the one accent in the dark
  register", a design note leaking into the fiction; it now links the
  episode it quotes. the "latest" block duplicated the first ledger row
  directly under it and is gone
- lab: "my kid's world" opened a page titled "animal garden"; the label
  now matches. the two "open" links name their toy. external links
  (past the pilot, ink field source) open in a new tab like every other
  external link on the site
- homepage: "Meeting cost" becomes "Meeting price tag", the toy's name
- writing: "email me for updates" pointed at the contact form, which
  sends no updates; the line is now just rss
- meeting-cost essay title moves to sentence case like every other post

Tests: every toy links back to the lab; the panel caption links its
episode and carries no design note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU
…essage toys

The site is for people evaluating Adrian's product leadership and
hands-on AI work. Removed what doesn't serve that reader:

- /360/ (a feedback page with its own terminal styling) and the
  /joytap-privacy/ page
- the joytap post and its lab link
- four unpublished drafts about retired systems (bishop-bench,
  bishop-six-weeks, familyos, ai-cost-70-percent)
- seven lab toys: chaos garden, crazy wall, fable field recorder, the cap
  is gone, night train, animal garden, iron log

The lab is now rogue, past the pilot, and one short section per tool:
fork, meeting price tag (linked to its essay), ink field. No "also built"
list. Its intro says what the page is instead of what didn't survive.
The homepage lab rows are meeting price tag, fork, ink field; record links
keep a 44px minimum width so a short title like "Fork" stays tappable.

Removed pages return the 404 page, which links home, lab, and writing.
Docs, the architecture contract, the surface scan, and tests updated; a
test asserts the scrubbed routes are gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU
@prime3679 prime3679 changed the title Simplify the site: three-item nav, work folded into about, no toggle or easter eggs Simplify the site: three-item nav, work in about, scrub what doesn't describe the work Sep 23, 2026
Signal Room was a fiction serial from the openclaw/hermes era that has
not run in a long time, written around retired systems (Bishop, Mission
Control), with its own design language. For someone evaluating Adrian's
work it read as a dormant side project. Removed:

- the 12 episodes, their collection and schema, index and episode routes,
  OG cards, RSS items, and sitemap entries
- instrument.css, Panel.astro, SignalLog.astro, and the episode helpers
  in lib/content.ts and lib/format.ts
- the lab's "read signal room" link and its line about the fiction

/signal-room/ and its episodes now return the 404 page. The public surface
scan no longer exempts Signal Room or the RSS feed, and now also flags
"signal room" anywhere public. Git history keeps every episode.

Profile data: the JSON-LD Person described Adrian as an "independent AI
diligence analyst" and "Creator of The Trust Layer", which is no longer
accurate and appeared nowhere on the visible site. It now says what the
about page says: director of product management at Salesforce on the
emerging technology team, working on enterprise AI adoption, previously
SiriusXM, Disney+, and EA. jobTitle and knowsAbout follow.

Docs, the architecture contract and map, and tests updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU
Rogue no longer runs, so the site stops claiming it does:

- lab: the flagship Rogue section ("the agent i actually use... running
  since april 2026") is gone; past the pilot is now the flagship, and the
  intro no longer mentions an agent run every day
- about: "i run a small fleet of ai systems on a mac mini" becomes a
  past-tense line about agents, eval harnesses, and model routing, and
  points at what held up in the lab
- the dormant status stack goes with it: infra/rogue-status (worker,
  heartbeat, wrangler config), src/data/rogue.ts, relativeTime (only rogue
  used it), their tests, the live-status spec, and docs/rogue-telemetry.md
- CSP drops api.adrianlumley.co, which existed only for that endpoint
- CLAUDE.md, AGENTS.md, the architecture contract and map drop Rogue and
  the loop-artifact pointers; the public surface scan now flags "rogue"

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017TgsYPyRG9KAVxRjdDv2cU
@prime3679
prime3679 merged commit 397bb32 into main Sep 23, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview — 745e07b3 Deployed Sep 23, 2026 by vercel[bot]
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.

2 participants