Skip to content

1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Apr 06:53
· 5653 commits to main since this release

1.0.0 Latest

New Features

  • rebuild dashboard sidebar with shadcn
  • add normalized query surfaces
  • delegate Vercel Stripe metering
  • add additive wearables read commands
  • prefer normalized wearable query surfaces
  • add canonical wearable envelope layer
  • add Bryan Johnson sauna onboarding contract
  • improve Norwegian 4x4 research framing
  • add repo-local GitHub task skill
  • add Finnish sauna onboarding
  • add privacy-safe ai usage attribution
  • refresh red-light research copy
  • add red-light onboarding
  • recover Finnish sauna source appraisals
  • add scheduled log support
  • expand bryan johnson sauna evidence
  • polish experiment research group cards
  • land finnish sauna tranche1 appraisals
  • add generic capture primitive
  • auto-manage Stripe webhook listener from pnpm dev
  • land norwegian 4x4 research landscape
  • add source findings takeaways
  • use dedicated finnish sauna artwork
  • use dedicated bryan johnson artwork
  • use dedicated red light artwork
  • use dedicated norwegian 4x4 artwork
  • land merged local research updates
  • merge pro helper research updates
  • expand study card summaries
  • expand norwegian 4x4 research corpus
  • add source-person profile images
  • add research evidence metadata
  • add red-light evidence metadata
  • refine experiment signal prominence copy
  • reuse experiment protocol timeline summary
  • add hosted vault sync import
  • restructure protocol details
  • expand finnish sauna corpus
  • refresh user-facing experiment copy
  • add norwegian 4x4 landing package
  • dedupe red light glasses pass4
  • add red light glasses landing
  • add research pass resume support
  • add research workflow script
  • source experiment detail from health commons
  • add run release-finalize seam
  • expand sauna research corpus
  • source bryan johnson sauna routine
  • cut over dry-sauna commons seed
  • add hosted run breadcrumb logs
  • add initial health commons package
  • add hosted-run control plane
  • add runner observability logs
  • support best-effort multi-stream csv imports
  • make csv sample imports more permissive
  • add copy button to homepage install terminal
  • materialize due wakes before alarm drain
  • add hosted launch pricing plans
  • prefill hosted phone country from geo hints
  • redesign Connect card and update homepage copy
  • land hard-cut migration batch 1
  • hard-cut hosted wake docs and harness
  • merge how-it-works + experiments into one narrative section
  • tone join stages with danger eyebrow, lift form surfaces
  • dev-only ?preview= for /join UI review
  • rework /join shell to narrow split-panel layout
  • polish FAQ, OTP slots, and LP auth CTA
  • tidy dashboard sidebar and make LP logo clickable
  • add mobile top-bar nav to dashboard layout
  • unify /join stages on new design system shell
  • roll out new design system to settings, OTP input, FAQ privacy Q
  • land native wake executor and payload spill
  • land final cutover phases
  • cut over live runner wake drains
  • stage hosted wake substrate
  • land hosted browser snapshot flow
  • add email delivery subjects
  • add Strava integration
  • enable privy captcha on hosted onboarding auth
  • expand hosted phone auth countries for byo twilio
  • add hosted onboarding playwright stress helper
  • narrow outbox mirror authority
  • make hosted delivery journal authoritative
  • add landing-page signup cta
  • add quick start to landing page
  • promote landing page to root
  • add explicit food unschedule command
  • land greenfield control-plane cutover
  • add OG/Twitter metatags to LP and replace nav logo with SVG
  • unified /design page with Brand and Components tabs
  • add dynamic OG image generation
  • add SVG logo and favicon
  • auto-scan image qr and barcodes
  • add landing page with hero and sticky nav
  • add shadcn chart component with recharts
  • implement dashboard app shell with experiment pages
  • set up design system with shadcn base-ui components

Bug Fixes

  • harden research thread url capture
  • harden cli validation and model recovery
  • harden research workspace packaging
  • align hosted deploy env workflow
  • move sidebar gradient constant to server-safe module
  • center mobile header logo
  • use logo wordmark in mobile dashboard header
  • sidebar spacing and drop logout icon
  • align wearable latest summaries
  • align experiment prompt guidance
  • extend shard wait timeout
  • tighten scheduled-log follow-up handling
  • ignore nested agent skill directories
  • restore main release and hosted e2e checks
  • improve local onboarding public-link guidance
  • land Finnish sauna detail cleanup and refresh CLI artifacts
  • tighten Norwegian 4x4 onboarding guidance
  • drop stale review-gpt flag
  • separate typing ownership from cleanup handles
  • tighten telegram and linq abort handling
  • persist safe notification run logs
  • repair local e2e lane
  • restore assistant-cli subpath source resolution
  • split capture add lookup handles
  • tighten capture batch handling
  • harden cold-start typing ownership
  • capture Stripe whsec from stderr too
  • add retry safeguards
  • preserve provider continuity on resume
  • pair usage prices with launch checkout
  • preserve native resume during onboarding
  • preserve normalized preset and explicit false zdr
  • hard-cut provider callers to target policy
  • set image sizes and priority on experiment cards
  • pass vercel ai key to hosted deploy
  • reconcile hosted Stripe webhooks inline
  • use authored study findings
  • fix hosted local e2e startup
  • simplify study card collapsed state
  • make the full study row collapsible
  • require authored study summaries
  • add red-light source findings
  • tighten experiments page header copy
  • tighten bryan johnson sauna copy and study metadata
  • restore study card and enable dev cache
  • prefer recent experiment sources on tied n
  • validate import manifest from bundle
  • prioritize study findings in experiment cards
  • inherit homepage opengraph image on join
  • swap experiment source sample badges
  • pin sauna and 4x4 featured cards
  • tighten signal uncertainty copy
  • move study sample counts
  • explain research stat labels
  • tweak signal uncertainty copy
  • remove background signal helper copy
  • clarify experiment signal hierarchy
  • remove protocol signal helper copy
  • clarify experiment protocol copy
  • show protocol days excluding baseline
  • show study years in source badges
  • tighten norwegian 4x4 steps
  • trim baseline protocol steps
  • simplify protocol UI
  • trim bryan johnson experiment copy
  • clean up source person expert cards
  • return structured bound tool failures
  • share hosted run messaging activity
  • split container runtime loaders
  • remove reply sanitizer
  • key onboarding to first session
  • defer hosted stripe webhook reconciliation
  • restore experiments catalog
  • remove remaining bank seam casts
  • harden sqlite row decoders
  • remove telegram connector api casts
  • simplify research artifact handling
  • require downloadable smoke artifacts
  • scope research artifact detection to latest turn
  • export failed research turns
  • harden research smoke workflow
  • harden runtime issue privacy path
  • land run-centric ingress protocol seam
  • refine first-turn onboarding guidance
  • green clean release checks
  • consume dashboard snapshot directly
  • tighten privacy retention across hosted ingress and runtime
  • restore hosted-local e2e hard-cut lanes
  • fail closed on ingress and stale outbox resend
  • remove durable do bundle cache
  • stop renewing agent token export sessions
  • drain hosted run follow-up work locally
  • always finalize prepared run drains
  • preserve direct hosted-run retry arm
  • align runtime timer run-drain verification
  • land sauna docs cleanup patch
  • harden hosted email drain and agent session retries
  • fence stale job failures
  • land greenfield cutover
  • deprecate persisted assistant cron tick ingress
  • align run-shaped runner request tests
  • hard-close run-drain timer wake seam
  • hard-cut hosted jobs to runDrain
  • reject partial acquired commits
  • require runDrain for runner wake invokes
  • isolate write-batch commit boundary
  • clear hosted tokens on disconnect
  • hard-cut subpath-only root fallbacks
  • remove empty workspace import
  • stabilize assistant cli and hosted runtime specs
  • keep setup shim bin ownership in packages/cli
  • prevent hosted local linq cleanup replay
  • relax homepage hero wrapping on mobile
  • finish legacy hard-cut cleanups
  • expand durable runner observability
  • handle equals-style root flags
  • add safe observability logs
  • hard-cut workout measurement alias
  • remove assistant outbox and device-sync legacy shims
  • remove supplement legacy ingredient fallback
  • expose container decode diagnostics
  • restore canonical next font loading
  • restore deploy migration history
  • update hosted onboarding launch pricing
  • decouple hosted-web prisma from verify
  • restore hosted local e2e lanes
  • stabilize verification lanes
  • restore duplicate commit e2e lane
  • narrow hosted-local runner bundle closure
  • stabilize measurement verification fixtures
  • prefer PATH vault-cli stubs
  • drop typecheck project references
  • remove stale assistant-engine helper exports
  • preserve local bridge loopback bootstrap
  • get verify green again
  • fail closed for root chat raw-mode input
  • close greenfield cutover gaps
  • use static fonts for og image
  • self-host hosted fonts
  • restore hosted-wake Vercel build
  • hard-cut materialization and clean stale docs
  • tolerate missing prisma env files
  • preserve provider normalization inference
  • require finalize proof for snapshot publish
  • unify quarantined lifecycle vocabulary
  • retry alarm-driven hosted wake drains
  • remove legacy route callbacks
  • move alias routing ownership to web
  • require hosted runtime mutation fences
  • require wakeEventId in fetch proofs
  • sync loopback prisma schemas with db push
  • refetch after quarantine invalidation
  • align hosted env wiring
  • refetch hosted wake batch after cursor advance
  • roll hosted wake quarantine fence
  • make terminal prompt prefix non-selectable
  • harden wake proof rollout and stale hint refresh
  • tighten hosted wake proof fixtures and snapshot refs
  • tighten hosted wake terminal proofing
  • keep runner authority in the supervisor
  • tighten wake boundary contracts
  • tighten hosted callback surfaces
  • harden hosted wake proof boundaries
  • tighten proof and materialization boundaries
  • finalize hosted wakes after cursor commit
  • scope external event identity by owner
  • derive hosted device-sync wake materialization from postgres
  • fail closed on runtime root-key repair
  • close hosted wake cutover proof lanes
  • allow generated next-env review-gpt stubs
  • fence stale coalesced wake receipts
  • trim dead wake wrappers
  • narrow hosted cursor CAS patch
  • allow snapshot-only hosted cursor CAS
  • land hosted wake and webhook follow-ups
  • fail closed on manifest path traversal
  • hard-cut cron runtime compat
  • fence hosted wake cursor snapshot refs
  • reconcile replaced hosted wakes
  • harden runner outbound bootstrap stub
  • preserve coalesced event identity
  • unify deploy boolean env parsing
  • fail closed hosted-email public ingress callback errors
  • unify encrypted wake payload shape
  • split hosted secret ownership
  • normalize hosted linq wake payload
  • harden hosted Privy verifier config
  • enforce single-step hosted wake cursor commits
  • verify hosted Privy tokens directly
  • trust successful save receipts
  • align hard-cut wake parity
  • stop treating missing hosted wakes as queued
  • remove execution outbox from hosted baseline
  • trust Privy identity-token member ids
  • keep wake cleanup aligned with v2 cutover
  • avoid member lookup on invite-status polls
  • make invite status polling single-flight
  • prefer outbox mirror for hosted delivery recovery
  • drop gateway projection journal snapshots
  • prefer direct final wake bundle commits
  • cut over active-member Linq webhook replies
  • hard-cut hosted ingress wake ownership
  • ignore next smoke review artifacts
  • drop telegram webhook receipt ownership
  • align hosted wake payload schema export
  • update hosted annual launch price to 150
  • update hosted annual launch pricing
  • update hosted launch monthly pricing
  • stabilize local hosted wake suites
  • stabilize hosted local e2e after wake cutover
  • harden murph install smoke path
  • commit prisma client link helper
  • align hosted runtime with dispatch-first request
  • remove hosted crypto test fallbacks
  • remove observability vitest fallback
  • move missing Privy fallback into test harnesses
  • refine homepage hero and hosted auth smoke fallback
  • derive shim dispatch fallback from hosted status
  • keep quarantined rows terminal
  • clean up phone and messaging-setup cards
  • shrink oversized primary buttons on /join verify and checkout
  • make hosted wake handoff fully best effort
  • prune audit bundle binaries
  • address frontend-review findings on otp input and sidebar
  • restore acceptance green
  • drop unreachable hosted email participant guard
  • pack runner workspace deps with npm
  • pass TSX tsconfig through hosted local launcher
  • harden browser-safe query boundaries
  • tighten session contract parsing
  • restore Linq webhook reply continuity
  • harden hosted wake scheduling
  • include snapshot aad in session
  • fail closed on invalid email subjects
  • serialize hosted runner lease claims
  • fail closed device-sync runtime config
  • normalize hosted email routing
  • inline-drain hosted linq webhook dispatch
  • preserve active lease on stale finalize retries
  • keep hosted email replies owner-only
  • harden hosted runtime config handoff
  • restore strava release coverage
  • preserve hosted-local rapid-turn continuity
  • fail closed on missing linux runner alias
  • stabilize linux hosted local messaging e2e
  • prebuild hosted local runner bundle
  • skip vercel link when oidc token is provided
  • use workspace tsconfig for hosted dev
  • bootstrap hosted dev source resolution
  • harden hosted rapid-turn e2e auth
  • preserve assistant continuity across rapid turns
  • hard-cut hosted runner config surface
  • use hosted email send binding
  • centralize hosted runtime provider config
  • remove duplicate homepage code
  • canonicalize homepage route
  • update homepage signup headline
  • tighten homepage signup cta
  • remove hosted phone country setup notices
  • finalize hosted cleanup shape
  • tolerate runner cleanup destroy races
  • enforce proxy auth and drain legacy outbox refs
  • restore typecheck path resolution
  • refine linq first-contact routing
  • clean hosted callback boundary
  • prevent repeated linq first-contact retries
  • forward isolated runner child logs
  • restore release check
  • add hosted delivery debug logs
  • preserve raw linq reply anchors
  • recover stale linq chats and surface delivery errors
  • canonicalize hosted webhook dispatch transaction ownership
  • recover invalid assistant config from env
  • extend runner warm idle ttl
  • bound telegram webhook inline drain
  • unblock telegram webhook ingress
  • fence stale hosted runner results
  • suppress phone auth banner during alternate auth
  • remove inline device-sync wake state
  • align hosted phone entry input sizing
  • clarify attachment parse and decode surfaces
  • remove /lp hero sign-in button
  • replace /lp auth dead links
  • backfill parse jobs on deduped captures
  • restore repo verification green
  • stabilize first-contact e2e script
  • tighten cleanup follow-ups
  • restore green verification
  • preserve linq reply state and target defaults
  • make meal schema and list surface truthful
  • harden linq reply delivery
  • remove hosted runtime dead path
  • resolve live cutover merge
  • self-heal linq replies and preserve proxy base urls
  • restore hosted local runner env parity
  • restore pre-activation user env control
  • index frontend agent guidance
  • ignore cloudflare dry-run artifacts
  • log hosted delivery failures
  • add worker-safe contracts subpath
  • avoid sqlite in worker bundle

Documentation

  • finish Vercel Stripe setup notes
  • refresh Murph thesis docs
  • clarify worktree and audit subagent policy
  • note generated artifact landing policy
  • note generated artifact landing policy
  • clarify experiment mechanisms
  • capture hosted cleanup artifacts
  • close hosted run-drain cleanup lane
  • close hosted security follow-up lane
  • finish hosted hard-cut doc cleanup
  • clean hosted run doc residue
  • hard-cut hosted execution docs
  • hard-cut legacy wake lane
  • align hosted-run recovery wording
  • remove completed legacy cleanup lane
  • trim hosted migration wording
  • close landed hosted wake cleanup plans
  • clarify hosted wake behavior contract
  • tighten cutover truth in live docs
  • dedupe hosted cutover active state
  • remove hosted runner wake wrapper row
  • clarify hosted wake message contract
  • note ?preview dev aid and reconcile lucide guidance
  • review hosted inbound target plan
  • lock device sync provider readiness path
  • add phone wallet refresh plan
  • remove completed outbox cleanup ledger row
  • tee up hosted cutover worker pack
  • update brand assets, frontend refs, and remove visual-identity.md
  • add frontend review audit

Changelog
Full Changelog: v0.2.13...HEAD

  • test: cover device cli contracts (db1df96)
  • fix: harden research thread url capture (1174210)
  • fix: harden cli validation and model recovery (9741ef8)
  • Fix hosted device connect provider guard (384eefe)
  • chore(deps): bump review-gpt to 0.5.74 (60483dc)
  • Update system-prompt.ts (00bf73a)
  • chore: land greenfield v1 cleanup batch (b53d304)
  • Add conservative Cloudflare container rollout defaults (36d48a0)
  • Add Vercel Gateway provider filter config (03f6bf5)
  • fix: harden research workspace packaging (416123f)
  • test(assistant-runtime): cover hosted turn input refresh (d4a2485)
  • Add hosted late input turn adoption (6d3ffe7)
  • align cloudflare deploy workflow env surface (8fdda11)
  • fix(cloudflare): align hosted deploy env workflow (feb45c6)
  • cf (5d8477d)
  • test: fix acceptance coverage and artifacts (7151426)
  • revert(web): inline sidebar gradient instead of extracting to a module (84b6d26)
  • fix(web): move sidebar gradient constant to server-safe module (ffd3d90)
  • Add active experiment prompt context (4ff60d9)
  • refactor(web): extract sidebar brand gradient constant (a25b7aa)
  • fix(web): center mobile header logo (3f92f8e)
  • fix(web): use logo wordmark in mobile dashboard header (83c73e5)
  • refactor(web): unify sidebar footer and use logo wordmark (23a0961)
  • Fix research scaffold review-gpt packaging (ccfee9b)
  • refactor(web): sidebar guideline cleanup (4eaab8e)
  • fix(web): sidebar spacing and drop logout icon (942744d)
  • feat(web): rebuild dashboard sidebar with shadcn (1d7811a)
  • chore(agent-docs): clear wearables lane ledger row (5f9aed6)
  • fix(query): align wearable latest summaries (ee5702c)
  • docs(hosted-ai-billing): finish Vercel Stripe setup notes (39c671e)
  • Land canonical experiment run progress and outcome surfaces (c8dbb8f)
  • test(assistant-engine): fix turn-input landing coverage (5170f09)
  • Make device-sync manifests own job schemas (fe83157)
  • Land assistant turn-input local-runtime seam (fc0d677)
  • test(cli): cover experiment progress and outcome CLI flow (e61a26a)
  • feat(wearables): add normalized query surfaces (1e230b1)
  • fix: align experiment prompt guidance (8aee364)
  • feat(hosted-ai-billing): delegate Vercel Stripe metering (a1124b4)
  • Land device-sync provider manifest registry (7f49095)
  • hosted runtime delegated billing port slice (e1319ce)
  • Add biomarker dashboard navigation (5158832)
  • apps/web persist delegated hosted billing source (76f5a69)
  • test(hosted-runtime): cover delegated billing fail-closed paths (79c5651)
  • feat(cli): add additive wearables read commands (f783c8c)
  • Add resting heart rate biomarker page (0e60491)
  • feat(assistant-engine): prefer normalized wearable query surfaces (b36263e)
  • feat(importers): add canonical wearable envelope layer (0a31942)
  • feat: add Bryan Johnson sauna onboarding contract (78be6cd)
  • fix(research): extend shard wait timeout (c6f5993)
  • fix: tighten scheduled-log follow-up handling (fe6ee30)
  • Fix hosted AI usage reporting secret boundary (06e2126)
  • Relax commit helper message requirement (5b31ed2)
  • feat(experiments): improve Norwegian 4x4 research framing (c8b39a3)
  • fix(repo): ignore nested agent skill directories (8aac3c2)
  • fix(ci): restore main release and hosted e2e checks (355d23f)
  • chore(repo): close GitHub task skill ledger row (9308658)
  • feat(repo): add repo-local GitHub task skill (6984f3b)
  • fix(setup-cli): improve local onboarding public-link guidance (c65bdc3)
  • docs(product): refresh Murph thesis docs (41ee6bf)
  • fix(repo): land Finnish sauna detail cleanup and refresh CLI artifacts (15821f8)
  • refactor(research): make init charter-first (139b5f8)
  • feat(health-commons): add Finnish sauna onboarding (6795fbf)
  • fix(onboarding): tighten Norwegian 4x4 onboarding guidance (e71ddc2)
  • feat(hosted): add privacy-safe ai usage attribution (7d7fd0d)
  • feat(health-commons): refresh red-light research copy (c17d5a3)
  • fix(research): drop stale review-gpt flag (d0f1afc)
  • fix(hosted): separate typing ownership from cleanup handles (e95430c)
  • chore(research): add research init scaffold (e40722b)
  • feat(health-commons): add red-light onboarding (b6c436f)
  • Add Norwegian 4x4 experiment onboarding (e7b3bb2)
  • feat(health-commons): recover Finnish sauna source appraisals (36906f4)
  • fix(hosted-typing): tighten telegram and linq abort handling (f367776)
  • Land Norwegian 4x4 study-card and source refresh (a1d2d20)
  • fix(hosted): persist safe notification run logs (e50e320)
  • fix(hosted): repair local e2e lane (c35a6e7)
  • fix(repo): restore assistant-cli subpath source resolution (da8b3c5)
  • feat(assistant-engine): add scheduled log support (ff5599b)
  • fix(vault-usecases): split capture add lookup handles (9fdc413)
  • feat(health-commons): expand bryan johnson sauna evidence (dcda3f1)
  • fix(vault-usecases): tighten capture batch handling (27c8b23)
  • feat(web): polish experiment research group cards (41dac5e)
  • docs(agents): clarify worktree and audit subagent policy (4baf515)
  • chore: bump review-gpt to 0.5.73 (452fcaa)
  • feat(health-commons): land finnish sauna tranche1 appraisals (2917ed1)
  • add new research (ef4bdda)
  • feat(core): add generic capture primitive (387064b)
  • fix(hosted-runtime): harden cold-start typing ownership (023df1a)
  • fix(dev-hosted-local): capture Stripe whsec from stderr too (ed28474)
  • feat(dev-hosted-local): auto-manage Stripe webhook listener from pnpm dev (93c675d)
  • fix(hosted-usage): add retry safeguards (fd257c4)
  • fix(assistant-engine): preserve provider continuity on resume (54af726)
  • fix(hosted-onboarding): pair usage prices with launch checkout (7e08c48)
  • fix(assistant-engine): preserve native resume during onboarding (7ad8f50)
  • fix(assistant-provider): preserve normalized preset and explicit false zdr (05e1c44)
  • feat(health-commons): land norwegian 4x4 research landscape (33ec0e7)
  • refactor(assistant): hard-cut normalized provider config (e416d65)
  • fix(operator-config): hard-cut provider callers to target policy (5e39488)
  • refactor(assistant-engine): read provider target and policy directly (9ebf042)
  • feat(health-commons): add source findings takeaways (197d350)
  • chore(cloudflare): enable smart placement (37c3061)
  • fix(web): set image sizes and priority on experiment cards (ddb102b)
  • chore(agent-docs): clear completed cloudflare key workflow row (f98546a)
  • fix(cloudflare): pass vercel ai key to hosted deploy (3d54f9d)
  • refactor(web): simplify experiment artwork resolver (528c7f6)
  • feat(web): use dedicated finnish sauna artwork (a1dcb1e)
  • feat(web): use dedicated bryan johnson artwork (7073ff5)
  • feat(web): use dedicated red light artwork (a2328a4)
  • feat(web): use dedicated norwegian 4x4 artwork (6efd0cd)
  • fix(web): reconcile hosted Stripe webhooks inline (25688ad)
  • chore(repo): clear landed wake residue (7fcfdcd)
  • fix(web): use authored study findings (7207aad)
  • docs(agents): note generated artifact landing policy (39e05eb)
  • docs(health-commons): note generated artifact landing policy (69a6110)
  • feat(health-commons): land merged local research updates (26e28c9)
  • feat(health-commons): merge pro helper research updates (c13c930)
  • fix(cloudflare): fix hosted local e2e startup (1894e07)
  • test: isolate cloudflare node runner env (9cadacb)
  • fix(web): simplify study card collapsed state (8530d56)
  • fix(web): make the full study row collapsible (62038ca)
  • feat(web): expand study card summaries (aebf288)
  • fix(web): require authored study summaries (c450966)
  • fix(health-commons): add red-light source findings (ce42605)
  • fix(web): tighten experiments page header copy (62b6cd0)
  • feat(health-commons): expand norwegian 4x4 research corpus (23faa32)
  • chore(repo): speed up verify acceptance reuse (ea48ac6)
  • test: handle Telegram typing fetch in cloudflare runner test (63cf395)
  • fix: tighten bryan johnson sauna copy and study metadata (3d320ca)
  • Update experiment-header.tsx (49b6879)
  • fix(web): restore study card and enable dev cache (c6cfc1c)
  • feat(web): add source-person profile images (d21496f)
  • chore(typecheck): parallelize workspace preflight (f2c7d87)
  • fix(web): prefer recent experiment sources on tied n (95c8a36)
  • fix(vault-sync): validate import manifest from bundle (a1c526d)
  • fix(web): prioritize study findings in experiment cards (a746fdc)
  • chore(health-commons): add Finnish sauna research evidence metadata (66b1b88)
  • feat(health-commons): add research evidence metadata (7519684)
  • feat(health-commons): add red-light evidence metadata (46743c2)
  • docs(health-commons): clarify experiment mechanisms (70c91b6)
  • fix(web): inherit homepage opengraph image on join (319ff68)
  • fix: swap experiment source sample badges (2a3d7f4)
  • fix(experiments): pin sauna and 4x4 featured cards (1306958)
  • feat(web): refine experiment signal prominence copy (a4e4f00)
  • feat(web): reuse experiment protocol timeline summary (0eaabf6)
  • fix(web): tighten signal uncertainty copy (4125876)
  • feat(vault): add hosted vault sync import (99f007f)
  • fix(web): move study sample counts (56438a9)
  • fix(experiments): explain research stat labels (2e879b1)
  • fix(web): tweak signal uncertainty copy (b910b25)
  • Clean up orphaned hosted web dev servers (16986c3)
  • fix(web): remove background signal helper copy (5c84071)
  • fix(web): clarify experiment signal hierarchy (728197f)
  • fix(web): remove protocol signal helper copy (d5773a8)
  • fix(health-commons): clarify experiment protocol copy (762a4cf)
  • fix(experiments): show protocol days excluding baseline (ef9b1c2)
  • fix(web): show study years in source badges (474b960)
  • fix(health-commons): tighten norwegian 4x4 steps (55c6291)
  • Fix experiment source labels (b56d714)
  • fix(health-commons): trim baseline protocol steps (a56c952)
  • fix(experiments): simplify protocol UI (3172886)
  • fix(web): trim bryan johnson experiment copy (bee9a72)
  • fix(web): clean up source person expert cards (fd01fb3)
  • fix(assistant-engine): return structured bound tool failures (229c9e0)
  • fix(hosted-runtime): share hosted run messaging activity (dd400ae)
  • feat(experiments): restructure protocol details (737eb69)
  • fix(cloudflare): split container runtime loaders (1f3594f)
  • test(repo): align stale hosted expectations (e4b179c)
  • chore(cloudflare): forward hosted assistant zero-data-retention (4d49c94)
  • feat(health-commons): expand finnish sauna corpus (1eb418c)
  • fix(assistant-engine): remove reply sanitizer (e0ea876)
  • refactor(assistant): rename early-session onboarding seams (37a45d5)
  • feat(health-commons): refresh user-facing experiment copy (2e4a790)
  • fix(assistant-engine): key onboarding to first session (eead0d1)
  • test(cloudflare): tighten hosted local e2e stubs (4a47643)
  • refactor(web): remove dead hosted run nudge defer plumbing (8a91d3a)
  • fix(web): defer hosted stripe webhook reconciliation (353a522)
  • test: tighten unsafe assertion seams (8fdbe62)
  • fix(web): restore experiments catalog (a3629b1)
  • test: remove unsafe linq dispatch assertions (b68a4aa)
  • test(web): remove remaining owned seam assertions (c132364)
  • rm loading (7e0e64a)
  • refactor: trim review-gpt wrapper surface (0c6e5c7)
  • test(cloudflare): tighten hosted local helper assertions (943fd50)
  • refactor: simplify review-gpt wrapper (1a65160)
  • test: remove unsafe connector seam assertions (3832dd1)
  • test(cloudflare): tighten assertion boundaries (924e622)
  • chore(shared-runtime): remove remaining unknown assertions (1af55cf)
  • refactor: remove hosted web unsafe assertions (cf7258b)
  • fix(core): remove remaining bank seam casts (1620ce2)
  • refactor: remove local review-gpt diagnostics wrapper (801a949)
  • fix: harden sqlite row decoders (727aef1)
  • refactor: remove redundant JSON boundary unknown casts (3ed17df)
  • chore(core): remove redundant json parse unknown casts (c95d668)
  • chore: remove redundant assistant-engine json boundary casts (9c8a6ab)
  • refactor: wake final research pass (96a2484)
  • test(assistantd): tighten typed test fixtures (6c54e77)
  • fix(inboxd): remove telegram connector api casts (754ee82)
  • fix(tooling): simplify research artifact handling (9f91d5e)
  • test(assistantd): tighten service mock typing (cc8e822)
  • chore(repo): ignore review-stage scratch files (17d65d4)
  • fix(research): require downloadable smoke artifacts (9f5f7f3)
  • feat(health-commons): add norwegian 4x4 landing package (4f25631)
  • feat(health-commons): dedupe red light glasses pass4 (1bda2e3)
  • build(deps): bump review-gpt to 0.5.72 (fec46bb)
  • fix: scope research artifact detection to latest turn (c2c803e)
  • feat(health-commons): add red light glasses landing (66ff159)
  • fix: export failed research turns (a5b14ed)
  • feat: add research pass resume support (3a6faed)
  • refactor(hosted-onboarding): finish signup welcome notification migration (6b238c7)
  • test(assistant-engine): update notification delivery expectations (073633c)
  • docs(exec-plan): capture hosted cleanup artifacts (d99cf8e)
  • docs(exec-plan): close hosted run-drain cleanup lane (457bffa)
  • docs(exec-plan): close hosted security follow-up lane (b46fbe9)
  • refactor(hosted-run): finish hard-cut cleanup and proof coverage (8d8950b)
  • chore(exec-plan): clear browser-vault hard-cut ledger row (5ed322b)
  • refactor(browser-vault): hard-cut replica session flow (ae3d810)
  • fix: harden research smoke workflow (903c83c)
  • fix(assistant-runtime): harden runtime issue privacy path (e0e66f9)
  • test(cloudflare): update browser vault replica coverage (3afd757)
  • feat: add research workflow script (2719836)
  • test(assistant-runtime): update browser vault hard-cut tests (3201513)
  • test(cloudflare-hosted-control): update browser vault session client test (5e0fdd0)
  • refactor(web): split experiment protocol and private run detail (5afe010)
  • fix(hosted-run): land run-centric ingress protocol seam (7866375)
  • fix(assistant-engine): refine first-turn onboarding guidance (1888d76)
  • feat(web): source experiment detail from health commons (e1ce37a)
  • refactor(browser-vault): hard cut dashboard snapshot contract (d381946)
  • fix(repo): green clean release checks (6616a68)
  • Fail closed hosted-run commits on incomplete event results (c79a529)
  • test(query): fix browser snapshot coverage assertions (d8e9ba2)
  • test(cloudflare): use prepared bundle for local e2e (c071bd8)
  • test(cloudflare): align browser vault snapshot fixtures (ded87de)
  • fix(browser-vault): consume dashboard snapshot directly (d0f99d2)
  • refactor(assistant-runtime): hard cut remaining wake naming (82bce4b)
  • fix(retention): tighten privacy retention across hosted ingress and runtime (55ea5b0)
  • refactor: finish greenfield shape cleanups (3fc1a9d)
  • refactor: hard-cut compatibility residue (c203e7b)
  • refactor(cloudflare): share serialized lock helper (9c96505)
  • chore(deps): bump review-gpt to 0.5.71 (b6912cd)
  • refactor(web): remove stale device-sync ingress residue (cb4c106)
  • refactor: share package vitest config setup (0b5b5ed)
  • refactor(assistant-cli): hard-cut private subpath export (662eb75)
  • refactor(hosted-runtime): simplify runner env seams (653db50)
  • refactor(assistant-cli): trim private subpath exports (bf738a3)
  • refactor(cloudflare): dedupe hosted user crypto context lookup (2ae4ef8)
  • refactor: simplify assistant cron stale branches (6550c2d)
  • fix(cloudflare): restore hosted-local e2e hard-cut lanes (971ecaf)
  • fix(hosted): fail closed on ingress and stale outbox resend (8415529)
  • Reject missing hosted run finalizeRequired in Cloudflare (b66cb2a)
  • fix(cloudflare): remove durable do bundle cache (fd358bc)
  • chore(web): drop stale connect-start test bucket (d9a3ceb)
  • Make hosted run finalizeRequired explicit (03cc9d9)
  • fix(web): stop renewing agent token export sessions (0326e53)
  • fix(assistant-runtime): drain hosted run follow-up work locally (df375bf)
  • chore(repo): add hosted-run stale-residue guard (038ade4)
  • Preserve hosted device sync wake ingress hints (b64dba6)
  • chore(web): remove dead device sync connect start helper (acb133b)
  • Rename hosted run wakeIdsJson field (632ba6e)
  • test: restore green repo verification (381bf17)
  • fix(cloudflare): always finalize prepared run drains (0be0acd)
  • fix(cloudflare): preserve direct hosted-run retry arm (97cfb44)
  • fix(cloudflare): align runtime timer run-drain verification (358d776)
  • fix(health-commons): land sauna docs cleanup patch (2580056)
  • refactor(web): centralize invite phone auth flow (3161c0b)
  • chore(web): delete dead duplicate ui root (676e01b)
  • feat(hosted-execution): add run release-finalize seam (9ca079c)
  • docs: finish hosted hard-cut doc cleanup (d34e315)
  • refactor(cloudflare): remove local user-runner wake residue (855f9a5)
  • docs: clean hosted run doc residue (f58ba42)
  • fix(greenfield): harden hosted email drain and agent session retries (cd1a3af)
  • chore(repo): drop abandoned ui lane registration (3158d6b)
  • refactor(repo): land non-ui route and storage cleanup (74ba227)
  • refactor: finish simplification cleanup follow-ups (c850e85)
  • feat(health-commons): expand sauna research corpus (1378382)
  • refactor(hosted-execution): split parser modules (0db0235)
  • refactor: dedupe hosted run elapsed helper (e2254cd)
  • refactor(cloudflare): simplify runner outbound helpers (aae7a6a)
  • fix(device-syncd): fence stale job failures (eea8a88)
  • refactor(vault-usecases): share raw import manifest reader (ec3f2ed)
  • fix(boundaries): land greenfield cutover (dd9b857)
  • fix(hosted-execution): deprecate persisted assistant cron tick ingress (50ff45c)
  • feat(health-commons): source bryan johnson sauna routine (f13ce45)
  • refactor(hosted): rename ingress and run boundary (eb2ea66)
  • fix(hosted-runtime): align run-shaped runner request tests (da6a278)
  • fix(hosted-runtime): hard-close run-drain timer wake seam (6b1793b)
  • fix(runtime): hard-cut hosted jobs to runDrain (662bb5a)
  • feat(health-commons): cut over dry-sauna commons seed (9a86214)
  • feat(cloudflare): add hosted run breadcrumb logs (c19cef6)
  • Wire hosted run phase logs into web observability (e657774)
  • docs: hard-cut hosted execution docs (143f7a5)
  • fix(hosted-run): reject partial acquired commits (20c77ab)
  • Simplify hosted run durable statuses (77e5698)
  • docs(hosted-run): hard-cut legacy wake lane (71552db)
  • docs: align hosted-run recovery wording (ea35107)
  • fix(cloudflare): require runDrain for runner wake invokes (eb14cd6)
  • refactor(hosted-run): hard cut legacy hosted-wake surface (882b6a3)
  • feat(health-commons): add initial health commons package (4cc5938)
  • fix(core): isolate write-batch commit boundary (698864d)
  • fix(device-sync): clear hosted tokens on disconnect (80e6433)
  • Update system-prompt.ts (eb6cb7b)
  • feat(hosted-execution): add hosted-run control plane (47dc225)
  • fix(repo): hard-cut subpath-only root fallbacks (9224de8)
  • chore(assistant-engine): remove file-shaped assistant exports (5025124)
  • fix(hosted-execution): remove empty workspace import (66f2ce5)
  • refactor: split assistant CLI capability definitions (15e5e62)
  • chore(assistant-engine): trim stale tsconfig refs (2fe69e8)
  • refactor(scripts): split workspace boundary verifier rules (b2773bd)
  • refactor(device-syncd): split config parsing seams (198630c)
  • fix(test): stabilize assistant cli and hosted runtime specs (20b8195)
  • test: align onboarding prompt expectations (791ea4b)
  • fix(cli): keep setup shim bin ownership in packages/cli (60b55dc)
  • chore(cloudflare): align runner capacity defaults (b062e9d)
  • fix(cloudflare): prevent hosted local linq cleanup replay (1ef4780)
  • fix(web): relax homepage hero wrapping on mobile (5c27250)
  • docs(exec-plan): remove completed legacy cleanup lane (bb419bb)
  • fix(runtime): finish legacy hard-cut cleanups (e300460)
  • fix(cloudflare): expand durable runner observability (662e732)
  • Refactor hosted wake handoff to nudge semantics (12c0458)
  • fix(operator-config): handle equals-style root flags (1fbe254)
  • fix(cloudflare): add safe observability logs (1e80cd3)
  • fix(cli): hard-cut workout measurement alias (1ba1ecb)
  • feat(cloudflare): add runner observability logs (39dfbad)
  • fix(runtime): remove assistant outbox and device-sync legacy shims (dca70cb)
  • fix(query): remove supplement legacy ingredient fallback (00fdcb7)
  • fix(cloudflare): expose container decode diagnostics (040c874)
  • fix(web): restore canonical next font loading (67ced6e)
  • fix(cloudflare): restore deploy migration history (59032db)
  • fix(web): update hosted onboarding launch pricing (84ebb5b)
  • fix(cloudflare): decouple hosted-web prisma from verify (84f8c82)
  • final (bf4f437)
  • chore(agent-docs): close cloudflare e2e ledger row (7ba2256)
  • fix(cloudflare): restore hosted local e2e lanes (cc0ee8b)
  • fix(repo): stabilize verification lanes (9b795b9)
  • fix(cloudflare): restore duplicate commit e2e lane (7d48e13)
  • fix(cloudflare): narrow hosted-local runner bundle closure (1ad902c)
  • fix(contracts): stabilize measurement verification fixtures (87edf34)
  • fix(assistant-engine): prefer PATH vault-cli stubs (3db1de8)
  • fix(inboxd): drop typecheck project references (c18873c)
  • final shape (5bb4686)
  • fix(repo): remove stale assistant-engine helper exports (809c79c)
  • test: add hosted-local linq later-reply drain proof (98a26b3)
  • chore(agent-docs): clear closed linq reply ledger row (f14b297)
  • fix(hosted-assistant): preserve local bridge loopback bootstrap (1e5db99)
  • fix(cloudflare): get verify green again (019c4cb)
  • test(cli): stabilize cli verification suite (03bd945)
  • feat(importers): support best-effort multi-stream csv imports (1091231)
  • fix(cli): fail closed for root chat raw-mode input (f07598a)
  • test(assistant): narrow public subpaths and remove brittle chat duplicate (2c6f650)
  • test: align assistant core facade export assertions (f09a349)
  • test(cloudflare): add hosted wake pending-commit recovery proof (45134fb)
  • test(hosted-wake): harden migration guard parser (f2f390d)
  • fix(hosted-wake): close greenfield cutover gaps (8acd394)
  • test(cli): align assistant tests with greenfield contracts (72851fa)
  • chore(cli): refresh config schema (b127fec)
  • feat(importers): make csv sample imports more permissive (503b60f)
  • refactor(cli): finish greenfield compatibility cleanup (f712416)
  • test(cli): drop providerBinding test fixtures (572a61b)
  • refactor(shared): hard-cut threadId in automation self-delivery slice (138f400)
  • fix(web): use static fonts for og image (e390099)
  • refactor(assistant): require explicit providers and canonical cron thread ids (7796a9c)
  • fix(web): self-host hosted fonts (e9ddef1)
  • fix(web): restore hosted-wake Vercel build (03e5409)
  • Hard-cut hosted wake proof and runner route leftovers (fe50911)
  • fix(hosted-wake): hard-cut materialization and clean stale docs (4b91989)
  • fix(web): tolerate missing prisma env files (533ecf5)
  • test(vitest): resolve workspace public subpaths from source exports (b1a1add)
  • refactor(hosted-email): hard-cut greenfield callback and thread target seams (36e2d31)
  • refactor: hard-cut hosted execution compatibility seams (6a08976)
  • refactor(hosted-wake): hard-cut poisoned runtime vocabulary (5b9b0b9)
  • fix(operator-config): preserve provider normalization inference (0de5717)
  • fix(hosted-wake): require finalize proof for snapshot publish (855d4d4)
  • refactor(cloudflare): simplify hosted wake retry exits (792dfb9)
  • fix(hosted-wake): unify quarantined lifecycle vocabulary (4f4c70b)
  • fix(cloudflare): retry alarm-driven hosted wake drains (6b38dbb)
  • fix(hosted-email): remove legacy route callbacks (6d0961b)
  • fix(hosted-email): move alias routing ownership to web (a98a956)
  • docs: trim hosted migration wording (b96c456)
  • Remove generic hosted wake append seam (bdad6c7)
  • Handle stale hosted wake terminal fences (def566e)
  • refactor: hard-cut hosted runner callback routes (35bffdc)
  • Harden hosted email ingress wake append (f21259f)
  • chore(hosted-wake): hard-cut leftover terminal and runner concepts (d0a165f)
  • fix(device-sync): require hosted runtime mutation fences (18fdc0d)
  • test(web): add hosted wake quarantine legacy-proof rejection (36a9de1)
  • docs(plans): close landed hosted wake cleanup plans (a0bfd6b)
  • docs: clarify hosted wake behavior contract (0975e94)
  • fix(hosted-wake): require wakeEventId in fetch proofs (de7a4fd)
  • fix(dev-hosted-local): sync loopback prisma schemas with db push (09f1d10)
  • Update hero-section.tsx (41aa8a8)
  • test(hosted-execution): align cron reason assertion (f9a2d96)
  • fix(hosted): refetch after quarantine invalidation (d576c65)
  • fix(deploy): align hosted env wiring (64edd95)
  • chore(web): condense hosted-web prisma migrations (e2213a2)
  • fix: refetch hosted wake batch after cursor advance (90fbe87)
  • test(cloudflare): align hosted wake refetch tests (fd3d363)
  • fix(web): roll hosted wake quarantine fence (df01199)
  • test(cloudflare): fence hosted wake test proofs (949df8a)
  • test(cli): align release-script audit expectations (9b1d666)
  • fix(web): make terminal prompt prefix non-selectable (ab39545)
  • test: align cloudflare node-runner assertions (d4f9597)
  • fix(hosted): harden wake proof rollout and stale hint refresh (46d4a52)
  • fix: tighten hosted wake proof fixtures and snapshot refs (3555e9d)
  • fix: tighten hosted wake terminal proofing (641205a)
  • test: cover quarantined hosted wake terminal route (69dfd45)
  • fix(cloudflare): keep runner authority in the supervisor (30f83c3)
  • fix(hosted): tighten wake boundary contracts (68ffc63)
  • fix(hosted): tighten hosted callback surfaces (9ffb999)
  • test(web): align hosted wake proof coverage (bc927bf)
  • feat(web): add copy button to homepage install terminal (6241cfb)
  • fix(web): harden hosted wake proof boundaries (79ce0a6)
  • fix(hosted-wake): tighten proof and materialization boundaries (4712be3)
  • chore: trim hosted boundary tooling residue (04eaf43)
  • fix(cloudflare): finalize hosted wakes after cursor commit (8b90c32)
  • fix(web): scope external event identity by owner (0a9a1ed)
  • chore(agent-docs): dedupe hosted cutover follow-up plans (c991a30)
  • docs(hosted): tighten cutover truth in live docs (275276d)
  • fix(web): derive hosted device-sync wake materialization from postgres (b035da6)
  • docs(plans): dedupe hosted cutover active state (b825d6f)
  • chore(agent-docs): archive stale hosted cutover prompts (13573c8)
  • fix(cloudflare): fail closed on runtime root-key repair (0c33530)
  • refactor: remove dead hosted parser maintenance seams (8311902)
  • fix: close hosted wake cutover proof lanes (c9161c9)
  • fix(tooling): allow generated next-env review-gpt stubs (1d195d7)
  • docs(coordination): remove hosted runner wake wrapper row (235ba68)
  • test(cloudflare): guard hosted wake enqueue wrappers (2e5788a)
  • fix(web): fence stale coalesced wake receipts (4c142be)
  • fix(hosted-execution): trim dead wake wrappers (f071a54)
  • refactor(hosted-wake): remove dead edge-triggered behavior (a86d29e)
  • fix(apps/web): narrow hosted cursor CAS patch (e64fe8b)
  • fix(apps/web): allow snapshot-only hosted cursor CAS (eafbd85)
  • fix: land hosted wake and webhook follow-ups (ec6d79c)
  • Require hosted wake target confirmation for inline handoff (f267a8d)
  • test(cloudflare): cover cleanup after cursor commit (4fa4438)
  • Harden hosted wake cursor commits (5b4ba6a)
  • fix(vault-usecases): fail closed on manifest path traversal (c51bcd6)
  • fix(assistant-engine): hard-cut cron runtime compat (ea95206)
  • fix(cloudflare): fence hosted wake cursor snapshot refs (d99c7db)
  • refactor(cloudflare): rename gateway projection cache (61e9c63)
  • fix(web): reconcile replaced hosted wakes (66e93d2)
  • fix: harden runner outbound bootstrap stub (e3bc757)
  • fix(hosted-wake): preserve coalesced event identity (c17566f)
  • refactor(cloudflare): hard-cut local internal proxy auth (ca5b9f6)
  • refactor(assistant-engine): extract cron food auto-log helpers (e1a5e95)
  • refactor(cloudflare): clarify wake start modes (449ea03)
  • refactor(cloudflare): split runner outbound codec helpers (acb33a5)
  • Emit canonical wake materialization hints after system wakes (d0ae588)
  • fix(cloudflare): unify deploy boolean env parsing (341d912)
  • apps/cloudflare: fail closed on malformed runner bundle refs (a34d134)
  • refactor: make hosted device-sync SQL error omission explicit (f72e423)
  • refactor(cloudflare): drop runner state ready promise (e4cf10e)
  • test(hosted-wake): fix payload unification fixtures (f0f3b09)
  • fix(cloudflare): fail closed hosted-email public ingress callback errors (d59b31b)
  • Fix hosted wake alarm read retry (804ab51)
  • fix(hosted-wake): unify encrypted wake payload shape (01bc879)
  • refactor(web): split hosted Privy auth helpers (caa8b77)
  • fix(cloudflare): split hosted secret ownership (fdc402d)
  • fix(hosted-execution): normalize hosted linq wake payload (6c47746)
  • test(cloudflare): cover hosted wake finalize CAS conflicts (9482dc2)
  • feat(hosted-execution): materialize due wakes before alarm drain (22e6703)
  • chore: bump review-gpt to 0.5.70 (4775fe4)
  • Harden hosted wake cleanup cursor CAS (95ab2d7)
  • refactor(assistant-runtime): split hosted system wake lanes (462b5ca)
  • fix(web): harden hosted Privy verifier config (7363fcf)
  • fix: enforce single-step hosted wake cursor commits (c392279)
  • docs: clarify hosted wake message contract (70a31e3)
  • refactor(hosted-wake): hard-cut compatibility seams (0c0686c)
  • fix(web): verify hosted Privy tokens directly (7ee0fbf)
  • fix(assistant-engine): trust successful save receipts (06a4640)
  • fix(hosted): align hard-cut wake parity (302898c)
  • test(cloudflare): align thin-runner pending commit fixtures (3ad0d16)
  • test: align hosted runtime parity expectations (3a79bf9)
  • chore: bump review-gpt to 0.5.69 (4c1518a)
  • fix(web): stop treating missing hosted wakes as queued (bfd93e3)
  • fix(web): remove execution outbox from hosted baseline (5eec95d)
  • chore(plans): close completed Privy auth lane (d4ebe4f)
  • fix(web): trust Privy identity-token member ids (dac0ab9)
  • fix(hosted-web): keep wake cleanup aligned with v2 cutover (4ff8009)
  • chore: switch review-gpt delay to upstream cli (0dfa355)
  • test(web): hard-cut hosted webhook receipt coverage (3cf14e2)
  • fix(web): avoid member lookup on invite-status polls (430f8d0)
  • refactor: simplify onboarding and split oversized modules (2a3b52f)
  • test: tighten assistant delivery record test stubs (813ff40)
  • refactor(cloudflare): finish hosted stateless cutover (cf00657)
  • refactor(cloudflare): remove obsolete journal scaffolding (14f1c88)
  • test(cloudflare): remove hosted effects seam references (579e557)
  • fix(web): make invite status polling single-flight (697590c)
  • test(assistant-runtime): update committed fallback log expectation (2237b9d)
  • refactor(assistant-runtime): relax post-commit export failures (73f983e)
  • refactor(cloudflare): fold bundle cache into runner meta (8fc588d)
  • fix(assistant-runtime): prefer outbox mirror for hosted delivery recovery (37f47a7)
  • fix(cloudflare): drop gateway projection journal snapshots (2e6f24c)
  • fix(cloudflare): prefer direct final wake bundle commits (95ace5c)
  • refactor(assistant-runtime): prefer single-pass hosted completion (a9de407)
  • fix(web): cut over active-member Linq webhook replies (8e63aa0)
  • refactor(assistant-runtime): simplify hosted conversation wake normalization (5d690ad)
  • chore: remove unused review-gpt presets (df90e2b)
  • refactor(hosted): harden wake payload transport (c6fe562)
  • chore: stop review-gpt presets from requesting patches (42ca031)
  • more hard cut cleanups and fixes (4b3276d)
  • refactor(cloudflare): hard-cut wake-native status cleanup (bd97b6a)
  • fix(apps/web): hard-cut hosted ingress wake ownership (b0ab4ce)
  • refactor(assistant-runtime): cut conversation wake follow-up (01fce08)
  • chore(agent-docs): clear hosted hard-cut ledger rows (e25d2a1)
  • refactor(hosted): finalize hard-cut integration (e5a38e0)
  • refactor(cloudflare): hard-cut hosted runner wake/state lane (5c92b28)
  • refactor(assistant-runtime): tighten hosted wake seams (4b1199d)
  • refactor(web): drop linq control-plane webhook receipts (cd53b48)
  • refactor(runtime-state): remove hosted dispatch-payload scope (9257f58)
  • refactor(hosted-execution): trim wake naming residue (3d675f3)
  • fix(repo): ignore next smoke review artifacts (a8a3893)
  • chore(agent-docs): close hosted local e2e harness lane (fffb3b1)
  • refactor(cloudflare): stabilize hosted local e2e harness (1a28545)
  • refactor(hosted): finalize greenfield wake cleanup (de121ba)
  • refactor(apps/web): remove dispatch-lifecycle shim usage (f5b3de4)
  • refactor(hosted-execution): drop wake status dispatch alias (eb82874)
  • fix(web): drop telegram webhook receipt ownership (49f9047)
  • refactor(cloudflare): drop redundant wake finalize alias (0ca748b)
  • refactor(assistant-runtime): isolate conversation wake seam (6525a55)
  • refactor(cloudflare): unify hosted local scenario helpers (e0bc0ac)
  • chore(web): add Privy logo asset (ee6cbb6)
  • fix(web): align hosted wake payload schema export (d9059c4)
  • refactor(cloudflare): trim hosted wake dispatch residue (a7cd715)
  • refactor: extract hosted local dev stack launcher (e18d1af)
  • refactor(hosted-execution): drop legacy wake compatibility (5cfeb7e)
  • Split hosted local full-stack and worker-only e2e lanes (bc91bbd)
  • refactor(web): tighten hosted wake lifecycle seam (62a4a5b)
  • refactor(assistant-runtime): make hosted wake followup explicit (d0be15e)
  • update homepage (5964991)
  • fix(web): update hosted annual launch price to 150 (60fb605)
  • chore(review-gpt): ignore isolated next smoke outputs (37cb749)
  • test(cloudflare): align wake-first hosted tests (f5d2fae)
  • chore(exec-plan): clear hosted hard-cut ledger row (5ede70c)
  • fix(web): update hosted annual launch pricing (5d76dc4)
  • refactor(assistant-runtime): finish wake-first hard cut (cfd0952)
  • fix(web): update hosted launch monthly pricing (6a16212)
  • fix(hosted-e2e): stabilize local hosted wake suites (9232490)
  • fix(cloudflare): stabilize hosted local e2e after wake cutover (35a2606)
  • test(web): fix hosted hard-cut webhook fixture (51a8020)
  • refactor(hosted-execution): remove dispatch compatibility (e696519)
  • Hard-cut Cloudflare runner to wake-native flow (5d84136)
  • fix(web): harden murph install smoke path (eb03ceb)
  • Update site-footer.tsx (01a7dd8)
  • fix(web): commit prisma client link helper (b8ffa40)
  • chore(hosted): align hard-cut cleanup with wake-first reality (7f6bf4b)
  • refactor(hosted): finish hard-cut batch 3 cleanup (f67895e)
  • refactor(hosted): finish hard-cut batch 2 (1123535)
  • refactor(web): simplify hosted phone geo prefill (3cbde5a)
  • feat(web): add hosted launch pricing plans (f5c9ecb)
  • refactor(cloudflare): hard-cut thin runner dispatch shims (57adb61)
  • fix(assistant-runtime): align hosted runtime with dispatch-first request (04fc113)
  • feat(web): prefill hosted phone country from geo hints (2a117e7)
  • fix(web): remove hosted crypto test fallbacks (c547cb4)
  • refactor(cloudflare): remove node-runner test globals (3dceaab)
  • fix(hosted-execution): remove observability vitest fallback (3b72909)
  • refactor(web): hard-cut hosted wake append inputs (0d9f16b)
  • fix(web): move missing Privy fallback into test harnesses (858b2c5)
  • fix(web): refine homepage hero and hosted auth smoke fallback (2d15ca4)
  • feat(web): redesign Connect card and update homepage copy (fe921fb)
  • feat(hosted): land hard-cut migration batch 1 (1c71a56)
  • chore: clear completed thin-shim ledger row (c4d75ff)
  • test: align thin-shim dispatch outcome assertions (3ebd363)
  • fix(cloudflare): derive shim dispatch fallback from hosted status (60736dd)
  • feat(cloudflare): hard-cut hosted wake docs and harness (c402d43)
  • fix(hosted-wake): keep quarantined rows terminal (a7a1161)
  • refactor: remove legacy hosted wake dispatch schema (18dc33b)
  • refactor(apps-cloudflare): hard-cut native wake dispatch shims (e0c8133)
  • refactor(assistant-runtime): split hosted wake message lane (3593058)
  • refactor(hosted-web): hard-cut wake helper lifecycle (88f91b2)
  • refactor(hosted-web): cut provider webhooks to direct hosted wakes (90e866e)
  • feat(web): merge how-it-works + experiments into one narrative section (f8f0a4e)
  • refactor(web): apply frontend-review fixes on /join (6d9e970)
  • docs: note ?preview dev aid and reconcile lucide guidance (a27cf4f)
  • fix(web): clean up phone and messaging-setup cards (b2ff98d)
  • fix(web): shrink oversized primary buttons on /join verify and checkout (149127d)
  • refactor(web): tighten invite shortcut verification card copy and layout (572ad69)
  • refactor(web): rewrite active-state feature cards around experiments (e598bda)
  • refactor(web): tighten /join copy, drop duplicate setup phrasing (3fb281f)
  • feat(web): tone join stages with danger eyebrow, lift form surfaces (e627528)
  • feat(web): dev-only ?preview= for /join UI review (aec68b8)
  • refactor(web): swap Murph signup badge for mono eyebrow on /join (95a5ad9)
  • feat(web): rework /join shell to narrow split-panel layout (910902f)
  • feat(web): polish FAQ, OTP slots, and LP auth CTA (1667f1b)
  • fix(apps-web): make hosted wake handoff fully best effort (9db0928)
  • feat(web): tidy dashboard sidebar and make LP logo clickable (02174a9)
  • feat(web): add mobile top-bar nav to dashboard layout (0bb0776)
  • feat(web): unify /join stages on new design system shell (5c3d879)
  • chore(repo): clear completed audit-bundle ledger row (dc46adc)
  • fix(repo): prune audit bundle binaries (c982d73)
  • refactor(hosted): hard-cut wake dispatch cleanup (d9fc483)
  • fix(web): address frontend-review findings on otp input and sidebar (2c905e5)
  • feat(web): roll out new design system to settings, OTP input, FAQ privacy Q (1ec1020)
  • fix(repo): restore acceptance green (f378a03)
  • feat(hosted-execution): land native wake executor and payload spill (0b706ad)
  • discover (d864b3f)
  • test(cloudflare): cover long finalize lease handoff (d8b13e4)
  • fix(cloudflare): drop unreachable hosted email participant guard (8c5aa6a)
  • fix(cloudflare): pack runner workspace deps with npm (fe0424c)
  • fix(dev): pass TSX tsconfig through hosted local launcher (2813186)
  • feat(hosted-wake): land final cutover phases (1c6fca0)
  • feat(hosted-wake): cut over live runner wake drains (5ccc450)
  • fix(browser-vault): harden browser-safe query boundaries (0813d1e)
  • fix(browser-vault): tighten session contract parsing (0ef5887)
  • chore(review-gpt): bump to v0.5.66 (f480222)
  • chore(review-gpt): remove prompt-only mode (ef41134)
  • fix(hosted): restore Linq webhook reply continuity (f4da794)
  • fix(web): harden hosted wake scheduling (b1dd2db)
  • fix(browser-vault): include snapshot aad in session (4a2bb00)
  • feat(hosted): stage hosted wake substrate (2bbb0ad)
  • feat(browser-vault): land hosted browser snapshot flow (91ccdce)
  • test(assistant): add email delivery guard proofs (b78759b)
  • fix(hosted): fail closed on invalid email subjects (77973b1)
  • feat(assistant): add email delivery subjects (247a73e)
  • test(cloudflare): cover hosted overlap lease race (217006a)
  • fix(cloudflare): serialize hosted runner lease claims (51928b8)
  • fix(assistant-runtime): fail closed device-sync runtime config (54268e4)
  • chore(ci): drop stale hosted email workflow envs (b2c110a)
  • fix(cloudflare): normalize hosted email routing (0090e5b)
  • chore(deps): bump review-gpt to 0.5.65 (b6d3e96)
  • chore(review-gpt): add failure diagnostics (2580fd5)
  • fix(web): inline-drain hosted linq webhook dispatch (a3e6bb5)
  • chore: bump review-gpt to 0.5.64 (9cd41fc)
  • test(cloudflare): add local smoke duplicate-commit regression (ccfabf6)
  • fix(cloudflare): preserve active lease on stale finalize retries (1ee2777)
  • docs(architecture): review hosted inbound target plan (cdba5bf)
  • fix(cloudflare): keep hosted email replies owner-only (aba43c3)
  • fix(device-syncd): harden hosted runtime config handoff (09240bd)
  • fix(device-sync): restore strava release coverage (73e51bf)
  • fix(cloudflare): preserve hosted-local rapid-turn continuity (69dccf4)
  • fix(cloudflare): fail closed on missing linux runner alias (8f8b222)
  • fix(cloudflare): stabilize linux hosted local messaging e2e (1a7ee7e)
  • fix(cloudflare): prebuild hosted local runner bundle (e53fef4)
  • fix(scripts): skip vercel link when oidc token is provided (ca1afcb)
  • fix(scripts): use workspace tsconfig for hosted dev (f4bbde9)
  • fix(scripts): bootstrap hosted dev source resolution (74dd0e9)
  • fix(cloudflare): harden hosted rapid-turn e2e auth (e93fef2)
  • feat(device-sync): add Strava integration (40336d3)
  • fix(hosted): preserve assistant continuity across rapid turns (7dfdd83)
  • fix(device-sync): hard-cut hosted runner config surface (5758b6a)
  • fix(cloudflare): use hosted email send binding (1953c49)
  • chore: bump review-gpt to 0.5.63 (290060a)
  • fix(device-sync): centralize hosted runtime provider config (19e8a29)
  • refactor(web): split homepage into sections (9f39707)
  • fix(web): remove duplicate homepage code (1a4d799)
  • fix(web): canonicalize homepage route (b070225)
  • feat(web): enable privy captcha on hosted onboarding auth (6f0bf97)
  • fix(web): update homepage signup headline (6a0f8b3)
  • fix(web): tighten homepage signup cta (942cc32)
  • fix(web): remove hosted phone country setup notices (be16394)
  • docs: lock device sync provider readiness path (11f408f)
  • feat(web): expand hosted phone auth countries for byo twilio (c634d92)
  • refactor(apps-web): hard-cut final device-sync integration cleanup (54aa70d)
  • refactor(device-sync): hard-cut webhook preflight seam (7eec355)
  • test(device-sync): lock provider seam guardrails (ca04c1b)
  • chore(web): remove temporary Playwright stress helper (14fca70)
  • refactor(device-sync): de-oura webhook admin config (cdf7981)
  • Hard-cut hosted device-sync provider assembly (9b82796)
  • feat(web): add hosted onboarding playwright stress helper (6b9cb1e)
  • refactor(hosted): remove final dispatch compatibility seams (d6e9419)
  • docs: add phone wallet refresh plan (59c6331)
  • test: unblock release check (847cf41)
  • docs(agent): remove completed outbox cleanup ledger row (89c7b58)
  • refactor(web): remove execution outbox transport status (c8a3b5e)
  • test(cloudflare): add local telegram hosted e2e (4a1d807)
  • chore(repo): add Cloudflare deploy shortcut (ff9c5de)
  • fix(hosted): finalize hosted cleanup shape (a05c208)
  • refactor(hosted): hard-cut delivery journal authority (b775fa2)
  • fix(cloudflare): tolerate runner cleanup destroy races (b046059)
  • refactor(hosted): drop legacy outbox compat path (84d89d1)
  • feat(hosted-delivery): narrow outbox mirror authority (6eee434)
  • fix(hosted): enforce proxy auth and drain legacy outbox refs (415c616)
  • fix(workspace): restore typecheck path resolution (2f6f263)
  • feat(assistant-runtime): make hosted delivery journal authoritative (4523b1b)
  • fix(assistant-engine): refine linq first-contact routing (29efed0)
  • fix: clean hosted callback boundary (6351102)
  • Align hosted Privy auth completion flows (fc9a72e)
  • fix(assistant-engine): prevent repeated linq first-contact retries (445af9a)
  • fix(cloudflare): forward isolated runner child logs (bd91b60)
  • chore(repo): clear release fix ledger row (8f17476)
  • fix(repo): restore release check (17e0f17)
  • fix(assistant-runtime): add hosted delivery debug logs (d80573b)
  • fix(hosted): preserve raw linq reply anchors (f476915)
  • feat(web): add landing-page signup cta (38ef4f1)
  • refactor(web): narrow hosted webhook receipt boundary (144535b)
  • fix(hosted): recover stale linq chats and surface delivery errors (e4a2fa7)
  • fix(web): canonicalize hosted webhook dispatch transaction ownership (3687214)
  • feat(web): add quick start to landing page (d467da3)
  • chore(hosted): add assistant bootstrap diagnostics (195fb55)
  • fix(hosted): recover invalid assistant config from env (b6e921c)
  • fix(cloudflare): extend runner warm idle ttl (89cd4d3)
  • fix(web): bound telegram webhook inline drain (209b44f)
  • fix(web): unblock telegram webhook ingress (094cd5b)
  • fix(cloudflare): fence stale hosted runner results (edaec28)
  • fix(web): suppress phone auth banner during alternate auth (7caf917)
  • fix(hosted-execution): remove inline device-sync wake state (04c8141)
  • fix(web): align hosted phone entry input sizing (5bb1a04)
  • fix(inbox): clarify attachment parse and decode surfaces (21f0b27)
  • refactor(cloudflare): hard cut hosted execution plane (5396346)
  • feat(web): promote landing page to root (5387bfd)
  • test(cloudflare): share hosted local e2e harness (5f3ccff)
  • fix(web): remove /lp hero sign-in button (f3f9551)
  • fix(web): replace /lp auth dead links (d1d1c0e)
  • feat(cli): add explicit food unschedule command (8ac7134)
  • fix(inboxd): backfill parse jobs on deduped captures (2db2a77)
  • refactor(web): narrow hosted execution lifecycle reads (16bfc28)
  • fix(test): restore repo verification green (9bef2b1)
  • test(cloudflare): extract duplicate commit worker fixture (8d1d1a0)
  • ci(cloudflare): expand hosted e2e lane (e99a2be)
  • fix(cloudflare): stabilize first-contact e2e script (f0fd851)
  • ci(cloudflare): add hosted first-contact e2e lane (ee9c3b5)
  • fix(hosted): tighten cleanup follow-ups (5e33d8e)
  • fix(repo): restore green verification (b9e5ff4)
  • fix(hosted): preserve linq reply state and target defaults (9245f24)
  • chore(hosted): trim runtime cleanup noise (c719033)
  • chore(agent): close meal cli ledger row (d53f477)
  • fix(cli): make meal schema and list surface truthful (6b7bb98)
  • chore(agent): close hosted texting repro ledger row (a3f4963)
  • chore(dev): keep hosted local repro worker-only (8ff8f9f)
  • chore(hosted): trim linq repro leftovers (41e762a)
  • fix(hosted): harden linq reply delivery (2eb0f0d)
  • fix(device-sync): remove hosted runtime dead path (4de3881)
  • fix(hosted): resolve live cutover merge (e8a003e)
  • feat(hosted): land greenfield control-plane cutover (24b3ece)
  • docs(exec-plans): tee up hosted cutover worker pack (1efa1d9)
  • docs: update brand assets, frontend refs, and remove visual-identity.md (5374fc6)
  • feat(web): add OG/Twitter metatags to LP and replace nav logo with SVG (426d7f6)
  • feat(web): unified /design page with Brand and Components tabs (754c377)
  • feat(web): add dynamic OG image generation (c93a15a)
  • feat(web): add SVG logo and favicon (ec593ac)
  • fix(hosted): self-heal linq replies and preserve proxy base urls (91b8df3)
  • fix(dev): restore hosted local runner env parity (868e53c)
  • feat(parsers): auto-scan image qr and barcodes (4f75889)
  • feat(web): add landing page with hero and sticky nav (93bd216)
  • fix(hosted): restore pre-activation user env control (543f76b)
  • docs(workflow): add frontend review audit (f43a733)
  • fix(docs): index frontend agent guidance (5fc71c9)
  • refactor(hosted): collapse managed crypto ownership (2d5c701)
  • fix(repo-tools): ignore cloudflare dry-run artifacts (9ed3418)
  • fix(assistant-runtime): log hosted delivery failures (e352730)
  • perf(web): reduce hosted billing checkout latency (cfb2f74)
  • fix(assistant-runtime): add worker-safe contracts subpath (e654ca3)
  • fix(cloudflare): avoid sqlite in worker bundle (7e632b0)
  • chore(web): update design system showcase and add TODOS (1e41b0b)
  • feat(web): add shadcn chart component with recharts (8459cf9)
  • feat(web): implement dashboard app shell with experiment pages (df2b16e)
  • feat(web): set up design system with shadcn base-ui components (4bcc0be)