Foundational infrastructure week. Four platform initiatives shipped — Unified Prompt Registry, Hub Identity Authority, Knowledge Base deployment, and Internal Admin Panel. Every LIFE Labs surface is now wired through hub-managed identity and lives behind canonical *.life-labs.dev URLs. Data Lab UX went from alpha-friction to beta-ready with steering, per-candidate judging, voice playback, and a stack of reviewer-facing improvements.
A measure of throughput across deployed surfaces, repositories, and product specifications.
Most individual commits and specs serviced one of these three strategic threads. They are how the LIFE Labs platform becomes operable by the broader team rather than a single founder.
Around 20 inline LLM prompts scattered across life-app, review-ui, benchmarking, and wheel-wiki consolidated into a single Supabase-backed registry with a hub UI at /admin/prompts. Promote-by-PR workflow, hash-pinned bundled fallbacks, CI gate forbidding new inline prompts. Single source of truth for "what prompt is live in production."
Every consuming app — life-app, Review UI, Knowledge Base, Wheel Wiki, Golden Questions Manager, Golden Prompt Report — was wired to consume hub-issued identity via Cloudflare Access JWT, switched onto the new hub-auth header pattern, and migrated behind canonical *.life-labs.dev URLs. Auth is no longer scattered across per-app passwords and dashboard configs.
The internal evaluation + training-data tool went from rough alpha to a reviewer-ready surface. Three feature streams landed together — AI-assisted steering, per-candidate judging, voice playback — plus a stack of supporting improvements (branch fork-or-swap, classifier rationale, candidate switcher, comments composer, performance overhaul). Detailed in the Product Spotlight below.
Each card below is in production this week — code merged, deployed, and exercised against real traffic.
Hub UI live at /admin/prompts with permission gates (prompts.view, prompts.edit, prompts.promote). Twenty-two judge rubrics, classifier and summarizer prompts, Wisdom system prompt, and all judge/steering/candidate templates now resolve through the registry with hash-pinned bundled fallbacks. Promote-by-PR workflow generalized across consuming repos.
All apps now route auth through hub.life-labs.dev using Cloudflare Access JWT claims. Per-app backend work: life-app web bridges CF Access → Supabase SSO via Pages Function, Review UI consumes hub-issued identity, Knowledge Base derives identity from hub groups instead of static policy.yaml, Wheel Wiki + Golden Questions Manager + Golden Prompt Report adopt the same pattern.
Pivoted away from Google Workspace group-based auth (required customer Super Admin) to explicit per-user hub grants — simpler operationally and faster to onboard team members.
Empty Knowledge Base system deployed to production — Railway service + Supabase + Cloudflare wired and live. Hub identity authority mode (KB_AUTH_MODE=hub), corpus tagging at the document level, 6-step guided tour overlay, CF Access service tokens for CI/CD, normalized database role bootstrap. Now ready to ingest Jira, LIFE reports, and Notion imports next sprint.
Central identity, role, and audit UI on hub.life-labs.dev/admin. Replaces ad-hoc per-app passwords with Google SSO + hub role management + single audit log. D1 schema, Pages Functions API, /admin/users and /admin/groups CRUD, external-reviewer policy for Golden Prompt Report. Now the single command center for team identity.
The internal review and training-data tool went from rough alpha to a reviewer-ready surface. Three feature streams landed together in the branch view: AI-assisted steering, per-candidate judging, and voice playback of candidate responses. The screenshot below shows all three live in a single Data Lab branch.
Side-panel that lets reviewers iteratively refine candidate responses with Wisdom — "warmer", "less jargon", "shorter" — without polluting the training set. Origin candidate is pinned at the top; steering notes flow into an isolated quarantine table. SSE token streaming, Opus-only, selectable steering model. was_steered telemetry on every candidate.
"Judge candidate" panel runs a chosen subset of the eleven expert judges against a single response without leaving the row. Live cost + token estimates before submission (e.g. ~$0.04 · 18s); results stream into a quarantined verdicts table never joined into training exports. Closes the fast-feedback gap during reviewer iteration.
ElevenLabs voice synthesis wired into every candidate row. Reviewer picks a teacher voice ("Meditation Teacher 1", more presets queued), hits ▶ Listen, hears how the candidate sounds when delivered. Same path that powers session audio in the LIFE app, now exposed for evaluation. Daily TTS budget cap enforces cost control.
Smaller features and quality-of-life upgrades that landed alongside the headline three.
When a reviewer changes the model or system prompt mid-branch, a dialog now offers fork (preserve history, start a new branch) or swap (rewrite in place). Eliminates the previous footgun of silent context corruption when configuration changed mid-conversation.
Each candidate now surfaces its classifier verdict inline — GREEN 98%, YELLOW, ORANGE, RED — with literal severity colors and a hover rationale ("Straightforward definitional question with no distress markers."). Reviewers see why the safety pipeline scored a response before they read it.
Multi-candidate generation per turn now has a clean switcher above the response (1 model · 2 edit), with edits numbered and labelled by the reviewer's tone change ("Softened tone with warmer opening"). Selecting a different candidate explicitly does not rewrite downstream turns.
Comments now attach to specific candidates (model, edit, or post-steering) rather than the branch as a whole. Inline composer in the side panel with candidate-targeting dropdown. Threaded discussion replaces ad-hoc Slack screenshots.
Branches can be tagged (regression, demo, custom) for filtering and grouping. Deletion is soft, with explicit "End Branch" + "Delete" affordances and confirmation. Tag-based queries are now possible for cohort analysis across runs.
All reviewer-side data fetching migrated to React Query — per-turn N+1 collapsed via a single useBranchExtras RPC. Dialogs and side panels lazy-load. Bundle-size guard and perf-regression smoke tests added. The branch view is now meaningfully snappier on long conversations.
Captured 2026-05-19. The hub indexes six tools — each one shown below — wired into hub-managed identity and behind canonical *.life-labs.dev URLs. Each app now has its own guided tour (auto-launched on first visit, replayable from the topbar "?" button).
Shipped new tours for the Hub landing, Knowledge Base, Wheel Wiki, Questions Manager, Benchmark Reports, and a fresh 11-section Review UI / Data Lab tour. Spotlight + tooltip pattern, skippable sections, auto-trigger on first visit, replay button in every topbar. The whole constellation is now self-documenting for any new team member.
The hub landing page. Six tools indexed; each links to a dedicated surface (Benchmark Reports, Questions Manager, Review UI, Wheel Wiki, LIFE App, Knowledge Base). The single entry point and identity provider for all team work.
hub.life-labs.dev
Multi-expert evaluation of AI meditation teacher responses across 11 tradition-specific rubrics. Latest run: 2026-03-29, 356 scenarios, 11 judges, Wisdom v7. Sidebar walks through Executive Summary, Variant Comparison, Methodology, Expert Profiles, Overall Results, Category and Red-Flag analyses, Scenario Appendix.
golden-prompt.life-labs.dev
Curated question library powering Wisdom benchmarks and regression tests — 4,002 active questions, 356 golden, distributed across stages (General, Intrinsic Awareness, Safety, Breathwork, Love, Awareness, Emotions, Posture, Thoughts, Sensations, Opening, Clarity, etc.). Safety distribution dial: 2,880 Green / 740 Yellow / 304 Orange / 78 Red.
golden-questions.life-labs.dev
Internal review and training-data tool. Eleven expert judges have scored 6 of 356 scenarios in the latest run (4.52 average weighted). Score distribution surfaced inline; quick links to unreviewed / needs-discussion queues. The Data Lab tab is where this week's reviewer-UX work shows up — covered in detail in the Product Spotlight above.
review.life-labs.dev
AI-native company wiki synthesised from source material (The Way of the Bodhisattva, Abhisamayalamkara, Prajnaparamita path architecture). 140 markdown files, sidebar with Analyses, Chapters, Chunks, Experiments, Prompts, Review, Sources, Topics. Chat-with-the-wiki side panel; system prompt now resolved through the unified registry.
wheel-wiki.life-labs.dev
End-user meditation app, desktop web build. The Wisdom Orb sits at the centre with "Ask Wisdom…" push-to-talk input at the bottom; tab bar for AI / Library / Settings. The Wisdom system prompt that drives every conversation is now hash-pinned through the registry.
life.life-labs.devKnowledge Base (kb.life-labs.dev) is also linked from the hub but is gated behind hub group membership — not included in this gallery for that reason.
With the platform substrate landed, focus shifts to filling it with content, opening it to the team, and giving reviewers control over the models they evaluate.
Commit volume in the 2026-05-11 → 2026-05-19 window, counted across all branches. The three heaviest repos (life-app/app-v0.2, review-ui, and life-hub) account for ~80% of the week's work — 341 of 420 commits.
| Repository | Commits | Active branches | Headline work |
|---|---|---|---|
| life-app/app-v0.2 | 145 | 56 branches (+2 stashes) | Unified registry resolver across all kinds, branch fork (copy-on-fork), dedup judge enqueue via job_dedup_key, AI-assisted steering, CF Access → Supabase SSO bridge, Google sign-in on web, auto-sign-in from hub identity, judge orchestrator extraction to data-lab-evaluator |
| review-ui | 113 | 40 branches (+2 stashes) | Evaluator service scaffold (Railway), full Data Lab UX overhaul, React Query migration, lazy-loaded dialogs, voice playback, judge-candidate panel, classifier rationale badges, fork-or-swap dialog, comments composer, branch soft-delete + tags, 18-step Data Lab tour extension |
| life-hub | 83 | 29 branches (+1 stash) | Unified Prompt Registry UI at /admin/prompts with permission gates, draft-via-PR workflow, promote dispatcher, identity + groups CRUD API, /api/life-bootstrap magic-link endpoint, canonical .ll-topbar CSS shared across products, hub guided tour, KV namespace wiring |
| golden-prompt-tests | 27 | 13 branches (+1 stash) | 22 judge rubrics backfilled into the registry with pinned hashes, generalised promote-prompt CI workflow, results-API consolidation, per-kind healthz hash endpoints, top-bar adoption |
| kb-service | 23 | 7 branches | KB_AUTH_MODE=hub identity authority mode, document-level corpus tagging, 6-step KB guided tour, CF Access service tokens for CI/CD, normalised role bootstrap, top-bar adoption |
| golden-questions-manager | 22 | 8 branches | Golden-bot service subsumed, registry-pinned prompts, promote-prompt CI dispatch, top-bar refinement (slim, no accent), hub-auth permission gating, back-link to hub |
| wheel-wiki-local | 5 | 6 branches | Wiki-chat system prompt migrated to unified registry, 6-step guided tour, top-bar unification, drift fan-out healthz |
| wisdom-system-prompt | 2 | main | Canonical repo initialised as single source of truth; CI publishes to the unified registry on merge (PROMPT_REGISTRY_ENABLED gated) |
| stages-of-meditation-eval | 0 | main (uncommitted) | Substantial local work on auth/login, admin/users, grid, traditions, and cell views — not yet committed and pushed |