Repository navigation
Simplify the site: three-item nav, work in about, scrub what doesn't describe the work - #95
Conversation
…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
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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
There was a problem hiding this comment.
💡 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".
- 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
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
What
Streamlines the public surface for its actual reader: people evaluating Adrian's product leadership and hands-on AI work.
Simplify
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/#siriusxmkeeps its anchor./services/is retired and redirects to/about/.Redirect.astroreplaces the hand-copied meta-refresh stubs, carries the incoming#fragmentacross, and keeps the meta refresh as the no-script fallback.emaillink in the footer and on about. The form is trimmed.prefers-color-scheme.DelightLayerremoved. It was a 261-line easter-egg script loaded on every page.Scrub
/360/,/joytap-privacy/, and the JoyTap post.instrument.css,Panel, andSignalLog. Git history keeps the episodes.jobTitleandknowsAboutfollow.Bugs
/blog/<slug>stubs and the Formspree return URL no longer pay an extra canonical 308.mobile-homepage.mjsnow exits after passing./lab/in its own type and ink..agentarchitecture contract and map describe the site as it is.Verification
npm run check: 0 errors, 0 warningsnpm run build: 18 pagesnpx vitest run: 82/82 passnpx playwright test --project=chromium --project=mobile-chrome: 85/85 passnode .hermes/verifiers/public-surface-scan.mjs: passednode .hermes/verifiers/mobile-homepage.mjs: passedpython3 .agent/contribution_gate.py audit: okNot 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