148 Commits
Author SHA1 Message Date
ciregenz fd14cb3bdb [eric] apps: a preview whose dev server never binds shows an honest failure card with retry instead of spinning Starting preview forever (Alex's report) 2026-08-19 14:07:30 -07:00
ciregenz 82a9860eaa [eric] agents: pip installs stop no-oping (bundle PYTHONPATH shadow stripped from agent env) and agents self-serve deps instead of nagging (ENG-347) 2026-08-18 19:04:56 -07:00
ciregenz 61521453bb [eric] apps: template unclamps vertical scroll; body overflow:hidden was written for the splash and clipped every taller app (ENG-349) 2026-08-18 19:04:38 -07:00
ciregenz 52f5d145b3 [eric] publish: a webapp bundle now carries its own backend and a runspec so the hosted copy can run its real API (ENG-293) 2026-08-17 13:42:45 -07:00
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 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 353b662226 [eric] apps: runtime/status carries the boot narration tail so a wedged boot names itself (ENG-305) 2026-08-14 11:59:32 -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 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 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 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 d7ed3cda2d [eric] apps: the template vite config loads as ESM (.mts) and deps ride a vendored lockfile, so a fresh app boots on the bundled node 20 instead of dying on ESM-only plugins 2026-08-09 18:17:44 -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 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 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 6bd3f93f07 [eric] chat: questions and tool permission asks render as the vendored tool-ui cards (question-flow + approval-card); QuestionForm extracted to kill an import cycle; registry loads the full question-flow union 2026-08-09 10:01:02 -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 02cc65632a [eric] tool-ui: repair the payload shapes agents actually emit (stat keys, step ids, receipt outcomes), so widgets render instead of quietly falling back 2026-08-09 07:48:30 -07:00
ciregenz 9541d0cf09 [eric] apps: the warm node_modules cache proves completion with a sentinel and never npm-installs on the request path, which wedged the whole backend 2026-08-08 02:14:26 -07:00
ciregenz a12047ae66 [eric] apps: the full tool-ui widget set is vendored into every app workspace behind an @toolui alias, deps exact-pinned to the host's locked versions 2026-08-08 01:22:43 -07:00
ciregenz 610ba00a9d [eric] apps: the host SDK lands, apps call the user's models, fire workflows, and spawn positioned agents through pre-wired helpers 2026-08-08 01:14:00 -07:00
ciregenz 1f3c211146 [eric] apps: generated apps default to an Apple design language, SF-first type, system blue, iOS grays, hairline structure 2026-08-08 01:05:40 -07:00
ciregenz bb906d81b8 [eric] apps: a frozen app runtime is thawed before it is reaped, so a parked ghost stops surviving every TERM we send it 2026-08-07 21:48:58 -07:00
ciregenz b537a4ed63 [eric] apps: the ghost reaper reads working directories too, so an orphaned app backend whose argv never names the workspace stops being invisible 2026-08-07 21:36:51 -07:00
ciregenz 08694d18b8 [eric] apps: the ghost reaper matches workspace paths case-insensitively, so a packaged app's openswarm vs OpenSwarm casing no longer spares orphans 2026-08-07 21:00:44 -07:00
ciregenz dfed363db7 [eric] apps: the scaffold ships a durable store and the skill forbids memory-only state, since the runtime dies on a timer 2026-08-07 20:01:06 -07:00
ciregenz dec16d78db [eric] apps: the ghost sweep fails closed, a bad ps scan or a mid-spawn race can no longer read working apps as ghosts 2026-08-07 19:54:11 -07:00
ciregenz f32bcafc01 [eric] apps: idle pool holds 6 frozen runtimes instead of 3, affordable now that the TTL bounds their lifetime 2026-08-07 19:51:25 -07:00
ciregenz 913f597656 [eric] apps: ghosts get swept every 10 minutes not just at boot, and a frozen idle runtime dies after 15 minutes instead of squatting RAM forever 2026-08-07 19:47:16 -07:00
ciregenz bb5893ff46 [eric] apps: a crash no longer leaves app runtimes running for days, boot reaps what no live backend owns 2026-08-07 14:23:25 -07:00
ciregenz d492c46f02 [eric] apps: runtimes get OPENSWARM_HOST_TOKEN_FILE (path not value) so app backends can call the host API across rotations 2026-08-06 21:39:58 -07:00
ciregenz 654e45fedf [eric] apps: publishing refuses to silently drop a generated app's FastAPI backend 2026-08-02 16:31:27 -07:00
ciregenz 2750d88988 [eric] backend: hand a workflow's schedule to the cloud, and take it back, without both timers ever being live 2026-07-31 23:39:35 -07:00
ciregenz 0f6e110a86 [eric] apps: bring back apps whose record vanished but whose work is still on disk 2026-07-31 17:31:15 -07:00
ciregenz 44f9e48c2a [eric] security: close the Output executor sandbox escape via sys, dunders and module chains 2026-07-31 13:47:02 -07:00
ciregenz f3761f61eb [eric] security: contain workspace file paths with realpath and a whole-component boundary 2026-07-31 13:46:52 -07:00
ciregenz 078daf83a1 [eric] merge: bring eric/onboarding up to date with eric/dev 2026-07-19 23:11:56 -07:00
ciregenz 5b57165aba [eric] app-builder: hide vite error overlay (no red crash screen mid-build) + MUI v7 Grid rule (Grid2 doesn't exist) 2026-07-19 17:55:49 -07:00
ciregenz 24d197eefd [eric] cleanup: delete the dead CLI-Agent hook branch (SpawnAgent route replaced it), the force-denied Cron*/no-op InvokeAgent FULL_TOOLS entries, and the unused stale-model resolve_model/MODEL_MAP 2026-07-16 17:09:00 -07:00
SirKentut f542007a3c [pierre] fix: surface app terminal + console errors to the App Builder 2026-07-10 00:37:02 -07:00
ciregenz 40d975c702 [eric] apps: fix 2nd instance on old workspaces (port shim) + dedupe header keys 2026-07-02 21:39:59 -07:00
ciregenz 30dccc3bf1 [eric] apps: CreateApp result points at SKILL.md instead of inlining the reference (no transcript rot) 2026-07-02 16:03:54 -07:00
ciregenz c0a40a4425 [eric] docs: app builder skill refers to the dashboard card, not the deleted Apps page 2026-07-02 03:21:36 -07:00
ciregenz 227bd1badc [eric] apps: fold App Builder into agents via CreateApp; delete standalone /apps page + editor 2026-07-02 03:20:52 -07:00
ciregenz 01e70fdd40 [eric] apps: restart.sh lets the agent bounce its own runtime (sentinel watched by the harness) 2026-07-02 02:48:21 -07:00