Ship log
Changelog
What landed across the workspace, and when. Each entry links back to the spec or blueprint that asked for it. Entries from sibling sites are tagged with their slug.
-
Confidential Access v2 — Signed-Link Sessions + Telemetry for Client-Content Workspaces
Resolved the long-standing problem that bit us hardest on calmstorm-decks last week: a busy primary stakeholder couldn't get into the gated site, the gate had no server-side telemetry to debug it, and there was no way to attribute downstream sharing. The new pattern — exploration + spec at the cross-cutting level, working implementation in calmstorm-decks — replaces client-side localStorage gates with a DB-backed session model on Astro DB / Turso. Tier 1 is a signed pre-authed link (WhatsApp-deliverable, identity-bound) for direct stakeholders; Tier 3 is a two-role universal passcode (admin / viewer) with a downstream-sharing attribution hack via passcode suffix. Every verify attempt writes an AuthEvent row; every gated page view writes a PageView row; an /admin/activity dashboard surfaces both in real time. Now the lineage of any client interaction is recoverable in a 30-second DB query instead of a multi-hour forensic exercise.
-
Accurate Screenshots to Per-Variant PDF Decks via a Dev-Only Capture Surface
calmstorm-decks now exports the live HTML/CSS/Tailwind slide tier to pixel-perfect PNGs and three per-variant PDFs (v1/v2/v3, 17 pages each) in one `pnpm export:decks` call. The unlock was a tiny dev-only un-gated route — `/dev/shot/{slot}/{variant}` — that renders exactly one SlideCanvas filling the viewport, with no chrome, no auth, no aria-hidden juggling. Screenshot infrastructure shouldn't traverse production auth; once we accepted that, the export script collapsed to a five-line URL loop and we got a runnable PDF deck for every design variant on the fund.
-
Sweep: llms.txt + sitemap + robots.txt across every site and splash
The day after the analytics + LFM sweep, we shipped the discoverability layer. Every actively-maintained site and splash in the astro-knots ecosystem got an llms.txt / llms-full.txt pair (per llmstxt.org), an XML sitemap auto-generated by @astrojs/sitemap, a robots.txt pointing crawlers at it, and a pair of <link> hints in BaseLayout announcing both surfaces from every rendered page. SEO + GEO discoverability, parallel-patterned across eight repos in one motion.
-
Sweep: LFM 0.3.0, Astro 6.3.1, and OpenPanel layered across the fleet
A chore commit dressed up as a milestone. We landed @lossless-group/lfm v0.3.0 on JSR, brought every actively-maintained site to Astro 6.3.1, and layered OpenPanel.dev alongside Umami and Fathom across eight Analytics components. The interesting part isn't any single change — it's that the discipline of one parallel pattern in eight repos stayed intact long enough to do all three at once.
-
Paste a playlist link, get a real playlist component
A YouTube playlist URL on its own line used to render as a frame indistinguishable from a single video. Now it pulls 1,899 items from the Data API at build time, server-renders a sidebar, and lets the reader click any video to play it in place — all from a bare URL or a `:::youtube-playlist` directive. First pass; UI tweaks pending; pattern is reusable across every Astro Knots site.
-
aside-escape: sidebars that pop out of the article column
The empty space to the right of a centered article column has been doing nothing useful for decades. Today it earned a job. The playlist component's sidebar now floats out of the reading column into that margin track, with the player still anchored in the prose flow. Same trick generalizes to any LFM component that wants to be supplementary, not stacked.
-
v1 ship: YouTube playlist embed family functional
Started the day fixing how a single-line YouTube Short renders inside a memo's prose flow. Ended it with a build-time-fetched playlist UI that escape-positions itself in the article's right margin, with a 1,899-item scroller wired to the iframe via the YouTube IFrame Player API. Six commits, three changelogs, two specs touched, one new cross-cutting `MobileFeaturePlaceholder` pattern.
-
Telemetry for traction: Umami + Fathom across the splash fleet
Eight sites can finally tell us if anyone's reading. Two analytics platforms, one tiny component pattern, and a production-only gate that keeps localhost out of the dashboard.
-
Dual-provider auth — sign in with GitHub or LinkedIn, link both, get a green dot
-
People as first-class subjects — one PersonCard, one resolver, one truth
-
Propose a project or working group from the site itself
-
Interactive live polling — Svelte SSR + Turso, five templates, audit log, end-to-end in one evening
-
Web-native slides — Reveal.js + Astro components-as-slides + GSAP, all mode-aware via tier-2 tokens
-
Get-Involved icon row — three-tap commitment signal on every project, working-group, and proposal card
-
Webinar pre-event polish — registrant survey viz, presenter cards, Kauffman partner mark
-
Stacks v0.5 — interactive stack builder, GitHub App write path, full registry browse
-
Long-Form Reader Chrome — Triptych, Reading Progress, ChapterMeta, and the LFM Pipeline Everywhere
-
Projects, the surface — gallery, detail, header popdown, and the working-group content collection
-
Working Groups, alongside Projects — disambiguating the surface, codifying the relationship
-
Mobile-responsive header — hamburger drawer, anchored spacing
-
Dojo Page, Reusable Hero/CTA/Grid Components, TextLinkSpan, and a Long-Form Content Scaffold
-
Project Scaffold — Astro 6, Svelte 5, Tailwind 4, Sveltia CMS
-
Flag Pixel Spacing Variants
-
Wobble Rings Flare Component
-
Vibrant Mode, Brand Mark Wrapper, and Animated Grain Overlay
-
OpenGraph Meta Tags and Share Banner
-
Vibrant Mode Token Refactor, Snippet Sanitization, and Department Filters
-
New Flare Components & Simplified Homepage
-
Jobs Page & Pinpoint API Integration
-
Emblem Theme System Implementation
-
Changelog System Implementation
-
Design System Documentation Hub
-
Flare: Three.js Visual Effects System
-
Hand-Rolled OAuth (GitHub + LinkedIn), Privacy Policy, and the /stack/me Scaffold
-
Site Scaffold from Astro Knots Conventions — Skeleton Right on First Try
-
Webinars Collection — Calendar-Style Cards, Index Page, and Detail Pages
-
astro-knots/2025-12-12_03
-
astro-knots/2026-04-22_01
-
astro-knots/2026-04-26_01
-
astro-knots/2026-05-03_01
-
twf_site/2026-04-09_01
-
twf_site/2026-04-09_02
-
twf_site/2026-04-25_01