Commit Graph
570 Commits
Author SHA1 Message Date
ciregenz 4bee0ff18f [eric] apps: a first boot's pip install gets a real deadline, so a loaded machine stops killing new apps at 60s 2026-08-15 23:24:01 -07:00
ciregenz d37b1f62de [eric] apps: parking an idle app freezes its whole process tree, not just the root run.sh (ENG-311) 2026-08-15 23:00:36 -07:00
ciregenz 0f29b9a7bb [eric] agents: a session reaches disk the moment you send, so a backend death can no longer erase the conversation (ENG-313) 2026-08-15 22:13:52 -07:00
ciregenz 7853884d75 [eric] agents: a custom system prompt bites on the FIRST reply; it was delivered but buried mid-prompt and ignored 2026-08-15 20:48:12 -07:00
ciregenz aec8ac90ec [eric] test: the server-owned refusal asserts the value did not change, so it stops depending on whose laptop runs it 2026-08-14 23:54:00 -07:00
ciregenz 8511f186d9 [eric] test: the SettingsWrite tool-list gate is exercised for real, not asserted from source 2026-08-14 23:22:12 -07:00
ciregenz 47ee5d72d5 [eric] settings: SettingsWrite gets a real switch, refused at the route so the toggle is a boundary not a label (ENG-284) 2026-08-14 23:13:12 -07:00
ciregenz 86e3df51c3 [eric] agents: a core MCP server that never connects rebuilds the session instead of leaving it toolless (ENG-303) 2026-08-14 17:35:27 -07:00
ciregenz c11df8eea3 [eric] agents: a frozen core tool recovers in 25s and the agent retries the step it lost 2026-08-14 17:03:53 -07:00
ciregenz cc6f504873 [eric] apps: renaming an app writes the new name into its meta.json so agents stop reading the old one (ENG-308) 2026-08-14 15:20:11 -07:00
ciregenz e997c16f3e [eric] apps: a serve-static app reports its URL, so it stops loading forever until you open a second instance 2026-08-14 14:40:38 -07:00
ciregenz 50c5544494 [eric] apps: the bundled python keeps ensurepip so app-backend venvs are real, and a hollow venv can never reach an app 2026-08-14 12:27:42 -07:00
ciregenz c4059b5469 [eric] agents: a frozen MCP sidecar gets unwedged after 75s so the CLI's own respawn heals it, blocking tools exempt (ENG-303) 2026-08-14 11:47:34 -07:00
ciregenz 156c6092a3 [eric] agents: an auth blip mid-run refreshes and resumes once instead of dying at the reconnect banner 2026-08-14 10:40:20 -07:00
ciregenz 08fb489b52 [eric] web: bing is the last keyless rung, not the first fallback (ENG-295) 2026-08-13 20:19:25 -07:00
ciregenz 60da51f3c9 [eric] browser: a run reports its call counts beside the prose, so a caller can check instead of trust (ENG-297) 2026-08-13 11:34:50 -07:00
ciregenz 223e1f547a [eric] browser: a summary built from faked tool-call markup fails instead of reaching the user (ENG-297) 2026-08-13 11:28:24 -07:00
ciregenz b161f19efe [eric] browser: reading cannot complete a task that asked for a change (ENG-297) 2026-08-13 11:19:50 -07:00
ciregenz 8603ca0b8f [eric] mcp-registry: cold open waits for the first crawl, not an empty page (ENG-288) 2026-08-13 07:26:37 -07:00
ciregenz 67f787e5c7 [eric] client-pool: seal the boot fingerprint against object identity, so a future opaque option cannot respawn every turn (ENG-179) 2026-08-13 04:07:14 -07:00
ciregenz 9f14a924dd [eric] agents: an agent is told how far behind its checkout is, so it stops diagnosing from a stale tree (ENG-280) 2026-08-13 02:28:43 -07:00
ciregenz b2eef18069 [eric] template: declare pydantic, httpx and uvicorn instead of riding fastapi's extras, with a general undeclared-import check (ENG-287) 2026-08-13 02:09:36 -07:00
ciregenz fc09059595 [eric] agents: the final silent-quit nudge runs with zero tools, so ignoring 'stop calling tools' is no longer possible (ENG-291) 2026-08-13 01:14:04 -07:00
ciregenz 41aa8b02a5 [eric] mcp-registry: the 21k-server crawl arms on first request instead of at boot, so an idle app crawls nothing (ENG-288) 2026-08-13 00:58:41 -07:00
ciregenz 8f6160bf8d [eric] publish: the capability gate detects any unserved backend call, not just the literal /api (ENG-293) 2026-08-13 00:44:28 -07:00
ciregenz 6b52ed399b [eric] outputs: deleting a published app takes it off the internet first, through one shared teardown path (ENG-282) 2026-08-13 00:25:02 -07:00
ciregenz df32505aca [eric] compounding-growth pass: zOrders is pruned on every card removal, a model switch persists so the notice heals once, orphaned app workspaces are listable and deletable, and two browsers opened in the same millisecond no longer collide into one 2026-08-12 11:17:46 -07:00
ciregenz 0b0a5d78ca [eric] agents: a garbled dashboard file can no longer wipe the board; the sessions list fails loud instead of answering empty, and an unscoped fetch loses its delete authority 2026-08-12 02:10:41 -07:00
ciregenz 25fb3677ca [eric] service: a completed shutdown stands the hard-exit fuse down; it was firing os._exit(0) inside the test runner and silently killing 42% of the suite 2026-08-12 00:02:04 -07:00
ciregenz 3b802bbad9 [eric] apps: serve-static no longer strands the global vite boot lock (every app wedged on Starting preview); deleting an app now removes its workspace tree 2026-08-11 23:12:30 -07:00
ciregenz 62e707293e [eric] models: retire the free tier (nothing mints it, existing installs migrate off) and drop the silent mid-run pin to Haiku it carried; pull Fable, which was selectable and never worked 2026-08-11 21:00:38 -07:00
ciregenz ba97d141ee [eric] browser: agents can attach a file to an upload field without the OS picker; the path is allow-listed backend-side so a hostile page cannot turn it into exfiltration (ENG-47) 2026-08-11 20:10:36 -07:00
ciregenz a28268bab9 [eric] agents: an unclassified turn failure arms a fresh CLI session, so a chat bricked on "hit a snag" heals on the user's own next send instead of needing a manual branch (ENG-258) 2026-08-11 19:43:54 -07:00
ciregenz 294db570ed [eric] outputs: the vite boot lock is loop-local, so a runtime started on a later event loop cannot silently hang forever; the serve-static test mock goes sync to match 2026-08-11 11:46:53 -07:00
ciregenz 8ceca9ac97 [eric] tool-ui: every ShowUI card needs a stable id, and one question can only be answered once across all its surfaces 2026-08-10 22:46:12 -07:00
ciregenz 49dfab9eb9 [eric] tool-ui: validation bounces return plain content, not isError, so they persist and dead asks can demote 2026-08-10 17:32:53 -07:00
ciregenz 4cf0971693 [eric] tool-ui: asks pair by tool_use_id, early clicks held, stops release waits, dead asks go quiet 2026-08-10 14:45:11 -07:00
ciregenz 784b33c15a [eric] web: bing + brave join the keyless race behind ddg; bing went 50/50 on the burst that tripped both ddg and brave 2026-08-10 14:02:42 -07:00
ciregenz 366f74f688 [eric] browser: the first-message fast path learns which integrations are natively connected, so a Slack ask stops opening a browser when Slack tools exist 2026-08-10 08:18:59 -07:00
ciregenz 263ce73b05 [eric] release: 1.7.6 release notes + the spawn-env test learns the auto-memory kill switch, so the pre-tag gates go green 2026-08-10 08:15:38 -07:00
ciregenz 97d0c7a8ef [eric] apps: an app nobody is editing serves its built bundle with no dev-server process (~270MB -> ~0), vite reboots the moment an agent binds or the dist goes stale 2026-08-09 16:53:14 -07:00
ciregenz b47ad9c60f [eric] agents: active time is stall-capped inter-event work, so one wedged turn can't book 54 hours of 'agent time' 2026-08-09 14:08:34 -07:00
ciregenz 3c2aeb8fa7 [eric] apps: runtime status carries ready + serving_url, so 'spawned' and 'actually serving' stop being the same claim 2026-08-09 12:51:12 -07:00
ciregenz 14d4a71e15 [eric] agents: a TLS certificate failure is non-transient and says so, instead of burning 335s of retries on a broken cert chain 2026-08-09 12:51:02 -07:00
ciregenz 95a41451b3 [eric] apps: grant identity is server-derived only (minted per-app tokens + serve-path referer), forged ids refused, grant dialogs queue 2026-08-09 11:47:27 -07:00
ciregenz 0688c85607 [eric] apps: apps can call the user's connected tools behind a per-app grant gate (approval card, deny-by-default, Origin-derived identity) 2026-08-09 08:52:36 -07:00
ciregenz 0592437941 [eric] memory: agents get MemoryRead/MemoryWrite (atomic batch, overflow-consolidate protocol) and the prompt block freezes per session, hermes-agent style 2026-08-09 08:52:30 -07:00
ciregenz 4ac57967ff [eric] agents: the last silent-quit nudge demands a text answer instead of more work, and an exhausted budget says so in the chat 2026-08-08 22:35:41 -07:00
ciregenz c9840eb00b [eric] hardening: legacy pre-collapse tool ids canonicalize to core, and the docked mini gets a load listener plus a 1s belt so a silent layout shift can't strand it 2026-08-08 20:48:47 -07:00
ciregenz 4faba74d55 [eric] agents: every builtin tool server rides ONE process per chat, and the gate enumerates its grants instead of wildcarding 2026-08-08 12:59:50 -07:00