New
- One model path: the Kortix LLM gateway. Every project's models go through the gateway, and custom OpenAI-compatible endpoints are set up in the gateway as custom providers.
- pi is the default agent harness. New sessions in a project start on pi unless the project turns
pi_harnessoff. Existing sessions keep their harness. Projects with the LLM gateway off stay on OpenCode. - One Drive with team folders. Files lives under the gear, and
kortix driveworks from the CLI. - Triggers protect themselves. A trigger that stays at its hourly run limit for 2 hours pauses itself, sends one alert, and resumes when you set
enabled: true. A new cron trigger skips a fire while its previous run is still active (overlap: allowopts out). @kortix/uiis a plug-and-play UI library. The Kortix web app and the Lumen example now render the same session, workspace and settings screens from one package.- Preview text attachments in the app before you send them.
- Mobile 1.5.1: iOS Liquid Glass chrome, a native glass message menu, smoother sheets and scrolling in long sessions, and an MFA focus fix.
Improved
- Forked conversations persist and stay reachable after navigation.
- pi tells the model today's date on every turn, leaves the session title to Kortix (the header no longer flips), and the Changes tab works on pi sessions.
- Sessions report the model the conversation uses, not the model pinned at creation.
- The project home sends faster, finished replies no longer stream again, and slash skills and commands show there.
- Escape in an empty composer stops a streaming reply. The command palette opens at once, and the slash palette opens the agent picker.
- Drive shows folders as folders and keeps fixed folders in place.
- Connector catalogs resolve in one batch, and sub-agent links keep their sub-agent.
- Large files open whole instead of cutting off at 50k characters.
- Web and CLI show the same model price estimates.
- Cron triggers show the exact next run with its timezone.
- Trigger edits keep the comments in
kortix.yaml. - Faster gateway log and audit reads in projects with a lot of history. Gateway budgets read a running daily total (954 ms → one key read), sign-in checks no longer make an extra auth hop, and a page load fetches its project once.
- CLI:
modelslists catalog availability,sessions newstreams readiness progress, chat and compact wake a stopped or provisioning session first,access grant --useruses the linked project, marketplace installs resolve short names,doctornames the turn error and explains warm-session retention, project and session URLs match the host, and channels show every state by default.
Fixed
- Session notifications work in a fresh browser, and blocked notifications recover with a sound fallback.
- Usage opens from account deep links, and checkout returns to the billing page of the account that paid.
- The low-balance warning scales to the recurring grant, and a new free account no longer sees a false warning.
- A deleted project no longer reopens from cache. Enabling a gated feature no longer leaves the page, and a lost session keeps its return path. Account deletion explains that it can be cancelled.
- Compacting a busy session is refused with a clear message. Forking a stopped session explains what to do.
- New project invitees get their notification. Removed avatars are erased.
- Email confirmation is link-first, and the sign-in screen offers password sign-in.
- The app recovers from a stale code chunk instead of failing to load.
- Connected accounts stay on the personal identity.
- The first session of a new project no longer lists the project setup as its own changes.
- Session tokens can no longer leak after a session ends.
- Expired branches are deleted without cloning their history.
- Reminders re-arm from the time they resume.
- Public transcripts show failed assistant turns.
- The Agents page shows agent ids, and a direct user grant replaces the existing project role.
- The public OpenAPI spec publishes a relative server URL.
- Many smaller fixes across the CLI, triggers, auth and the web app.
What's Changed
- chore(release): VERSION → 0.14.4 [skip ci] by @github-actions[bot] in #10351
- chore(release): staging VERSION → 0.14.4 [skip ci] by @github-actions[bot] in #10352
- chore(catalog): refresh model seeds by @github-actions[bot] in #10354
- fix(api): preserve YAML comments through trigger manifest edits (KRTX-2742) by @agent-kortix in #10230
- docs(learnings): reload Caddy after a Capture-version self-host update by @markokraemer in #10359
- fix(api): return not found for stale subscription sync (KRTX-2882) by @agent-kortix in #10355
- feat(triggers): auto-pause — a trigger at its hourly run limit for 2 hours in a row pauses itself, alerts once, and resumes with enabled: true (KRTX-1721) by @Ino-Bagaric in #10362
- fix(infra): monitor staging and prod SQS message age (KRTX-2509) by @agent-kortix in #10356
- fix(billing): KRTX-2754 preserve referenced legacy agent versions by @agent-kortix in #10357
- perf(db): index-driven audit tool-action filter and gateway project aggregates; fix(api): change-request lookup accepts the per-project number (KRTX-2763) by @agent-kortix in #10212
- fix(api): resume create-in-chat after its question answer (KRTX-2544) by @agent-kortix in #10364
- fix(cli): report no credential source for tokenless hosts (KRTX-2755) by @agent-kortix in #10358
- feat(triggers): overlap — a fresh cron trigger skips a fire while its previous run is still active; overlap: allow opts out (KRTX-1721) by @Ino-Bagaric in #10369
- fix(cli): report no credential source for unsigned hosts (KRTX-2756) by @agent-kortix in #10360
- fix(auth): KRTX-2840 make email confirmation link-first by @agent-kortix in #10365
- fix(KRTX-1791): show failed assistant turns in public transcripts by @agent-kortix in #10375
- refactor(tests): split audit request-row flows (KRTX-1799) by @agent-kortix in #10372
- fix: dogfood batch — no false Low balance on a new free account, Copy command label, friendly offline avatar toast, CLI sessions tagged cli (KRTX-2910, KRTX-2911, KRTX-2838, KRTX-2914) by @Ino-Bagaric in #10383
- fix(KRTX-2837): erase public avatars on removal and deletion by @agent-kortix in #10366
- fix(cli): KRTX-2810 use scoped preview navigation tickets by @agent-kortix in #10361
- fix(cli): KRTX-2015 delete listed sessions without read preflight by @agent-kortix in #10400
- fix(web): scale low-balance warning to recurring grant (KRTX-2828) by @agent-kortix in #10363
- fix(tooling): regenerate staged web artifacts (KRTX-1849) by @agent-kortix in #10377
- fix(KRTX-2059): stop ready project auto-sessions reading Starting by @agent-kortix in #10406
- fix(cli): KRTX-1762 print host-correct project and session URLs by @agent-kortix in #10370
- fix(api): restore isolated session-log dry passes (KRTX-2789) by @agent-kortix in #10407
- fix(api): delete expired branches without cloning history (KRTX-2141) by @agent-kortix in #10403
- fix(api): prevent late session token leaks (KRTX-2831) by @agent-kortix in #10368
- KRTX-1763: Guide safe ship recovery for seeded managed repositories by @agent-kortix in #10371
- refactor(ui): consolidate Mermaid render IO and canvas zoom (KRTX-2348) by @agent-kortix in #10417
- fix(billing): KRTX-2713 return checkout to purchased account billing by @agent-kortix in #10374
- fix: dogfood batch 2 — kortix init refuses without a TTY, sessions new --wait exits 1 on an already-failed turn, /settings/computers opens Connectors (KRTX-2921, KRTX-2913, KRTX-2865) by @Ino-Bagaric in #10422
- fix(web): KRTX-1794 recover blocked notifications with inline sound fallback by @agent-kortix in #10379
- fix(sessions): KRTX-1871 stop default idle warm provisioning by @agent-kortix in #10425
- KRTX-1868: Let empty composer Escape stop streaming by @agent-kortix in #10381
- fix(cli): access grant --user uses the linked project, marketplace install resolves short names, doctor names the turn error (KRTX-2825, KRTX-2822, KRTX-2918) by @Ino-Bagaric in #10434
- feat(mobile): 1.5.1 — iOS Liquid Glass chrome, smoother sheets and long sessions, MFA focus fix by @sutharjay1 in #10424
- fix(docs): remove duplicated home page product name (KRTX-2611) by @agent-kortix in #10435
- fix(api): unify web and CLI model price estimates (KRTX-1927) by @agent-kortix in #10385
- fix(web): KRTX-2611 remove duplicate docs home title by @agent-kortix in #10440
- fix(web): smooth project-home send and stop finished replies re-streaming (KRTX-2931, KRTX-2932) by @sutharjay1 in #10432
- feat(drives): one Drive with team folders, a Files row under the gear, and kortix drive by @sutharjay1 in #10419
- fix(cli): resolve marketplace install names like show (KRTX-1947) by @agent-kortix in #10387
- fix(KRTX-1885): show an actionable stopped-session fork error by @agent-kortix in #10386
- fix: KRTX-2058 show exact cron next run with timezone by @agent-kortix in #10444
- fix: KRTX-2650 refuse compact on busy sessions by @agent-kortix in #10446
- fix(web): enable fresh-browser session notifications (KRTX-2622) by @agent-kortix in #10438
- fix(web): KRTX-1883 surface project-home slash skills and commands by @agent-kortix in #10388
- fix(web): inline password error and no hover underline on auth links by @sutharjay1 in #10452
- fix(cli): disclose doctor warm-session retention (KRTX-1973) by @agent-kortix in #10390
- fix: tokens rm refuses the CLI's own key, review submit drops a foreign sandbox session, readable "New" badge (KRTX-1842, KRTX-2864, KRTX-2750) by @Ino-Bagaric in #10455
- fix(sessions): keep forked conversations reachable after navigation by @agent-kortix in #10441
- fix(api): re-arm reminders from resume time (KRTX-1923) by @agent-kortix in #10389
- fix: notify existing project invitees (KRTX-1929) by @agent-kortix in #10391
- fix: blocked trigger Create focuses the missing signing key, tokens JSON shares an id key, auth 429 entry-step guard (KRTX-2816, KRTX-2829, KRTX-2812) by @Ino-Bagaric in #10460
- fix(KRTX-2033): show completed session activity independently of computer status by @agent-kortix in #10413
- refactor(runtime): remove unused helpers and inline wrappers (KRTX-2575) by @agent-kortix in #10428
- fix(web): KRTX-2608 clarify cancellable account deletion by @agent-kortix in #10439
- fix(cli): show all channel states by default (KRTX-2619) by @agent-kortix in #10437
- fix(web): use bundled i18n catalogs (KRTX-2244) by @agent-kortix in #10414
- fix(session-log): backfill recovers stripped tool inputs and converts oversized sessions in a Worker (P3.4) by @DimitrijeGlibic in #10464
- fix(web): authorize error names --token, Reminders tabs refetch, a deleted project cannot reopen from cache (KRTX-1976, KRTX-2888, KRTX-2904) by @Ino-Bagaric in #10466
- fix(web): open Usage from account deep links (KRTX-1959) by @agent-kortix in #10392
- fix(sessions): report conversation model instead of creation pin (KRTX-2697) by @agent-kortix in #10454
- fix(kortixd): the first session of a new project no longer lists the project setup as its own changes (KRTX-1862) by @Ino-Bagaric in #10469
- fix(web): show oversized files whole instead of truncating at 50k chars by @sutharjay1 in #10458
- perf(api): check session access before the tombstone in member project reads (gateway logs 670 → 160 ms) by @markokraemer in #10465
- perf(gateway): call the dev API inside the VPC through Cloud Map, public URL as fallback by @markokraemer in #10463
- fix(web): keep connected accounts on personal identity (KRTX-2011) by @agent-kortix in #10395
- fix(mobile): native glass message menu, smoother scroll and long sessions, no local pushes to the App Store app by @sutharjay1 in #10456
- fix(session-log): guard the backfill's conversion thread with a memory check and a poison pill (P3.4) by @DimitrijeGlibic in #10475
- KRTX-2498: cover admin-delete Stripe subscription cancellation by @agent-kortix in #10473
- fix(kortixd): pi tells the model today's date every turn, as OpenCode does by @DimitrijeGlibic in #10476
- fix(sessions): persist independent conversation forks (KRTX-2806) by @agent-kortix in #10421
- feat(api): pi_harness on by default for every project by @DimitrijeGlibic in #10479
- fix(ci): the dev gateway deploy waits for dev Terraform by @markokraemer in #10481
- feat(ui): @kortix/ui is the plug-and-play Kortix UI library; apps/web and Lumen consume it by @markokraemer in #10480
- fix(docs): announce the home link brand once (KRTX-1999) by @agent-kortix in #10396
- Promote dev fd04a98 to staging by @github-actions[bot] in #10482
- fix(cli): surface gateway endpoint URL (KRTX-1962) by @agent-kortix in #10397
- refactor(web): relocate panel sizing and preview policies (KRTX-1773) by @agent-kortix in #10416
- refactor(web): extract panel derivations and handoffs (KRTX-1774) by @agent-kortix in #10420
- fix(api): a local stack never deletes shared meta sandbox images (KRTX-2546) by @Ino-Bagaric in #10486
- fix(web): KRTX-2649 open agent picker from slash palette by @agent-kortix in #10448
- KRTX-1853: Preview text attachments in-app by @agent-kortix in #10384
- fix(web): KRTX-2760 show gone page on first deleted-project visit by @agent-kortix in #10457
- refactor(web): split customize components and shared logic (KRTX-2148) by @agent-kortix in #10412
- fix(web): KRTX-2860 explain disabled Reminders deep links by @agent-kortix in #10367
- fix(KRTX-1891): make Files Show more controls readable by @agent-kortix in #10394
- fix(ui): image thumbnail no longer spins forever after a cached load by @sutharjay1 in #10491
- fix(tests): green the v0.14.4 release suite on dev by @DimitrijeGlibic in #10495
- fix(drives): show folders as folders, keep fixed folders fixed, one error per refusal by @sutharjay1 in #10492
- fix(tests): green the v0.14.4 core-db lane on dev by @DimitrijeGlibic in #10497
- fix(web): surface marketplace plan gate (KRTX-1949) by @agent-kortix in #10399
- fix(sdk,ui): connector poll window per open, cold ?rs= links keep the sub-agent, sub-agent chats read the project roster (KRTX-2877, KRTX-2886, KRTX-2887) by @Ino-Bagaric in #10485
- fix: Changes tab on pi sessions + readable file name in the side-panel viewer by @markokraemer in #10501
- perf: KRTX-2019 batch connector catalog resolution by @agent-kortix in #10401
- feat(cli): skip project wizard after CLI creation (KRTX-1488) by @agent-kortix in #10498
- fix(web): recover stale chunk failures before hydration (KRTX-2482) by @agent-kortix in #10426
- fix(web): KRTX-2493 offer password sign-in on auth entry by @agent-kortix in #10423
- fix(kortixd): pi leaves the session title to Kortix, so the header no longer flips from the prompt to the title (KRTX-2567) by @Ino-Bagaric in #10502
- fix(web): show command palette immediately while lazy chunk loads by @agent-kortix in #10376
- fix(tests): green the v0.14.4 packages-rest lane after the @kortix/ui move by @DimitrijeGlibic in #10505
- fix(web): KRTX-1839 restore account-hub pane headings by @agent-kortix in #10380
- KRTX-1784: Give the mobile sidebar a visible close control by @agent-kortix in #10378
- fix(ui): linear-time path regexes and CodeQL release findings by @DimitrijeGlibic in #10509
- Promote dev 0ad9d81 to staging by @github-actions[bot] in #10511
- fix(cli): stream session readiness progress (KRTX-1888) by @agent-kortix in #10510
- fix(kortixd): a new session token clears the dead-token breaker at once (KRTX-2545) by @Ino-Bagaric in #10512
- fix(cli): start provisioning sessions before chat (KRTX-2042) by @agent-kortix in #10402
- fix(sdk): expected feature flag refusals do not report API errors (KRTX-2617) by @agent-kortix in #10445
- fix(KRTX-1812): neutral default organization names by @agent-kortix in #10508
- perf(web): one GET /projects/:id per page load (project gate reads qk.project.summary) by @markokraemer in #10468
- feat(cli): list catalog model availability (KRTX-1539) by @agent-kortix in #10500
- fix(KRTX-1863): explain single-model picker search scope by @agent-kortix in #10513
- KRTX-2834: remember the chosen password sign-in method by @agent-kortix in #10477
- fix(KRTX-1785): enable gated features without leaving the page by @agent-kortix in #10515
- fix(KRTX-1889): fill runtime status in session detail by @agent-kortix in #10514
- fix(sdk): the saved-transcript mirror sorts parts in byte order (KRTX-2897) by @Ino-Bagaric in #10516
- perf(api): confirm JWT liveness from auth.sessions instead of a GoTrue hop by @markokraemer in #10467
- perf(gateway): budget spend from a running daily total (954 ms SUM to a PK read) by @markokraemer in #10471
- fix(api): the public OpenAPI spec publishes a relative server URL, not the internal origin (KRTX-2949) by @Ino-Bagaric in #10519
- fix(web): KRTX-2939 triage sweep — preview recovery, search input, fired reminders, Apps polish by @sutharjay1 in #10462
- feat(goals): goals v1 behind a flag — kortix goals CLI, turn-end check, unattended sessions, reminders that survive a failed box by @markokraemer in #10314
- fix(KRTX-2278): replace existing project role on direct user grant by @agent-kortix in #10411
- feat(cli): KRTX-1465 wake stopped sessions before compacting by @agent-kortix in #10496
- fix(web): KRTX-1926 show agent ids on the Agents page by @agent-kortix in #10520
- fix(api): preserve session create receipts past deadline (KRTX-2066) by @agent-kortix in #10405
- fix(api): proxy refusals grant CORS only to the allowlist, and dropped upstream bodies are released (KRTX-2802, KRTX-2803) by @Ino-Bagaric in #10524
- feat(rooms): chat rooms for agents and people with Slack-style threads; a feature flag gates every surface by @markokraemer in #10308
- fix(web): preserve return path on mounted session loss (KRTX-2558) by @agent-kortix in #10408
- fix(release): green the second v0.14.4 release run on dev by @DimitrijeGlibic in #10526
- test(flows): steps assert what their labels promise (KRTX-2850, KRTX-2851, KRTX-2852) by @Ino-Bagaric in #10525
- fix(api): MCP CLI decisions for goals, rooms and peers by @DimitrijeGlibic in #10528
- fix(krtx-2744): refuse stored-log, loss-report and open-question reads of a deleted session by @agent-kortix in #10470
- Promote dev 6f1038a to staging by @github-actions[bot] in #10530
- fix(web): use domain decision for approval toast (KRTX-2857) by @agent-kortix in #10409
- KRTX-2884: align Models with picker availability and expose model entitlement by @agent-kortix in #10418
- fix(web): auth errors render inline under the input, not as a banner by @sutharjay1 in #10540
- fix(cli): KRTX-2002 explain private app browser access in show by @agent-kortix in #10537
- fix: cost-by-project honors project_id, few-word prompts title themselves, the CLI help names no stale flag, and the test report and shard planner match reality (KRTX-2801, KRTX-2651, KRTX-2581, KRTX-2667, KRTX-2668) by @Ino-Bagaric in #10535
- fix(KRTX-1998): show MCP URL in Connect dialog by @agent-kortix in #10539
- fix(api): skip channel end relay without a recipient (KRTX-2339) by @agent-kortix in #10543
- fix(github): a repository switch through a GitHub App installation is not refused as read-only by @markokraemer in #10545
- fix: one repository_disconnected state when the GitHub App loses a repo, on every surface (KRTX-2955) by @markokraemer in #10544
- feat(cli): create projects without the dashboard (KRTX-2046) by @agent-kortix in #10541
- docs(learnings): repository_disconnected entry (KRTX-2955) by @markokraemer in #10548
- feat(llm-gateway)!: the gateway is the only model path; custom OpenAI-compatible endpoints move into it by @DimitrijeGlibic in #10547
- fix(db): revoke session keys on project archive (KRTX-1946) by @agent-kortix in #10393
- fix(web): one Download App design with a store QR code and current screenshots (KRTX-2692) by @sutharjay1 in #10553
- fix(web): hide the founder welcome card everywhere by @markokraemer in #10550
- feat(cli): expose searchable provider catalog (KRTX-2074) by @agent-kortix in #10534
- fix(web): KRTX-2000 stop polling missing sessions by @agent-kortix in #10536
- fix(release): green the third v0.14.4 release run on dev by @DimitrijeGlibic in #10557
- feat(sessions): switch a session to the fallback that answered, switch back at idle by @markokraemer in #10487
- docs(repo): PR titles and bodies are written for the human reviewer by @DimitrijeGlibic in #10561
- fix(KRTX-1932): retry invalidated in-flight mirror reads by @agent-kortix in #10398
- fix(web): disable framework response header (KRTX-2366) by @agent-kortix in #10415
- fix(iam): call the project role manager consistently (KRTX-2552) by @agent-kortix in #10429
- fix(auth): KRTX-2562 stabilize server sign-out after account deletion by @agent-kortix in #10430
- fix(cli): explain missing default project in session lists (KRTX-2563) by @agent-kortix in #10431
- Promote dev 57fe38f to staging by @github-actions[bot] in #10564
- fix(web): the session fixture page marks continuing turns like the real transcript (KRTX-2596) by @Ino-Bagaric in #10549
- fix(npm): published packages no longer carry workspace: devDependencies by @markokraemer in #10567
- fix(KRTX-2504): keep internal tooling out of the agent picker by @agent-kortix in #10427
- fix(api): an admin re-invite keeps the SCIM groups the invite waits on (KRTX-2329) by @Ino-Bagaric in #10558
- docs(ui): @kortix/ui installs from npm; versions track the Kortix release by @markokraemer in #10571
- fix(cli): preserve matching project links after clone (KRTX-2629) by @agent-kortix in #10436
- fix(cli): KRTX-2912 refuse chat before provisioning when no model is connected by @agent-kortix in #10569
- fix(api): prune lint suppressions that no longer occur by @DimitrijeGlibic in #10573
- fix(mobile): roomier iOS header and sheet controls, version 1.5.3 by @sutharjay1 in #10572
- fix(web): default development servers to webpack (KRTX-2751) by @agent-kortix in #10453
- fix(tests): green the fourth v0.14.4 release run on dev by @DimitrijeGlibic in #10574
- Promote dev 4303f04 to staging by @github-actions[bot] in #10575
- fix(web): KRTX-2759 stop deleted-project request bursts by @agent-kortix in #10459
- fix(tests): green the v0.14.4 packages-rest lane on dev (round 2) by @DimitrijeGlibic in #10577
- Promote dev c55d514 to staging by @github-actions[bot] in #10578
- fix(web): KRTX-2473 revalidate avatars after deletion by @agent-kortix in #10472
- docs(learnings): dry-run kortix ship before the first ship of a new folder by @markokraemer in #10580
- refactor(db): share repair clients and migration script helpers (KRTX-2533) by @agent-kortix in #10474
- fix(tooling): reject fake trunk merge commits (KRTX-2515) by @agent-kortix in #10560
- fix(secrets): show granted agents in audit views (KRTX-2813) by @agent-kortix in #10478
- refactor(web): remove unused helper re-exports (KRTX-1782) by @agent-kortix in #10552
- fix(release): green the fifth v0.14.4 release run on dev by @DimitrijeGlibic in #10583
- fix(web): a kept project renders at once while its access read revalidates by @DimitrijeGlibic in #10584
- Promote dev a667253 to staging by @github-actions[bot] in #10585
- fix(web): ignore synthetic non-Error rejection noise (KRTX-2948) by @agent-kortix in #10488
- docs(cli): explain sandbox credential override (KRTX-1706) by @agent-kortix in #10494
- fix(session): stream first-turn text snapshots (KRTX-2764) by @agent-kortix in #10504
- fix(tests): profile-tab container test mocks the modules it actually imports by @DimitrijeGlibic in #10586
- feat(review): approval parameters, expiry, and bulk approve/deny by @sutharjay1 in #10555
- fix(cli): KRTX-1922 print approval commands instead of token URLs by @agent-kortix in #10518
- fix(KRTX-2665): retire previous secret intake links on re-mint by @agent-kortix in #10449
- fix(web): collapse denied project prefetch burst (KRTX-1930) by @agent-kortix in #10521
- fix(KRTX-1931): name current plan in CLI IAM 402 errors by @agent-kortix in #10522
- fix(api): KRTX-2950 bound interactive billing request bursts by @agent-kortix in #10556
- fix(KRTX-2823): uninstall installed project skills safely by @agent-kortix in #10527
- KRTX-1231: drop unused legacy device token indexes by @agent-kortix in #10484
- fix(cli): show doctor answer without reasoning (KRTX-1974) by @agent-kortix in #10529
- fix(gateway): a resting personal ChatGPT account falls back; holds follow the real reset by @markokraemer in #10588
- fix(cli): label billing JSON credit units (KRTX-1955) by @agent-kortix in #10531
- fix(billing): KRTX-1954 land credits bookmarks on the ledger by @agent-kortix in #10532
- fix(cli): name missing session-list project (KRTX-2001) by @agent-kortix in #10533
- feat(goals): hard-gate Goals behind the goals flag on every surface by @markokraemer in #10589
- fix(skills): KRTX-1939 include optional body on creation by @agent-kortix in #10538
- feat(flags): a flag-off feature is invisible everywhere — CLI off-box, IAM catalog, notification settings, docs by @markokraemer in #10590
- test(cli): cover the goals group in the flagged leaf-help loop by @markokraemer in #10591
- refactor(ui): name the shared PDF engine loader (KRTX-2231) by @agent-kortix in #10542
- fix(api): hide account existence from nonmembers (KRTX-2402) by @agent-kortix in #10546
- refactor(tui): remove unused reasoning fixture (KRTX-2522) by @agent-kortix in #10551
- refactor(shared): remove unused picked section keys (KRTX-2571) by @agent-kortix in #10554
- test(web): preserve motion exports in workspace mocks (KRTX-2403) by @agent-kortix in #10559
- fix(KRTX-1869): mark interrupted turns as stopped by @agent-kortix in #10563
- fix(gateway): KRTX-2903 clarify plan access and recovery by @agent-kortix in #10562
- docs(learnings): work/ for plans and open thoughts; goals + durable workflows design by @markokraemer in #10592
- fix(api): use plan-eligible model defaults (KRTX-2917) by @agent-kortix in #10566
- fix(ui): keep mobile promo off desktop project loads (KRTX-2579) by @agent-kortix in #10568
- fix(cli): re-show live secrets intake links (KRTX-1904) by @agent-kortix in #10570
- fix(web): point download card to pairing (KRTX-1813) by @agent-kortix in #10579
- Promote dev 3125f74 to staging by @github-actions[bot] in #10593
- refactor(ui): share non-merging class composition (KRTX-2605) by @agent-kortix in #10582
- fix(db): sync the drizzle snapshot with the connector_call_status 'expired' value by @DimitrijeGlibic in #10595
- fix(api): model-access reports the configured default; green api, flows and cli lanes by @DimitrijeGlibic in #10596
- fix(release): green the packages-rest lane on dev (round 3) by @DimitrijeGlibic in #10597
- Promote dev ecf385f to staging by @github-actions[bot] in #10598
- fix(api,cli): repo-less sessions read their project record; goals new works without repository access by @markokraemer in #10599
- ci(release): Drata is advisory in the release gate until its finding is resolved by @DimitrijeGlibic in #10601
- Promote dev 3e62c9a to staging by @github-actions[bot] in #10602
- Release v0.14.4 — pi by default, one model path, one Drive by @github-actions[bot] in #10489
Full Changelog: v0.14.3...v0.14.4