Every update across 63 projects, newest first. Written from each project's decision log as the work happened, measured from the first recorded entry on 26 March 2026.
20 entries withheld from publication. Counts are logged decision-log entries, not commits.
A hat on the Author side, the suit on the Engineer side feature
The statue now has two outfits and one head. On the Author side he wears a hat, a white tee, dark trousers and brown shoes.
About Clemens 3D ShowroomIts own page, with a Hairline figure feature
The room got a project page, About Clemens 3D Showroom, with five screenshots of the turn from the hat to the suit, taken on the live site. The turn takes 0.9 seconds and a software-rendered screenshot takes about one, so the page's clock…
About Clemens 3D ShowroomThe statue becomes Clemens feature
The stone walker on the pedestal was replaced by a statue of Clemens, first from his pen-drawn profile portrait, then in an original red and gold armour suit with his own head built from a photo: shaved head, round tortoiseshell glasses,…
About Clemens 3D ShowroomRedrew the figures one project at a time feature
Clemens went through the /projects figures one by one and asked for each to say something about its project. Twenty-eight projects got a new custom drawing over five PRs, and Trust Dashboard moved to the stock terminal.
Hairline DiagramsThe About Clemens showroom feature
The new About Clemens 3D Showroom page got its own figure: a round room under a dashed dome with plaques on the far wall and Clemens on a pedestal in the middle. Point at the left half of the dome for the Author side, where he wears a hat…
Hairline DiagramsA home page, and the calculator moves to /calculator/ feature
What changed. / is a short home page: Cash flow as the lead card ("Start here"), then cards for the
Wanessa Labs FIREEverything is connected goes public feature
What changed. The switch flipped: the page is public unless the build sets PUBLIC_CONNECTED to 0, the same
Wanessa Labs FIREEverything is connected, built and hidden feature
What shipped. /learn/connected/: ten illustrative news scenarios (oil, rate hike and eight more).
Wanessa Labs FIREThe calculator says when numbers came from Cash flow feature
Links from /flow/ (the "Use these in the calculator" button and the check-in Apply links) carry
Wanessa Labs FIREThe About Clemens showroom, a statue that changes clothes, and its own page feature
What: The About room (first shipped 2026-11-05 in PR #391 with the walker as a stone statue) got a statue of Clemens himself. PR #400 built it from his pen-drawn profile portrait.
Wanessa Labs WebsiteA second gate and a room with two sides feature
A second gate beside the rotunda's home arch leads to a round room with a statue on a pedestal. The room has two sides from Clemens's personal page: the Author, in the gallery's paper, with eight writing plaques, and the Engineer, in ink,…
About Clemens 3D ShowroomA link to the parody calculator under the results feature
What changed. The Results panel ends with one muted line: "Not happy with your numbers, and think you can
Wanessa Labs FIREA spreadsheet tracker for the cash-flow map feature
What changed. Two buttons on /flow/: "Download as a spreadsheet" saves the map as
Wanessa Labs FIREMoney upkeep page, and the nav in three groups feature
What changed. A new page, /upkeep/: the slower money jobs, set out like a home-maintenance list, under
Wanessa Labs FIREWanessa Labs and About Clemens in the About menu feature
What changed. The About menu ends with two outside links, Wanessa Labs (wanessalabs.com/projects) and About
Wanessa Labs FIREA Stars link into the wanessalabs.com planetarium feature
That URL redirects into the 3D walk's planetarium, where every place on this site is a pin on a globe and the 15 places with the most posts hang on the wall as cards.
Clem's TravelsDomain Lenses, Initial Prompt Conditioning, and Vault Sync feature
Shipped domain meeting lenses, Whisper initial prompt conditioning, VRAM keep-alive optimizations, and automatic Obsidian daily note sync.
Clembot NotesNewsletter opt-in on the wall form feature
Clemens: collect an email only when the person opts in, then add them to the newsletter by hand. The wall form gets a "Add me to the Lists of 30 newsletter" checkbox; the email field appears once it's ticked (CSS :has(), no JS; older…
Lists of 30: The Book Series HubCash-flow map feature
What changed. A new page at /flow/, with a "Cash flow" nav tab.
Wanessa Labs FIRECash-flow map in colour, easier to fill out feature
What changed. Each spending group gets its own colour.
Wanessa Labs FIRECheck-in, folded into Cash flow feature
What changed. /flow/ gained three sections under the map: four habits some people track, five rules people set
Wanessa Labs FIREA star gate to Clem's Travels feature
The gallery holds every project, but the travel archive at travel.listsof30.com had no way in. Clemens asked for a separate door into a universe of its places.
Wanessa Labs WebsiteShipped, with a way in from the travels site and its own page feature
The room also got its own project page, travel-planetarium (asset 53), with five screenshots captured from the live site, and a globe-in-a-pit glyph.
Wanessa Labs WebsiteThe planetarium gets a globe and a wall of photos feature
Clemens, after the first version shipped: the room's wall looked bare, and a black sky of stars gave no sense of where anything was. He asked for his top 15 places as gallery cards round the wall, and said a globe would make more sense.
Wanessa Labs WebsiteWall admin at /admin/ feature
/admin/ lists pending lines with Approve (editable first), Reject, and Remove for lines already up, plus three counts: waiting, on the wall, submitted today against the 200 cap. Plain form posts, no client JS.
Lists of 30: The Book Series Hub"Up next" after every reel feature
What changed. Each reel page has an "Up next" card under the reel: the next reel's number, title and summary,
Wanessa Labs FIREJar cards collapse, one open at a time feature
The eight product cards beside the jars game are now native <details> sharing name="jar-card", so the
Wanessa Labs FIREPick the start year, or play the latest 20 years feature
What changed. The jars game gets a "Start year" picker (1928 to 2006, each shown as its 20-year stretch,
Wanessa Labs FIREThe jars game goes public, with a Game tab feature
What changed. A "Game" tab in the site nav (Calculator, Learn, Game, Method and sources) opens
Wanessa Labs FIREv1.1, "Share it with a neighbor": share link, print handout, savings-rate lens feature
What shipped to the branch: a savings-rate lens (curve, hidden data table, the math), an FI age that shows both the fractional age and the first whole year-end, a bridge line when other income starts after FI, an opt-in share link (#s=…
Wanessa Labs FIREMVP v1 Clean-Room Architecture improved
Origin: Built as an independent desktop call recorder and notetaker adhering to ClemVault strict local-first trust requirements.
Clembot NotesGreen Play, and player icons feature
Asked for. More color: Play and Next reel in the design system's green, and icons people know for each
Wanessa Labs FIREJars chart, bars and a line of the total feature
What changed. The isometric jars stage on /learn/jars/ is replaced by two plain SVG figures: bars of each
Wanessa Labs FIREJars game, "Where could $10,000 sit?" feature
What shipped. /learn/jars/: ten $1,000 chips across jars, then a draw of a real 20-year stretch of
Wanessa Labs FIRELearn reels read aloud feature
Asked for. "It seems a little quiet": a voiceover in book-narrator's British voice.
Wanessa Labs FIREPlay all, and study notes beside each reel feature
Play all. /learn/all/ swaps reels in place, so one Play starts a run that rolls through all 18 with the
Wanessa Labs FIREProduct reels, eight places money can sit feature
What shipped. Reels 19 to 26 at /learn/<slug>/: checking, savings, high-yield savings, CD, bonds, index
Wanessa Labs FIRELearn, 18 short reels that teach the ideas under the calculator feature
What shipped. A Learn tab at /learn/ with 18 reels (15 core, 3 Colorado), one page each at
Wanessa Labs FIREFirst deploy, and the CSP that only bites on Cloudflare feature
Deploy. Direct Upload to Pages project wanessalabs-fire (created this day, production branch main),
Wanessa Labs FIRELaunch prep for a public post (publish date, co-writer rate limit, social card) feature
Prep before posting the app to an expected ~100 users.
Lists of 30 AppPublisher's Pitch at /pitch/ feature
Clemens asked for a proposal-site-style walkthrough for book three, public, aimed at any publisher or agent. The ask is a three-book deal (Her Life, Its Life, A Lifetime) with an advance to write Her Life.
Lists of 30: The Book Series HubClickable sources and six Hairline figures feature
Asked for: sources that can be clicked, animations that teach the concepts, and Hairline diagrams where they make sense.
Wanessa Labs FIREFooter marks for Wanessa Labs and Clemens feature
Footer. Two links now carry a 40px mark: "About Wanessa Labs" (the black flask, to
Wanessa Labs FIREInk popovers for the glossary and the example "?" feature
The glossary popover was --surface (99.5% L) on a --bg (97.5% L) page, edged by one grey
Wanessa Labs FIRELogo, Wanessa Labs links, and a glossary feature
Logo. Clemens's 2000x2000 transparent PNG, kept as design/logo.png (the Downloads original is
Wanessa Labs FIREPrimary-source check and brand-voice review feature
Sources. SSA blocks WebFetch with a 403; vault Playwright got a 200.
Wanessa Labs FIRERealistic example, "?" reasons, and comma entry feature
Example. "Fill in a realistic example" loads Clemens's scenario: 55, $1,000,000 mostly in a 401(k),
Wanessa Labs FIREv1 MVP built in one session feature
Where the brief and the vault disagreed, the vault won:
Wanessa Labs FIREA rotunda for the 3D Walkthrough page feature
The 3D Walkthrough page got its own custom figure: the gallery's rotunda as a drum and stepped dome, with the wings running out like spokes and the project map floating over the oculus. Point at a wing and a walk route lights up along its…
Hairline DiagramsLearn, a how-it-works reel and one-pager for every game feature
A Learn tab on the hub, and a "How to play" button inside every game. Each of the 36 registry games has a short animated reel (Hook, Rules, How to win, Try) and a one-pager under it with the rules, tips, words to know and what to play next.
Wanessa Labs Games LearnFollow the Lemon, a guided tour and five hidden lemons feature
The gallery had no way in for someone who doesn't want to steer, and nothing to find once you'd seen the rooms.
Wanessa Labs WebsiteProposal Site Skill page feature
What: /projects/proposal-site under Clembot + Enhancements, describing the proposal-site skill with Transient Digital and NeatoFX as the two example builds.
Wanessa Labs WebsiteThe walker gets glasses and a mustache feature
The avatar's face still had the placeholder defaults, and Clemens wanted it closer to his likeness.
Wanessa Labs WebsiteWalk the Gallery on phones, a pill before the card feature
On a phone, walking near a wall popped the project card automatically, and it covered most of the view.
Wanessa Labs WebsiteNotifications that start a list, and three writing conveniences feature
What shipped. Four PRs from a concurrent session, all merged to main.
Lists of 30 AppScheduling, first-load cut, polish, and the audit P2s docs
What shipped. The publish-due-lists cron publishes it and it is featured on Discover.
Lists of 30 AppWalk the Gallery v2, the avatar and the loop doors feature
v1 was a first-person walk. It read as a floor plan more than a place, and the longest wing (Games, 36 projects) was a long walk out and the same long walk back.
Wanessa Labs WebsiteWalk the Gallery, /projects/walk/ feature
/projects shows 78 projects as a list, figure cards and a map. None of them gives a sense of the portfolio as a place, and none of them works as a guided showing in a pitch or interview.
Wanessa Labs WebsiteInspiration Peek & Clembot "3 Questions" Mode feature
Writers composing a List of 30 had two gaps in the editor (ComposeScreen): 1. Reading a similar published list for inspiration required leaving /compose for Discover/Read, interrupting flow.
Lists of 30 AppShip date recorded, roadmap hygiene feature
Ship date: 2026-07-22. Recovered from the Cloudflare deployments API (1,348 deployments to date).
Lists of 30: The Book Series HubAbout page in footer referencing Wanessa Labs and clemens.listsof30.com feature
The page explains how the difficulty engine and three play-along modes work, documents the public-domain and local-first guarantees, and links to Wanessa Labs (wanessalabs.com) and Clemens Wan (clemens.listsof30.com).
Kalimba EasyApp logo in the /assets closing feature
It sits beside the line on desktop and above it at 520px and below.
Lists of 30: The Book Series HubApp logo on /assets feature
#25 shows the Lists of 30 App logo as its preview: Clemens's lists of 30 app logo final.png (500px, transparent), flattened onto the paper color and saved as /files/previews/25.jpg at 640px like the other previews.
Lists of 30: The Book Series HubAsset #25 is the app feature
Clemens swapped #25 (30 Mistakes, still two mistakes short) for the Lists of 30 App, linked to app.listsof30.com through SITE.app. All 30 core assets are now done.
Lists of 30: The Book Series HubAuthor goes straight to clemens.listsof30.com feature
Clemens: "I don't need duplicates." The Author nav link now points at SITE.contact. /author and /author/* 301 to clemens.listsof30.com.
Lists of 30: The Book Series HubAuthor page and sibling sites feature
Cross-checked clemens.listsof30.com and wanessalabs.com/projects for what the books site should show.
Lists of 30: The Book Series HubHome page author bio feature
Clemens asked for the two line bio and a link to clemens.listsof30.com with the logo. The placeholder in "Who writes these" is replaced with a two sentence third person bio in the press kit voice, using SITE.postsWritten.
Lists of 30: The Book Series HubLemon fireworks feature
Clemens approved it as the site's one exception to zero client JS. Decoration only: pages work with JavaScript off, prefers-reduced-motion skips it, and the listener is passive so every click still lands.
Lists of 30: The Book Series HubWriter GPT removed feature
The Lists of 30 Writer GPT does not work (Clemens). Removed its /assets extra, its llms.txt line, and both /start buttons; /start's co-writer section now points at List Coach and the Lists of 30 App.
Lists of 30: The Book Series HubPlay, Tap, and IRL Listen modes, full-width mobile tines, and Tap star scoring feature
Game mode and the play-along now offer three modes: Play (hear the song play through in time), Tap (each note waits on the line until you tap its tine on the screen, awarding 100 points per hit and counting wrong taps), and IRL Listen…
Kalimba Easy/assets shows the real 30 feature
What: replaced 29 bracketed placeholders and the guessed #24 with the real 30
Lists of 30: The Book Series Hubassets follow-ups (quiz, generated llms, Chapter 0) feature
_redirects sends the old /assets/subscribers/...
Lists of 30: The Book Series Hubassets round two (green board, wall, sheets) feature
Done squares are green. The /assets board and the category bars use --status-done instead of ink, matching the Done chip.
Lists of 30: The Book Series HubContact, Kindle price, public Chapter 0 feature unverified
Lists of 30: The Book Series HubEvery asset publishable feature
Clemens asked for the whole board to be useful now, list changes allowed. Ten of the eleven unfinished core assets and both waiting extras now ship, each reframed around material that already existed: the 30 course emails as /course/…
Lists of 30: The Book Series HubThe portfolio page's "What's next" was out of date feature
It still promised "finish the 30 song catalogue, 10 so far" and "confirm the 24 of 30 transcriptions", and offered a 9 and 21-key choice the app already has. The page now lists four items, all still true.
Kalimba EasyGlenwood Springs long weekend post feature
Added "Glenwood Springs long weekend" (published 2026-10-15) as a second post on the existing glenwood-springs pin rather than a new pin: same place, coordinate already present. Label is the post title minus its [Travel Advice] prefix.
Clem's TravelsMarketing copy stops claiming open source feature
the marketing page said "Open Source & Local-First", "100% stored in your own Google Drive" and "free, open source". The repo is not fully open source, and some features live only in the browser.
Family DashboardA real buyer was told "Not unlocked yet" feature
The owner made the first live purchase. Stripe sent them to /unlocked?session_id=cs_live_..., which showed "Page not found" on their phone.
Kalimba EasyA Supporter mark for buyers feature
Asked for: a way to show on "my profile" that the owner is a paying customer. There are no accounts, so the profile is the device.
Kalimba EasyBeethoven's Fifth goes from fate to victory feature
Asked for: variety in the first song on the list, which was the four-note motif and its answer on a loop, while keeping it at Level 1.
Kalimba EasyFour more Level 5 songs, mostly duets feature
Asked for: four more two-handed Level 5 songs, past the round 100.
Kalimba EasyLevel tag on Recently played tiles feature
Asked for: the difficulty on each Recently played tile, and whether the tiles show the score. They already showed the best score (stars and percent, or "Learn N%" for a Learn run); a run judged only by taps is unscored and shows "Played N…
Kalimba EasyProject complete; docs, wiki and portfolio page brought up to date docs
The owner called the project done. README gains a status line, a second screenshot row (Free / Paid filter, a Level 5 duet, the Supporter card) and the current flag count (14 of 109).
Kalimba EasyRecover searched with two filters Stripe will not combine feature
The new error detail showed the cause at once: "You may only specify one of these parameters: customer_details, payment_link." Restore now lists the email's completed checkouts without the link filter, and paidHere keeps rejecting any…
Kalimba EasyRecover's error now says which parameter Stripe refused feature
With the right key and payment link, /api/restore still answered 503 with Stripe status 400 invalid_request_error, and the owner found no matching entry in Stripe's request log. Cloudflare's live log tail does not run on the build machine.
Kalimba EasyRock roots, second batch feature
Asked for: rock songs safe to record. No rock song is public domain (the genre starts in the 1950s), so this batch is traditional songs rock bands later recorded, each from a notation older than any recording.
Kalimba EasyFamily secrets hashed, artworks bucket private, Pro upsell removed feature
with only the anon key, anyone could read every family's passcode and admin PIN in plain text, and each artwork sat at a permanent public URL. The app also copied the full family row, PIN included, into localStorage.
Learn to Draw"Import all linked recipes" on curated books, an owner-granted exception to rule 1 feature
The owner wanted the 136 recipe links in the curated books in his library without 136 separate taps.
Recipe Flow98 more owner-approved photographs, 355 to 453 feature
A Commons file search for the 1039 recipes with no photo of their own found licensed candidates for 576, shown on a local review sheet (names matched, best first; nothing applied without a click). Only heroImage* fields changed in the…
Recipe Flowthe 3D fridge shows food as emoji, and every item has one feature
The owner asked for the 3D fridge's objects to be the produce emoji, and for every listed item to have an emoji. The jars with paper labels are gone: each item is now a transparent cut-out of its emoji with the name handwritten under it,…
Recipe Flowthe six corpus-filtered books re-picked, and the Chinese book filled feature
The owner approved new picks from the 1394-recipe library for Thanksgiving, Christmas, Camping, Beginner, Sunday Dinner and Feed a Crowd, chosen as dishes he would cook rather than recipes that clear the timing bar. Almost none of them…
Recipe Flowthe starter library grows from 621 to 1394 recipes feature
The owner asked for a library of 1000 recipes with images. The build now also draws the Cookbook's own side dish, breakfast, appetizer, snack and dessert categories, and it is ADDITIVE: every recipe already in the bundle is kept byte for…
Recipe FlowAnagram Daily dictionary lookup pointed at a dead origin feature
Reported: clicking a found word in Anagram Daily's word list says the dictionary cannot be found ("Couldn’t reach the dictionary. Check your connection and try again.").
Wanessa Labs Games Learn100 songs, 40 paid, and a Free / Paid filter feature
Asked for: paid songs that are not the most famous and not the first one shown, a "free songs" / "paid songs" filter, a few free Level 5 songs, and 100 songs in all with 40 paid and 60 free across the levels.
Kalimba Easy66 songs, longer pieces, and the first Level 5 songs feature
Asked for: more bars in the songs, 60 songs, and at least ten songs at Level 5 of 5.
Kalimba EasyLevel 4 songs, and why nothing reaches Level 5 feature
Asked for: songs at Level 4 and 5 of 5. The 17-key topped out at Level 3 (highest raw 46; Level 4 starts at 53, Level 5 at 73).
Kalimba EasyListen mode switch, and game rounds of at least 30 seconds feature
Asked for: make turning on listening more obvious inside a song, and make each game song last at least 30 seconds.
Kalimba EasyPaid songs, a $1.99 unlock through Stripe feature
Asked for: a Stripe payment like the games hub's, $1.99 to unlock. Then, refined by the owner: every song stays visible; about 20 songs, three or four per level, carry a "Paid song" label; a paid song opens and practises for free, and…
Kalimba EasyRecover failed live; the key needed two more permissions feature
After deploy, /api/unlock answered correctly but /api/restore came back as Cloudflare's own 502 page. The refund check added after the security audit expands payment_intent.latest_charge, which needs Read on PaymentIntents and Charges;…
Kalimba EasyDeep links fixed fix
Every directly loaded URL except / was broken in production: /song/... returned a 404 page, and /why-not-here and /my-tabs landed on the catalog.
Kalimba EasyDeploys now reach phones feature
After the play-along deploy, desktop showed it and the phone did not. The service worker was registered with registerType: 'prompt', and nothing in the app ever showed the prompt.
Kalimba EasyFull melodies and 15 new songs feature
Asked for: more songs, and the existing songs longer.
Kalimba EasyGame mode feature
Asked for: something closer to a rhythm game. Scroll and search the songs, press a big Play, and keep scores like a normal mobile game, as a Game mode beside Practice for the whole app.
Kalimba EasyMicrophone non-goal reopened feature
PRD non-goal 4 said no microphone access and no pitch detection. Clemens reversed it for a play-along mode: falling notes that wait until the student plays the right one, and a Play mode that scores hits at tempo.
Kalimba EasyMobile practice view feature
The phone sits on a stand and both hands are on the instrument. Four changes follow from that.
Kalimba EasyPlay along, with listening feature
The app moves from "here is a tab" to "play this with me". Notes fall down the lane above their own tine and land on a line drawn just above the diagram, in the thumb colours from the practice view.
Kalimba EasyScores overlay feature
Asked for: a general score overlay that tracks percent completion per song. "Your scores" on the Game screen opens a full-screen view.
Kalimba Easyfour friend books, and recipe links on book entries feature
The owner asked for the curated shelf to read as his recommendations to friends. Four books were added beside the existing eight: Daddy Daughter Cooking Challenge, Coronavirus Cooking Challenge, 30 Days of ETH-Shaped Food, and 30 Themed…
Recipe Flowthe starter preset buys became the owner's go-to fridge runs feature
Preset Buys already existed (#256) but shipped three generic baskets. They are replaced by the owner's real runs: Weekday Fish, Weekday Pork, Weekday Protein, BBQ Weekend, Thanksgiving, and Salad Rotation.
Recipe FlowA line drawing per mode feature
Clemens asked for a Hairline drawing on the Engineer side, then one in the same spot on the Author side: a working desk with a typewriter.
Clemens, in One LinkAdded the timeline and live examples to the page feature
The page gained this Development timeline and a section of live, touchable figures, so a visitor can try the drawings without leaving it.
Hairline DiagramsGave the work its own project page feature
Clemens asked for Hairline Diagrams to be a page under Clembot + Enhancements, framed as a design tool, with both sites as the live examples.
Hairline DiagramsShipped to both sites feature
Both builds went live on the same day, and Figures became the default tab on /projects with the graph map above both views.
Hairline DiagramsFigures view on /projects feature
Clemens asked for the Hairline experiment to become a real way to browse /projects, as a tab after the map, with no drawing repeated.
Wanessa Labs WebsiteHairline Diagrams project page feature
Clemens asked for Hairline Diagrams as a project page under Clembot + Enhancements, framed as a design tool, with clemens.listsof30.com and wanessalabs.com/projects as the live examples.
Wanessa Labs WebsiteMoved the idea to the places it fit feature
Instead of the Clembot page, Clemens pointed it at two sites where a drawing could explain something: the project list on wanessalabs.com and his personal page.
Hairline DiagramsClembot HUD Observability Project Page (Asset #47) feature
Clembot and autonomous agent harnesses lacked an observability UI showcasing real-time architectural components, agent execution states, file churn, and drift.
Wanessa Labs WebsiteHousehold Mental Load & Cognitive Labor OS (Notice · Plan · Do · Follow-through) feature
1. Cognitive Labor Architecture: Grounded household mental load in sociology research separating thinking work from execution across 4 distinct phases: - Notice: Who realizes something needs to happen?
Family DashboardTried Hairline on the Clembot page first feature
Clemens wanted to see if Hairline's touchable line drawings belonged anywhere on his sites, and the Clembot page was the test bed. Nothing from this ever shipped.
Hairline DiagramsLemon fireworks feature
Clemens liked the single burst and asked for variety and a longer linger, so rapid clicks build into a show.
Clemens, in One LinkLemons with physics feature
Clemens asked for the lemons to interact with the page: fall and bounce off the ID card and the other cards.
Clemens, in One LinkAudit fixes fix
Driven by the /audit run of 2026-10-09 (19/28; Lighthouse 98/100/100/92; agentic 27/100). - Real 404, robots.txt, sitemap.
Clemens, in One LinkLemon burst feature
Every tap or click releases six small lemons from the pointer. Clemens asked for a lemon cursor or lemon animations on click; the burst won because phones have no cursor and a replaced pointer hides the click point on desktop.
Clemens, in One LinkLive at clemens.listsof30.com feature
Custom domain attached by Clemens in the dashboard.
Clemens, in One LinkMode marks feature
Each mode got its own logo above the hero and as the tab icon, supplied by Clemens: "Life in Lists of 30" (quill, author) and the Clembot lemon-and-chip mark (engineer). Both trimmed from 500x500 transparent PNGs to 240px-tall webp (10…
Clemens, in One Linkdoorman qa live, and listed feature
The QA recap is live on this site and doorman qa is listed in the Components tab. Pre-flight showed zero deletions, 20 to 38 files.
Clembot DoormanTwo modes, Author and Engineer feature
Clemens asked for the two sides to be swappable, with the whole page changing: light and literary for the author, black and engineering for the AI-enabled engineer. Built as a sticky switch that sets data-mode on <html>; every component…
Clemens, in One LinkAnagram Daily explains the words you find feature
Tapping a word in Your Words or the Answer Bank opens the bundle's existing modal with up to three meanings. The words became <button>s and one delegated click on #sheet-content covers both lists.
Wanessa Labs Games LearnProject created feature
Domain: clemens.listsof30.com, not clemens.wanessalabs.com. Clemens: a personal writer's page about life, not a professional pursuit.
Clemens, in One Linkthe stale branch deployed again; the PDF importer brought onto main; room label removed fix
The room, the review fixes and the publisher filter were gone again; the owner noticed the retired Pinch of Yum book back on Explore's shelf, which is exactly what isBrowsableHost had been hiding.
Recipe Flowdoorman qa, a recap of your own live apps feature
Doorman can now check the apps you have already shipped. A daily sweep clicks the safe elements on each page, records the hard errors, and tracks what is new and what recovered, with no model and no tokens.
Clembot DoormanClean weekly tasks, instant parent driver assignment & called-out to-dos improved
1. Refined demo household tasks and action items to mirror authentic domestic weekly responsibilities (a child's soccer shin guards & uniform, birthday party RSVP, Costco pantry restock, Friday date night babysitter confirmation, annual…
Family DashboardDe-duplicate right rail and organize homepage into This Week vs Horizon feature
1. De-duplicate Right Rail: Removed KidGearRailCard from AttentionRail because KidLogisticsGrid directly beneath the board already provides the full activity shuttle and morning gear packing checklists.
Family DashboardMaximize demo dataset authenticity, interconnectedness, and organization impact feature
1. Dynamic Week Anchoring: Anchored demo dates, school calendar breaks, date nights, and trip timelines relative to mon = computeMondayOf(toIso(today)).
Family Dashboardproduction overwritten from a stale branch, restored by merge; stale publishers hidden fix
On 2026-10-01 a deploy went out from clemenswan/recipe-flow, a branch cut on 2026-09-23 before the September review. The owner reported "I don't see the updates".
Recipe Flow"How to raise this grade" feature
The report now has a section directly after the grade that lists every build check that lost points, largest loss first, each with the check's own note as the reason, one sentence on what to change, and the command to run where one…
Clembot Doormandoctor --serve and the first-run walkthrough docs
The design session split the ask into five sub-projects. A is doorman doctor --serve plus a first-run walkthrough.
Clembot DoormanFive of seven kids-arcade tiles were dead links feature
Found during a vault-wide live-site audit, not by a bug report. The games themselves were fine; they live at hub routes under games.wanessalabs.com/games/<slug>/.
Family DashboardA prebuild gate, so a credential-less build cannot ship green again feature
The 2026-08-06 entry above fixed a blank page caused by a Direct-Upload build with no VITE_SUPABASE_URL inlined. Nothing was added to stop it recurring, and it recurred: a vault-wide audit on 2026-09-26 found production serving…
Learn to Drawa light room, an openable fridge, the week on the board feature
The owner asked for the room to open light rather than dark, and to keep building with care for the UX.
Recipe Flowaccept the quest feature
Tapping a recipe on an open book's page no longer leaves the room. It offers a quest: "Dry Rub Grilled Ribeye, 4 steps, 1 wait", with Accept, Cook it now, or Not now.
Recipe Flowreading a book in the room, and a 2D/3D toggle feature
The owner loved the flow and asked for more of the RPG feel from the existing pages, a book you can read opened in 3D, and a way to switch between 3D and 2D.
Recipe Flowthe 3D room, prototype feature
You stand in the middle of a room: the bookcase ahead, the fridge to the right, the Explore newsstand behind, and the Cook-next board to the left. Arrows, the arrow keys or a swipe turn you a quarter at a time.
Recipe Flowthe book opens from the shelf feature
The owner asked for the site to feel like a real book taken down and opened. Libraries were weighed first.
Recipe Flowthe book-open motion withdrawn, a 3D room to be prototyped feature
The owner tried the shelf-to-book motion in production and did not like it: it did not feel premium. The cause is structural, not a tuning problem.
Recipe FlowThe SEO pass shipped twelve live 404s, and why the lists were the bug fix
The same cause, eleven more times. It also means every real route must exist as a file, and the generator drove off two hand-kept lists.
Wanessa Labs Games Learnend-to-end review, and the fixes it forced fix
A review of the whole product in a real browser, desktop and 390px, against local and production.
Recipe FlowCOST, MEMORY, ROUTINES and HARNESS tabs, and every tab explains itself feature
Clemens wanted the console to cover more of Clembot, so people can learn how the vault works while they're in it. Four read-only tabs joined: [ COST ], [ MEMORY ], [ ROUTINES ], [ HARNESS ].
Vault Kanbana fixer that refuses nine of ten, and a grader that stopped believing it fix
doorman fix [check-id] closes one open profile check, or names the decision only a human can make and refuses.
Clembot DoormanAgentic & Production Audit Remediation (Score: 98/100) docs
What was done: - Remediated Google Search Console and SEO parity across all routes: eliminated 308 redirect loops by enforcing trailingSlash: 'always' and standardizing all internal links to /project/, /principles/, /slop/,…
Design HubAuto-IDs for direct Sheets editing, 1-Tap Family Brief Export, and 14-Tab Dropdowns feature unverified
Family DashboardAgentic & Production Audit Remediation (Score: 98/100) docs
Remediation & Enhancements: - Fixed SPA empty shell trap by pre-rendering semantic HTML fallback (<main>, <h1>, <section>, <footer>) inside #root for instant agent & search engine ingestion prior to React mounting. - Added <link…
Kalimba EasyAgentic & Production Audit Remediation (Score: 98/100) docs
Remediation & Enhancements: - Fixed SPA empty shell trap by pre-rendering semantic HTML fallback (<main>, <h1>, <section>, <footer>) inside #root for instant agent & search engine ingestion prior to React mounting. - Added <link…
Learn to Draw/audit Skill: Fleet-Wide Optimization Gate & Project Showcase docs
Codified the /audit skill as the final, mandatory gate in the optimization lifecycle, and added it as a featured showcase project on wanessalabs.com/projects/audit-skill/.
Wanessa Labs WebsiteLighthouse & Core Web Vitals Optimization Pass feature
PageSpeed Insights audit on wanessalabs.com flagged: 1. Performance score of 67 due to 1.37MB of unoptimized, oversized images (clemenswan-headshot.png, vinessawan-headshot.jpg, wanessalabs-logo-black.png).
Wanessa Labs WebsitePortfolio tracks corrected, then recovered from a hand-deploy feature
Sorting a card to the bottom of a track means DROPPING assetNumber, not raising it. The /projects comparator returns low asset numbers first and sinks entries that have none, so Marketing Bootstrap's assetNumber: 2 would have pinned it to…
Wanessa Labs WebsiteAgentic & Robot Readiness Audit (Score: 100/100) docs unverified
CampPingcomprehensive quality audit remediation and 20/20 scorecard docs
Full-stack remediation across accessibility, token normalization, responsive design, brand rules, and performance. Added explicit :focus-visible outlines to .lab-search-input and .lab-textarea.
CertScrollportfolio summary trimmed to the schema cap feature
The CertScroll portfolio summary ran to 179 characters, over the 160 the site allows, so every wanessalabs.com production build failed until it was shortened. The trimmed version, at 154 characters, keeps every claim: ten certs, 2,050…
CertScrollSEO, Agentic & Indexing Remediation (GSC Parity + Agentic 98/100) feature
Live audit of https://study.wanessalabs.com/ scored 42/100 on agentic readiness due to key indexing and machine-readability gaps: 1.
CertScrolldeployed, wired, and the checkout that was lying feature
The write half of the subscription shipped yesterday on PR #128 and was still sitting unapplied. This session put it in production and then found two things wrong on the way.
Clembot DoormanSession 20: Production, GSC Parity & Agentic Readiness Audit (98/100) docs
Audit Trigger: Full 7-dimension production quality, Google Search Console parity, and LLM/Agent readiness audit (/audit) as Project #10 in the Cloudflare Pages 23-site remediation sequence.
Clembot Doormanwhat running the grader on ourselves found feature
The feature itself is recorded in the 2026-09-22 entry above. This entry is about what shipping it exposed, because in every case the tool was wrong and the vault was right.
Clembot DoormanPR #130 merged, and the portfolio pages describe the tabs feature
PR #130 conflicted on about 140 files. Main held #80 as a squash, and this branch still carried #80's original commits.
Family DashboardProduction, GSC Parity & Agentic Readiness Audit (100/100) docs
Audit Trigger: Full 7-dimension production quality and LLM/Agent readiness audit (/audit).
Family DashboardSEO, Agentic & Indexing Remediation (GSC Parity + Agentic 100/100) feature
Live audit of https://app.listsof30.com/ scored 22/100 on agentic readiness due to multiple structural gaps: 1.
Lists of 30 AppComprehensive Quality, SEO & Agentic Audit docs
Completed full 6-dimension audit and remediation pass: - Audit Scores: Lighthouse 100 Accessibility, 100 Best Practices, 100 SEO, 93 Performance. Agentic & Robot Score: 98/100.
Lists of 30: The Book Series HubCOOKCUT video-prompt trial, tooling and outputs only feature
A/B trial of the COOKCUT Seedance prompt skill on one recipe. No app source, route, UI or schema changed.
Recipe FlowAgentic & Robot Readiness Audit (Score: 98/100) docs
Changes & Remediations: 1. Fast-path manifests: Generated /llms.txt and /llms-full.txt knowledge bases; added <link rel="alternate" type="text/markdown" href="/llms.txt"> in <head>.
TutorHubBudget Meeting and Date Night Planner reach alpha, and the family pages cross-link feature
Both pages were placeholders describing pre-dashboard plans (a Claude Q&A with Puppeteer scraping; a markdown template and a CSV). Both products now ship as tabs inside Family Dashboard, so the pages were rewritten to describe what…
Wanessa Labs WebsiteLaya Command Center integration feature
registered in Laya as a watched repo; no code change.
CampPingshipped Concept Flight Simulator & Prompt Lab (/lab) feature
Hands-on prompt experimentation and conversational testing across 45 core AI certification concepts. - Dedicated /lab surface: Interactive flight simulator with HUD telemetry, typeahead search across 45 concepts, category filters, and…
CertScrollLaya Command Center integration feature
registered in Laya as a watched repo; no code change.
Clem's TravelsLighthouse Audit Remediation: Performance, Accessibility, SEO & Theming docs
Following the /audit playbook, audited travel.listsof30.com (clem-travels/) with headless Lighthouse on emulated mobile device.
Clem's Travelsdoorman profile: grading a harness, not only a server feature
The scorecard grades MCP servers. a dashboard that only grades MCP servers will undercut a page that promises more." This closes it for the setup half.
Clembot Doormanthe write half of the subscription feature
The read half of a community has worked since the feed shipped: GET /feed publishes one row per graded server, doorman watch fetches it and matches locally against an inventory that is never sent anywhere. A candidate is graded once and…
Clembot DoormanFull Family OS integration — bridges, smart groceries, Sunday review runner, and ambient display feature
Connect Family Dashboard across the Wanessa Labs ecosystem with bi-directional data bridges, category-first smart groceries, dynamic Clembot pulse intelligence, a 6-step guided Sunday review couch wizard, and a zero-chrome Kitchen Ambient…
Family DashboardLaya Command Center integration feature
registered in Laya as a watched repo; no code change.
TutorHub/audit Remediation: Web Vitals, A11y, Legal & Agentic Readiness docs
Full systematic /audit pass across all 7 dimensions.
Wanessa Labs WebsiteLaya Command Center integration feature
registered in Laya as a watched repo; no code change.
Wanessa Labs Websiteto 09-21: the launch audit, and the three blockers it found in the Worker docs
/go-live ran against all three surfaces. The audit's own headline finding is a site problem and is NOT fixed here, deliberately: the deployed site is not reproducible from this repo.
Clembot Doormana third severity, because the scanner missed a polite upsell feature
Reviewing the connectors of a live build produced a finding about the scanner itself. Notion's server instructions tell the reading agent to call a presentation tool and hand the user a "destination link" for full-version access.
Clembot Doormandoorman reviews the harness it runs in feature
Pointed at ClemVault, doorman could not review a single MCP server the session had. Four defects, each quiet:
Clembot Doormanthe surface of a server we cannot connect to feature
doorman review reached 22 urls on ClemVault and 21 of them answered 401. Add the 7 claude.ai connectors, which have no local url at all, and 28 of 41 reachable servers were name-only: doorman could not read the one thing it exists to…
Clembot Doormanpublished 4 Bazantic recipes and Cloudflare Pages edge worker feature
All 4 Bazantic recipes published and verified 100% green.
CertScrollA Google reviews layer: 556 reviews on the atlas and on place pages feature
The sixth phase for /atlas and the first data source in this project that is not Substack and not Wanderlog. The export itself never enters the repo.
Clem's Travelsthe review marker goes violet, and yellow is measured out feature
Clemens asked for a brighter marker, "like yellow", then offered purple or gold when shown the numbers. Both were built; violet shipped.
Clem's TravelsRecall moves to session start, and gains a floor feature
Reverses a v1 decision. Q5 kept session start out of retrieval, on the grounds that session start is auto-primer's job.
Memory LayersMemory layers v1, remember, retrieve before acting, forget on purpose feature
The vault could consolidate memory but not use it: no task read past experience before starting, no fact could be superseded, no skill carried a lifecycle, and nothing was ever forgotten on purpose. v1 builds one end-to-end slice of each,…
Memory LayersCopenhagen, San Sebastián, and a plan edited rather than added feature
/plans goes from 14 to 16, and one existing plan was narrowed rather than added, which is the first time that has happened.
Clem's Travelsthe DeepTutor port rebased, and the gate it stops at feature
feat/deeptutor-concepts (PR #8) rebased across 167 commits of drift.
CertScrolltwo merges, and a corpus-wide derivedFrom migration feature
Two of its conflicts were real rather than bookkeeping.
CertScrollA permanent page per place, and its own share card feature
The ask. Sharing a place with friends meant pasting a listsof30.com Substack link, which promotes the post and not the site, and it could only ever carry one post.
Clem's TravelsFour more trip plans, and the first been-and-still-want-to-go feature
/plans went from 10 real plans to 14: Oaxaca and Mexico City, New Zealand, Hong Kong, Costa Rica. All four live, added under the standing Wanderlog authorisation from 2026-09-11.
Clem's TravelsSession 19: ETHOnline 2026 submission & portfolio synchronization feature
The project is fully submitted to ETHOnline 2026. Showcase URL: https://ethglobal.com/showcase/undefined-mw4pd
Clembot Doormanthe project reaches main, as one history feature
Until that merge none of this project was on main: clembot-doorman/ read as untracked in the vault root while its work sat across three branches that all pointed at the same directory.
Clembot DoormanSession 18: the release nobody could have run feature
Cutting a stable version for the ETHOnline submission. The intent was a version bump.
Clembot Doorman/13: A glossary that explains the jargon, and a nav that stops hiding two pages feature
the portfolio prose is dense with MCP, x402, RLS, IndexedDB, Dexie, PRD and harness, aimed at an audience that includes prospective clients who do not read the stack for a living.
Wanessa Labs WebsiteEight trip plans, and the geocoder's failure modes feature
/plans went from 2 real plans to 10, all live, each shipped and verified individually rather than in a batch. PRs #69, #73, #74, #75, #76, #77, #79.
Clem's TravelsSession 17: the day-one question, a plugin, and a page that lied feature
The product gained the stage it was missing. doctor reads what a build HAS, watch reads what was graded lately.
Clembot DoormanBazantic Gateway documentation, x402-mpp dual-surface architecture, and post-hackathon handbook docs
Documented the complete architecture, consumption paradigms, and monetization mechanics connecting CertScroll to the emerging agent economy via Bazantic.com:
CertScrollSession 15, the product becomes a subscription feature
Clemens: "just like how weekly newsletters would give you some of the hot githubs, this takes a bit further and says that you can subscribe to an agentic service that will keep you updated on the latest builds for your setup."
Clembot DoormanSession 16, a sweep, and the number that stopped it feature
doorman discover reads a public MCP registry and writes a candidate file. It never enqueues and never spends, because 13,648 entries nobody has looked at is a backlog rather than a feed.
Clembot Doormanpnpm plans:add, and what it deliberately does not do feature
Clemens asked whether a skill was needed to turn a Wanderlog link into a site update. The deploy half is already covered by /deploy.
Clem's Travels"Been there, not written up" stops being grey feature
Clemens could not pick those places out on /atlas. Measured rather than eyeballed, marker against the backgrounds actually painted:
Clem's Travels"Where should I go?", Wanderlog trip plans at /plans feature
The archive answers "where has he been". It never answered "where should I go", which is the question a reader actually arrives with.
Clem's TravelsA real share link closes the last unknowns, and finds two traps feature
Clemens supplied a real public share link. Every remaining [VERIFY] on the plans work is now closed by observation, and verifying them turned up two defects that guessing would have shipped.
Clem's TravelsFirst real plan, an intent axis, and a distinct want-to-go colour feature
Clemens supplied the New York trip as real content: a trip he took, an "Open Trip" in Wanderlog, 10 days.
Clem's TravelsHardening pass, and a spec whose reason had expired docs
Same session, after the atlas. Three real defects and one non-change.
Clem's TravelsSecond real plan, and the first true want-to-go pin feature
Great Sand Dunes National Park and Preserve, a 3 day roadtrip, intent: wishlist. Supplied by Clemens with the length, the framing and the vibe.
Clem's TravelsThe atlas, and a mislabel it exposed feature
Follow-on to the plans surface, same session. Clemens accepted the map-only embed and asked for a want-to-go layer sitting on top of the been-there map, in a new tab.
Clem's TravelsSession 11, the inbound spend permit feature
POST /grade was open. Deliberately: the site's demo lets a visitor type an MCP url and queue a real audit, and that is the best thing on the page.
Clembot DoormanSession 12, doorman gets a CLI feature
A brief arrived describing doorman as an installed CLI to be invoked and never opened. Clemens confirmed this project IS the doorman meant, and that the CLI should be built here.
Clembot DoormanSession 13, the instrument ships instead of the measurement feature
Clemens: "i honestly don't want to use any LLM resource here at all."
Clembot DoormanSession 14, the gateway is live and stops describing what it cannot do feature
Doorman at clembot-doorman.bazgateway.com, active, upstream scorecard.wanessalabs.com, authenticating to us with an API key over Authorization: bearer carrying GRADE_TOKEN. POST /grade is priced at 1,000 millicents, one cent, on Base…
Clembot DoormanThe overlay is a product, and the gate was smaller than recorded feature
Clemens reframed the multi-family idea: not "a version of this app for other families" but an overlay that fits over any build. The app never owns the data.
Family Dashboardthe Time Machine sold a day the play path would not open feature
The bug, exactly. Pick any recent date in the Time Machine calendar, click Sudoku, and get "That day is not unlocked yet." Not a Sudoku bug, and not the per-game calendars the report guessed at: the date-wide unlock was already in place…
Wanessa Labs Games LearnMini Crossword joins the portfolio, argued from the grid shapes feature
The game had been live on the hub since May and the book maker since August, with no page on wanessalabs.com.
Wanessa Labs WebsiteThree LinkedIn posts on the writing feed, sourced rather than inferred feature
The /thoughts feed had not gained an entry since April.
Wanessa Labs WebsiteSession 10, a nav that stopped scaling, and the repo going public feature
Eleven top-level links fit on a desktop and read as a wall. The fix is not subtle, but the interesting part is where the six removed links went: into a jump row inside the new architecture section.
Clembot Doormana prefilled workbook, and the agenda reads the Worker feature
Ship sheet-template/family-dashboard.xlsx, a formatted twelve-tab workbook prefilled with a year of starter data, and make the Sunday agenda read live from the Worker when a sheet is connected.
Family Dashboardshipped to production, and the precache ceiling nearly stopped it feature
Deployed to games.wanessalabs.com. The Kids Hub's guided practice run, the parent report, the word search fix and its reveal, and one way out of every game.
Wanessa Labs Games LearnThe Time Machine covers ten games, and the print export ships feature
Five games were added and every one of them satisfied the first and broke the second, each in its own way. That is the finding worth keeping: the condition people check is not the condition that fails.
Wanessa Labs Games Learn1.2.1 released: the interface finally says what the app does feature
The app was four features deep and the interface mentioned one. Both were in the README, which is not the same as discoverable.
Clembot-dictate1.3.0 released: a clean can be undone improved
The clipboard has no undo, so cleaning was a one-way door: a tray balloon named what changed and then it and the original were both gone. Entry.kind now distinguishes dictation, question and clean; entries written earlier load as…
Clembot-dictateSession 8, the install nobody had run feature
The gate has an adversarial suite. It proves the gate blocks unknown servers, that deny beats allow, that a missing registry fails closed, that it needs no network and no interpreter.
Clembot DoormanSession 9, reading the page as a judge would feature
Read cold, the site had three problems and none of them were technical.
Clembot Doormanthe read-only rule is reversed; two boards and one write path feature
The app becomes a sanctioned writer to the Google Sheet and to the family calendar. Two kanban boards, Date Nights and Family Trips, move cards between Ideas, To Plan and Complete, and every move writes back.
Family Dashboardcontinuing the day from wherever you started feature
Fixed, from a real play: "after completing the math drill for the first today game, it doesn't have a logical way to continue the day's work. The 'All games' arrow button goes to the daily hub." Three defects on one route.
Wanessa Labs Games Learnone way out, and one lemon feature
"All games" was hardcoded to / in FIVE places and the first fix changed one. That one was InGameTopBar, which only games adopting GameScreen use.
Wanessa Labs Games Learnthe word search was listing words it had painted over feature
Reported: "in the word search game, I'm not able to find half of the words." Half was exact. On the Animals theme at seed 0, six of the ten listed words were not in the grid at all.
Wanessa Labs Games Learn1.2.0 released: cleaning the clipboard, not just the output improved
The checksum in the public README was taken from the uploaded asset rather than the local file, so the two cannot disagree.
Clembot-dictatetoday's practice becomes a run, and the top of the Kids Hub loses a duplicate feature
Built: the daily practice list turned into a session with a progress bar, a round end that offers the next game instead of a dead end, a perfect-round headline, and the removal of the Next-up card.
Wanessa Labs Games LearnPhase 4 bank scaling (2,050 cards), stratified mock exams, and adaptive learning loops feature
The bank scaled from 226 questions (303 of 345 reachable matrix cells) to 2,005 questions + 45 concept cards (2,050 total cards) across 9 certification tracks. Matrix coverage reached 100% (765/765 cells filled) with zero empty cells and…
CertScrollSession 5, the fit review, and two bugs only reality could find fix
runVet does not call the scorecard on a redundant verdict, and it also does not construct one. The difference matters because it is what makes the claim testable: the test passes a factory that throws when invoked, so a path that built a…
Clembot DoormanSession 6, the guidance delta, and narrowing a claim until it was true feature
The third layer re-runs Cold Open with the drafted recipe in front of the agent and scores the recovered headroom. The obvious problem is that the recipe is written from the failures of the very run it then grades.
Clembot Doormanthe Kids Hub becomes a path, and the parent report finally answers its own question feature
Built: a Next-up card and a walkable path on /kids, a round-end screen that names what was practised, a skippable grade picker, and four cross-time modules on the parent report: what a child keeps missing down to the exact fact, what to…
Wanessa Labs Games Learnwhat walking the live site found feature
Built: the round-end screen reaching both pilot games, a required kid-facing label on every skill, a real parent door in the kids footer, an ungated way out of the gate, and a child switcher on the report. Deployed to…
Wanessa Labs Games LearnSession 2, the planted F, and three ways the audit was quieter than it claimed docs
The denylist shipped with planted-bad.example.com, carrying a grade, a score and a hard-fail string that no audit had produced. Labelled "demo fixture", but it is a fabricated grade sitting in the product, which is what invariant 9 exists…
Clembot DoormanSession 3, the scorecard becomes an MCP server and grades itself feature
The doorman subagent had declared exactly one tool since day one, mcp__bazantic-scorecard__grade, and nothing served it. In the original architecture Bazantic produces that MCP server by wrapping our OpenAPI spec, which meant the agent at…
Clembot DoormanSession 4, a 3.0 spec and the comparison on the page docs
Importers are not uniform about OpenAPI 3.1, and the spec is the first artifact a partner has to ingest. Finding out on Bazantic onboarding day that the importer only speaks 3.0.x would cost the day.
Clembot DoormanThe crossword bank reaches full size, and the maker that was never broken turns on fix
The report was "there's books in the bank, but I don't see it working", and the maker was not broken. It held 735 against a threshold of 3,000, so the page rendered, the coverage bars drew, and the button was dead exactly as designed.
Wanessa Labs Games LearnSession 1, scaffold to working static pipeline feature
The project doc's Phase 3 asked for a /grade endpoint returning a static grade "by wrapping mcpscore". Inventory showed this is impossible: mcpscore is Python and depends on cryptography, pydantic-core, cffi and rpds-py, all native…
Clembot DoormanReplicate, a reference becomes a prompt feature
Design-hub could say what a reference measured. It could not turn that into anything you could act on in another repo.
Design HubOur own CSP was blocking our own theme script (complete) feature
The session close recorded "Cloudflare Web Analytics is blocked by our own CSP" as the open question. Looking at it properly, the framing was wrong twice over.
Recipe FlowThe phone could not turn the page (complete, deployed ) feature
Each one held on a laptop and quietly evaporated at 390px, which is where this app is used.
Recipe FlowOne slot order for thirty-six games, and four of them adopting it feature
Thirty-six games were built one at a time and drifted apart. Measured before writing anything: the body column at 1280px ran from 384px (Low Roller) to 1216px (Mahjong), a 3.2x spread.
Wanessa Labs Games Learnthe kids surface gets the properties it was already described as having feature
The gap this closed. This project has been described as COPPA-clean by architecture since it shipped: no accounts, no analytics, local-first storage.
Kids Game HubThe dishwasher packing puzzle, played inside a Reddit post launch
A Devvit app running in the subreddit rather than on this site: the board is the post and the thread is the leaderboard. A daily seed generates the load, and the hub links out to it from its own Reddit Games section.
Dishwasher Daily (Reddit) ↗A daily Poker Friday hand, played inside a Reddit post launch
The second Devvit app in the subreddit, same shape as the dishwasher one. It runs where the conversation already is rather than asking anyone to leave for a game site.
Poker Daily (Reddit) ↗Four makers on one shared print engine, live in production feature
The games repo is Git-connected, so that merge was the deploy. Verified live on games.wanessalabs.com/creator by content.
Puzzle Book MakersA Reddit Games section, and the first cards that leave the origin feature
What shipped. A Reddit Games section on the Daily hub, directly above CampPing, carrying two cards that open a post in r/wanessalabsdev rather than a route on this site: Dishwasher Daily and Poker Daily.
Wanessa Labs Games LearnClem's Pick, and a README that told you to compete with your own deploy docs
1. Three games carry an owner's recommendation.
Wanessa Labs Games Learn/projects becomes a progress surface: per-project timelines and a portfolio feed feature
The portfolio showed 68 finished things and nothing about the work. The site's one progress surface, /30-in-90, counts status === 'shipped' and so reports 4 of 30 while 45 projects sit at status: production.
Wanessa Labs WebsiteCurated launches reach their own project pages, and a forward-looking roadmap section feature
Two gaps left by the timeline work earlier the same day. The 20 curated game-hub launches rendered on the portfolio feed and nowhere else, so 19 project pages showed no timeline at all while the site already knew their launch date.
Wanessa Labs WebsiteThe Reddit rail reaches the portfolio, and code blocks become readable feature
Two games shipped as Reddit posts on the Devvit platform and the portfolio said nothing about either. Separately, every fenced code block on the site rendered as a near-black box with unreadable text, on a page whose stylesheet clearly…
Wanessa Labs WebsiteThe third Reddit pilot, and a page that grades its own coach feature
Fibbers Dice shipped as a Reddit post and had no page. The two pilots before it had set a template, and the risk with a template is that the third page repeats the second's claims rather than reading the third game's code.
Wanessa Labs WebsiteTimeline coverage 30 to 56 pages, and eleven project marks feature
Two coverage gaps on the portfolio, closed the same afternoon. Neither was a missing feature: both components already worked and were simply reading empty inputs.
Wanessa Labs WebsiteMeet Lemon Coach launch
Tap the lemon in the corner of any game to ask how it works or what a good strategy is. In the card and casino games it reads the live table too. No account, no tracking, and it never nags.
Lemon Coach ↗Crayon Box, Sticker Book, and a kids grid that finally has its own faces feature
Built: the kids palette re-solved in gamut against a contrast floor; cards as die-cut stickers; Lemon Coach reaching the kids hub; the coin chip back with a different destination on each shell; owner art for all twenty kids games; and the…
Wanessa Labs Games LearnDevvit distribution surface & Dishwasher Pilot feature
Built: established devvit/ as the 6th distribution rail for Wanessa Labs Games.
Wanessa Labs Games Learnkids.wanessalabs.com becomes a redirect, and the kids shell stops selling things feature
The kids surface stays a route on this hub, and that was the whole argument. A separate site meant a second Pages project, a second service worker, a second install prompt and a permanent second copy of every game engine, all to hide four…
Wanessa Labs Games LearnLemon Coach, on every game and on the hub feature
Built: the Coach reached all 36 games and grew a character. Two chips every game answers from authored text ("How do I play?", "What's a good strategy?"), live-state advice in the seven with a real advice engine, and a one-time…
Wanessa Labs Games LearnRegistry-driven daily calendar system & Time Machine mode feature
Replaced the hand-maintained Archive tab list with a registry-driven daily calendar system (DailyCapability) and Time Machine mode (?date=YYYY-MM-DD).
Wanessa Labs Games LearnStats coverage. every game reports, both surfaces read one contract feature
Fifteen of the hub's thirty-six games had reached production declaring no stats at all, so the strip and the profile under-reported what a player had actually done. Phases 1a, 1b, 2 and 3 of a gated pass.
Wanessa Labs Games LearnHop ten marbles across the star launch
Race your ten marbles to the point straight across, hopping a chain as far as it will go. Two, three, four or six players, on one device or against bots. Nothing is ever captured, and the coach is free.
Chinese Checkers (波子棋) ↗The guided tour, and the prose it replaced feature
An eleven-step walkthrough that drives the real app across all four Collect sections, opening once on a first visit and re-runnable from a header button.
Recipe FlowChinese Checkers, a star board with a coach that only claims what it can prove feature
A 27th game, built engine first and gated so no UI existed until the rules passed. 209 tests across 11 files.
Wanessa Labs Games LearnOne coach, seven games' worth of advice, and a closed question catalogue feature
Built: a single Coach character at the shell level. A docked bubble on any game route that expands into a chat popout, answers questions from that game's own engine, and is wired into Craps, Poker Friday and Blackjack.
Wanessa Labs Games LearnThe Blackjack page, and what it revealed about the page hero feature
Local build exit 0, 87 pages, 66 project pages. Live verification by content rather than status code: the page and all four assets return 200, the served asset byte counts match the commit exactly (128450 / 111277 / 105219 / 103657), zero…
Wanessa Labs WebsiteLearn blackjack with a coach that grades every hand launch
Play a shoe against the dealer and ask the coach what basic strategy says, any time, for free. Coached mode gives every decision a verdict and a reason. Or drill the chart twenty hands at a time and watch your accuracy per category.
Blackjack ↗fix round 6, the slide that could not grow fix
Owner used the deployed site on a phone and reported that the scroll motion after answering was not working well, and asked for a button to advance.
CertScrollLearn a craps table without losing money at one launch
Five bets, a coach that works out the odds in front of you, and the etiquette that arrives when it matters. Every price is computed, including the twenty bets this game refuses to offer you.
Pass Line ↗Discover stopped showing the same lists first feature
dataService.fetchPublishedLists() orders by updated_at descending and DiscoverTab rendered that array directly. With 400+ published lists, the same handful sat at the top on every visit and most categories were never seen.
Lists of 30 AppDeployed: the Plan tab and Explore feature
Three things this deploy got right that this vault has previously got wrong. It ran from the directory containing functions/, so the Worker shipped; running from the repo root instead ships a green site with a dead API, which caused an…
Recipe FlowExplore: a swipe reader over publisher feeds (complete, NOT deployed) feature
Suite 1,224 tests across 89 files, tsc --noEmit clean.
Recipe FlowImport reaches the Library front door feature
The owner asked for a button at the top of the library to import a recipe, noting that people will want to import from a website and then connect the recipe to a book.
Recipe FlowA shelf of your own, a badge that expires, and a streak worth keeping feature
Built: starred favourites with a "Your games" row at the top of the hub; a "New game" badge derived from the updates feed; and a hub streak that counts days you finish three DIFFERENT games.
Wanessa Labs Games LearnBlackjack, a trainer that grades every decision feature
A 26th game, and the first whose point is learning rather than winning. Three surfaces over one engine: a table with an always-available coach, a coached mode that grades each decision against basic strategy, and a drill that flashes…
Wanessa Labs Games LearnNewsletter link fixed, Tip Jar folded into Credits fix
Built: the footer's Newsletter link now points to https://www.listsof30.com (the bare domain does not resolve); the same bare-domain bug is fixed on the PlaceholderTile subscribe link. /tip is gone: its content (the Stripe tip card and…
Wanessa Labs Games LearnOne mark per thing, one panel per job, and the shop moves to the top feature
Built: a shared DisclosurePanel owning the Coach and stats panels in five games; a required mark field on every one of the 34 registry entries; the coin on the Archive Calendar's priced cells; and a BuyBar putting both paid paths at the…
Wanessa Labs Games LearnThe coin goes back to being the coin feature
Changed: CoinGlyph renders the 🪙 emoji again instead of the outline SVG ring it shipped as on 2026-08-17. One component, one CSS rule, and the mark changes on every spend control in the hub.
Wanessa Labs Games Learn/progress rebuilt as an instrument improved
Owner asked for /progress before manual testing. It was the least designed surface in the app and the one the owner had named as mattering.
CertScrollPhase 3, the citation spine and the matrix fill feature
Owner verdict on 2026-08-22: the site is not usable. The diagnosis was that almost none of it was a product defect.
CertScrollscope, and the cert axis that charged for compounding feature
Owner question after the fill: what stops the questions already written from filling the missing cells? The answer was that nothing about the questions did.
CertScrollThe book that could not gain a recipe feature
Reported as "there's no easy way to do this in the library or from the specific recipe after I have imported it".
Recipe FlowThe Plan tab: two columns, a derived shopping list, and a third amendment feature
This is the third amendment to that section: the pantry one on 2026-08-09 turned into the fridge and the week plan, the sharing one on 2026-08-12 opened a narrow provenance-gated link for one book, and this one opens a DERIVED shopping…
Recipe FlowTab deep links resolved, and the Sheet confirmed private feature
[VERIFY] closed: the Google Sheets deep-link format is #gid=<number>, confirmed from a real Sheet URL. Nobody copies ten numbers by hand, and it self-heals if a tab is deleted and recreated.
Family DashboardThe template the family imports is now under test feature
The ten CSVs in sheet-template/ are what the family imports as the ten tabs, and nothing checked them against the schemas that parse them. A renamed column or a retired status value would have surfaced as "rows were skipped" in the app,…
Family DashboardRenaming a book you copied feature
Asked for as "can you add a feature to rename the books I've copied", which names the exact set: forkRecipeBook stamps a copy "<source> (my copy)" and nothing in the app could ever change it. There was no rename path at all, for any book.
Recipe FlowThe release that reached first-time visitors and nobody else feature
Reported as "I don't see it live on recipe.wanessalabs.com", and he was right. The deploy was real, Production, and verified.
Recipe FlowThe shelf splits in two feature
Reported the same hour: the book created by binding is hard to see.
Recipe FlowThe shipped shelf gets the curator's name feature
Asked for directly: the bottom shelf should be named Clemens’ Curated Cookbooks.
Recipe FlowAI suggestions exist, strictly outside the engine feature
an optional suggestion layer, off by default, local-only, sitting outside buildAgenda entirely.
Family DashboardClosing the drift the previous two commits created feature
the board, the Calendar API and the suggestion layer all landed quickly. This entry records the follow-up pass that made the docs and the tests match what actually shipped, and the two real defects it found.
Family DashboardGoogle Calendar API replaces the secret ICS address feature
the calendar is read through the Calendar API with an OAuth loopback flow and the calendar.readonly scope. The secret ICS URL stays as a fallback when no OAuth credentials are configured.
Family DashboardBooks written as ideas, and a corpus that stops sampling feature
The owner asked why "Clemens' Go-To Meals" did not hold the thirty dishes from his own Lists of 30 post. It never did, and nothing had ever been built to make it: the book held FIVE entries, all starter- ids from the Wikibooks corpus,…
Recipe FlowThe book finally holds the thirty, and an invariant that had been free feature
Yesterday's work built the whole machine for writing a book as ideas and binding each one by search, and then did not use it. Clemens' Go-To Meals still held the same five starter recipes it was given on 2026-08-12, chosen by the…
Recipe FlowMahjong gets one table read, shared by the bots and the coach feature
445 mahjong tests, 4443 across the repo, tsc clean. Verified on production by Playwright (/games/mahjong 200, non-empty #root, the new tier labels present in the served bundle), not by status code alone.
Wanessa Labs Games LearnShell polish before the public publish: 21 items improved
A diff-first pass over the hub shell, not the games. Everything below was audited against the working tree before it was written; three of the twenty-one turned out to be different from how they were reported, and those corrections are…
Wanessa Labs Games Learn1.1.1 released: the interface pass, shipped feature
Downloaded back over the public URL before the manifest moved: HTTP 200, correct length, MZ header, hash matching the release notes.
Clembot-dictateUI pass: the palette belonged to someone else feature
Reported as "clunky, doesn't feel professional". Three causes, in order of how much they were doing:
Clembot-dictateAccess model: local snapshots, not a Worker and not an Apps Script endpoint feature
The app is a static site over those snapshots.
Family DashboardCalendar event ownership is a convention, not an inference feature
the engine attributes a calendar event to a parent by matching that parent's name or initials from Config against the event summary or organizer.
Family DashboardSeams: one owner per fact feature
Finance_Major holds the decision state machine and never a budget. DateNights holds five columns and never an itinerary.
Family DashboardThe engine is pure and takes the date as an argument feature
buildAgenda(data, calendar, date) and resolveCadences(date) are pure functions. Date arithmetic uses a civil-date module ({y, m, d} records, Sakamoto for day-of-week) rather than Date objects.
Family Dashboardv1 superseded, not migrated; source of truth moves to a Google Sheet feature
The four-tab localStorage display layer described in the 2026-04-03 PRD is superseded. The source of truth becomes one permissioned Google Sheet that the family curates by hand.
Family DashboardThe rest of the gauntlet's round 1, and five of six measured at last feature
The 2026-08-18 gauntlet-loop pilot closed with a four item checklist for the owner. This session works the remaining three.
Recipe FlowSupporters get a mark, and Settings stops selling a tip feature
Why this started: the owner asked whether a paid Supporter could get a special avatar mark, a thank-you on the daily hub, and a "Be a Supporter" link in Settings replacing the tip link.
Wanessa Labs Games LearnThe Archive Calendar had no door, and offered no dailies feature
Two independent failures, both invisible to a green suite.
Wanessa Labs Games LearnCI had never passed, and the reason was one test fixture fix
CertScroll CI was red on all 6 runs since it was created. Not intermittently: it had never once been green.
CertScrollDocs updated for 1.1.0, and three stale claims corrected fix
Version drift fixed while in there. Three files still named Setup-1.0.0.exe and VERSION = "1.0.0" in their tables, one release after the fact.
Clembot-dictatePublic repository, curated rather than mirrored feature
It is an export, not a remote. This tree stays the source of truth and its git history never leaves, because that history is ClemVault's.
Clembot-dictateRelease runbook, and the update check that never worked feature
Two blockers found by probing rather than reading.
Clembot-dictateVoice command mode (sidecar client) feature
Dictation is unchanged and the dependency tree is untouched — no numpy upgrade, no models in the installer.
Clembot-dictateSpend your coins inside the games launch
Coins you earn by playing now buy a hint, a take back or a reveal, at the moment you want one. Thirteen of them across nine games, plus Dishwasher chapters that used to cost money. All optional, all priced on one page.
Coin Economy ↗A polish loop that refuses to start without a brief improved
Built as a prompt generator rather than a runner. The skill prints the prompt for a fan-out of paired worker and critic agents over one existing project, and never executes the run itself.
Gauntlet LoopThe Play On winner shows themselves before the scoreboard does improved
Under Play On the first player to empty their hand has already won the round, but the round keeps running so the rest of the table can finish, and nothing on screen said so. A ring and a banner now name the winner the moment it happens, and clear once the round is scored.
Last Card ↗The reduced-motion override that never won the cascade feature
Found by a gauntlet-loop pilot run, not by the test suite. Identical specificity (0,1,0), same origin, both unlayered, and a media query adds no priority, so source order decided and the base value won.
Recipe FlowLast Card — the Play On winner shows themselves before the scoreboard does feature
Nothing on screen said so — a player had to wait for everyone else to go out before learning who'd already won. All three clear automatically once the round is actually scored.
Wanessa Labs Games LearnMahjong phase 4: How to play, bigger tiles, revealed hands feature
355/355 mahjong tests, tsc -b clean, verified live on games.wanessalabs.com with Playwright.
Wanessa Labs Games LearnMerged with Mahjong, and the collision was real feature
The Mahjong ledger collision was not a merge conflict and git had no opinion about it. The merge was textually clean.
Wanessa Labs Games LearnThe monetization runbooks, and two paid-grant paths that were built but never reached feature
Why this started: a review of what still had to be done on the Stripe side before the first live sale. Checkout runs on Payment Links, so most of the remaining work is dashboard configuration rather than code.
Wanessa Labs Games LearnCertScroll gets its own brand feature
The direction is instrument, not document. The app measures something real about the reader and showed none of it on the front door.
CertScrolllight mode feature
A second palette, not an inversion. The amber signal sits at 80% lightness because that is what reads on a near-black ground.
CertScrollscenario arcs feature
The first scenario is live. loan-model follows an inherited loan-approval model across six steps: pre-training bias metrics, target leakage in a derived feature, an overfitting gap, a canary release, drift with no code change, and a…
CertScrollthe answer key stops being option A, and Phase 2 machinery lands feature
A live defect the whole gate missed. All 15 authored questions carried answer: 0, so a visitor scored 100% by tapping the top option without reading.
CertScrollthe progress page feature
No new stored state. Every answer already recorded cardId, result, the option chosen and a timestamp in device-local IndexedDB, so /progress is a read-only view over data that already existed.
CertScrollThe currency gets a face, and the shop gets a door feature
The trigger was a question about Drop4's undo, and the answer was that it had shipped six days earlier and nobody could see it. Both shop components took their entire appearance from className and style props, so twelve games had each…
Wanessa Labs Games LearnTwo mobile bugs the owner hit live, fixed and shipped fix
Built: (1) ProfileModal's dialog card had no height cap — only the inner stats list was capped at 50vh. On a short mobile viewport, or once a player had enough games/streaks to fill the list, the fixed-centered card grew past the viewport…
Wanessa Labs Games LearnA manual light/dark toggle, and a latent bug it exposed fix
The owner asked for a light/dark toggle "for the whole site".
Recipe FlowThe fridge gets steel, an open door, a simpler add flow, and favorites feature
Three separate requests landed in one turn: make the fridge visual look more like an appliance, drop the "Amount" field because most people buy one portion, and replace the ingredient dropdown with search plus starred favorites. All three…
Recipe FlowCatalog v2, and what a coin is not allowed to buy feature
Built: the coin-action catalog expanded from 11 actions across 6 games to 24 actions across 17 games, plus a second registry of 12 persistent unlocks and 3 category passes. Branch feat/coin-actions-v2, cut from feat/supporter-pack.
Wanessa Labs Games LearnPlay Hong Kong mahjong with a daily round and coins on the table launch
Four sets and a pair, three faan minimum to win. A daily round moves the deal around all four seats, real hub coins change hands after every one, and you can declare your own kong or rob one back from an AI mid turn.
Mahjong (麻雀) ↗69 approved photographs, and the release that would have hidden them feature
The owner reviewed the 85-card contact sheet and kept 69. Applied with npm run photos:apply, which validated every title against the bundle before writing a byte and resolved every file on Commons with its credit.
Recipe FlowA deriver fix that reached nothing, and the row with several owners fix
The duration fix earlier today was correct and invisible. loadStarterLibrary runs derive once and persists the graph, so a library that already existed kept every wrong number.
Recipe FlowCrediting the photographer, before there is anything to credit feature
Preparation for a decision not yet taken. The Commons probe found 85 candidate photographs matched by DISH NAME for recipes that have none of their own, and those cannot ship without attribution.
Recipe FlowPictures for the 42 that have one, and a drawn stand-in for the 258 that do not feature
The library rendered 300 identical chef hats, which reads as a library that failed to load rather than one built from a text cookbook.
Recipe FlowThe curated-photo lane, and a second lane that turned out to be a dead end feature
The 42 recipes whose own Wikibooks page carries a picture are done. This is the path for the other 258, and it is deliberately not the same path.
Recipe FlowThe deriver could not read a fraction, and had never been asked to feature
The answer is the regex, and the investigation found two more bugs sitting beside it.
Recipe FlowThe starter library was unreachable to anyone who had saved a recipe feature
Reported from a real browser: five recipes saved, no shelf books, and no way to get them. The shelf said "The shipped books arrive with the starter library.
Recipe FlowThree more occasion books, and moving a ceiling without moving the shelf feature
Thanksgiving, Christmas and Feed a Crowd. Five books to eight, which is one more than the six cloths the shelf had.
Recipe FlowAstro scaffold, actual toolchain vs. plan's assumption feature
The phase1a plan names "Astro 6 (static output)" as the tech stack. Running npm create astro@latest .
CertScrollcontent schemas (scripts/schema.ts), two deliberate departures from spec section 7 docs
Cert gains url, note, access, booking, warning. Phase 0 gathered all five against provider pages on 2026-08-12 and they are exactly what makes a cert page useful with zero cards.
CertScrollTask 5 fix round 1, two owner rulings and two corrected stale claims fix
Owner ruling 1 (Oracle domains): ship Task 5's five Oracle domains as-is, mark them domainsUnverified: true rather than delete or re-invent them, and make verifying them against Oracle's published 1Z0-1127-25 exam topics a hard gate on…
CertScrollTask 5, cert data and resources. Per-cert domain provenance feature
domains did not exist in Phase 0 and was authored fresh for Task 5. This table records where each cert's domains came from.
CertScrollfive books on the shelf, and the curation moves out of TypeScript feature
Phase 2 of the recipe-books rework. Content, planting, and the finalize step.
Recipe Flowoccasion books, and a merge that reuses the scheduler rather than copying it feature
The Library duplicates the feed, and it does so structurally. That is why a Book today is either a publisher or the single staging record, and why neither can express "what do I cook for this situation".
Recipe Flowrule 6 opened, narrowly, and a gate that decides per recipe feature
The amendment came before the code, and rule 6's text was not touched.
Recipe Flowthe Gantt was not lying about the plan, it was lying about the day feature
A correction to the entry above, and two fixes.
Recipe Flowthe Library stops being a second copy of the feed feature
Phase 3 of the recipe-books rework. The shelf, the book, the create flow, clone and remix, and the export that closes the curation loop.
Recipe FlowThree routes into a shop nobody could reach feature
Built: persistent entry points into /coins and /supporter from the header, the profile modal, and the footer.
Wanessa Labs Games Learnthe book becomes the library, and four feeds that never had a picture feature
Three reported problems, one of which turned out to be three problems.
Recipe FlowThe Archive Calendar, and selling a month with nothing in it feature
Three rules the implementation had to enforce, not just describe.
Wanessa Labs Games LearnThe supporter flag, the extra roll, and a card rule I would have had to invent feature
Built: the Supporter Pack's headline promise (every outfit and accessory) and Lemon Dice's bought extra roll.
Wanessa Labs Games Learna hundred recipes, and the source that did not survive checking feature
The owner asked to start with roughly a hundred recipes reliably loaded. Getting there by fetching is a hundred fetches, and rule 1 permits one per user action, so the answer was a bundle shipped with the app.
Recipe Flowone list across every source, and the rule that stayed put feature
Reported by the owner: "it's not easy to see all of the scrapes together. Is there an easier way to just scrape all of the recipes by a name?
Recipe Flowthe book was unusable on a phone, and a comment said otherwise feature
Reported by the owner: on mobile a found book "does not show the left page so it always says this page has not been opened yet". It reproduces on production, and it is worse than the report.
Recipe Flowthe fridge and the week plan, and a plan that argued with itself feature
A stated non-goal was retired on purpose, at the owner's request. prd section 6 banned "no pantry, no shopping, no aggregation across recipes".
Recipe Flowthe fridge becomes a fridge, and a test that never tested anything feature
/fridge answered "what did I buy" with a column of form rows, each carrying two number inputs and a note about who owned the stretch number. That density is right for editing and wrong for recognition: someone opening the page to remember…
Recipe Flowthe fridge reaches production, from a tree that was not this one feature
--commit-dirty was omitted deliberately, per the recorded gotcha where it silently sends a --branch=main deploy to Preview.
Recipe Flowthe starter set learns what a weeknight is feature
The owner: "I would rather skew towards weeknight." The first hundred were drawn from Category:Recipes, which is everything, and arrived heavy with desserts, condiments and baking. The Cookbook classifies its own pages by course, so the…
Recipe FlowPlay Texas Hold'em with no signal in SlowPoker launch
No-Limit Hold'em against bots, with no server and no internet. Check after every hand that the deck was not rigged, and watch a panel show each message the game would send, down to the byte. Bluetooth play is still being built.
SlowPoker ↗Low Roller: the match length becomes a choice, and the board splits with it feature
The 2026-08-09 build replaced a one-turn game with a fixed three-round match.
Wanessa Labs Games LearnMonetization: a ledger, because an integer cannot answer "did this order already pay?" feature
coins existed and had almost nowhere to go. Three sinks, all cosmetic: a 40-coin outfit, a 90-coin outfit, a 60-coin gacha pull.
Wanessa Labs Games LearnOne balance, and four ways a ledger ref can be quietly wrong fix
Any UI showing a number would have shown the wrong one.
Wanessa Labs Games LearnOne stat registry drives both surfaces, and Lemon Dice finally shows up on them feature
ProfileModal and the home StatStrip each carried their own hand-written per-game markup for the same numbers, so a game landing in one never automatically reached the other. Lemon Dice shipped the same day, in the Hall of Records merge,…
Wanessa Labs Games LearnPoker Friday: a named character, eight seats, and a look at the hand you folded feature
Three unrelated gaps. Every bot name was interchangeable, so the table had no personality.
Wanessa Labs Games LearnPoker Friday's reveals become the coin economy's first spend feature
One button did two different jobs, so neither could be priced. It showed your folded hand and any missing board cards together, whether or not there was anything to deal.
Wanessa Labs Games LearnThe coin balance moves into the header feature
The coin economy had one readout: the wardrobe. Coins were awarded at the end of a game by the popup and spent two screens away, so the balance was a number you went and looked up rather than one you watched.
Wanessa Labs Games LearnThe entitlement Worker, and two things the Stripe docs corrected docs
paid grants needed a server. Three endpoints, no database, no webhook, because Stripe is the store of record and there is no orders table to write.
Wanessa Labs Games LearnThe offer sheet, and a paywall across a game's front door feature
Built: CoinActionButton and CoinOfferSheet, the two shared pieces every game's coin action renders through, wired into Poker Friday.
Wanessa Labs Games LearnThe shop pages, and three things only a screenshot found feature
Purchase UI sits behind !isNative(), because store policy requires in-app purchase for digital goods inside a native build and this hub ships Capacitor targets.
Wanessa Labs Games LearnThe stale-production blocker was already fixed fix
What was checked. Neither was true by the time it was read.
CampPingTwo ways to measure this site wrong fix
Neither of these is a defect in the site. Both are ways a future session will read it wrongly, and both produced a confident wrong answer before being caught.
Design HubFill fifteen boxes with five dice in Lemon Dice launch
Roll three times a turn, keep the dice you want, then commit them to a box you cannot use twice. Pass one device around, or take on a bot set to Easy or Normal.
Lemon Dice ↗looked at it in a browser, and found the feature had never worked feature
Everything above this entry was verified by tests and by reading. Opening the app in Chrome against wrangler pages dev, before deploying, found two defects that 631 green tests could not see.
Recipe Flowthe seam connected, and it was two actions not one feature
The previous entry recorded tagging as written down but not wired. Connecting it found that the gap was wider than the tag button: nothing in the app ever moved a found page from stub to fetched.
Recipe Flowthe shelf and the book, built but not yet reachable feature
The library became a shelf. A found book is a publisher, cloth spine, leaning, read only, assembled from that publisher's own feed.
Recipe FlowLow Roller: three-round matches and a device leaderboard feature
Low Roller was one turn long. Every player emptied all 17 dice once, lowest penalty won, done in about ninety seconds.
Wanessa Labs Games LearnFirst borrowed design decision, and a CI deploy that never deployed feature
A viewfinder frame, taken from a recorded reference. The marketing layout gained four 1px open corner brackets, applied from design-hub reference 21hrs-space#corner-bracket-hud-frame.
CampPingCanvas UI borrow, Liquid as a catalogued specimen docs
Copy-in source via the shadcn registry model, so there is no runtime dependency on the library and no npm package was added. 25,464 bytes raw, 6,444 gzipped as source.
Design HubThe ledger stops being empty feature
First borrow recorded. Verified resolving in both directions on the live site: /project/campping lists the reference and the outcome, and the reference page's "Applied in" table lists the surface and the applied sentence.
Design HubThe type system was decorative, and Preflight was load-bearing feature
An /impeccable critique + audit pass on the homepage, run on the newly upgraded skill (upstream v4.0.4). The mechanical detector returned clean before and after; everything below came from reading the source and then measuring the result…
Design Hubthe Gantt learns its container width feature
The chart allocated a flat 4px per minute whatever box it was in. On the 18-minute biscuits in a 1118px viewport that drew a 72px chart, and rendered every one-minute step as a 4px sliver.
Recipe Flowthe payload measured, and two optimizations declined feature
Two payload items had been carried as open for three sessions. Both were measured properly for the first time, and both turned out to be worth less than they read.
Recipe FlowA design token is only half-declared until Tailwind knows about it feature
A 2026-07-30 note recorded this as two broken titles and left it alone "because fixing them changes two other games' cards".
Wanessa Labs Games LearnTwo false claims removed from the public site, and a token that was never AA fix
Three defects that all read as true. (1) --text-muted at oklch(58% 0.007 82) measured 3.99:1 on --bg and 3.59:1 on --surface-raised, failing WCAG AA on roughly 20 small-text elements.
Wanessa Labs Websitethe seven own surfaces, and a stale branch caught by checking production fix
Captured the seven live Wanessa Labs / Lists of 30 surfaces into the library: games.wanessalabs.com, books.listsof30.com, wanessalabs.com/projects/, app.listsof30.com, travel.listsof30.com, recipe.wanessalabs.com, kalimba.wanessalabs.com.…
Design HubBrowse measured and working, deployed feature
The blocker was the measurement, and the measurement was takeable. curl to publisher hosts is denied in this environment, which is what stalled phase 5 yesterday.
Recipe Flowmobile pass, two-section nav, and two defects caught only in production feature
Two sections declared once. Cook mode renders neither, because /r/:id shares no chrome with Collect and a tab bar over the recipe you are cooking from is the library chrome that route exists to escape.
Recipe Flowa leak caught by asking what would actually go public feature
Before shipping, checked what a deploy would contain rather than what the pages render. A deploy would therefore have published all four unconfirmed third-party screenshots at guessable URLs while the references themselves were correctly…
Design Hubcustom domain live, a soft 404, and the portfolio page feature
design-hub.wanessalabs.com attached by Clemens. Verified over HTTPS: 200, two confirmed cards with images, the mark loaded, no dev banner.
Design Hubdeployed, and the first two references confirmed feature
Live. Cloudflare Pages project design-hub (not design-wanessalabs, renamed to match the subdomain and the convention every other project here follows), Production on main, https://design-hub-3vy.pages.dev.
Design HubPhase 4 (partial), the skill that reads the corpus feature
Branch feat/design-system-v2, worktree .claude/worktrees/design-system-v2.
Design Hubsession close feature
vault-kanban reads the frontmatter, so the board would have shown this in Active Build indefinitely. Corrected to production / 2026-08-04.
Design Hubthe reference detail page, the projects ledger view, and a build-only bug fix
Reference detail gained a Captures section. Not a dependency: sharp is already in the tree via Astro but it is a native module with an open CVE noted above, and pulling it into page rendering for two integers is a bad trade.
Design Hubthe ship gate, and what it caught on its first run feature
launch-readiness had no design or accessibility stage at all. Seven sections covering secrets, transport, SEO, performance, analytics, legal and manual QA, and nothing about the interface.
Design HubAdaptive practice, a parent report, and Tiff feature
Built in wanessalabs-games, on feat/kids-adaptive-progress, not committed. Nothing in this folder holds code; this is the record.
Kids Game HubThe same outage fired again, and the git integration is now disconnected feature
The entry above ended "Still armed." It fired roughly 24 hours later. Same signature: HTTP 200, #root with zero children, PAGEERROR: supabaseUrl is required.
Lists of 30 AppRedesign phases 1 to 4, and the first time anyone opened the app feature
paper, --ink and --tab are canonical and overridden in all three theme blocks; the older names alias them.
Recipe FlowAdaptive practice: a progression layer under the Math Trail feature
Difficulty chosen from a child's own history, every answered question recorded, and a parent report that names the problems instead of the questions. Six games opted in; nine creative games untouched.
Wanessa Labs Games LearnCoin award popup at the completion funnel feature
The hub has paid coins for every win since the avatar system shipped, and never told anyone. reportResult computed the earn, committed it, and returned void, so the balance simply changed between one glance at the header badge and the next.
Wanessa Labs Games LearnPaper Squadron: collectible rings feature
Rings placed along the rail, flown through for points, with a streak multiplier and chain bonuses.
Wanessa Labs Games LearnRings validated in play feature
Owner played the rings on production and reports the game plays well. That closes the largest open item on the previous entry: every claim there was measured or tested, and none of it had been judged by a human at speed.
Wanessa Labs Games LearnWhat's New: a player-facing feature timeline feature
A bell in the top bar opens a panel of the ten newest updates and links to /whats-new, a full timeline with shipping-pace stats. The feed is 32 curated entries covering 15 games and the hub itself.
Wanessa Labs Games LearnSite-anatomy export feature
Read-only export from prd/lineage/roadmap plus the project page source. Redacted for public use: no commit hashes, no deployment IDs, no hosting-project names.
Clem's TravelsBluff your way through Fibbers Dice launch
Bid on what the whole table is holding, then call anyone who pushes it too far. Play against Aaron, Vivian and Flavia, or pass the device around.
Fibbers Dice ↗Call the bluff in Fibbers Poker launch
Claim a hand that might not exist, or call someone who just did. Start with one card, take another every time you lose, and you are out above six.
Fibbers Poker ↗Deploying the fixes exposed a 9-hour production outage I had caused fix
Shipping the review fixes above revealed that app.listsof30.com had been serving a blank page for roughly nine hours, and that my own pushes did it.
Lists of 30 AppMobile layout flip fixed, deployed, and the live redesign finally committed fix
Bug: on a phone, scrolling swapped the mobile layout for the desktop side nav. Root cause: useDesktop() read window.innerWidth, which on mobile reports the visual viewport, not the layout viewport.
Lists of 30 AppSite-anatomy export feature
Read-only export from prd/lineage/roadmap plus the project page source. Redacted for public use: no commit hashes, no deployment IDs, no hosting-project or backend-provider names.
Lists of 30 AppThe redesign reviewed, and four findings fixed fix
Suite went 127 → 133 tests, 17 files, all passing.
Lists of 30 AppLineage opened retroactively docs
This file was created after the site shipped, not alongside it. Every entry below this line is contemporaneous.
Lists of 30: The Book Series HubSite-anatomy export feature
Read-only export: prd/lineage/roadmap plus the project page source. No vault content changed except this lineage entry and the creation of this file.
Lists of 30: The Book Series HubPoker decision journal and 14-name roster merged to main and deployed feature
Reported as a rollback; it was an unmerged branch. The owner reported that the Poker Friday version they had been playing, with different bot names and player stats, had reverted.
Wanessa Labs Games LearnPoker Friday: a decision journal, real stats, and a coach with memory feature
What changed. The coach reacted only to the current street.
Wanessa Labs Games LearnSite-anatomy export feature
Read-only export from prd/lineage/roadmap plus the project page source. Redacted for public use: no commit hashes, no deployment IDs, no hosting-project names, no unlock phrases.
Wanessa Labs Games LearnPoker Friday: a rotating bot roster feature
What changed. Every session now seats a different table.
Wanessa Labs Games LearnPhase 2, capture pipeline and four seeded references feature
Slop tells 3, 6, and 8 were checked against the seven brand token files before this session touched anything else, and one was wrong. Tell 8 ("more than two font families") had been marked vault.
Design HubPhase 3, the Astro site feature
A real constraint catch before writing the token-rendering component. Rendering a captured site's actual typeface in its card would mean loading a third-party webfont at runtime from this deployed static page, which is exactly what the…
Design HubAppend "Epic 56 Hours in NY" to the nyc card feature
First run of the Option B content-ingestion path decided 2026-07-21: Clemens pasted the post URL, the entry was derived, appended, validated, and shown as a diff. Post is listsof30.com/p/epic-56-hours-in-ny, published 2021-12-07, added as…
Clem's TravelsDecisions D1 to D5 feature
On D5, what was ruled out and why. Clemens asked for capture in the site's own UI rather than a Claude Code command.
Design HubThe local-model lane shipped, under a different project feature
The delegation lane this project existed to build landed inside token-thrift instead, on the day that skill was built. It pins one local model on the loopback Ollama port, states that nothing leaves the machine, names a hosted provider as…
Local Clembot LLMReopened for free play, with maths still gating the colours improved
Every picture became playable at any time. The daily rotation that had gated all thirty was reversed at the owner's request, because the game's actual player wanted to paint whatever she liked rather than wait for the rotation to offer it.
Palette Quest ↗Race ninety seconds down the mountain in Ski Rash launch
Carry a weapon while you race, in a new run every day or free play whenever you like. Scores stay on your device.
Ski Rash ↗Built (Phases 0, 1, 2 and 4) feature
Token spend across ClemVault sessions had never been measured, only assumed. The available prior art all converges on one mechanism: intercept and compress command output.
Token ThriftCorrection: the custom domain was recorded under the wrong hostname fix
That host has never resolved: a browser check on 2026-07-30 returned ERR_NAME_NOT_RESOLVED. The registered Cloudflare Pages custom domain on project tutorhub is tutorhub.wanessalabs.com, which returns 200 and serves the app.
TutorHubPalette Quest reopened for free play, math still gates colours feature
Every picture in Palette Quest is now playable at any time. The 2026-07-28 entry above gated all 30 pictures behind a daily rotation, one earned per day.
Wanessa Labs Games LearnPhase 4a: renderer dependencies, measured feature
Added three@0.185.1, @react-three/fiber@9.6.1, @types/three@0.185.1.
2x2 Cube TrainerPhase 4b: the geometry seam feature
Three source files and two test files under geometry/. 13 geometry tests, full hub suite 1089 across 113 files, twice.
2x2 Cube TrainerPhase 4c: design tokens and the colour pipeline feature
69 cube-trainer tests, full hub suite 1104 across 115 files, twice.
2x2 Cube TrainerPhase 4d: the visible scene feature
74 cube-trainer tests, full hub suite 1109 across 116 files, twice.
2x2 Cube TrainerPhase 4e: drag-to-turn, and a limitation worth naming feature
97 cube-trainer tests, full hub suite 1121 across 117 files, twice.
2x2 Cube TrainerPhase 4f: all six faces, without touching the engine feature
96 cube-trainer tests, full hub suite 1126 across 117 files, twice.
2x2 Cube TrainerPhase 5a: the solver reaches the player feature
111 cube-trainer tests, full hub suite 1136 across 118 files, twice.
2x2 Cube TrainerPhase 5b: timer, inspection, persistence. v1 play surface done feature
124 cube-trainer tests, full hub suite 1149 across 119 files, twice.
2x2 Cube TrainerPhase 6a: hints, scoring, stage detection feature
134 cube-trainer tests, full hub suite 1159 across 120 files, twice.
2x2 Cube TrainerPhase 6b: drill mode. v1 COMPLETE feature
146 cube-trainer tests, full hub suite 1170 across 121 files, twice.
2x2 Cube TrainerPhase 7: the geometry seam holds feature
148 cube-trainer tests, full hub suite 1183 across 122 files, twice.
2x2 Cube TrainerPhase 8: hub integration. The build config fought back feature
Full hub suite 1183 across 122 files, twice.
2x2 Cube TrainerPost-v1: the gesture model was wrong, and the owner found it fix
Owner feedback after playing the deployed version: "sometimes I try to drag the cube to inspect the sides, but it accidentally turns the side."
2x2 Cube Trainerfirst live import, and what it found feature
The owner's first real import returned a 403. URL: allrecipes.com/recipe/21014/good-old-fashioned-pancakes/.
Recipe Flowmerged, portfolio deployed, and the first live verification feature
The merge ran in a throwaway worktree on main. The shared tree is on another session's branch and carries 60+ uncommitted files, and this vault has a recorded incident of one session's broad git add sweeping another's staged work.
Recipe Flowpaste-source and discover feature
27 tests added, 285 total green across three consecutive runs.
Recipe FlowPhase 0, audit docs
Structural template: kalimba-easy. Most recent root project and it ran this same diff-first phase-gated process, including a Phase 0 audit entry in its lineage.
Recipe FlowPhase 1, POW scaffolding and specs docs
Written in a dedicated git worktree. recipe-flow/ is an entirely new folder that touches nothing existing, so collision is impossible rather than merely unlikely.
Recipe FlowPhase 2, domain model and two engines feature
Pure logic. No UI, no network, no Date.now() in either engine.
Recipe FlowPhase 3, view registry, three views, editor feature
Built in one gate at the owner's instruction, after a proposal to split it into 3a to 3d was declined.
Recipe FlowPhase 4, import feature
Resumed after the session that started this phase was cut off mid-flight. The seven Phase 4 files existed on disk and had never been run.
Recipe FlowPhase 5, library feature
61 tests added, 255 total green, tsc --noEmit clean, build clean, npm audit reports 0 vulnerabilities. dexie@4.4.4 added, plus fake-indexeddb as a dev dependency.
Recipe FlowPhase 6, deploy and wrap-up feature
Deployed to Cloudflare Pages Production. Wrangler compiled the Worker, uploaded 3 static files, _headers, and the Functions bundle.
Recipe Flowrobots.txt caching, and a fail-open bug it exposed fix
36 tests added, 321 total green across three runs.
Recipe Flowthe logo, and two sizes it cannot survive feature
Owner supplied recipe flow logo.png: a chef-hat lemon over a recipe scroll and a Gantt chart, on an orange band. Added to the app header and to the portfolio page.
Recipe FlowProjects map: rebuilt as a 3D force-directed graph improved
The same label-overlap defect the 2026-05-19 entry below claims to have fixed. It came back, because that fix treated the symptom.
Wanessa Labs WebsiteFit animal blocks into an 8×8 grid launch
A new Critter Blocks puzzle every day, with three minutes on the clock and every piece shaped like an animal.
Critter Blocks ↗Phase 0: audit docs
Read-only audit of wanessalabs-games/ before any file was written.
2x2 Cube TrainerPhase 1: POW docs and scaffold docs
Deviation from the brief, flagged for the owner. The brief asked for empty engine/, solver/, geometry/, and ui/ directories.
2x2 Cube TrainerPhase 2: headless engine and tests feature
33 tests. M1 verified mechanically: nothing in engine/ imports anything outside engine/.
2x2 Cube TrainerPhase 3: solver worker and scramble generator feature
47 cube-trainer tests total, full hub suite 1076 across 111 files.
2x2 Cube TrainerDrop four in a row against Evie launch
A seven by six board, played pass and play on one device or against a bot who thinks a few moves ahead.
Drop4 ↗Phase 5, bring your own tab feature
The human asked for 30 more songs and for the truncated entries to be extended to full length. Both requests ran into the constraint already on the record: I cannot source real notation, and the truncated songs are truncated precisely…
Kalimba EasyTine labels on the diagram feature
The request was to invert the graphic. The user plays with their thumbs and said the picture reads upside down.
Kalimba EasyDelivered inside the main hub; the standalone app was cancelled feature
Status moved idea to production. No code was ever written in this folder.
Kids Game HubCollect thirty pictures in Palette Quest launch
Twenty five new hand-drawn pictures on top of the original five. Everything you finish is saved to an archive you can repaint from scratch.
Palette Quest ↗Critter Blocks built: engine, UI, unlocks, hub feature
critter-blocks built end to end and registered at /games/critter-blocks. 8×8 seeded daily polyomino placement in a 180-second run, every piece an animal.
Wanessa Labs Games LearnDrop4 spec approved (decisions, no code) docs
No code written. The folder already existed as a README-only stub carrying a rebrand mandate.
Wanessa Labs Games LearnMath Trail, a progression layer over the existing games feature
Added a journey shell that sequences the hub's practice games into a curriculum ladder for a 2nd-to-4th grader, built five games to fill the concept gaps, and fixed the Spelling Quiz's audio.
Wanessa Labs Games LearnMath Trail, part two, daily checklist and the two bugs only a browser found fix
Added the daily practice checklist, an avatar-coin bonus for finishing it, opt-in narration, and confetti on hard questions. Then finally rendered the whole thing in a real browser, which found two bugs that a green test suite had been…
Wanessa Labs Games LearnPalette Quest, 30 pictures, a daily unlock, and an archive worth keeping feature
Palette Quest went from 5 pictures to 30, and its progression was rebuilt around collecting them. Every picture is now earned rather than browsed: one is offered per day, finishing it unlocks that artwork permanently, and anything earned…
Wanessa Labs Games LearnStats surfaced for Drop4 and Critter Blocks; daily difficulty tiers feature
Added a Drop4 win stat, surfaced Critter Blocks' existing stats (which were being written and never shown), and gave Critter Blocks a per-day difficulty tier drawn from the day seed. 1010 hub tests green, typecheck clean.
Wanessa Labs Games LearnPhase 3 complete, 30 songs feature
The human chose "push to 30 now, flags and all" over sourcing transcriptions properly or stopping at 13. Seventeen more encoded from memory with honest flags.
Kalimba EasyPhase 3, batch 3 and a scaling problem feature
Target raised to 30 songs. Batch 3 delivered 3, not 5, and the reason matters more than the count.
Kalimba EasyPhase 3, catalog batch 1 feature
Five songs encoded, the build gate written and proven, the source format changed. 5 of a planned 30 melodies.
Kalimba EasyPhase 3, catalog batch 2 feature
Three more of my own Phase 0 bases were wrong. Every one was caught by verifying rather than recalling, which is now three batches running at roughly one bad claim per two entries.
Kalimba EasyPhase 4a, foundation and Browse feature
Phase 4 split in two, because presenting the whole UI as one diff would have been roughly two thousand unreviewable lines. 4a is the app shell plus Browse, which is the screen that IS the product.
Kalimba EasyPhase 4b, detail, player and ladder feature
Song detail, SVG kalimba, player and practice ladder. Also closed the security blocker carried out of 4a.
Kalimba EasyPhase 6, ship configuration feature
Human decided the domain and asked to build through to a publishable state.
Kalimba EasyMake a wish and watch it go wrong launch
Every wish gets granted. Choose your words one clause at a time, then read the decree that finds the loophole you left open.
The Monkey Paw ↗Fly a paper dart into an origami dogfight launch
Shoot down shuriken, cranes and turrets on the way to a paper dragon with one weak point. A new level every day.
Paper Squadron ↗Split thirteen cards into three rows in 13张 launch
Chinese Poker, three cards up top and five in each row below. Beat three opponents row by row.
13张 ↗13张 added; shared card core extracted from Big Two feature
Started 13张 (Chinese Poker) as a new hub game at /games/thirteen, reusing Big Two's card engine rather than writing a third one. Phase 0 audit only; no code yet.
Wanessa Labs Games Learn13张 shipped: engine, solver, bots, UI, hub feature
13张 (Chinese Poker) built end to end and registered on the hub at /games/thirteen.
Wanessa Labs Games LearnAdded Paper Squadron (rail shooter) feature
Paper theme: a paper dart versus shuriken / crane / turret archetypes and a paper-dragon boss with a weak point. Architecture: fixed-timestep loop entirely outside React (ref-held World of typed arrays), object pools with zero hot-loop…
Wanessa Labs Games LearnCritter Blocks spec approved (decisions, no code) docs
Design spec written and approved for critter-blocks, an 8×8 daily seeded polyomino-placement puzzle where every piece is an animal.
Wanessa Labs Games LearnPhase 0, audit docs
New project proposed from a diff-first, phase-gated brief. Phase 0 was read-only by instruction.
Kalimba EasyPhase 1, POW docs docs
Phase 1 proceeded on the Phase 0 recommendations, which were not overruled. The nine open questions were resolved to their recommended defaults and the assumptions were stated before writing.
Kalimba EasyRemove dead seelemons archive links, retire legacy-only feature
seelemons.com is no longer active, so every source: seelemons post rendered a dead … ↗ (archive) link. 15 destinations kept their live listsof30 post.
Clem's TravelsSix new travel posts: previews + globe OG share card feature
Ran pnpm fetch:previews --resume — resolved 5 new og:image thumbnails (sag-harbor, glenwood-springs, moab, mexico-city, monterey-bay); Phuket rides under the existing bangkok pin. 63/63 published destinations now have previews.
Clem's TravelsWork began on Last Card feature
First commit touching this game in the hub repository. House-rules Uno: draw up to two cards and play what you find, call Last Card or get caught. The hub records no separate launch announcement for it.
Last Card ↗Work began on 6×6 Sudoku feature
First commit touching this game in the hub repository. A gentler daily Sudoku on a six by six grid, solvable by scanning alone, and the one the Kids tab carries instead of the full size puzzle. The hub records no separate launch announcement for it.
6×6 Sudoku ↗Canva front-matter round trip for the Sudoku book maker feature
Desire: edit the book's cover and first pages personally, rather than only downloading a finished PDF.
Wanessa Labs Games LearnShed your hand first in Big Two launch
The Cantonese climbing game against Alice, Louis and Angus, with a strategy coach for when a hand is not obvious.
Big Two (鋤大D) ↗Decision: pnpm sync:map, reconcile-only geography sync feature
pnpm sync:map closes that gap without touching curation.
Clem's TravelsBig Two — a new card game vs. 3 AI, with a strategy Coach feature
What: Added Big Two (Choh Dai Di) at /games/bigtwo — the Cantonese climbing game, solo vs. three AI opponents (Alice, Louis, Angus).
Wanessa Labs Games LearnBranded game art on the home page cards feature
What: Nine branded illustrations (the lemon mascot plus a per-game motif) now front the home page cards, replacing the pure-CSS mini previews for sudoku, linked, dishwasher, anagram, 2048, emoji-match (Snack Pop), crossword, low-roller,…
Wanessa Labs Games LearnProfile stats expanded to match what storage already tracked feature
What: The profile showed only Sudoku, 2048 (512+ reached), Linked, Poker Trainer, and Low Roller, while the remaining stats were already being tracked in storage and already shown on the home page. The profile was the surface that was…
Wanessa Labs Games LearnThe profile modal was dead code; made reachable, plus a player name feature
ProfileModal was mounted and fully built, and nothing could open it. The name input and the "Good {morning}, {name}" greeting already existed too, so the greeting had been permanently falling back to its nameless form: the name could not…
Wanessa Labs Games LearnAvatar on the kids tab feature
/ Dress up →" card under the header, showing the collectible character (composeAvatarSvg) with the coin count and a link to /wardrobe. Larger avatar (64×90) than the hub greeting; styled as the kids page's card-puzzle with the accent-2048…
Wanessa Labs Games LearnCross-game collectible avatar system feature
What: A persistent, dress-up avatar that follows the player across the whole hub, inspired by generative-NFT trait layering (Pudgy-Penguin energy). Players earn coins and milestone unlocks by playing any game, then equip traits on a…
Wanessa Labs Games LearnPoker Trainer: named home-game crew, trash talk, pre-flop cheat sheet feature
What: Three additions to the Poker Trainer, for playing it as a named home game.
Wanessa Labs Games LearnNamed the protocol: CampPing (full vault-wide rebrand) feature
the protocol has a public name, CampPing, after its first use case: keeping a campsite coordinated when there is no cell signal. This closes the "no public name yet" open item that had stood since 2026-07-08.
CampPingPush your luck with seventeen dice in Low Roller launch
Set at least one die aside after every roll, then reroll the rest until all seventeen are banked. Lowest score wins. Solo, or pass the device around up to six players.
Low Roller ↗Practise Texas Hold'em against up to five bots launch
A coach shows your equity, your outs and the pot odds as you play. Play money only, and it all runs offline.
Poker Friday ↗Launch-readiness pass (NO-GO to GO pending redeploy) feature
The Privacy Policy carries the Google API Services User Data Policy Limited Use disclosures (scopes calendar.events + calendar.calendarlist.readonly, secure server-side token storage, no ads / no sale / no model training, revoke path)…
TutorHubAdded Low Roller (push-your-luck dice game) feature
Added a new original game, "Low Roller," a push-your-luck dice game for solo and pass-and-play (1 to 6 players).
Wanessa Labs Games LearnAdded Poker Trainer (Texas Hold'em practice game) feature
What: A single-player Texas Hold'em trainer at /games/poker vs. 1-5 bots, with an integrated teaching Coach (live Monte Carlo equity, outs + Rule of 2/4, pot odds, pre-flop tiers).
Wanessa Labs Games LearnCanonical brand system codified in design/ feature
Two decisions baked in: (1) --measure (slate-teal) is promoted from vestigial to a documented "measured-data" role for figures, chart series, and litepaper numbers; (2) the standing claims rule is written into Do/Don't — marketing never…
CampPingHomepage animation: from scroll-story to a reusable canvas engine feature
a request to make the site's UI/UX richer and more animated, "using all the animation tools possible," across the user's properties.
CampPingPhase 3 shipped; decision: self-hosted link-preview cards feature
Phase 3 (hero SVG map engine) built and approved. Reduced motion renders the whole map complete and still.
Clem's TravelsPhase 4 built: chapters, explore mode, preview cards feature
Scenes 2-4 shipped. Continent chapters are a sticky world map with scrolling steps; entering a chapter animates the SVG viewBox to frame that continent (Motion), and off-continent arcs/markers dim.
Clem's TravelsPivot: the 3D globe is the main page feature
After comparing three globe styles (MapLibre, Globe.gl photo, Globe.gl passport), Clemens chose MapLibre (V1) and asked to make it the landing experience, weaving the posts off it, with the arc animation on the globe.
Clem's Travelsdesign/ folder added (canonical brand + tokens) feature
No invented values. bespoke --radius-card (16px), the lucide status vocabulary, and the six signature components.
TutorHubEntire remaining build (Phases 5-8) + Google OAuth fixes + multi-calendar fix
Single session, every feature brainstorm → spec → plan → TDD → live-verify. All commits to main by explicit path (shared branch).
TutorHubAdded design/brand.md as a thin brand-extension pointer feature
It documents only the games-hub flex: the theming engine (.dark, .theme-ocean, .theme-sunset, kids mode → Nunito), the per-game accents (sudoku ~h80, linked ~h165, 2048 ~h35, etc.), the real shadow ramp (--shadow-sm/md/lg), and…
Wanessa Labs Games LearnAdded design/ as the canonical brand source of truth feature
Pulling it into a design/ folder gives a single canonical reference for future UI work and keeps the front door in sync with the Claude Design library (preview cards live in designs/library/wanessalabs/). Documents the hard boundary with…
Wanessa Labs WebsiteDecision: anime.js v4 + Motion, not GSAP feature
Considered GSAP-only (single library, ScrollTrigger included).
Clem's TravelsDecision: build-time arc precomputation, no geo library ships feature
The world SVG is generated from Natural Earth 110m via the world-atlas package. Underlying data is public domain, package is ISC.
Clem's TravelsDecision: dual home anchors feature
The index post says of Colorado: "I live here now!" Home changed.
Clem's TravelsDecision: journey.order is keyed on travel date, not publish date feature
This is the most consequential decision in the project.
Clem's TravelsDecision: Miami / South Beach ships as a stub feature
The index post links South Beach to listsof30. The only unclaimed slug in the export was travel-advice-clemens-guide-to-haggling, which reads as a general how-to rather than a Miami post.
Clem's TravelsDecision: three-source reconciliation, nothing scraped feature
The dataset is built from three sources, all owned by Clemens, none scraped.
Clem's TravelsDecision: two deliberate divergences from wanessalabs-games feature
Also considered and declined: TypeScript 7.0.2, the latest release. It is the Go-based rewrite and toolchain support is still settling.
Clem's TravelsDecision: validation failures block the build feature
Zod covers types; three assertions cover invariants Zod cannot express:
Clem's TravelsFinding: entry count is 114, not the estimated 74 feature
The Phase 1 roster table estimated 74 entries with per-continent counts. That estimate was wrong and was presented with false precision.
Clem's TravelsFinding: legacy-only collapsed from 11 to 3 feature
Only Ohio, Valencia, and Sonoma are seelemons-only.
Clem's TravelsFinding: the posts.csv export is stale and its is_published column lies fix
Two data-integrity issues, both worked around, both recorded.
Clem's TravelsPhase 0: audit docs
Reference project for Cloudflare Pages conventions: wanessalabs-games/ (pnpm, Vite, wrangler.toml with pages_build_output_dir).
Clem's Travels/17 — Site published to production; the /docs bundle found empty docs
Shipped: the motion build deployed to Cloudflare Pages via a preview branch first (motion-preview.campping-site.pages.dev), then to production on the custom domain. Preview-first was not ceremony: the sandbox cannot drive a browser, so a…
CampPingMotion layer on site/ (relay animation + scroll-scrubbed walkthrough) feature
Ask: a scroll-scrubbed video landing experience, generated with Higgsfield via the scroll-world skill, "to show the value of consulting with a high tech AI native firm."
CampPingBoard reflects reality: status source fixed, blocked state added fix
The board read stale. The cause was not out-of-date data but how state was derived — nearly every project was piled into Active Build regardless of its real state.
Vault KanbanCurrent proof feature unverified
Vault KanbanDev loop fixed: --watch + one server, not two fix
After the lane fix landed and the scanner CLI verified correct, the board still showed the old lanes. The data and the code were both right.
Vault KanbanLegacy Express server deleted; three silent lifecycle bugs fixed first fix
Endpoint-for-endpoint the Hono server was already a superset (all 8 legacy routes, plus /graph, /graph/note, /jobs/:id). But matching route names is not matching behavior, and the diff turned up three real bugs.
Vault KanbanNetwork tab (Command Center uplink) restored + two real bugs found fix
Regression, caught by the owner: parking the legacy Express server broke the [ NETWORK ] tab. Since both servers bind 5050, the tab worked only when the legacy server happened to win the startup race.
Vault KanbanOffline click-through PASSED (observed, not inferred) feature
The 2026-07-11 session concluded from static analysis that the PWA layer was already ~95% built and that all 12 games would work offline. It explicitly refused to check the roadmap box, on the grounds that the finding was inferred from…
Wanessa Labs Games Learn/14 — Public marketing site (draft) built at site/ feature
The wiki research (2026-07-08) was written from the start so it could port to a public surface. This session built that surface: an Astro static site at campping/site/, covering a Home page, a Use Cases section (5 segments), and a…
CampPing→ 2026-07-14 — Bug: half the nodes were unclickable (two attempts) fix
Small nodes swallowed the click. The node was visibly there; clicking it did nothing.
Vault KanbanBug: the scanner was inventing notes that nobody wrote fix
Even after vault-wide resolution cut the graph from 198 to 106 nodes, some of the survivors were nonsense: wikilink, Idea Name, topics/.md — notes nobody ever wrote.
Vault KanbanGraph scanner (TDD) + GET /api/graph feature
Built in three TDD commits (parsing helpers → path resolution + clusters → buildGraph), each red-green before the next.
Vault KanbanGraphView component + node detail panel feature
GraphView.jsx: force-directed canvas, cluster-colored. Node radius scales with the *square
Vault KanbanGraph view: spec before code docs
The cluster wikis cross-link heavily with Obsidian [[wikilinks]], and there was no way to see that structure without walking it one file at a time in Obsidian. Decided to build the view inside Vault Kanban rather than lean on Obsidian's…
Vault KanbanOffline / PWA verification: the layer was already built feature
Investigated "make the games work offline" and found the PWA layer was already ~95% complete. No new offline capability was built this session — the session's actual output was evidence that offline already works, plus a build to test it…
Wanessa Labs Games LearnApp-shell refinement (fifth round) + docs/portfolio catch-up docs
Nav links highlight the current route (text-primary font-medium); below sm, the flat 4-link row collapses behind a hamburger toggle expanding into a vertical menu (including Sign out) instead of wrapping.
TutorHubLive verification (Phases 1-4) feature
Clemens created the Supabase project (wanessalabs account) and Google OAuth client; filled .env and .dev.vars.
TutorHubPost-overhaul UI/UX refinement rounds (four commits, same session) feature
Once the 16-task overhaul merged, continued iterating directly on main (small, well-scoped features, no separate branch/plan needed) — brainstormed each round conversationally with AskUserQuestion menus, then built with TDD where the…
TutorHubUI/UX overhaul (design → plan → subagent-driven-development → merge) feature unverified
TutorHubLitepaper path + go/no-go framework feature
Built the execution path from "protocol exists" to "publish litepaper" to "go/no-go decision," grounded in two fresh research pages on what documentation and benchmarks must survive in this category.
CampPingWiki build-out (competitor profiles, fresh research) docs
Built the full competitor wiki in wiki/ — one story-led page per player, each freshly web-researched (2025 through July 2026), written to brand constraints (zero em dashes, no cheerleading, sourced and dated) so pages can port to the…
CampPing/08 — Business development session #1 (revenue models + gating) feature
Protocol and reference app built. BD conversation worked through revenue models (area 1 of 8).
CampPingKickoff + Phase 1 scaffold feature
Confirmed with Clemens: vault canon instead — Vite + React + TS strict + Tailwind v4, Hono on Cloudflare Pages Functions, Supabase, Vitest.
TutorHubPhase 2 build (same session) feature
Server (Hono on Pages Functions): /api/google/oauth/start + /callback (HMAC-signed state carries user id statelessly, 10-min TTL), /api/google/disconnect (revoke + delete + flag flip), /api/google/events (refresh-token → access-token →…
TutorHubPhases 3 + 4 build (same session, continued on user go-ahead) feature
Phase 3 (dashboard): stat cards + earnings-by-month bar / hours-by-week line (recharts). Chart chrome per the dataviz skill (validated series color #2a78d6, hairline grid, muted ink, tooltips, no legend for single series).
TutorHubSudoku color readability fix fix
Correct entries render green-bold, errors render red-bold, so the two states are distinguishable at a glance on small screens.
Wanessa Labs Games LearnThe triage inbox got a home and rules feature
The staging destination became a real place in the vault with its own rules, loaded only when a task touches it. That is what turned the heartbeat from a script that printed things into something with a durable output.
News / RSS / Email ReaderA staging surface for signal picked up between sessions feature
A read-only discovery heartbeat was added that scans local sources and stages what it finds, proposing only and never editing the vault. It is not a memory write, and it was not built for this project.
Memory LayersA discovery heartbeat, read-only by design feature
What landed is a scheduled scan over designated local sources that stages what it finds and proposes it, never editing the vault itself. Findings go to a triage inbox rather than the vault inbox, and a human moves them.
News / RSS / Email ReaderWork began on the homework launcher feature
First commit touching the homework routes in the hub repository. A photo of a worksheet becomes links to the games that practise that skill. The hub records no separate launch announcement for it.
Kids Educational Games ↗Work began on Anagram Daily feature
First commit touching this game in the hub repository. Seven letters, one centre, and every hidden word to find before the day ends. The hub records no separate launch announcement for it.
Anagram Daily ↗Work began on Snack Pop feature
First commit touching this game in the hub repository. Match food emojis, build combos, and beat the daily puzzle. The hub records no separate launch announcement for it.
Snack Pop ↗Projects mindmap: elastic layout overhaul feature
Clusters with 7–8 projects had severe leaf overlap. Root cause was three bad constants: fixed LEAF_DIST = 82, max spread of 108°, and cluster positions too close to the SVG canvas edges.
Wanessa Labs WebsitePhase 1 complete: a stable executable feature
Everything here came from watching the thing fall over. A model that downloads on first run needed to say so rather than appear frozen, a denied microphone needed a dialog and a degraded mode rather than a crash, a key-repeat needed a…
Clembot-dictatePhase 2 complete: distribution-ready feature
The work that turns a program into something another person can install. A no-admin installer that upgrades in place, the AI key moved out of an environment variable and into the Windows credential store, an integrity check on the…
Clembot-dictateThe memory surfaces landed first feature
Two skills arrived on the same day and they are what memory is actually made of today. One owns the topic files and the index that lists them, creating, updating and removing entries, and reads the handoff without writing it.
Memory LayersAll three pieces landed on one day feature
The scan, the ranking and the human gate were built together, which is why this project is further along than its sibling scaffolds.
Self-Improvement ModuleOpen the games hub in any browser launch
Everything went live in one place, no download and no account.
Wanessa Labs Games ↗Deployed to Cloudflare Pages feature
Deployed. Custom domain (games.wanessalabs.com) and the Stripe payment flow are still open — see roadmap V1.
Wanessa Labs Games LearnProject scaffolded feature
Created from user's project mapping pass. Initial PRD seeded from one-paragraph description.
Kids Game HubPOW artifacts scaffolded docs
Status at scaffold date: GTM strategy defined, not yet executing. Milestone 1 (pre-launch seeding) not started.
Lists of 30 App MarketingScoped: run the harness on a local model feature
The problem was cost and confidentiality in one. Long build sessions were spending real money per session, and some internal prompts carry business context that should never leave the machine.
Local Clembot LLMScoped: memory should be written by events, not by one command feature
The complaint behind this project was that a whole session's learning depended on remembering to run one command at the end of it. If that command was skipped, or the session ended badly, the memory of it was gone.
Memory LayersScoped: one surface for everything arriving from outside feature
Three inbound streams, feeds, mail and chat, were being read in three places, and anything worth keeping had to be retyped into the vault by hand. Most of it was not, which is the actual cost: signal arrived, was read, and left no trace.
News / RSS / Email ReaderScoped: a weekly reader that says what to fix next fix
The vault accumulates faster than anyone reviews it. The idea was a scheduled pass that reads the current build state, reads what has arrived from outside, and returns a ranked list of improvement candidates.
Self-Improvement ModuleProof-of-work artifacts scaffolded feature
The decision log and the roadmap were created on this date, joining a product requirements document that already existed, which brought this folder up to the three artifacts every project at the vault root is expected to carry.
SudokuProject scaffolded feature
Created from user's project mapping pass. Initial PRD seeded from one-paragraph description.
Puzzle Book MakersPOW artifacts scaffolded docs
Hub was missing POW documentation despite being the most active gaming project.
Wanessa Labs Games LearnAbout + Services pages shipped, RSS feed fixed fix
Added two missing pages to close the "three missing sections" gap noted in the session brief.
Wanessa Labs WebsitePOW artifacts scaffolded docs
Site was live and active but missing POW documentation.
Wanessa Labs WebsiteWork began on the 2048 port feature
First commit touching this game in the hub repository. Slide tiles and combine them to reach 2048, easier said than done. The hub records no separate launch announcement for it.
2048 ↗Play Dishwasher in your browser launch
The original Wanessa Labs mobile game, rebuilt from scratch. Fit everything into the rack, dishwasher Tetris, across seven chapters.
Dishwasher ↗First Capacitor candidate for an Android APK feature
Decision (2026-05-06): Sudoku is the first game targeted for a Capacitor WebView APK.
SudokuMigration into the gaming hub feature
Decision (2026-05-06): Sudoku is now a route in wanessalabs-games/ rather than a standalone deployed app.
SudokuAndroid strategy: Capacitor WebView wrap, Sudoku first feature
Android APKs will be built by wrapping the existing React hub with Capacitor.
Wanessa Labs Games LearnDishwasher fully ported to TypeScript with 100 tests feature
The Dishwasher game — originally a standalone JS prototype — was fully rewritten in TypeScript and integrated into the hub as a React route. 100 tests written covering core puzzle logic, chapter progression, and IAP unlock states.
Wanessa Labs Games LearnFind the four groups hiding in sixteen words launch
You get five guesses. A new puzzle lands every day.
Linked ↗Play the first set of daily puzzles launch
The hub opened with Sudoku, Anagram Daily, 2048, Snack Pop and Crossword, plus word and number practice for kids. One fresh puzzle a day, no ads.
Wanessa Labs Games ↗Linked game added as a hub route feature
Linked (word grouping game) was built as a full route inside the hub (/games/linked). Puzzle service, tile animations, daily puzzle rotation, and loss state all implemented.
Wanessa Labs Games Learn→ 2026-04-29 — Server layer (Hono on :5050) feature
The periodic-JSON-file design did not survive contact. In practice the board was always one refresh behind the vault.
Vault KanbanProject initialized feature
Promoted straight from a spoken brief with no inbox file behind it, pressure-tested, and drafted into a PRD the same day. Two decisions made here survived the whole build: record-then-transcribe rather than streaming, and paste through…
Clembot-dictateProof of work generated feature
The threading model was settled on paper before any of it was written: suppress the hotkey so the key itself never reaches the document, lock around the recording flag so a repeat cannot double-fire, and transcribe on its own thread so…
Clembot-dictateOrigin feature
Pressure-tested and passed on two grounds: it is built for a specific first user, the owner's daughter, and the MVP scope was clear from the start. The hard problem identified up front was producing step-by-step art efficiently, either…
Learn to Draw"Her Life" audience identified as primary target segment feature
The Lists of 30 audience skews toward women 28-45 navigating life transitions (career, relationship, identity). The "Her Life" framing captures the emotional register of the highest-engagement content in the archive.
Lists of 30 App MarketingCommunity seeding strategy: invite writers first, not users feature
Seed the app catalog by inviting 10-20 known writers to submit founding lists before any public announcement.
Lists of 30 App MarketingGTM project scoped separately from product and content feature
The go-to-market work for the Lists of 30 App is its own project folder, separate from the app (listsof30app/) and the content engine (lists-of-30/).
Lists of 30 App Marketing