Skip to content

1.3.2

Choose a tag to compare

@github-actions github-actions released this 27 Aug 08:15
· 1757 commits to main since this release

1.3.2 Latest

New Features

  • return canonical apply cards
  • energize referral section
  • allow workout exercise renames
  • track silent group conversions
  • track group-to-private conversions (#2311)
  • link directly to connect source cards
  • make wearable no-data outreach adaptive
  • admit versioned Temporal worker bindings (#2158)
  • accept focused group tool parsers (#2151)
  • allow fifty dollar group sponsorship caps
  • analyze attached videos on request (#2108)
  • accept manual meal photo uploads (#2098)
  • add timeout failure diagnostics (#2092)
  • enrich signup notifications
  • add ops usage search and reset all
  • reconsider unsent group replies once
  • trace device-sync interruptions (#2043)
  • verify and render OG image routes (#2056)
  • preserve complete Junction summaries (#1702)
  • preserve Junction metabolic context (#1700)
  • enrich bounded Junction workout streams
  • add authoritative Junction temporal features
  • default sparse clinical facts
  • preserve Junction summary details
  • finalize Junction body composition
  • preserve Junction body composition
  • finalize Junction body composition
  • register sparse clinical Junction resources
  • retain bounded Junction workout features
  • preserve bounded Junction temporal features
  • govern Junction resources and sparse history
  • preserve Junction body composition
  • preserve Junction summary details
  • preserve sparse Junction clinical facts

Bug Fixes

  • package assistant verification contract (#2403)
  • isolate child-runtime package coverage (#2397)
  • parse coordinated workout exercises (#2340)
  • preserve Docker isolation on macOS (#2367)
  • clarify referral rewards
  • validate Kernel handoffs before publication
  • order roster observation upserts
  • keep referral estimates concise
  • restore live Stripe main proof
  • keep Kernel automation independent of live view
  • complete silent conversion lifecycle
  • negotiate Environment reconciliation fact
  • reconsider live group input (#2321)
  • require absolute alternate Codex home
  • complete Environment priority handoff
  • allow alternate Codex home for live journeys
  • ratchet device sync bundle budget (#2326)
  • preserve canonical preemption ordering
  • make activity errors recoverable (#2204)
  • make workout card authoring deterministic (#2295)
  • make database pool retries observable (#2292)
  • route autofix reviews to isolated lanes (#2309)
  • order latency trace row locks (#2293)
  • bind Junction ECG voltage to summaries (#2300)
  • make experiment and Age errors recoverable (#2207)
  • preserve connect dialog ownership
  • preserve database health provenance (#2290)
  • make held group replies complete
  • honor selected group journey model
  • prevent blank nutrition dead ends
  • keep meal recovery routing compact
  • keep child model live config local
  • keep blank meals in owner recovery
  • route card recovery through owners
  • make nutrition errors recoverable (#2205)
  • bound workout inventory continuation
  • ask before card recovery refusal
  • focus live assistant test runner
  • preserve ordinary resume cleanup
  • converge Browser Vault refresh work (#2226)
  • prioritize nutrition card recovery
  • require nutrition card data recovery
  • preserve composed release provenance
  • require meal recovery before nutrition cards
  • grant draft reset GraphQL authority (#2277)
  • ignore zero-limit overshoot periods
  • close reconsideration failure paths
  • isolate temporary CLI evaluation (#2270)
  • recover unresolved meals for nutrition cards
  • preserve model-repair error details (#2202)
  • preserve workout progress through authority failures
  • preserve stable skill recipes
  • remove contact details from signup notifications (#2260)
  • filter workout index before cap
  • apply direct usage settlements
  • strengthen connect target contrast
  • ratchet workout delivery bundle budget (#2266)
  • preserve current workout admission
  • preserve reconsidered group requests
  • make reminder saves replay-safe
  • use live workout capability
  • prevent duplicate wearable preference calls
  • preserve outreach settings through abort guard
  • require email authority for outreach settings
  • delete wearable outreach preferences with accounts
  • close adaptive outreach review gaps
  • document changelog-only review proof (#2255)
  • validate hosted-local temporal doctor (#2250)
  • propagate typecheck guard failures (#2248)
  • authorize pull request draft resets (#2251)
  • bound migration guard patterns to SQL statements (#2239)
  • classify provider requests by static host (#2249)
  • preserve finish-task deletion scope (#2247)
  • gate scoped workout stream sources
  • decouple DST recovery from titles
  • log completed hosted invocations
  • harden runtime issue provenance
  • gate workout streams by source capability
  • keep titles out of identity checks
  • use generated ids for reminder saves
  • correlate runtime issues with releases and attempts
  • bound model retry usage storms
  • hand off environment work after foreground
  • reactivate archived reminders by stable identity
  • recover the canonical live successor
  • prevent duplicate archived-name retries
  • cover incomplete private handoffs
  • distinguish private handoff continuations
  • anchor group draft cutoff at completion
  • tolerate accepted Temporal run visibility (#2215)
  • allow archived reminder name reuse
  • validate live Temporal compatibility runs (#2198)
  • handle in-flight one-shot edits
  • finalize child usage accounting
  • keep inbound videos transient
  • clarify reminder occurrence projection
  • recover usage link from later work (#2193)
  • preserve Garmin authorization guards
  • wait for Garmin consent readiness
  • await late subagent usage persistence
  • wait for disconnect hydration
  • classify empty workout streams
  • honor terminal garmin departure
  • drop unused reasoning profile field
  • preserve empty replay across retries
  • retain empty stream replay horizon
  • recover empty workout streams
  • submit garmin confirmation once
  • complete garmin consent progression
  • expose bounded pass queue diagnostics (#2160)
  • preserve replacement across delayed stop (#2171)
  • align group guidance with admitted tools
  • simplify split tool validation
  • enforce split group tool contracts
  • simplify workout follow-up identity
  • expose repairable group tool contracts
  • align hosted tool expectation (#2161)
  • include Max in ops growth MRR split
  • require fresh environment conditions
  • harden workout follow-up context
  • harden Kernel canary lifecycle proof
  • load environment conditions from OpenWeather
  • retire native E2E aliases before deployments
  • retain detached subagent usage
  • preserve canonical narrow-read semantics
  • isolate delayed lifecycle errors
  • prepare handoff authority crypto
  • preserve workout follow-up context
  • bind legacy nutrition authority
  • preserve Starter activation lifecycle
  • replay handoffs across transport failures
  • preserve pending health ownership
  • fence handoff replay crypto
  • bind recovery replay intent
  • disambiguate legacy nutrition calories
  • restore Temporal reconciliation compatibility (#2129)
  • accept optional realtime updates (#2128)
  • align environment realtime tools (#2126)
  • make context handoff retries exact
  • keep signup email enrichment optional
  • update GPT-5.6 Sol pricing (#2122)
  • preserve concurrent recovery usage
  • preserve signup notification fallback
  • remove homepage nav links
  • cover code-mode deferred discovery
  • discover deferred tools before denial
  • commit held input transcripts once
  • harden reset-all operator recovery
  • bound signup notification context retention
  • bound reset-all runtime wake latency
  • bound migration guard to SQL statements
  • defer held no-reply persistence
  • centralize progress prompt ownership
  • lock controls during reset restoration
  • harden nutrition card prompt ownership
  • persist exact delivery retry
  • guard refreshed ambiguous usage targets
  • resolve ops recovery review findings
  • fence exact telegram delivery
  • gate signup context capture
  • preserve ambiguous reset recovery
  • remount reset state across operators
  • keep reset wake logs scalar
  • preserve reset-all across tab reloads
  • release exact delivery claim on yield
  • preserve reset-all recovery ownership
  • reconcile exact delivery recovery
  • consolidate nutrition card workflow
  • scope reset-all wake recovery to receipts
  • advance reset-all past empty periods
  • make reset-everyone retries receipt-safe
  • make signup context provenance truthful
  • make physical-note recovery atomic
  • support legacy nutrition card calories
  • keep precommit segments provisional
  • fence recovery turn replays
  • bind cleanup to container starts
  • preserve partial Queue metrics (#2103)
  • close reconsideration review gaps
  • classify checked guard deterministically
  • complete blocked exact notifications
  • separate checked and remaining guards
  • fence legacy history reads
  • use the production Junction config path
  • unblock hosted runtime frontiers
  • restore runner bundle headroom (#2104)
  • fit recovery into runner budget
  • preserve recovery uncertainty
  • align startup convergence budgets
  • document all-resource rollout
  • restore all Junction resources
  • bind destroy ownership to starts
  • bind recovered source history
  • add explicit recovery control
  • bind readiness to replacement starts
  • scope readiness to current start
  • retain pending source webhooks
  • preserve startup transport convergence
  • retain observed pending starts
  • include Apollo in auto lane pool
  • preserve rollout cold starts
  • bind freshness to exact imports
  • require data-bearing import proof
  • prove exact Vercel production deployment (#2085)
  • preserve recovery delivery timer
  • preserve partial recovery windows
  • stop duplicate due reconcile signals (#2081)
  • harden worktree retirement (#2052)
  • project canonical imports into freshness
  • recover missing junction sources
  • make frontend evidence reproducible (#2066)
  • sync existing lockfile importers transactionally (#2061)
  • preserve native iOS cleanup failures (#2053)
  • bound and retry the Playwright Chromium install (#2022)
  • require provider occurrence for Fitbit cutover
  • tighten Fitbit migration copy
  • bind migration freshness to logical facts
  • advance usage link recovery claim
  • retry usage limit rich link partial
  • bind migration freshness to webhook trace
  • resume missing usage limit link
  • replay partial usage limit links
  • preserve delivery-only wake ownership
  • honor provider day timezone
  • admit model-free delivery retries
  • reconcile terminal foreground replies
  • isolate foreground quiet windows
  • supersede stale migration proof jobs
  • preserve source authorization epochs
  • unify Junction canonical imports
  • prove Fitbit history before migration
  • preserve source-scoped history evidence
  • fence migration freshness
  • simplify Fitbit migration continuation
  • keep migration identity browser safe
  • apply ReviewGPT remediation
  • preserve member deletions on changed replay
  • preserve activity heart-rate facts
  • preserve profile replay identity
  • pin extended history to 180 days
  • preserve ordinary sync ahead of temporal history
  • harden Junction workout feature projection
  • refresh generated skill hash
  • expose bounded Junction workout details
  • enforce repository trust floor
  • pin review trust floor
  • open explicit reconnect lifecycle
  • remove speculative routing policy
  • bind workout remote authority by id
  • gate onboarding subagent routing
  • preserve semantic source lifecycle
  • migrate unversioned Junction profiles
  • preserve established source lifecycle
  • migrate Junction profile identity safely
  • preserve capped webhook days
  • keep ordinary pull floor unconditional
  • preserve Junction history completion
  • fence Junction webhook pulls
  • retry superseded Junction fetches
  • preserve deployed m1 history
  • reconcile summary ownership after restack
  • preserve delayed provider revision ordering
  • preserve legacy activity heart-rate aliases
  • align Junction replay verification
  • recover Junction member edit conflicts
  • preserve member summary edits
  • resolve Junction summary review findings
  • reconcile Junction summary corrections
  • bound Junction menstrual evidence
  • complete rejected body history
  • harden body composition history
  • reconcile body composition stack
  • rebuild legacy body projections
  • unify sparse body selection
  • close body composition read gaps
  • complete body composition reads
  • pin exact workout connection
  • ignore physical alias rekeys in webhook proof
  • close workout authority gaps
  • retain ordinary reconcile completion
  • align Link callback lifecycle admission
  • resolve workout lifecycle source
  • fence workout source lifecycles
  • preserve Junction window ownership
  • advance each completed Link lifecycle
  • ratchet runner bundle budget
  • ratchet runner bundle size
  • fence hosted source reconnect history
  • fence reconnect-start worker completion
  • make history priority fair
  • bound reopened history priority
  • preserve legacy epoch wire absence
  • unify Junction alias lifecycle identity
  • close reconnect lifecycle gaps
  • resolve device sync reconnect subpath
  • finalize Junction lifecycle candidate
  • fence Junction lifecycle history
  • checkpoint Junction lifecycle fences
  • persist sparse history terminal state
  • preserve sparse history lineage
  • preserve delayed provider revision ordering
  • preserve legacy activity heart-rate aliases
  • align Junction replay verification
  • reopen local junction history
  • require current history terminality
  • close moving sparse history gaps
  • persist terminal history coordinates
  • terminate empty history scans
  • require workout companions for history
  • checkpoint Junction resource progress
  • co-import historical workout summaries
  • resume Junction reconcile resources safely
  • expand hosted lifecycle epoch safely
  • cover historical workout identity shapes
  • preserve Junction reconnect history fences
  • complete temporal history recovery
  • fence reconnect history by source epoch
  • recover Junction member edit conflicts
  • close temporal authority gaps
  • preserve grouped workout attribution
  • preserve workout identity and retries
  • align temporal day ownership
  • preserve member summary edits
  • preserve bounded clinical durability
  • bound sparse clinical daily imports
  • preserve Junction resource progress
  • unify sparse body selection
  • consolidate workout ingestion ownership
  • fence temporal facts to complete days
  • close body composition read gaps
  • resolve Junction summary review findings
  • complete body composition reads
  • tighten Junction history ownership
  • reconcile Junction summary corrections
  • harden bounded workout imports
  • require bounded temporal evidence
  • bound sparse clinical imports deterministically
  • harden bounded temporal features
  • reserve stacked history coverage
  • bound Junction menstrual evidence
  • bound sparse history completion
  • refresh Junction release artifacts
  • preserve compact webhook payloads
  • preserve sparse clinical record identity

Documentation

  • stop local production-secret work (#2380)
  • archive weekly digest prompt plan (#2395)
  • close silent conversion implementation
  • state roster evidence expiry contract
  • note clearer referral rewards
  • note browser task resilience
  • close Environment wire compatibility
  • close Environment priority handoff
  • announce easier workout card editing
  • clarify alternate Codex home fallback
  • complete live assistant verification plan
  • record canonical Murph domain (#2296)
  • close group reconsideration rollout
  • record autofix launcher gate failure (#2297)
  • close nutrition card meal recovery
  • record live verification retrospective
  • clarify workout failure handling
  • require verification steps in final handoffs (#2287)
  • record PR draft reset permission gap
  • record draft-reset workflow friction
  • track group reconsideration rollout
  • attribute group reconsideration fix
  • close model loop cap hardening plan
  • catalog Vault CLI recovery gaps (#2203)
  • announce direct connection links
  • complete adaptive wearable outreach
  • pin wearable outreach rollback floor
  • add adaptive outreach changelog
  • record terminal event rollout
  • note mixed-source workout recovery
  • note reliable environment saves
  • continue specialist remediation
  • close group reply reconsideration
  • record handoff proof
  • note reliable private handoffs
  • complete hosted video transience
  • clarify quiet draft selection
  • define held group draft exception
  • note reminder name recovery
  • allow non-production review fixes
  • complete Temporal compatibility rollout (#2214)
  • clarify shared native Privy client (#2118)
  • announce temporary chat videos
  • announce clearer reminder edits
  • close Garmin consent readiness
  • close Garmin canary recovery
  • continue accepted complexity collapses
  • record draft reset permission gap
  • close workout stream recovery plan
  • note workout sync recovery
  • preserve current index guidance
  • record pr draft reset failure
  • preserve garmin canary index truth
  • reserve Ready for merge candidates
  • close workout stream diagnostics
  • skip pause after final ReviewGPT pass
  • close pass-budget plan (#2146)
  • complete ops growth Max MRR fix
  • note reliable environment conditions
  • complete Codex subagent usage plan
  • complete vault query narrow-reader plan
  • keep workout replies connected
  • keep ReviewGPT findings proportional
  • complete signup notification follow-up
  • record schema 7 workout card plan
  • trust Codex for ordinary tasks
  • close nutrition card legacy compatibility
  • record runtime review retrospective
  • log hosted-local doctor friction
  • note nutrition card compatibility
  • record product walkthrough
  • record candidate verification
  • note current group replies
  • note hosted runtime recovery
  • link recovery changelog PR
  • update recovery pr reference
  • clarify import freshness proof
  • define ordinary merge commit exception (#2082)
  • note Apple Health freshness recovery
  • note wearable recovery
  • close PR 1977 completion plan
  • finalize ReviewGPT completion watcher rule
  • prefer ReviewGPT completion watchers
  • extend ReviewGPT wake timeout
  • require exclusive PR ownership
  • note usage recovery delivery
  • record round seven remediation evidence
  • record combined Junction rollout decision
  • record ReviewGPT lane preference friction
  • record ReviewGPT round 13
  • announce complete summaries
  • announce body composition
  • record round 12 pass
  • close temporal remediation plan
  • record Junction temporal ownership retrospective
  • close Junction temporal remediation
  • announce body composition
  • announce complete summaries
  • announce temporal features
  • announce workout context
  • announce sparse clinical events
  • close Junction workout feature plan
  • complete temporal feature integration

Changelog
Full Changelog: v1.3.1...HEAD

  • test(assistant): gate local shell proof by platform (#2415) (eb1cada)
  • Suppress completed reminder occurrences (#2406) (42cda28)
  • Bound growth dashboard database fanout (#2346) (563bf80)
  • Fix Codex token usage compatibility (#2408) (e736ba1)
  • test(web): align mailbox fixture sequences (#2410) (d8e6b50)
  • Warn while long database transactions are still open (#2399) (dce29b2)
  • Fix consent reposts and restaurant nutrition lookup (#2386) (6b7f29c)
  • Keep phone-transfer locks provider-free (#2405) (86d1863)
  • Add Stripe reconciliation error telemetry (#2409) (258d8e6)
  • test(hosted-local): cover Linux MinIO bridge endpoint (#2411) (387938a)
  • docs: stop local production-secret work (#2380) (b3ef670)
  • Classify wrapped Prisma pool failures accurately (#2355) (7ad27c9)
  • Fail fast on hosted latency trace lock contention (#2350) (475a96a)
  • Prepare Codex auth mailbox crypto before transaction (#2341) (7e9e661)
  • Reuse saved nutrition context before card recovery (#2336) (e85ffdd)
  • Add recent-member retention view to Growth (#2384) (618159c)
  • fix(review): package assistant verification contract (#2403) (b92d62c)
  • perf(query): bound meal nutrition reads to events (#2394) (313206f)
  • fix(verification): isolate child-runtime package coverage (#2397) (95137b3)
  • chore: sync friction log (#2398) (f953213)
  • docs: archive weekly digest prompt plan (#2395) (e1f8899)
  • chore(repo): ignore generated Graft graph (#2396) (be65311)
  • chore: sync friction log (#2376) (b859ba2)
  • fix(assistant): parse coordinated workout exercises (#2340) (287d43a)
  • Keep Messages workout auth renewable (#2370) (b9be11e)
  • Recover product-feedback validation errors (#2349) (11eb7d2)
  • Honor saved prompts for weekly digest automations (#2359) (5ca1cef)
  • Document alternate Codex home approval (#2379) (1cb09cb)
  • chore(deps): finish ReviewGPT 0.5.138 rollout (2c9a38c)
  • fix(hosted-local): preserve Docker isolation on macOS (#2367) (9110726)
  • chore(deps): update ReviewGPT to 0.5.138 (e6d8039)
  • test(workouts): prove canonical apply receipts (afe1550)
  • feat(workouts): return canonical apply cards (486fa23)
  • fix(web): clarify referral rewards (67c80c9)
  • feat(web): energize referral section (f1c0aae)
  • docs(plan): close silent conversion implementation (2ac07cd)
  • fix(web): validate Kernel handoffs before publication (28b6832)
  • fix(web): order roster observation upserts (5083d85)
  • chore: defer workout card changelog (6b51d76)
  • fix(web): keep referral estimates concise (2080272)
  • chore: sync friction log (#2362) (4de5e02)
  • test(ci): harden Stripe skip regression proof (3d55b3f)
  • refactor(web): tighten referral copy (68f54c1)
  • Retire the legacy Frog autofixer (#2357) (3925957)
  • fix(ci): restore live Stripe main proof (0ea0933)
  • docs(privacy): state roster evidence expiry contract (488d9a2)
  • Improve cold conversation reconstruction (#2342) (b2ce456)
  • refactor(web): keep roster evidence expiry-only (3ea8ad0)
  • docs(changelog): note clearer referral rewards (0a3c855)
  • refactor(web): polish referral section (c41e30e)
  • chore: sync friction log (#2316) (47717ee)
  • docs(changelog): note browser task resilience (3ad6f4e)
  • Fix broad private food search timeouts (#2318) (7381920)
  • test(web): exercise negotiated Environment fact (e33dd68)
  • fix(web): keep Kernel automation independent of live view (163dc3e)
  • Add durable hosted operator tasks (#2304) (1a17635)
  • docs(plan): close Environment wire compatibility (d8b9019)
  • Compare vault-cli bundle growth to exact base (#2344) (e59227e)
  • chore(web): remove completed group backfill (#2339) (a77d387)
  • fix(web): complete silent conversion lifecycle (1558fe1)
  • fix(hosted): negotiate Environment reconciliation fact (b5f57a9)
  • docs(plan): close Environment priority handoff (ff21aa1)
  • test(hosted): align Environment wire fixtures (fd6b183)
  • fix(assistant): reconsider live group input (#2321) (f6d4a13)
  • docs: announce easier workout card editing (eb456f7)
  • docs(test): clarify alternate Codex home fallback (c7e1c96)
  • feat: allow workout exercise renames (cc8982b)
  • fix(test): require absolute alternate Codex home (2aa268c)
  • Complete Environment voice report coverage (#2335) (a56b39f)
  • Refresh expanded workout cards from canonical state (#2332) (ff0d09c)
  • test(assistant): compose alternate Codex home selection (26ab475)
  • fix(hosted): complete Environment priority handoff (ef3bf39)
  • fix(test): allow alternate Codex home for live journeys (b08c2fd)
  • Route group backfill through protected production workflow (#2324) (712a84e)
  • Fix physical-note recovery lookup (#2327) (012adb1)
  • feat(web): track silent group conversions (93b6e09)
  • Preserve speakers in private-to-group handoffs (#2319) (085abb7)
  • ci: make Markdown-only pull requests cheap (#2313) (4448892)
  • chore(hosted): close foreground preemption plan (6ab7827)
  • Correlate workspace snapshot start diagnostics (#2323) (7f7805b)
  • test(hosted): prove shared foreground wake handoff (54d8002)
  • fix(cloudflare): ratchet device sync bundle budget (#2326) (fa5af06)
  • feat(web): track group-to-private conversions (#2311) (c0b662d)
  • Remove the Fitbit Junction note (#2320) (2df42f0)
  • fix(cloudflare): preserve canonical preemption ordering (f61fd29)
  • Fix hosted device-sync snapshot import bottleneck (#2322) (6eaadf4)
  • Fix organic group discovery (#2303) (80c66dd)
  • fix(cli): make activity errors recoverable (#2204) (2945c0d)
  • fix: make workout card authoring deterministic (#2295) (4ccd547)
  • Enforce production food-search index contract (#2294) (e45be4e)
  • perf(web): bound static generation concurrency (#2312) (f0c726f)
  • fix(web): make database pool retries observable (#2292) (875c8ad)
  • test: split oversized runtime suites (#2307) (b09ea4b)
  • fix(frog): route autofix reviews to isolated lanes (#2309) (89e814f)
  • Add foreground reply changelog entry (dd9d533)
  • Prioritize foreground replies over system work (2055be0)
  • Fix Codex 0.149.1 auth deploy guard (#2310) (ed7e3fe)
  • fix(web): order latency trace row locks (#2293) (52205b8)
  • Resume approved files in active hosted turns (#2269) (25b1787)
  • fix(device-sync): bind Junction ECG voltage to summaries (#2300) (9cb0ca5)
  • fix(cli): make experiment and Age errors recoverable (#2207) (b9f8de1)
  • chore(deps): upgrade Codex CLI to 0.149.1 (#2288) (3beac93)
  • perf(web): bound home projection fanout (#2289) (611727f)
  • fix(web): preserve connect dialog ownership (49ea327)
  • docs: complete live assistant verification plan (9496617)
  • Fix connection deep links with a dialog (#2283) (808a4cd)
  • perf(web): remove redundant reconciliation reads (#2291) (5447098)
  • fix(cloudflare): preserve database health provenance (#2290) (14769b3)
  • test: print group journey reply (b6f4f1e)
  • docs: record canonical Murph domain (#2296) (7eb5670)
  • Compact broad group consent offers (#2298) (7e3e8c8)
  • chore: sync friction log (#2302) (388c345)
  • fix: make held group replies complete (bbdeb09)
  • Add stage diagnostics for companion address-book timeouts (#2276) (ecefee0)
  • test(assistant-engine): split local service runtime coverage (#2299) (5681f2d)
  • fix: honor selected group journey model (0649eb8)
  • docs(plan): close group reconsideration rollout (7019355)
  • docs(frog): record autofix launcher gate failure (#2297) (fbbf94d)
  • docs(plan): close nutrition card meal recovery (39f7c95)
  • Compact iMessage workout comparison cards (#2285) (53ba33c)
  • fix(assistant): prevent blank nutrition dead ends (47aed3d)
  • docs: record live verification retrospective (3881261)
  • fix(assistant): keep meal recovery routing compact (77c737e)
  • fix: keep child model live config local (4a5773f)
  • chore(device-syncd): close workout stream remediation (a1c767e)
  • Extend hosted device-sync pass telemetry (#2267) (065d47b)
  • Preserve exact context for direct native replies (#2279) (216765d)
  • Make the Environment voice report readable on a phone (#2282) (f90fe6d)
  • docs(reliability): clarify workout failure handling (8cb4d76)
  • test(assistant): distinguish meal edit help from mutation (50cda5e)
  • docs: require verification steps in final handoffs (#2287) (d89b25d)
  • fix(assistant): keep blank meals in owner recovery (854679d)
  • chore: sync friction log (#2272) (3da93c4)
  • fix(assistant): route card recovery through owners (ea01bc5)
  • fix(cli): make nutrition errors recoverable (#2205) (e389de5)
  • fix(device-syncd): bound workout inventory continuation (4344794)
  • test(assistant): trim Terra recovery diagnostics (04df48a)
  • fix(assistant): ask before card recovery refusal (7667218)
  • test(assistant): model live card turn as private direct (6e4b02e)
  • fix: focus live assistant test runner (20d08ed)
  • test(assistant): launch live meal CLI without IPC (fe2fd41)
  • test(assistant): summarize live meal recovery actions (681b2d6)
  • test(assistant): make live meal fixture self-contained (bb4729f)
  • test(assistant): expose live meal recovery actions (85b381d)
  • fix(assistant): preserve ordinary resume cleanup (6d98d44)
  • test(web): execute overshoot predicate in postgres (5be3a1d)
  • fix(runtime): converge Browser Vault refresh work (#2226) (72bd9e4)
  • fix(assistant): prioritize nutrition card recovery (08dd80f)
  • Fix scheduled card delivery intent (#2262) (debbe70)
  • fix(assistant): require nutrition card data recovery (8ba2316)
  • fix(cloudflare): preserve composed release provenance (97d3124)
  • fix(assistant): require meal recovery before nutrition cards (04993bf)
  • fix(ci): grant draft reset GraphQL authority (#2277) (3ee597f)
  • fix(web): ignore zero-limit overshoot periods (3ff4ede)
  • fix(assistant): close reconsideration failure paths (84b987b)
  • fix: isolate temporary CLI evaluation (#2270) (16c49b4)
  • ci: use the repository Node version for live prompt proof (05e44b7)
  • fix(assistant): recover unresolved meals for nutrition cards (478a26e)
  • fix(cli): preserve model-repair error details (#2202) (e5edf46)
  • fix(device-sync): preserve workout progress through authority failures (f79de50)
  • fix(automation): preserve stable skill recipes (3212f9d)
  • test(device-sync): prove live disconnect blocks workout egress (311a68f)
  • fix: remove contact details from signup notifications (#2260) (9a38e04)
  • refactor(automation): drop replay fingerprinting (37add27)
  • docs(friction): record PR draft reset permission gap (ddf3d73)
  • fix(device-sync): filter workout index before cap (a84ef7f)
  • test(assistant): distinguish Luna child from parent (9038f02)
  • test: align live Starter settings check (#2263) (b479ad2)
  • fix(cloudflare): apply direct usage settlements (3de4228)
  • fix(web): strengthen connect target contrast (555b1fc)
  • test(assistant): expose live child model override (0460773)
  • docs: record draft-reset workflow friction (8a0311f)
  • test(assistant): smoke live Luna subagent selection (95dda14)
  • fix(cloudflare): ratchet workout delivery bundle budget (#2266) (2395f5a)
  • test: register runtime issue provenance migration (1f89906)
  • Pin hosted subagent model selection on (#2225) (1d46bb8)
  • chore: complete runtime issue provenance plan (2636a9b)
  • docs(plan): track group reconsideration rollout (f2a5320)
  • test: streamline live assistant verification (26dfc03)
  • test(web): align usage settlement mock (215b1ee)
  • fix(device-sync): preserve current workout admission (7863496)
  • docs(changelog): attribute group reconsideration fix (74d8435)
  • fix(assistant): preserve reconsidered group requests (3652be8)
  • Preserve exact workout identity across replies (#2254) (35f7d53)
  • docs: close model loop cap hardening plan (d67d60d)
  • fix(automation): make reminder saves replay-safe (cbd299c)
  • fix(device-sync): use live workout capability (d1244ae)
  • test: remove duplicate image provenance proof (d17a43a)
  • docs(audit): catalog Vault CLI recovery gaps (#2203) (9eb403c)
  • test: prove usage settlement fails closed (684cffe)
  • test: prove image issue provenance export (a3415b4)
  • docs(changelog): announce direct connection links (b238444)
  • feat(web): link directly to connect source cards (39c6a6e)
  • fix: prevent duplicate wearable preference calls (b87c5b7)
  • docs(plan): complete adaptive wearable outreach (d0e6d92)
  • docs(web): pin wearable outreach rollback floor (a686634)
  • fix(runtime): preserve outreach settings through abort guard (9eecfef)
  • chore: sync friction log (#2256) (4dde147)
  • fix(web): require email authority for outreach settings (5c6fc58)
  • Fix hosted web prebuilt workflow triggers (#2258) (361927d)
  • Fix repeated scans during batch worktree retirement (#2259) (5f28c42)
  • fix: delete wearable outreach preferences with accounts (ebce603)
  • test(web): generate prisma before hosted vitest (#2257) (d67bfd8)
  • fix: close adaptive outreach review gaps (6a41826)
  • fix: document changelog-only review proof (#2255) (9e7b850)
  • fix: validate hosted-local temporal doctor (#2250) (131db2d)
  • chore: sync friction log (#2246) (77ea8a5)
  • fix: propagate typecheck guard failures (#2248) (41d0e12)
  • fix(ci): authorize pull request draft resets (#2251) (64416f1)
  • Recover nutrition cards and automatic meal captures (#2240) (5fc3fd1)
  • docs: add adaptive outreach changelog (f60d49a)
  • feat: make wearable no-data outreach adaptive (e49548b)
  • fix(web): bound migration guard patterns to SQL statements (#2239) (4254bda)
  • fix(repo): classify provider requests by static host (#2249) (5fbe322)
  • Ask when automatic meal nutrition is unclear (#2241) (00eb876)
  • fix(workflow): preserve finish-task deletion scope (#2247) (1e0a344)
  • Prune completed generated deliveries from hosted checkpoints (#2231) (945c6aa)
  • docs(runtime): record terminal event rollout (379384f)
  • test(runtime): cover default completion mode (dfbf207)
  • fix(device-sync): gate scoped workout stream sources (9d2e9e6)
  • Answer every rapid group request in one reply (#2232) (9145472)
  • chore(plan): close workout stream capability fix (e0819a1)
  • docs(changelog): note mixed-source workout recovery (4707b32)
  • fix(automation): decouple DST recovery from titles (08b61d5)
  • fix(runtime): log completed hosted invocations (0e39dd1)
  • fix: harden runtime issue provenance (d6bbce2)
  • fix(device-sync): gate workout streams by source capability (760b620)
  • Reduce reply recovery delay during runner shutdown (#2235) (336de42)
  • Raise worktree ceiling to 200 (8c6c589)
  • test(automation): allow ordinary managed-name reminders (bbc356f)
  • Stop obsolete device-sync environment log churn (#2233) (91c366e)
  • fix(automation): keep titles out of identity checks (e9beed4)
  • fix(automation): use generated ids for reminder saves (25a1f3e)
  • fix: correlate runtime issues with releases and attempts (f72cec6)
  • fix: bound model retry usage storms (7f6b4b4)
  • docs(changelog): note reliable environment saves (47028ce)
  • chore: sync friction log (#2073) (5b485c8)
  • fix(hosted): hand off environment work after foreground (814478d)
  • docs(workflow): continue specialist remediation (239fa27)
  • Speed up Android hosted E2E admission (#2227) (7f23b2d)
  • chore: drop cross-repository Frog entries (#2230) (02fbe90)
  • fix(automation): reactivate archived reminders by stable identity (1a10903)
  • fix(automation): recover the canonical live successor (d5fc78e)
  • Archive stale reminder projection plan (4287b04)
  • Keep stale reminder timing authoritative (f646f62)
  • fix(automation): prevent duplicate archived-name retries (364d7e6)
  • docs(plan): close group reply reconsideration (cb3065d)
  • fix(assistant): cover incomplete private handoffs (f06e8c9)
  • docs(plan): record handoff proof (0627698)
  • docs(changelog): note reliable private handoffs (18bc87b)
  • fix(assistant): distinguish private handoff continuations (8f98d1e)
  • docs(plans): complete hosted video transience (e376d28)
  • Simplify nutrition card safety prompts (#2196) (2d79966)
  • fix(assistant): anchor group draft cutoff at completion (e35a0e3)
  • Keep workout set confirmations on one canonical owner (#2195) (fdfae54)
  • fix(ci): tolerate accepted Temporal run visibility (#2215) (3ea4cad)
  • docs(architecture): clarify quiet draft selection (26f1ccb)
  • docs(architecture): define held group draft exception (2647d5f)
  • Fix delegated Murph message recovery (#2168) (6a34916)
  • Fix stale reminder occurrence projection (b23c282)
  • docs(changelog): note reminder name recovery (3e83d60)
  • fix(core): allow archived reminder name reuse (b2acf66)
  • Stop inactive runtime mailbox churn (#2165) (4de5f24)
  • docs(workflow): allow non-production review fixes (1f598f3)
  • docs: complete Temporal compatibility rollout (#2214) (debd41a)
  • fix(ci): validate live Temporal compatibility runs (#2198) (0b4c381)
  • fix(assistant): handle in-flight one-shot edits (c99a45b)
  • test(inbox): protect active zero-window videos (01a0e1c)
  • Text members when Garmin delivery stalls (#2189) (057bd31)
  • fix(assistant): finalize child usage accounting (2fb8701)
  • chore: advance Temporal compatibility controller (#2201) (614b154)
  • docs(ops): clarify shared native Privy client (#2118) (441935b)
  • docs(changelog): announce temporary chat videos (eb36e7c)
  • fix(hosted): keep inbound videos transient (bfa7df1)
  • docs(changelog): announce clearer reminder edits (6fc892d)
  • fix(assistant): clarify reminder occurrence projection (8c75db1)
  • docs(plans): close Garmin consent readiness (edf2596)
  • fix(hosted): recover usage link from later work (#2193) (cd0eb3f)
  • refactor(web): unify Garmin authorization readiness (a2c5133)
  • fix(web): preserve Garmin authorization guards (8e17d1d)
  • fix(web): wait for Garmin consent readiness (3cd9dab)
  • docs(plans): close Garmin canary recovery (28225c8)
  • test(workflow): cover complexity collapse exception (c080037)
  • docs(workflow): continue accepted complexity collapses (1eab79b)
  • Recover stalled usage-limit links after overlapping receipts (#2185) (f42388f)
  • fix(assistant): await late subagent usage persistence (fdd7271)
  • docs(frog): record draft reset permission gap (53ced43)
  • test(canary): prove hydrated disconnect (e0801ac)
  • test(hosted): align onboarding proofs with checkpoints (#2184) (2e807a3)
  • docs(plans): close workout stream recovery plan (8ae1ccb)
  • fix(canary): wait for disconnect hydration (e54c269)
  • fix(device-sync): classify empty workout streams (2b3cddf)
  • fix(canary): honor terminal garmin departure (808767d)
  • chore(canary): expose garmin confirmation surface (b1b1c41)
  • test(canary): prove delayed garmin departure (5de499f)
  • fix(hosted-execution): drop unused reasoning profile field (ad2cf11)
  • fix(device-sync): preserve empty replay across retries (591e80e)
  • fix(device-sync): retain empty stream replay horizon (454a91a)
  • docs(changelog): note workout sync recovery (5929b66)
  • fix(device-sync): recover empty workout streams (79968a2)
  • fix(canary): submit garmin confirmation once (abf9af6)
  • test(release): align ReviewGPT policy assertions (a13421e)
  • docs(canary): preserve current index guidance (a713734)
  • docs: record pr draft reset failure (60e6f6a)
  • docs: preserve garmin canary index truth (b625a22)
  • test(canary): restore garmin route departure proof (567ead5)
  • fix(canary): complete garmin consent progression (491e9c5)
  • docs(workflow): reserve Ready for merge candidates (844525e)
  • chore(frog): record PR draft reset permission failure (f6cd9ad)
  • Make Starter signup completion consent-owned (#2166) (a296d95)
  • docs(exec-plan): close workout stream diagnostics (e3ba10f)
  • test(hosted): use split newsletter tools (a7b1009)
  • docs(workflow): skip pause after final ReviewGPT pass (85a9b2c)
  • Make onboarding follow-up enrollment activation-owned (#2097) (985f959)
  • chore(device-sync): expose workout stream cardinality diagnostics (1941eb1)
  • Gate expensive CI on ready PR heads (#2136) (bc038be)
  • Pin authenticated Temporal deployment controller (#2177) (33693ab)
  • Require exact Temporal reader compatibility before merge (#2147) (8d7140f)
  • Complete Garmin consent in the Junction canary (#2174) (9561f4d)
  • Fix Garmin canary Cloudflare challenge with headed Kernel (#2172) (5d349c4)
  • refactor(assistant): delete legacy group tool schema (b70bf51)
  • Switch the live Junction canary to Garmin (#2170) (9d43b21)
  • Simplify child usage finalization (61adb73)
  • fix(device-sync): expose bounded pass queue diagnostics (#2160) (2a13c2c)
  • fix(cloudflare): preserve replacement across delayed stop (#2171) (2cfd304)
  • fix(assistant): align group guidance with admitted tools (a63f218)
  • fix(assistant): simplify split tool validation (feadd44)
  • Simplify Codex child usage accounting (21ce164)
  • fix(assistant): enforce split group tool contracts (e2ae51f)
  • docs(device-sync): close pass-budget plan (#2146) (0dc5fbb)
  • fix(assistant): simplify workout follow-up identity (a592864)
  • Prove Kernel tunnel child lifetime (bb30561)
  • docs: complete ops growth Max MRR fix (995d59b)
  • fix(assistant): expose repairable group tool contracts (218b948)
  • fix(cloudflare): align hosted tool expectation (#2161) (b641199)
  • Fix Kernel canary tunnel lifetime (af37769)
  • feat(hosted): admit versioned Temporal worker bindings (#2158) (5e11a3c)
  • fix(web): include Max in ops growth MRR split (622d2dd)
  • fix(web): require fresh environment conditions (63c2694)
  • fix(assistant): harden workout follow-up context (1094a9c)
  • fix(web): harden Kernel canary lifecycle proof (0c3a038)
  • docs(changelog): note reliable environment conditions (d3174b5)
  • fix(web): load environment conditions from OpenWeather (0e36817)
  • chore: close native E2E alias retirement plan (c8f7884)
  • test: enforce complete native E2E alias retirement (59b035d)
  • fix: retire native E2E aliases before deployments (daf46d7)
  • docs: complete Codex subagent usage plan (3b4c5cb)
  • fix(assistant-engine): retain detached subagent usage (44773ca)
  • docs: complete vault query narrow-reader plan (3eb8398)
  • fix: preserve canonical narrow-read semantics (57f6ed4)
  • fix(hosted): isolate delayed lifecycle errors (d7da7d3)
  • Clean up timed-out subagent metadata requests (4f8bb0a)
  • Fix Codex subagent usage review findings (d38f90a)
  • feat(assistant): accept focused group tool parsers (#2151) (d778cff)
  • perf: bound vault query reads by family (ed49c7e)
  • Meter Codex child-agent provider usage (4e76169)
  • perf(assistant): compact automation tool schema (#2125) (78d2292)
  • Meter exact Codex subagent usage (6928dc5)
  • Improve public agent readiness (#2120) (82a9a6c)
  • fix(groups): prepare handoff authority crypto (52d1e39)
  • docs(changelog): keep workout replies connected (1a275d3)
  • fix(assistant): preserve workout follow-up context (c6b31a6)
  • fix(assistant): bind legacy nutrition authority (0590f31)
  • test(web): complete mailbox test mock (f16cee1)
  • Remove brittle Codex permission attestation (#2143) (4911e7b)
  • Use Kernel for WHOOP canary browser (9e1cbd8)
  • chore: record ReviewGPT composer friction (de54b34)
  • Extend hosted device-sync passes to 90 seconds (#2119) (60b9333)
  • Self-heal duplicate Junction daily event aliases (#2089) (91a3449)
  • fix(test): preserve Starter activation lifecycle (b342ae5)
  • test(web): keep sponsorship verification current (7d1a2bf)
  • test(web): update group email mailbox mock (aa33cf3)
  • test(web): cover fifty dollar sponsorship choices (0f65b82)
  • Extend ReviewGPT default timeout to 250 minutes (#2138) (9dfb71d)
  • chore(web): link sponsorship changelog to pr (55b8b5c)
  • test(assistant): ratchet nutrition authority prompt (6ce7aad)
  • feat(web): allow fifty dollar group sponsorship caps (f13cacd)
  • fix(groups): replay handoffs across transport failures (839c0a9)
  • test(hosted): keep foreground storm on generic owner (#2139) (562bf22)
  • test(cloudflare): mirror startup lifecycle state (42aaf2b)
  • Keep automatic sponsorship refills retryable (#2132) (a50cd87)
  • test(hosted): preserve mailbox completion contracts (#2137) (3189374)
  • fix(hosted): preserve pending health ownership (b663167)
  • fix(groups): fence handoff replay crypto (d0b1893)
  • fix(physical-notes): bind recovery replay intent (9ad89a4)
  • fix(assistant): disambiguate legacy nutrition calories (cf2baa2)
  • test(hosted): verify system mailbox checkpoint (#2135) (0e5e663)
  • docs(review): keep ReviewGPT findings proportional (6bb4c65)
  • test(hosted): wait for interview mailbox consumption (#2134) (887ba9a)
  • test(hosted): use valid interview completion id (#2131) (41e2433)
  • test(hosted): cover environment interview system wake (#2130) (b30d8a2)
  • fix(web): restore Temporal reconciliation compatibility (#2129) (10ee89b)
  • Polish the group funding success mark (#2046) (f91fee8)
  • docs: complete signup notification follow-up (6878efa)
  • fix: accept optional realtime updates (#2128) (e332c40)
  • fix: align environment realtime tools (#2126) (ca689ae)
  • fix(groups): make context handoff retries exact (5e369af)
  • fix(web): keep signup email enrichment optional (3030016)
  • Require literal Junction connection proof for webhook recovery (#2117) (b9b3597)
  • fix(web): update GPT-5.6 Sol pricing (#2122) (c400b31)
  • fix(physical-notes): preserve concurrent recovery usage (30281b2)
  • fix(web): preserve signup notification fallback (c7ae5a1)
  • Add realtime Environment interview (#2100) (6ac4457)
  • Disambiguate physical-note recovery targets (f3486c9)
  • docs(imessage): record schema 7 workout card plan (f108fa8)
  • Remove redundant member-memory sandbox profile (#2086) (ae6dfb9)
  • fix(web): remove homepage nav links (8c39a61)
  • fix(assistant): cover code-mode deferred discovery (14a2a2f)
  • fix(assistant): discover deferred tools before denial (74e8f53)
  • fix(assistant): commit held input transcripts once (274cf02)
  • Fix hosted Android E2E credential ownership (#2115) (d0a43cb)
  • feat(assistant): analyze attached videos on request (#2108) (e7c8015)
  • fix: harden reset-all operator recovery (3bcc689)
  • fix(web): bound signup notification context retention (fe9c0c0)
  • refactor(assistant): centralize scheduled nutrition safety (767b94c)
  • fix: bound reset-all runtime wake latency (332c507)
  • docs: trust Codex for ordinary tasks (77539e2)
  • Batch workout starts and bypass exact-command projection rebuilds (#2070) (41569a4)
  • fix(web): bound migration guard to SQL statements (ab76bbe)
  • Classify terminal recovery targets (9a77634)
  • fix(assistant): defer held no-reply persistence (2031471)
  • feat: accept manual meal photo uploads (#2098) (dfd74f4)
  • Recheck nonterminal recovery targets (217fbc2)
  • fix(assistant): centralize progress prompt ownership (024db76)
  • Complete device webhooks for unregistered sources (#2114) (916066a)
  • fix(web): lock controls during reset restoration (7d96dd7)
  • Forward physical-note recovery targets (ce004a8)
  • fix(assistant): harden nutrition card prompt ownership (7318541)
  • Bind physical-note recovery targets (f3e8aec)
  • fix(runtime): persist exact delivery retry (4a6a2f1)
  • fix(web): guard refreshed ambiguous usage targets (4d64ed7)
  • fix(web): resolve ops recovery review findings (86af859)
  • docs(plan): close nutrition card legacy compatibility (273df78)
  • fix(runtime): fence exact telegram delivery (c17be42)
  • test(web): stabilize signup route test env (2bf016f)
  • Fix legacy nutrition card eligibility owner (585bc20)
  • docs: record runtime review retrospective (d97374a)
  • fix(web): gate signup context capture (b0a7352)
  • fix(web): preserve ambiguous reset recovery (8eb923a)
  • fix(web): remount reset state across operators (4dbf593)
  • fix(web): keep reset wake logs scalar (9d8128b)
  • Cover paid recovery replay after note deletion (351f29b)
  • fix(web): preserve reset-all across tab reloads (72488a4)
  • Report recovered physical-note usage (ac495bb)
  • fix(runtime): release exact delivery claim on yield (1c57313)
  • Fix group handoff release contracts (#2113) (4d38e2f)
  • docs: log hosted-local doctor friction (419f5f2)
  • fix(web): preserve reset-all recovery ownership (c10fc86)
  • fix(runtime): reconcile exact delivery recovery (59e0956)
  • fix(assistant): consolidate nutrition card workflow (756e935)
  • fix(web): scope reset-all wake recovery to receipts (55b125f)
  • fix(web): advance reset-all past empty periods (342b2a0)
  • Add private-to-group context handoff (999ef9d)
  • test(web): acknowledge ops reset receipt schema (8fdeb08)
  • fix(web): make reset-everyone retries receipt-safe (ef180f0)
  • fix(web): make signup context provenance truthful (8771702)
  • feat: add timeout failure diagnostics (#2092) (8091098)
  • test(web): type signup context fixture (a344085)
  • chore(web): preserve Prisma schema formatting (cb85113)
  • feat(web): enrich signup notifications (b84fe00)
  • Add protected native Android hosted E2E (#2109) (b22f627)
  • fix(web): make physical-note recovery atomic (d110efd)
  • feat(web): add ops usage search and reset all (815cfc5)
  • docs(changelog): note nutrition card compatibility (31877d2)
  • fix(assistant): support legacy nutrition card calories (a53bc57)
  • fix(assistant): keep precommit segments provisional (528f09e)
  • fix(physical-notes): fence recovery turn replays (738b099)
  • fix(hosted): bind cleanup to container starts (f3005e4)
  • fix(cloudflare): preserve partial Queue metrics (#2103) (b01cd6e)
  • fix(assistant): close reconsideration review gaps (0169f75)
  • fix(physical-notes): classify checked guard deterministically (539836f)
  • fix(runtime): complete blocked exact notifications (99d3619)
  • fix(physical-notes): separate checked and remaining guards (519b8c6)
  • docs(plan): record product walkthrough (7f3b839)
  • docs(plan): record candidate verification (603ea8f)
  • docs(changelog): note current group replies (01d29e7)
  • test(web): update mailbox frontier projection (eece64d)
  • feat(assistant): reconsider unsent group replies once (91a10d6)
  • fix(device-sync): fence legacy history reads (b160e33)
  • Let existing members email Murph from any inbox (#2083) (d60a99f)
  • fix(device-sync): use the production Junction config path (3afa918)
  • docs(changelog): note hosted runtime recovery (5890c67)
  • test(runtime): prove durable retry checkpoint order (cae7881)
  • fix(runtime): unblock hosted runtime frontiers (045b8ca)
  • fix(cloudflare): restore runner bundle headroom (#2104) (8d5fd00)
  • fix(physical-notes): fit recovery into runner budget (1be28df)
  • fix(physical-notes): preserve recovery uncertainty (3da4bcd)
  • fix(hosted): align startup convergence budgets (c96e070)
  • fix(device-sync): document all-resource rollout (85c5d93)
  • fix(device-sync): restore all Junction resources (f25d578)
  • Migrate stable Junction profile timestamps (#2096) (9ebf4a4)
  • fix(cloudflare): bind destroy ownership to starts (826f874)
  • fix(device-sync): bind recovered source history (a08c2f3)
  • Retry transient hosted device-sync reads (#2095) (99ced05)
  • docs(physical-notes): link recovery changelog PR (babf790)
  • fix(physical-notes): add explicit recovery control (cd59c17)
  • fix(cloudflare): bind readiness to replacement starts (6fcc5d6)
  • fix(cloudflare): scope readiness to current start (4fd9641)
  • Delete obsolete device-sync dirty retention (#2094) (3f7786f)
  • fix(web): retain pending source webhooks (43a9ee4)
  • fix(cloudflare): preserve startup transport convergence (8e120fc)
  • Fix signup notification ownership (#2068) (a782308)
  • Prioritize approved foreground continuations (#2077) (118f7a3)
  • fix(cloudflare): retain observed pending starts (5d519ac)
  • test(review): align six-lane release contract (ee89c80)
  • fix(review): include Apollo in auto lane pool (93b9e5b)
  • fix(cloudflare): preserve rollout cold starts (1288c1e)
  • docs(changelog): update recovery pr reference (6034828)
  • test(device-sync): prove missing-source replay (578b5f0)
  • fix(device-sync): bind freshness to exact imports (f301bf7)
  • feat(runtime): trace device-sync interruptions (#2043) (0fe9fe0)
  • Simplify record-scoped workout tracking (#2063) (8e7e91e)
  • Recover KMS reads and Garmin sync (#2048) (9a755f3)
  • Confirm safe partial database telemetry before warning (#2050) (902599e)
  • Prove Messages workout rep contract (#2075) (347171e)
  • ci: parallelize release verification (#2042) (58f2970)
  • Honor scheduled device retries in runtime progress alerts (#2049) (69d621c)
  • Restore silent hosted memory maintenance (#2047) (4f660db)
  • fix(device-sync): require data-bearing import proof (ffe6eda)
  • fix(web): prove exact Vercel production deployment (#2085) (e2c1563)
  • Prune restored delivery residue before cold snapshots (#2074) (59ac463)
  • fix(hosted): preserve recovery delivery timer (cc73044)
  • docs(device-sync): clarify import freshness proof (1a121bd)
  • test(device-sync): update freshness signal mock (2ac2ba7)
  • fix(hosted): preserve partial recovery windows (ac0d972)
  • fix(web): stop duplicate due reconcile signals (#2081) (2b8de03)
  • docs: define ordinary merge commit exception (#2082) (4098153)
  • test: stabilize usage-credit fixture assertions (#2080) (9445833)
  • Keep pre-merge and release guards aligned (#2072) (0f97212)
  • Route native iOS reruns through a fresh validated run (#2071) (e38bb08)
  • Harden ReviewGPT configuration and consume v0.5.136 (#2076) (2c98e8a)
  • Serialize concurrent ReviewGPT base refreshes (#2051) (dd2e4b8)
  • Separate test and release heap budgets (#2058) (3c1f6cd)
  • fix: harden worktree retirement (#2052) (9f6582c)
  • docs(changelog): note Apple Health freshness recovery (d4a8cfe)
  • fix(device-sync): project canonical imports into freshness (17bd485)
  • ci: enforce runner bundle budgets (#2057) (06d7843)
  • docs(changelog): note wearable recovery (ce59560)
  • fix(device-sync): recover missing junction sources (f3976fa)
  • test: fail closed on Prisma mutation drift (#2067) (e4efdf2)
  • fix: make frontend evidence reproducible (#2066) (d521470)
  • fix: sync existing lockfile importers transactionally (#2061) (2109833)
  • Keep focused schema checks and CLI test commits narrow (#2060) (7e2ec4c)
  • feat: verify and render OG image routes (#2056) (b8433fe)
  • fix: preserve native iOS cleanup failures (#2053) (179aeb5)
  • Stop re-signaling imported mailbox handoffs (#2044) (302875f)
  • Retry untouched group sponsorship refills (#2035) (2198e0f)
  • Reduce native iOS hosted E2E queue waste (#2040) (f0884ee)
  • Add actionable blood oxygen normalization diagnostics (#2036) (29c0e62)
  • Simplify the group funding success receipt (#2034) (8980104)
  • docs: close PR 1977 completion plan (b89d023)
  • fix(ci): bound and retry the Playwright Chromium install (#2022) (0c0676e)
  • chore: update review-gpt to 0.5.134 (#1975) (7fd8322)
  • Stop sponsorship near-cap notices (#2038) (fcb8b04)
  • fix(device-sync): require provider occurrence for Fitbit cutover (db98548)
  • Publish system mailbox frontier ownership (#2024) (91a09de)
  • Keep reliability work out of Murph product notes (#2023) (f937c3a)
  • fix(connect): tighten Fitbit migration copy (a6e56c7)
  • Restore PR review disclosures and LOC breakdown (#2020) (3dfda68)
  • test(hosted): track current usage recovery link (c3a1a71)
  • Fix retained hosted device-sync retries (#2021) (578c7a2)
  • Fix group sponsorship payment recovery (#2010) (c18c1aa)
  • docs: finalize ReviewGPT completion watcher rule (8d37532)
  • docs: prefer ReviewGPT completion watchers (4e3fcec)
  • docs: extend ReviewGPT wake timeout (b0e38b5)
  • docs: require exclusive PR ownership (7c8b90c)
  • fix(device-sync): bind migration freshness to logical facts (ba6c771)
  • fix(web): advance usage link recovery claim (712dd08)
  • fix(web): retry usage limit rich link partial (65b90f3)
  • fix(device-sync): bind migration freshness to webhook trace (4172583)
  • fix(web): resume missing usage limit link (7da5aa6)
  • fix(web): replay partial usage limit links (993aad1)
  • test(web): track dirty-marker mutation boundary (02f1385)
  • fix(runtime): preserve delivery-only wake ownership (d4579d0)
  • chore(workflow): require UI screenshots (aea3e21)
  • fix(device-sync): honor provider day timezone (2e6a6f2)
  • fix(runtime): admit model-free delivery retries (197c193)
  • fix(runtime): reconcile terminal foreground replies (76a4e7b)
  • docs(changelog): note usage recovery delivery (958d6d0)
  • fix(runtime): isolate foreground quiet windows (5173b13)
  • docs(review): record round seven remediation evidence (604258c)
  • fix(device-sync): supersede stale migration proof jobs (edf2585)
  • fix(device-sync): preserve source authorization epochs (fdb18cd)
  • fix(device-sync): unify Junction canonical imports (1ba0e51)
  • fix(device-sync): prove Fitbit history before migration (5c8d794)
  • docs(plan): record combined Junction rollout decision (f0b6674)
  • fix(device-sync): preserve source-scoped history evidence (0a01e6f)
  • fix(device-sync): fence migration freshness (e18d43a)
  • fix(web): simplify Fitbit migration continuation (f98a7b3)
  • fix(device-sync): keep migration identity browser safe (6d972c6)
  • test(device-sync): clear ReviewGPT lint warning (cee269c)
  • test(device-sync): align ReviewGPT migration fixtures (7a204de)
  • fix(device-sync): apply ReviewGPT remediation (13fa651)
  • Replace Fitbit migration with Google Health (bb600b7)
  • feat(device-sync): preserve complete Junction summaries (#1702) (1200e74)
  • feat(device-sync): preserve Junction metabolic context (#1700) (9613a14)
  • fix(device-sync): preserve member deletions on changed replay (f2445cd)
  • chore(cli): refresh generated skill hash (a331de7)
  • fix(cli): preserve activity heart-rate facts (fba7de3)
  • fix(junction): preserve profile replay identity (6a54057)
  • test(device-sync): align hosted temporal priority (37d8772)
  • fix(device-sync): pin extended history to 180 days (3052069)
  • merge: reconcile current Junction base (18f1b46)
  • fix(device-sync): preserve ordinary sync ahead of temporal history (4bbfdbf)
  • test(web): fix training week boundary (5dcfbd6)
  • merge: reconcile runner bundle baselines (979bf09)
  • test(web): anchor training week fixture (f71015b)
  • chore(cloudflare): ratchet runner bundle baselines (a37b363)
  • test(query): pin workout projection schema version (c375045)
  • chore: rebaseline Junction runner bundle budgets (2d4ca8a)
  • Require a unique zone instant for floating temporal clocks (1dc0531)
  • Require semantics agreement before authorized-day exclusion (b6c05a7)
  • Prove Gregorian validity inside complete-day timestamp acceptance (c8b72ee)
  • Own complete-day timestamp acceptance with one anchored parse (6d6778d)
  • Anchor temporal replacement identity and fail closed on ambiguity (69e5f1e)
  • Require array shapes inside strict grouped collection proof (cd71e83)
  • Guard raw retention and member deletions under temporal authority (0193d19)
  • Derive temporal samples only from provider clocks (840ddc5)
  • Preserve temporal authority across hosted cold restore (508ca33)
  • Converge temporal facets through the symmetric set seam (bc38f74)
  • Make temporal imports facet-only with fail-closed authority (d26fce1)
  • Regenerate event-record schema for merged qualifiers (fcf9888)
  • Align device-sync tests with merged dual-owner shape (9168b4e)
  • Restore ordinary Junction ingestion ownership (592371f)
  • fix: harden Junction workout feature projection (bba8ec1)
  • fix(cli): refresh generated skill hash (1fc4b02)
  • Make the ReviewGPT wrapper own the trust floor (f7e963c)
  • Close ReviewGPT config override bypass (eaddf71)
  • chore: refresh vault cli skill hash (213aa34)
  • fix: expose bounded Junction workout details (b287023)
  • fix(reviews): enforce repository trust floor (fc9cfe0)
  • chore(reviews): update review gpt to 0.5.132 (43cfc9e)
  • docs(tooling): record ReviewGPT lane preference friction (9e26ec9)
  • fix(reviews): pin review trust floor (54500d1)
  • feat(device-sync): enrich bounded Junction workout streams (24a78c3)
  • chore(tooling): update ReviewGPT to 0.5.132 (7831580)
  • Fix Junction temporal history refresh (3cdc73d)
  • fix(device-sync): open explicit reconnect lifecycle (18d3a06)
  • fix(assistant): remove speculative routing policy (238453a)
  • fix(device-sync): bind workout remote authority by id (935111c)
  • chore: sync friction log (e1611a9)
  • chore: sync friction log (e6a129a)
  • fix(assistant): gate onboarding subagent routing (a8df910)
  • fix(device-sync): preserve semantic source lifecycle (0eb0e97)
  • test(cloudflare): align runner bundle budget expectation (0367465)
  • fix(core): migrate unversioned Junction profiles (86fa520)
  • test(cli): align profile replay regression (8124256)
  • feat(device-sync): add authoritative Junction temporal features (a556e0b)
  • docs(agent): record ReviewGPT round 13 (3d3f535)
  • fix(device-sync): preserve established source lifecycle (0186631)
  • fix(importers): migrate Junction profile identity safely (c43e13c)
  • test(core): assert automatic member precedence (748c8ad)
  • fix(device-sync): preserve capped webhook days (63389c0)
  • refactor(junction): preserve member edits at event spine (61a039e)
  • fix(device-sync): keep ordinary pull floor unconditional (2346eef)
  • fix(device-sync): preserve Junction history completion (06f2d43)
  • fix(device-sync): fence Junction webhook pulls (5f3943b)
  • test(importers): preserve Junction policy order (447ca02)
  • chore(cli): refresh generated skill hash (b516357)
  • fix(device-sync): retry superseded Junction fetches (7d7a25a)
  • fix(device-sync): preserve deployed m1 history (4db4418)
  • test(cli): use stable Junction row identities (025ae33)
  • perf(device-syncd): bound clinical lifecycle reads (c722f69)
  • feat(junction): default sparse clinical facts (32c2ec6)
  • test(device-syncd): cover member edit conflict jobs (cf06fba)
  • fix(junction): reconcile summary ownership after restack (0b3ec6d)
  • fix(core): preserve delayed provider revision ordering (fbcdbc2)
  • fix(query): preserve legacy activity heart-rate aliases (db2402b)
  • fix(device-sync): align Junction replay verification (486ed97)
  • fix(device-sync): recover Junction member edit conflicts (de1cf0e)
  • test(cli): expect member ownership after event edit (2961f3f)
  • fix(device-sync): preserve member summary edits (05f4550)
  • fix(device-sync): resolve Junction summary review findings (0893c30)
  • fix(importers): reconcile Junction summary corrections (153e313)
  • fix(importers): bound Junction menstrual evidence (a100723)
  • docs(changelog): announce complete summaries (3e84588)
  • chore(importers): complete Junction summary details (bae074f)
  • feat(importers): preserve Junction summary details (6605d47)
  • fix(device-syncd): complete rejected body history (08e6e78)
  • fix(junction): harden body composition history (f6755a4)
  • test(junction): align interval timestamp rejection (f42ecf9)
  • chore(cli): refresh generated vault skill hash (9fb5a81)
  • fix(junction): reconcile body composition stack (46f5fde)
  • test(junction): align body integration coverage (a3e2e9e)
  • fix(query): rebuild legacy body projections (ebbdecc)
  • fix(query): unify sparse body selection (efcbc15)
  • test(wearables): align body hint and schemas (2d10870)
  • fix(wearables): close body composition read gaps (16e84ca)
  • fix(wearables): complete body composition reads (84c9445)
  • docs(changelog): announce body composition (eb8c9cb)
  • feat(device-sync): finalize Junction body composition (8ed1aee)
  • feat(importers): preserve Junction body composition (fa15562)
  • docs(review): record round 12 pass (11c44bf)
  • fix(device-sync): pin exact workout connection (f4feda7)
  • fix(device-sync): ignore physical alias rekeys in webhook proof (1c01b72)
  • test(device-sync): make source fixtures type-safe (6a03fea)
  • fix(device-sync): close workout authority gaps (f2fcede)
  • fix(device-sync): retain ordinary reconcile completion (5f5c1c1)
  • test(device-sync): cover workout lifecycle export (cec2260)
  • fix(device-sync): align Link callback lifecycle admission (b2c71ef)
  • fix(web): resolve workout lifecycle source (4dd7f2a)
  • fix(device-sync): fence workout source lifecycles (3da848c)
  • fix(device-sync): preserve Junction window ownership (40618d5)
  • test(web): expect current Junction coverage encoding (27b19a8)
  • fix(device-sync): advance each completed Link lifecycle (c3efefa)
  • test(assistant-runtime): expect current Junction coverage encoding (805e6f0)
  • fix(cloudflare): ratchet runner bundle budget (1af4d67)
  • fix(cloudflare): ratchet runner bundle size (f1ce48d)
  • refactor(device-sync): reuse hosted source authority read (f205e8a)
  • fix(device-sync): fence hosted source reconnect history (2f6d78c)
  • fix(device-sync): fence reconnect-start worker completion (0857bcf)
  • fix(device-sync): make history priority fair (11d9c13)
  • fix(device-sync): bound reopened history priority (83dd248)
  • fix(device-sync): preserve legacy epoch wire absence (7b1b380)
  • chore(cli): regenerate config schema from clean build (5ada9bf)
  • chore(cli): refresh generated config schema (91b7a47)
  • fix(device-sync): unify Junction alias lifecycle identity (934caa2)
  • fix(device-sync): close reconnect lifecycle gaps (cf1229b)
  • fix(web): resolve device sync reconnect subpath (e46164a)
  • fix(device-sync): finalize Junction lifecycle candidate (37ab85e)
  • fix(device-sync): fence Junction lifecycle history (e4c34b4)
  • fix(device-sync): checkpoint Junction lifecycle fences (5679751)
  • fix(device-sync): persist sparse history terminal state (158f4fe)
  • fix(device-sync): preserve sparse history lineage (ca2e9ea)
  • fix(core): preserve delayed provider revision ordering (4ecf232)
  • fix(query): preserve legacy activity heart-rate aliases (dd50256)
  • fix(device-sync): align Junction replay verification (fcc1002)
  • test(device-sync): assert compact coverage semantics (66f8fb6)
  • test(device-sync): reproduce prepared reconnect race (215cba7)
  • Fix Junction temporal parent continuation (48cd2f0)
  • fix(device-sync): reopen local junction history (e789946)
  • fix(device-sync): require current history terminality (4966352)
  • fix(device-sync): close moving sparse history gaps (b4aa6b7)
  • fix(device-sync): persist terminal history coordinates (ebd609d)
  • fix(junction): terminate empty history scans (f257585)
  • fix(device-sync): require workout companions for history (53fb334)
  • chore(cloudflare): ratchet runner bundle budget (72c5963)
  • fix(device-sync): checkpoint Junction resource progress (2f22996)
  • fix(device-sync): co-import historical workout summaries (7475698)
  • fix(device-sync): resume Junction reconcile resources safely (858807f)
  • fix(device-sync): expand hosted lifecycle epoch safely (15ccaa2)
  • fix(importers): cover historical workout identity shapes (66d5b88)
  • fix(device-sync): preserve Junction reconnect history fences (b5da013)
  • fix(device-sync): complete temporal history recovery (56c7e7f)
  • perf(device-sync): coalesce Junction source projection reads (356ab91)
  • fix(device-sync): fence reconnect history by source epoch (5fc85dc)
  • fix(device-sync): recover Junction member edit conflicts (d99898c)
  • docs(device-sync): close temporal remediation plan (5f77ade)
  • fix(device-sync): close temporal authority gaps (e3f704b)
  • fix(device-sync): preserve grouped workout attribution (a653e57)
  • fix(device-sync): preserve workout identity and retries (07eba92)
  • test(cli): expect member ownership after event edit (c51f2ff)
  • fix(device-sync): align temporal day ownership (25d2ecf)
  • fix(device-sync): preserve member summary edits (30d4320)
  • fix(device-sync): preserve bounded clinical durability (89a6a7d)
  • fix(device-sync): bound sparse clinical daily imports (ec6fe97)
  • chore(cloudflare): ratchet stacked runner bundle budget (9152212)
  • fix(device-sync): preserve Junction resource progress (20ed59c)
  • docs(plan): record Junction temporal ownership retrospective (e17cd50)
  • fix(query): unify sparse body selection (7a86e51)
  • fix(device-sync): consolidate workout ingestion ownership (35df01b)
  • test(wearables): align body hint and schemas (f908be3)
  • chore(cli): refresh generated skill hash (7cf58be)
  • docs(plan): close Junction temporal remediation (79edb1c)
  • fix(device-sync): fence temporal facts to complete days (f99d466)
  • fix(wearables): close body composition read gaps (4b7682a)
  • fix(device-sync): resolve Junction summary review findings (05ed856)
  • test: prove Junction retry and fanout bounds (de81453)
  • fix(wearables): complete body composition reads (f236e8d)
  • fix(device-sync): tighten Junction history ownership (22573bc)
  • fix(importers): reconcile Junction summary corrections (05a82e5)
  • fix(device-sync): harden bounded workout imports (d4c0d11)
  • fix(importers): require bounded temporal evidence (3dc4453)
  • fix: bound sparse clinical imports deterministically (c7ba919)
  • fix(importers): harden bounded temporal features (a07664a)
  • test(device-sync): compose reserved history coordinates (e0635f3)
  • test(device-sync): keep history coordinates composable (2fee50b)
  • fix(device-sync): reserve stacked history coverage (29566f0)
  • fix(importers): bound Junction menstrual evidence (928e2e5)
  • fix(device-sync): bound sparse history completion (7432e85)
  • fix(ci): refresh Junction release artifacts (c1b0627)
  • fix(device-sync): preserve compact webhook payloads (296fb54)
  • fix(device-sync): preserve sparse clinical record identity (d45e710)
  • docs(changelog): announce body composition (27b02e1)
  • docs(changelog): announce complete summaries (36b9d69)
  • docs(changelog): announce temporal features (7cf4325)
  • docs(changelog): announce workout context (180afff)
  • docs(changelog): announce sparse clinical events (a59c064)
  • feat(device-sync): finalize Junction body composition (f6419b6)
  • docs(agent): close Junction workout feature plan (b46faaa)
  • chore(importers): complete Junction summary details (40448e6)
  • docs(importers): complete temporal feature integration (2569bd5)
  • feat(importers): register sparse clinical Junction resources (21ea308)
  • feat(device-sync): retain bounded Junction workout features (3526256)
  • test(device-sync): narrow sparse history window payload (63bd78c)
  • feat(importers): preserve bounded Junction temporal features (0474f88)
  • feat(device-sync): govern Junction resources and sparse history (76c6ce0)
  • feat(importers): preserve Junction body composition (d224780)
  • feat(importers): preserve Junction summary details (80b5c11)
  • feat(importers): preserve sparse Junction clinical facts (6840dbb)