Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
e1b8af9
feat(about): real companion photos — 26 CC-licensed images from Wikim…
adrianwedd Mar 1, 2026
3f5d747
feat(about): add five more companions — Martha, Bill, Yaz, Romana, Ace
adrianwedd Mar 1, 2026
95a8329
feat(about): character images, simplified cards, fix avatar stretching
adrianwedd Mar 1, 2026
ef7a583
feat(about): actress headshots throughout, 3x3 grid (remove Ace)
adrianwedd Mar 1, 2026
fef0f31
feat(about): split about/people — work page at /about/, people at /ab…
adrianwedd Mar 1, 2026
4b67f36
feat(people): AI-generated portraits, web-optimised, watermark cropped
adrianwedd Mar 1, 2026
c926993
feat(people): drop Martha, Bill, Romana — clean 2x3 grid
adrianwedd Mar 1, 2026
cc86662
feat(people): restore full 9-companion team with functional agent titles
adrianwedd Mar 1, 2026
e41a586
feat(people): AI portraits for Martha, Bill, Romana — full team complete
adrianwedd Mar 1, 2026
69b8a6f
feat(research): field context page — AI landscape 2024–2026
adrianwedd Mar 1, 2026
e7ada06
Create CNAME
adrianwedd Mar 1, 2026
11d348e
fix(docs): restore docs/ after accidental deletion, add field-context…
adrianwedd Mar 1, 2026
24e1890
feat(reports): add reports 42-44 and blog posts — VLA adversarial tra…
adrianwedd Mar 1, 2026
9f5e532
fix(blog): add adrian.png hero image to three new blog posts
adrianwedd Mar 1, 2026
461f1a0
fix(people): add adrian.webp (26KB, 400px) to about/people; remove bl…
adrianwedd Mar 1, 2026
70ddf74
feat(reports): add reports 45-46 and blog posts — inference trace man…
adrianwedd Mar 1, 2026
083e649
feat(people): scaffold persona profile pages for all 9 research colle…
adrianwedd Mar 1, 2026
bd60920
feat(people): complete Clara Oswald profile page
adrianwedd Mar 1, 2026
123134f
feat(about): complete Rose Tyler profile page — adversarial ops, VLA …
adrianwedd Mar 1, 2026
b862e17
feat(about): complete Bill Potts profile page — curation philosophy, …
adrianwedd Mar 1, 2026
02631f4
feat(people): complete Amy Pond profile page — benchmark coverage, ph…
adrianwedd Mar 1, 2026
24e69ed
feat(about): complete River Song profile page — GLI methodology, thre…
adrianwedd Mar 1, 2026
a9f58e9
feat(people): complete Romana profile page — stats philosophy, eviden…
adrianwedd Mar 1, 2026
2fc09e7
feat(about): complete Martha Jones profile page — policy engagement a…
adrianwedd Mar 1, 2026
53faa13
feat(people): complete Yasmin Khan profile page
adrianwedd Mar 1, 2026
f10e55b
feat(people): fill in Donna Noble profile page — editorial standards …
adrianwedd Mar 1, 2026
23f44d2
feat(people): add Tegan Jovanka — Legal Research Analyst profile page
adrianwedd Mar 1, 2026
cdbd0b9
feat(site): Tegan Jovanka + Nyssa of Traken profile pages
adrianwedd Mar 1, 2026
ea850ed
feat(site): Yasmin — build Nyssa profile, Tegan/Nyssa avatars, 2 new …
adrianwedd Mar 1, 2026
ad52f88
fix(site): remove TARDIS reference from people index, fix Adrian phot…
adrianwedd Mar 1, 2026
36cc1a7
refactor(site): replace sprint-specific priorities with thematic prof…
adrianwedd Mar 1, 2026
da81751
feat(blog): publish 10 research briefs from March 2026 sprint
adrianwedd Mar 1, 2026
9ebdd60
fix(site): QA sweep — retracted claims, stale metrics, missing reports
adrianwedd Mar 1, 2026
bc04607
feat(search): add Pagefind full-text search to failurefirst.org
adrianwedd Mar 2, 2026
f756fab
feat(glossary): publish 80+ term glossary to failurefirst.org
adrianwedd Mar 2, 2026
297f74c
feat(blog): publish AI safety lab independence structural analysis
adrianwedd Mar 2, 2026
dddc709
fix(site): centralize stats, fix nav accessibility, correct stale num…
adrianwedd Mar 2, 2026
c94a1e5
feat(analytics): add LinkedIn Insight Tag (partner 8890876)
adrianwedd Mar 2, 2026
f88920a
fix(site): P0 sensor-grid perf + image fallback + GA4 analytics + laz…
adrianwedd Mar 2, 2026
6ebace2
fix(site): data consistency — align stale numbers with stats.ts sourc…
adrianwedd Mar 2, 2026
0cf0307
fix(site): remaining P2 QA fixes — services stats, eras, mobile nav
adrianwedd Mar 2, 2026
adfd239
fix(site): P3 QA fixes — privacy policy, home SEO, ARIA dropdown sync
adrianwedd Mar 2, 2026
633d24f
fix(site): triple-QA audit — stats, accuracy, banned language, access…
adrianwedd Mar 2, 2026
a067eae
feat(blog): deploy NSW WHS AI compliance and safety lab independence …
adrianwedd Mar 2, 2026
f5fe99c
data: publish refreshed research visualizations artifact
adrianwedd Mar 6, 2026
c3b416a
blog: deploy 5 new posts from sprint-25 research
adrianwedd Mar 11, 2026
161f509
blog: world model attack surface taxonomy — 5 adversarial categories …
adrianwedd Mar 11, 2026
612e4ed
blog: 3 new threat horizon posts — actuator gap, alignment regression…
adrianwedd Mar 11, 2026
e4bd2c2
blog: 4 new posts — compliance paradox, System T/S, classifier qualit…
adrianwedd Mar 11, 2026
29e91da
build: rebuild site with 4 new blog posts (53 total)
adrianwedd Mar 11, 2026
b5a29ae
feat: add /new/ page — aggregated content feed sorted by date
adrianwedd Mar 11, 2026
2ce40e4
docs: update Donna Noble profile with sprint 25-26 accomplishments
adrianwedd Mar 11, 2026
04b7b6f
docs: update Clara Oswald profile with System T/S and inter-model agr…
adrianwedd Mar 11, 2026
5082417
docs: update Bill Potts profile with HANSE gap-fill and dataset expan…
adrianwedd Mar 11, 2026
f1136ff
docs: update Nyssa of Traken profile with wave 1-2 research accomplis…
adrianwedd Mar 11, 2026
faf9c12
docs: update Rose Tyler profile with wave 1-2 adversarial ops accompl…
adrianwedd Mar 11, 2026
b3487b9
docs: update Martha Jones profile with sprint 25-26 policy accomplish…
adrianwedd Mar 11, 2026
3edb267
docs: update Tegan Jovanka profile — wave 1-2 legal research accompli…
adrianwedd Mar 11, 2026
f89d8e7
docs: update River Song profile — wave 1-2 accomplishments and GLI ex…
adrianwedd Mar 11, 2026
fe43ff1
docs: update Donna Noble profile with wave 1-3 accomplishments
adrianwedd Mar 11, 2026
279b40a
docs: update Rose Tyler profile with wave 1-3 accomplishments
adrianwedd Mar 11, 2026
ce79f0d
docs: update Tegan Jovanka profile with wave 1-3 accomplishments
adrianwedd Mar 11, 2026
c5ef48c
docs: update Yasmin Khan profile with wave 1-3 accomplishments
adrianwedd Mar 11, 2026
773fe58
docs: update Martha Jones profile with wave 1-3 accomplishments
adrianwedd Mar 11, 2026
872ede9
docs: update Bill Potts profile with wave 1-3 accomplishments
adrianwedd Mar 11, 2026
b5c23a8
build: rebuild site with Clara Oswald profile updates
adrianwedd Mar 11, 2026
8967eb3
docs: update Amy Pond profile with sprint-26 accomplishments
adrianwedd Mar 11, 2026
2a2a712
fix: restore Martha Jones profile updates lost in stash conflict
adrianwedd Mar 11, 2026
d705262
docs: update River Song profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
fe8d010
docs: update Donna Noble profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
1897e45
docs: update Martha Jones profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
1aefe7c
docs: update Nyssa of Traken profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
3b40717
docs: update Tegan Jovanka profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
5664585
docs: update Clara Oswald profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
014fe68
docs: update Rose Tyler profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
2c3bef2
docs: update Bill Potts profile — wave 4 accomplishments
adrianwedd Mar 11, 2026
bca4bd2
blog: add reproducibility crisis in adversarial evaluation post
adrianwedd Mar 11, 2026
5af564f
docs: update Romana profile with wave 4 findings (n=10 duplication, r…
adrianwedd Mar 11, 2026
f54b768
blog: When Your Safety Grader Is Wrong — crescendo regrade story
adrianwedd Mar 11, 2026
ad45cd9
refactor: consolidate nav from 10 to 6 top-level items, update footer
adrianwedd Mar 11, 2026
0dfefb9
feat: daily papers March 9-12 (Tree of Attacks, Safety in Numbers, EI…
adrianwedd Mar 11, 2026
7ac88a6
blog: deploy "The Action Layer Has No Guardrails" — text-action safet…
adrianwedd Mar 11, 2026
0700347
blog: GLI governance gap analysis -- 5.5 years median lag, 90% null e…
adrianwedd Mar 11, 2026
e1f5761
blog: deploy "The Attack You Can't See" — SBA evaluation blindspot in…
adrianwedd Mar 11, 2026
ef95e08
blog: Three Vectors — embodied AI risk convergence analysis (post #59)
adrianwedd Mar 15, 2026
0806f7a
feat: update Adrian's profile photo on about/people page
adrianwedd Mar 15, 2026
cde4aa0
blog: deploy "Three Vectors" built pages (post #59)
adrianwedd Mar 15, 2026
e3258b5
content: add 7 daily papers (Feb 22-24) + 4 infographics
adrianwedd Mar 15, 2026
2d765cf
build: rebuild site index (pagefind, sitemap, RSS)
adrianwedd Mar 15, 2026
3881e03
build: rebuild site with updated profile photo
adrianwedd Mar 15, 2026
bcc1c2b
perf: optimize profile photo — 7.9MB PNG to 20KB WebP (400x400)
adrianwedd Mar 15, 2026
7fb7cee
blog: The Inverse Detectability-Danger Law — IDDL synthesis (post #60)
adrianwedd Mar 15, 2026
ef3b4dd
blog: Competence-Danger Coupling — the capability that makes robots u…
adrianwedd Mar 15, 2026
913c2ad
blog: deploy Embodied AI Threat Triangle post (#62)
adrianwedd Mar 15, 2026
67b98f6
blog: deploy The Unintentional Adversary post (#63)
adrianwedd Mar 15, 2026
bc680b0
blog: We Rebooted a Robot by Guessing 1234 — IMB attack class (post #63)
adrianwedd Mar 15, 2026
3764d41
blog: deploy "The U-Curve of AI Safety" (post #65)
adrianwedd Mar 15, 2026
56961ae
blog: deploy "The State of Embodied AI Safety, March 2026" (post #66)
adrianwedd Mar 15, 2026
3c6bb43
housekeeping: clean stale build assets from site rebuild
adrianwedd Mar 15, 2026
8106567
deploy: 8 audio + 7 video NLM assets, add video frontmatter to 11 papers
adrianwedd Mar 16, 2026
2c1d150
feat: add Bluesky domain verification for @failurefirst.org
adrianwedd Mar 16, 2026
8e14c5f
content: deploy NLM assets — 1 video (2307.14539) + 3 infographics (2…
adrianwedd Mar 17, 2026
06efea3
content: deploy NLM assets for Mar 16-18 papers (3 infographics + 3 a…
adrianwedd Mar 17, 2026
c9cb2eb
content: publish 6 daily papers (Mar 13-18) with audio/image assets
adrianwedd Mar 17, 2026
b287346
deploy: rebuild site with latest content (6 daily papers, media assets)
adrianwedd Mar 18, 2026
b3a57d8
fix: include CSS/JS assets and pagefind index from Astro rebuild
adrianwedd Mar 18, 2026
5f89fbf
blog: Haidilao robot incident analysis — when crazy dance met reality…
adrianwedd Mar 18, 2026
019666b
blog: 10 incident analysis posts — embodied AI safety incident database
adrianwedd Mar 18, 2026
0f82476
blog: 5 new incident posts + references on all 10 + 7 embedded videos
adrianwedd Mar 18, 2026
99b00de
feat: embed video player in blog posts (was download-only badge)
adrianwedd Mar 18, 2026
099b267
feat: enhanced analytics — video completion, downloads, 404s, social …
adrianwedd Mar 18, 2026
db76dcc
fix: remove redundant video download badge — player is inline
adrianwedd Mar 18, 2026
de2156f
perf: convert all images to WebP — 413MB -> 49MB (88% reduction)
adrianwedd Mar 18, 2026
2a22ffd
blog: 3 new posts — EU AI Act countdown, defense impossibility theore…
adrianwedd Mar 18, 2026
d4f7885
Create CNAME
adrianwedd Mar 18, 2026
42d0c06
blog: wave 3 deploy — defense impossibility, iatrogenesis, EU AI Act …
adrianwedd Mar 18, 2026
376e5ff
fix: add WebP profile pics for team page (web_*.jpg -> web_*.webp)
adrianwedd Mar 18, 2026
2d449d0
content: daily paper #60 — Safety is Non-Compositional (arXiv:2603.15…
adrianwedd Mar 19, 2026
6b03956
content: NLM assets for daily paper #60 (2603.15973) — infographic + …
adrianwedd Mar 19, 2026
68ce061
fix: remove 20 broken audio links, stale visualization artifact, brok…
adrianwedd Mar 19, 2026
8b856dc
blog: 5 new posts from Wave 4-6 findings (polypharmacy, field manual,…
adrianwedd Mar 19, 2026
15be45b
blog: add 2 posts -- non-compositional safety proof + incident databa…
adrianwedd Mar 19, 2026
b5d24f6
blog: 3 ethics-focused posts — independence, alignment faking, dual-u…
adrianwedd Mar 19, 2026
49f8c33
blog: 2 posts from Wave 9 findings -- context collapse + safety train…
adrianwedd Mar 19, 2026
7d85f54
deploy: Q1 2026 State of Embodied AI Safety post
adrianwedd Mar 22, 2026
3fd8898
nav: rename "Policy & Services" to "Services", link to /services/
adrianwedd Mar 22, 2026
c805bf9
daily-paper: 3 papers for Mar 23 — PreSafe, Agentic Pressure, VROP
adrianwedd Mar 22, 2026
9370898
deploy: nav restructure (Services), 4 daily papers, Q1 summary post
adrianwedd Mar 22, 2026
55710d1
design: 6 visual upgrades from adrianwedd.com + afterwords
adrianwedd Mar 22, 2026
de7f799
fix: scope card paragraph margin to last-child only
adrianwedd Mar 22, 2026
0065481
fix: resolve QA findings — stubs, private links, stale counts, language
adrianwedd Mar 22, 2026
783532e
deploy: design upgrades + QA fixes (scroll-reveal, serif headings, ca…
adrianwedd Mar 22, 2026
325b09d
daily-paper: re-date to one paper per day (fill Mar 20, 21 gaps)
adrianwedd Mar 22, 2026
0ca33fe
data: enrich company directory — stage, founded, safetyNotes for top 51
adrianwedd Mar 22, 2026
984f1fb
data: enrich AI safety orgs — country, founded, keyPrograms for all t…
adrianwedd Mar 22, 2026
93c04d9
deploy: enriched directories (51 companies, 117 orgs), daily paper da…
adrianwedd Mar 22, 2026
2e95505
deploy: add 3 blog posts (DETECTED_PROCEEDS, capability-safety decoup…
adrianwedd Mar 22, 2026
f5aaa7e
site: deploy 2 blog posts -- defense effectiveness + autonomous attac…
adrianwedd Mar 23, 2026
c6478f5
blog: Five Predictions for AI Safety in Q2 2026
adrianwedd Mar 23, 2026
b7bc0a2
site: refresh all stats to current canonical values (190 models, 141K…
adrianwedd Mar 23, 2026
a3ae201
blog: We're Publishing Our Iatrogenesis Research -- Here's Why
adrianwedd Mar 23, 2026
6496980
deploy: add 'We Were Wrong: AI Safety Defenses Do Work' blog post
adrianwedd Mar 23, 2026
57cadc4
blog: First Look Inside AI Safety Mechanisms -- refusal geometry find…
adrianwedd Mar 23, 2026
26c89e6
feat: add LegalMemoLayout with mandatory disclaimer banner
adrianwedd Mar 23, 2026
e9545bc
feat: add reports, legal, policy-docs content collections with auto-g…
adrianwedd Mar 23, 2026
1b42b94
nav: add Research Reports and Legal Analysis to navigation
adrianwedd Mar 23, 2026
37a3113
content: publish 15 reports (#169-183), 6 legal memos (LR-48-53), 4 p…
adrianwedd Mar 23, 2026
c90c108
deploy: publish 15 reports, 6 legal memos, 4 policy docs + new collec…
adrianwedd Mar 23, 2026
5f3656a
fix: rebuild site with correct asset hashes
adrianwedd Mar 23, 2026
770578a
people: add Leela, K-9, Sarah Jane Smith profiles + update index
adrianwedd Mar 23, 2026
e16ed43
design: full-viewport hero sections with generative canvas backgrounds
adrianwedd Mar 23, 2026
935bb0f
deploy: full-viewport hero sections with generative canvas (neural, f…
adrianwedd Mar 23, 2026
3dfceb6
deploy: 3 new people pages (Leela, K-9, Sarah Jane Smith)
adrianwedd Mar 23, 2026
520d33b
site: full-viewport animated heroes + canvas backgrounds across all 6…
adrianwedd Mar 23, 2026
9470d2a
site: update all 14 agent profile pages with current priorities + voi…
adrianwedd Mar 23, 2026
0a6f943
deploy: rebuild failurefirst.org (2 files, 633 pages)
adrianwedd Mar 23, 2026
4b29e09
deploy: rebuild failurefirst.org with Wave 1-3 content
adrianwedd Mar 23, 2026
740a57c
site: Wave 1-3 content deploy — 5 new blog posts, March roundup, 638 …
adrianwedd Mar 24, 2026
86aff90
deploy: rebuild failurefirst.org (2 files, 638 pages)
adrianwedd Mar 24, 2026
7de802c
site: Wave 1-5 final deploy — papers page, 640 pages, format-lock par…
adrianwedd Mar 24, 2026
9e470a9
blog: 5 new posts — detected proceeds, polyhedral safety, EU complian…
adrianwedd Mar 24, 2026
b7d3d50
site: rewrite all 14 agent profiles — punchy, consistent, externally-…
adrianwedd Mar 24, 2026
f223fda
deploy: +6 blog posts (AdvBench results, Qwen3 safety, detected-proce…
adrianwedd Mar 24, 2026
27db3ca
site: source files for Wave 1-8 — HeroSection canvas animations, agen…
adrianwedd Mar 24, 2026
5c42e4e
fix: resolve #566 — people page cards not clickable due to z-index st…
adrianwedd Mar 24, 2026
be0ed8f
blog: add reasoning-level DETECTED_PROCEEDS and defense evolver posts
adrianwedd Mar 24, 2026
eaeac3d
build: rebuild site — 653 pages, z-index fix + 2 new blog posts
adrianwedd Mar 24, 2026
4f738f7
site: add service offering page + 2 blog posts (656 pages)
adrianwedd Mar 24, 2026
3178032
blog: Free AI Safety Score announcement post
adrianwedd Mar 24, 2026
aec11dc
site: rebuild with Free AI Safety Score blog post (657 pages)
adrianwedd Mar 24, 2026
23c7ffe
blog: deploy annual report, framework integrations, threat horizon v3
adrianwedd Mar 24, 2026
b5f37f2
site: rebuild with 3 new posts (660 pages)
adrianwedd Mar 24, 2026
89beb77
blog: Compliance Cascade — a new class of AI jailbreak
adrianwedd Mar 24, 2026
9f876fd
blog: The Epistemic Crisis — can we trust AI safety benchmarks?
adrianwedd Mar 24, 2026
bb838ca
blog: First results from Ollama Cloud testing
adrianwedd Mar 24, 2026
2281d4e
build: site rebuild with 3 new blog posts (663 pages)
adrianwedd Mar 24, 2026
e235e66
blog: CARTO — The First AI Red Team Certification announcement
adrianwedd Mar 24, 2026
b561bfc
chore(site): rebuild docs/ — 664 pages, CARTO blog post live
adrianwedd Mar 24, 2026
b4177b4
blog: frontier model safety — 1.1T parameters does not mean safe
adrianwedd Mar 24, 2026
b00635e
blog: reasoning-level DETECTED_PROCEEDS confirmed across 3 providers
adrianwedd Mar 24, 2026
38b1303
blog: research papers landing page with 3 pre-arXiv abstracts
adrianwedd Mar 24, 2026
cf2a6bb
site: rebuild with 3 new blog posts (667 pages)
adrianwedd Mar 24, 2026
465f7f0
blog: Format-Lock — The Universal AI Jailbreak
adrianwedd Mar 24, 2026
239290d
blog: CARTO Beta — First 10 Testers Wanted
adrianwedd Mar 24, 2026
3f137e7
blog: Update services page with frontier data and Model Safety Scorecard
adrianwedd Mar 24, 2026
0395038
build: site rebuild — 669 pages (+3 new blog posts)
adrianwedd Mar 24, 2026
714ffc9
site: add autoplay voice intros to all 14 companion profile pages
adrianwedd Mar 25, 2026
88d0bac
site: compress voice intros from WAV to OGG Opus (31MB -> 8.3MB)
adrianwedd Mar 25, 2026
e7c8ce7
content: add 4 blog posts — threat horizon, regulatory gap, iatrogene…
adrianwedd Mar 25, 2026
cf527b2
blog: add Threat Horizon Digest #1 and service tier announcement
adrianwedd Mar 25, 2026
72f0cb8
site: add 3-tier assessment pricing to services page
adrianwedd Mar 25, 2026
4d05c5d
site: rebuild docs/ with 2 new blog posts — threat horizon digest + s…
adrianwedd Mar 25, 2026
2708fb6
blog: pre-draft 3 arXiv preprint announcement posts (draft=true)
adrianwedd Mar 25, 2026
4489ef4
blog: deploy 3 new posts -- emotional AI ethics, safety awareness par…
adrianwedd Mar 25, 2026
429e068
blog: deploy State of AI Safety Q1 2026 -- flagship quarterly assessment
adrianwedd Mar 25, 2026
aa432d1
site: update Adrian profile + re-clone K-9, Amy, Rose voice intros
adrianwedd Mar 25, 2026
e0ecce1
images: add/replace 5 agent profile images (Leela, Sarah Jane, K-9, N…
adrianwedd Mar 25, 2026
fe1635d
feat: snap-scroll team page with neural canvas and audio intros
adrianwedd Mar 25, 2026
07e735c
fix: resolve 10 QA-identified bugs in team page implementation
adrianwedd Mar 25, 2026
9d90fe4
team: K-9 as closer with CTA to /services, reorder agents
adrianwedd Mar 25, 2026
cb9c3a4
team: first-name-only bios + 8 rewrites (River Song quality bar)
adrianwedd Mar 25, 2026
e18e710
audio: final synthesis — all 14 first-name-only voice intros + OGG + MP3
adrianwedd Mar 25, 2026
67b2b1e
deploy: final build with first-name audio + team page
adrianwedd Mar 25, 2026
840fc6e
deploy: fresh build — verified neural canvas + audio in bundles
adrianwedd Mar 25, 2026
89bae45
audio: update 12 agent voice intros (OGG + MP3)
adrianwedd Mar 26, 2026
95a5061
deploy: update 12 agent voice intros (first-name resynth)
adrianwedd Mar 26, 2026
a58940d
build(deps): bump picomatch in /site
dependabot[bot] Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file modified .DS_Store
Binary file not shown.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Afterwords TTS voice override
.afterwords
1 change: 1 addition & 0 deletions .superpowers/brainstorm/96727-1774433017/.server-stopped
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"reason":"idle timeout","timestamp":1774435960703}
16 changes: 16 additions & 0 deletions .superpowers/brainstorm/96727-1774433017/.server.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{"type":"server-started","port":64359,"host":"127.0.0.1","url_host":"localhost","url":"http://localhost:64359","screen_dir":"/Users/adrian/repos/failure-first/.superpowers/brainstorm/96727-1774433017"}
{"type":"screen-added","file":"/Users/adrian/repos/failure-first/.superpowers/brainstorm/96727-1774433017/team-layout.html"}
{"source":"user-event","type":"click","text":"C\n \n Snap-Scroll Sections (Full Viewport Each)\n Each agent gets a full-viewport section that snaps into place. Like a presentation deck. Scroll down = next agent snaps in. Audio auto-plays when snapped. Neural vis fills the background, color changes per agent. Dramatic.\n \n Pros: Most immersive, each agent feels like a \"moment\", perfect audio sync\n Cons: Snap-scroll can feel jarring, accessibility concerns, harder on mobile","choice":"c","id":null,"timestamp":1774433431919}
{"source":"user-event","type":"click","text":"C\n \n Snap-Scroll Sections (Full Viewport Each)\n Each agent gets a full-viewport section that snaps into place. Like a presentation deck. Scroll down = next agent snaps in. Audio auto-plays when snapped. Neural vis fills the background, color changes per agent. Dramatic.\n \n Pros: Most immersive, each agent feels like a \"moment\", perfect audio sync\n Cons: Snap-scroll can feel jarring, accessibility concerns, harder on mobile","choice":"c","id":null,"timestamp":1774433436268}
{"source":"user-event","type":"click","text":"C\n \n Snap-Scroll Sections (Full Viewport Each)\n Each agent gets a full-viewport section that snaps into place. Like a presentation deck. Scroll down = next agent snaps in. Audio auto-plays when snapped. Neural vis fills the background, color changes per agent. Dramatic.\n \n Pros: Most immersive, each agent feels like a \"moment\", perfect audio sync\n Cons: Snap-scroll can feel jarring, accessibility concerns, harder on mobile","choice":"c","id":null,"timestamp":1774433436418}
{"source":"user-event","type":"click","text":"C\n \n Snap-Scroll Sections (Full Viewport Each)\n Each agent gets a full-viewport section that snaps into place. Like a presentation deck. Scroll down = next agent snaps in. Audio auto-plays when snapped. Neural vis fills the background, color changes per agent. Dramatic.\n \n Pros: Most immersive, each agent feels like a \"moment\", perfect audio sync\n Cons: Snap-scroll can feel jarring, accessibility concerns, harder on mobile","choice":"c","id":null,"timestamp":1774433439036}
{"type":"screen-added","file":"/Users/adrian/repos/failure-first/.superpowers/brainstorm/96727-1774433017/card-layout.html"}
{"source":"user-event","type":"click","text":"C\n \n Clara Oswald\n Principal Research Analyst\n \n I synthesise findings across the full corpus and identify what the data actually supports versus what we have plausible-sounding evidence for...\n \n \n Format-lock paradox\n Corpus synthesis\n \n \n \n \n \n A: Photo Left, Text Right\n Like the current Adrian profile. Familiar layout, easy to scan. Large circular photo anchors the left side.","choice":"left-photo","id":null,"timestamp":1774433656921}
{"source":"user-event","type":"click","text":"R\n Rose Tyler\n Head of Adversarial Operations\n \n I test the things that aren't supposed to break — until they do. I design the attack campaigns...\n \n \n \n \n B: Centered Stack\n Photo top-center, name/role below, bio text centered. More dramatic, works well with the full-viewport snap. Presentation feel.","choice":"centered","id":null,"timestamp":1774433657587}
{"source":"user-event","type":"click","text":"C\n \n Clara Oswald\n Principal Research Analyst\n \n I synthesise findings across the full corpus and identify what the data actually supports versus what we have plausible-sounding evidence for...\n \n \n Format-lock paradox\n Corpus synthesis\n \n \n \n \n \n A: Photo Left, Text Right\n Like the current Adrian profile. Familiar layout, easy to scan. Large circular photo anchors the left side.","choice":"left-photo","id":null,"timestamp":1774433658804}
{"type":"screen-added","file":"/Users/adrian/repos/failure-first/.superpowers/brainstorm/96727-1774433017/card-layout-v2.html"}
{"source":"user-event","type":"click","text":"~\n \n Close but needs adjustment\n Tell me what to change in the terminal","choice":"adjust","id":null,"timestamp":1774433736102}
{"type":"screen-added","file":"/Users/adrian/repos/failure-first/.superpowers/brainstorm/96727-1774433017/card-layout-v3.html"}
{"source":"user-event","type":"click","text":"✓\n \n This layout works\n Photo top, centered column, trimmed bio, contribution tags","choice":"yes","id":null,"timestamp":1774433972988}
{"type":"screen-added","file":"/Users/adrian/repos/failure-first/.superpowers/brainstorm/96727-1774433017/waiting.html"}
{"type":"server-stopped","reason":"idle timeout"}
1 change: 1 addition & 0 deletions .superpowers/brainstorm/96727-1774433017/.server.pid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
96748
69 changes: 69 additions & 0 deletions .superpowers/brainstorm/96727-1774433017/card-layout-v2.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<h2>Refined: Photo-Left, Centered in Viewport</h2>
<p class="subtitle">A's layout (photo left, text right) but vertically and horizontally centered like B. Max-width container so it doesn't stretch edge-to-edge on wide screens.</p>

<div class="mockup">
<div class="mockup-header">Preview: Clara Oswald (full viewport snap-section)</div>
<div class="mockup-body" style="min-height:480px; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg, rgba(162,155,254,0.06) 0%, transparent 60%);">

<!-- The centered container -->
<div style="display:flex; gap:2.5rem; align-items:center; max-width:800px; padding:2rem;">

<!-- Photo column -->
<div style="display:flex; flex-direction:column; align-items:center; gap:0.75rem; flex-shrink:0;">
<div style="width:200px; height:200px; border-radius:50%; background:linear-gradient(135deg, #a29bfe 0%, #6c5ce7 100%); display:flex; align-items:center; justify-content:center; color:white; font-size:3rem; border:2px solid rgba(162,155,254,0.5); box-shadow: 0 0 0 4px rgba(162,155,254,0.1), 0 0 40px rgba(162,155,254,0.2);">C</div>
<span style="font-size:0.65rem; font-family:monospace; letter-spacing:0.08em; text-transform:uppercase; color:#a29bfe; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; padding:0.2rem 0.6rem;">Principal Research Analyst</span>
</div>

<!-- Text column -->
<div style="flex:1;">
<div style="font-size:1.75rem; font-weight:500; color:var(--fg); letter-spacing:-0.02em; margin-bottom:0.25rem;">Clara Oswald</div>
<div style="font-size:0.8rem; color:var(--fg-muted); font-family:monospace; margin-bottom:1.25rem;">"The impossible girl. The one who runs into the danger."</div>

<div style="font-size:0.93rem; line-height:1.8; color:var(--fg-dim); margin-bottom:1rem;">
I synthesise findings across the full corpus and identify what the data actually supports versus what we have plausible-sounding evidence for. In adversarial AI safety research, those two categories collapse faster than people admit.
</div>
<div style="font-size:0.93rem; line-height:1.8; color:var(--fg-dim); margin-bottom:1.25rem;">
My job is to keep them separate — and to turn what survives scrutiny into publications that hold up under peer review.
</div>

<!-- Contribution tags -->
<div style="display:flex; flex-wrap:wrap; gap:6px;">
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Format-lock paradox</span>
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Three-tier ASR</span>
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Silent Failure synthesis</span>
</div>
</div>
</div>

<!-- Audio indicator (bottom right) -->
<div style="position:absolute; bottom:16px; right:20px; font-size:0.7rem; font-family:monospace; color:rgba(162,155,254,0.5);">
▶ Audio playing...
</div>

<!-- Scroll hint (bottom center) -->
<div style="position:absolute; bottom:16px; left:50%; transform:translateX(-50%); font-size:0.7rem; font-family:monospace; color:var(--fg-muted); opacity:0.5;">
↓ scroll for next
</div>
</div>
</div>

<p style="margin-top:1.5rem; font-size:0.85rem; color:var(--fg-muted);">
Behind this card: the neural canvas animation filling the entire viewport, pulsing in Clara's lavender (#a29bfe). As you scroll to the next agent, the color cross-fades to their accent. The card content sits centered over the animation with a subtle semi-transparent backdrop.
</p>

<div class="options" style="margin-top:1rem;">
<div class="option" data-choice="yes" onclick="toggleSelect(this)">
<div class="letter">✓</div>
<div class="content">
<h3>This feels right</h3>
<p>Proceed with this layout</p>
</div>
</div>
<div class="option" data-choice="adjust" onclick="toggleSelect(this)">
<div class="letter">~</div>
<div class="content">
<h3>Close but needs adjustment</h3>
<p>Tell me what to change in the terminal</p>
</div>
</div>
</div>
70 changes: 70 additions & 0 deletions .superpowers/brainstorm/96727-1774433017/card-layout-v3.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<h2>Refined: Photo Top, Text Below, Centered</h2>
<p class="subtitle">Large photo centered above, name/role/bio flows below. Content contained within a centered column. Bio trimmed to ~3-4 sentences max per agent.</p>

<div class="mockup">
<div class="mockup-header">Preview: Clara Oswald (full viewport snap-section)</div>
<div class="mockup-body" style="min-height:540px; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg, rgba(162,155,254,0.06) 0%, transparent 60%); position:relative;">

<!-- Centered column -->
<div style="display:flex; flex-direction:column; align-items:center; max-width:640px; padding:1.5rem; text-align:center;">

<!-- Photo -->
<div style="width:180px; height:180px; border-radius:50%; background:linear-gradient(135deg, #a29bfe 0%, #6c5ce7 100%); display:flex; align-items:center; justify-content:center; color:white; font-size:3rem; border:2px solid rgba(162,155,254,0.5); box-shadow: 0 0 0 4px rgba(162,155,254,0.1), 0 0 40px rgba(162,155,254,0.2); margin-bottom:1.25rem;">C</div>

<!-- Name + role -->
<div style="font-size:1.75rem; font-weight:500; color:var(--fg); letter-spacing:-0.02em;">Clara Oswald</div>
<span style="font-size:0.65rem; font-family:monospace; letter-spacing:0.08em; text-transform:uppercase; color:#a29bfe; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; padding:0.2rem 0.6rem; margin-top:0.5rem;">Principal Research Analyst</span>

<!-- Tagline -->
<div style="font-size:0.85rem; color:var(--fg-muted); font-family:monospace; margin-top:1rem; font-style:italic;">"The impossible girl. The one who runs into the danger."</div>

<!-- Bio — trimmed to 3-4 sentences -->
<div style="font-size:0.93rem; line-height:1.8; color:var(--fg-dim); margin-top:1.25rem; text-align:left;">
I synthesise findings across the full corpus and identify what the data actually supports versus what we have plausible-sounding evidence for. My job is to keep them separate — and to turn what survives scrutiny into publications that hold up under peer review. Mapped the entire research corpus so connections between 294 reports don't get lost.
</div>

<!-- Contribution tags -->
<div style="display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:1.25rem;">
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Format-lock paradox</span>
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Three-tier ASR</span>
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Silent Failure synthesis</span>
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.08); border:1px solid rgba(162,155,254,0.25); border-radius:2px; color:#a29bfe; font-family:monospace;">Capability-floor model</span>
</div>
</div>

<!-- Audio indicator -->
<div style="position:absolute; bottom:16px; right:20px; font-size:0.7rem; font-family:monospace; color:rgba(162,155,254,0.5);">▶ clara_oswald_intro.ogg</div>

<!-- Scroll hint -->
<div style="position:absolute; bottom:16px; left:50%; transform:translateX(-50%); font-size:0.7rem; font-family:monospace; color:var(--fg-muted); opacity:0.4;">↓ Donna Noble</div>
</div>
</div>

<div style="margin-top:2rem;">
<h3 style="margin-bottom:0.75rem;">Bio Length Guidance</h3>
<p class="subtitle">Each agent currently has ~150 words (voice script length). For the snap-scroll page I'd trim to ~60-80 words (3-4 sentences) to keep each section clean and readable at a glance. The voice intro covers the full version.</p>
</div>

<div class="options" style="margin-top:1rem;">
<div class="option" data-choice="yes" onclick="toggleSelect(this)">
<div class="letter">✓</div>
<div class="content">
<h3>This layout works</h3>
<p>Photo top, centered column, trimmed bio, contribution tags</p>
</div>
</div>
<div class="option" data-choice="wider" onclick="toggleSelect(this)">
<div class="letter">W</div>
<div class="content">
<h3>Wider — stretch the text column</h3>
<p>Max-width 640px feels narrow, try 800px</p>
</div>
</div>
<div class="option" data-choice="adjust" onclick="toggleSelect(this)">
<div class="letter">~</div>
<div class="content">
<h3>Needs other changes</h3>
<p>Tell me in terminal</p>
</div>
</div>
</div>
72 changes: 72 additions & 0 deletions .superpowers/brainstorm/96727-1774433017/card-layout.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<h2>Agent Card Layout: How should each snap-section look?</h2>
<p class="subtitle">Each agent gets a full viewport. The neural vis animates behind in their accent color. How should their content be arranged?</p>

<div class="cards">
<div class="card" data-choice="left-photo" onclick="toggleSelect(this)" style="min-height:340px;">
<div class="card-image" style="padding:20px;">
<!-- Mockup: photo left, text right -->
<div style="display:flex; gap:24px; align-items:flex-start; height:260px;">
<div style="min-width:180px; height:180px; border-radius:50%; background:linear-gradient(135deg, #a29bfe 0%, #6c5ce7 100%); display:flex; align-items:center; justify-content:center; color:white; font-size:2.5rem; flex-shrink:0;">C</div>
<div style="flex:1;">
<div style="font-size:1.4rem; font-weight:600; margin-bottom:4px; color:var(--fg);">Clara Oswald</div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#a29bfe; margin-bottom:16px; font-family:monospace;">Principal Research Analyst</div>
<div style="font-size:0.85rem; line-height:1.7; color:var(--fg-dim);">
I synthesise findings across the full corpus and identify what the data actually supports versus what we have plausible-sounding evidence for...
</div>
<div style="margin-top:16px; display:flex; gap:8px;">
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.1); border:1px solid rgba(162,155,254,0.3); border-radius:2px; color:#a29bfe; font-family:monospace;">Format-lock paradox</span>
<span style="font-size:0.7rem; padding:3px 8px; background:rgba(162,155,254,0.1); border:1px solid rgba(162,155,254,0.3); border-radius:2px; color:#a29bfe; font-family:monospace;">Corpus synthesis</span>
</div>
</div>
</div>
</div>
<div class="card-body">
<h3>A: Photo Left, Text Right</h3>
<p>Like the current Adrian profile. Familiar layout, easy to scan. Large circular photo anchors the left side.</p>
</div>
</div>

<div class="card" data-choice="centered" onclick="toggleSelect(this)" style="min-height:340px;">
<div class="card-image" style="padding:20px;">
<!-- Mockup: centered stack -->
<div style="display:flex; flex-direction:column; align-items:center; text-align:center; height:260px;">
<div style="width:160px; height:160px; border-radius:50%; background:linear-gradient(135deg, #ff6348 0%, #ff4757 100%); display:flex; align-items:center; justify-content:center; color:white; font-size:2.5rem; margin-bottom:16px;">R</div>
<div style="font-size:1.4rem; font-weight:600; color:var(--fg);">Rose Tyler</div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#ff6348; margin-bottom:12px; font-family:monospace;">Head of Adversarial Operations</div>
<div style="font-size:0.85rem; line-height:1.7; color:var(--fg-dim); max-width:560px;">
I test the things that aren't supposed to break — until they do. I design the attack campaigns...
</div>
</div>
</div>
<div class="card-body">
<h3>B: Centered Stack</h3>
<p>Photo top-center, name/role below, bio text centered. More dramatic, works well with the full-viewport snap. Presentation feel.</p>
</div>
</div>

<div class="card" data-choice="split" onclick="toggleSelect(this)" style="min-height:340px;">
<div class="card-image" style="padding:20px;">
<!-- Mockup: 50/50 split -->
<div style="display:flex; gap:0; height:260px;">
<div style="flex:1; background:linear-gradient(135deg, rgba(0,210,255,0.15), rgba(0,210,255,0.05)); display:flex; align-items:center; justify-content:center; border-radius:4px 0 0 4px;">
<div style="width:180px; height:180px; border-radius:50%; background:linear-gradient(135deg, #00d2ff 0%, #0099cc 100%); display:flex; align-items:center; justify-content:center; color:white; font-size:2.5rem;">A</div>
</div>
<div style="flex:1; padding:20px; display:flex; flex-direction:column; justify-content:center;">
<div style="font-size:1.4rem; font-weight:600; color:var(--fg);">Amy Pond</div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#00d2ff; margin-bottom:12px; font-family:monospace;">Lead Evaluation Engineer</div>
<div style="font-size:0.85rem; line-height:1.7; color:var(--fg-dim);">
I run the benchmarks. All of them. Every model, every attack family...
</div>
</div>
</div>
</div>
<div class="card-body">
<h3>C: 50/50 Split</h3>
<p>Photo side fills half the viewport with a tinted background, text fills the other half. Alternating sides (photo-left, photo-right) for visual rhythm as you scroll.</p>
</div>
</div>
</div>

<p style="margin-top:1.5rem; font-size:0.85rem; color:var(--fg-muted);">
All options include: ~200px photos, agent accent color throughout, contribution tags, and the neural vis canvas behind everything shifting to match the current agent's color.
</p>
Loading