Commit Graph
2258 Commits
Author SHA1 Message Date
ciregenz 6974c342f5 [eric] runner: document the deploy, the control-plane env contract and the three wall-clock walls 2026-07-31 18:04:02 -07:00
ciregenz 09517862fd [eric] runner: the app is live on its own isolated network, and its wall-clock cap moves into the image 2026-07-31 17:31:21 -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 32d742813a [eric] merge eric/dangling-refs-lint: a cross-entity id field must declare what it points at 2026-07-31 17:19:53 -07:00
ciregenz 7761d716b1 [eric] browser: a read-only directive can never be a publish task, so probes stop reporting failure 2026-07-31 17:16:50 -07:00
ciregenz ebdc8575b2 [eric] merge eric/app-orphans: a second app instance was classified as a dead app and torn off the canvas 2026-07-31 17:14:58 -07:00
ciregenz ee12b4955a [eric] linter: collapse the dangling-refs comments to one line each 2026-07-31 17:14:16 -07:00
ciregenz e350802a26 [eric] workflows: a record the loader drops now names itself instead of vanishing in silence 2026-07-31 17:13:59 -07:00
ciregenz bd3751ac25 [eric] apps: extra instances of an app were pruned off the canvas as orphans on every open 2026-07-31 17:13:59 -07:00
ciregenz e67cf863ff [eric] linter: match dangling-refs exception globs with posix paths so the check holds on Windows 2026-07-31 17:12:24 -07:00
ciregenz 2e9aa68edc [eric] linter: document dangling-refs in the linter README 2026-07-31 17:10:56 -07:00
ciregenz 27e1ef2f06 [eric] linter: wire dangling-refs in, grandfathering the 32 pre-existing fields per field not per file 2026-07-31 17:10:56 -07:00
ciregenz 14389e1cf5 [eric] linter: dangling-refs check, a new *_id field on a backend model must declare its target 2026-07-31 17:10:56 -07:00
ciregenz d3e590f385 [eric] linter: entity-reference registry naming what every cross-entity id field points at 2026-07-31 17:10:56 -07:00
ciregenz ab8609a0ca [eric] workflows: null session pointers whose session is gone, so a loss renders as empty not blank 2026-07-31 17:01:04 -07:00
ciregenz 95006713c6 [eric] workflows: purge takes the workflow's own chats with it, and spares the chat it was born from 2026-07-31 17:01:04 -07:00
ciregenz bdb5f68bc0 [eric] merge eric/browser-index-leak: stop the browser sub-agent relaying raw element indices to the user 2026-07-31 15:59:52 -07:00
ciregenz b61a653180 [eric] updater: name the failures a user can fix instead of telling them to try again later 2026-07-31 15:59:34 -07:00
ciregenz 292d87afa2 [eric] browser: test the element-index leak fix and pin the renderer's row template 2026-07-31 15:58:49 -07:00
ciregenz ec4a044b0b [eric] browser: strip the click-by-index element rows from anything a human reads 2026-07-31 15:58:49 -07:00
ciregenz 1fec4a57b2 [eric] tools: ship ExitWorktree alongside EnterWorktree, an Enter with no Exit strands the agent 2026-07-31 15:57:55 -07:00
ciregenz 50a8424038 [eric] tools: hard-deny the between-turn tools whose callback nothing ever consumes 2026-07-31 15:57:55 -07:00
ciregenz b4dd37ea21 [eric] browser: one source for the field flash, so intent and outcome cannot drift 2026-07-31 15:54:04 -07:00
ciregenz e4f917a8c6 [eric] workflows: enforce a frozen Actions tool set at launch, it was computed and then discarded 2026-07-31 15:52:01 -07:00
ciregenz 61d824b14f [eric] merge eric/cloud-runs: headless backend, ephemeral runner, credential custody 2026-07-31 15:42:25 -07:00
ciregenz 99642c3be6 [eric] browser: flash a field green when its value is verified, red when it never landed 2026-07-31 15:34:29 -07:00
ciregenz 91982a2278 [eric] apps: name the user's apps when none is selected, so the agent can point at the selection step instead of denying they exist 2026-07-31 15:29:07 -07:00
ciregenz a9da551425 [eric] browser: show a failed step as failed in the live overlay, with per-step timestamps 2026-07-31 14:33:16 -07:00
ciregenz b5d0461828 [eric] backend: queue messages typed mid-turn and replay them when the turn ends 2026-07-31 14:21:47 -07:00
ciregenz e9eb7a1b81 [eric] backend: surface error-shaped ResultMessages as failed turns instead of silent successes 2026-07-31 14:17:17 -07:00
ciregenz bf0c859fd4 [eric] workflows: fix three broken session_store imports left by the underscore migration 2026-07-31 14:14:13 -07:00
ciregenz 61d79ce5d0 [eric] backend: boot restore keeps session files on disk instead of unlinking them 2026-07-31 14:13:01 -07:00
ciregenz dcaf655b14 [eric] browser: measure browser time where the commands actually run, not from 18 self-reports 2026-07-31 14:00:19 -07:00
ciregenz 02cda4c47a [eric] security: mirror the executor sandbox gate into the public edge, with a drift test 2026-07-31 13:47:11 -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 345000e8dc [eric] credentials: hand custody to the cloud strip-first, so two rotators is unrepresentable 2026-07-31 13:12:11 -07:00
ciregenz c9c25542b9 [eric] browser: never click a disabled submit, and turn the structural composer finder on 2026-07-31 13:03:59 -07:00
ciregenz d542b1814b [eric] browser: fill a custom editor with real keystrokes when synthetic input is ignored 2026-07-31 13:03:58 -07:00
ciregenz 2c63367ae0 [eric] browser: a signed-in page is not a login wall just because it says sign in 2026-07-31 13:03:58 -07:00
ciregenz 0cf7d111c2 [eric] browser: rank a submit control instead of exact-matching a closed label set 2026-07-31 13:03:58 -07:00
ciregenz c0a0993ca2 [eric] credentials: move a rotating token out of 9router's db.json without racing the router for the file 2026-07-31 13:00:11 -07:00
ciregenz 475a76ce68 [eric] runner: keep the developer's backend/.env out of the image and fail the build if one ever lands 2026-07-31 12:47:49 -07:00
ciregenz 2cc6bc017f [eric] runner: ephemeral cloud container that boots the backend, runs one workflow, and exits 2026-07-31 12:44:35 -07:00
ciregenz e70cc5bf59 [eric] backend: headless mode drops the renderer-bound tools and denies approvals instantly 2026-07-31 12:02:29 -07:00
ciregenz 3d8c6101b6 [eric] security: make the 9router state dir owner-only, its db.json held live tokens at 0644 2026-07-31 11:44:24 -07:00
ciregenz 6f32861b41 [eric] workflows: add execution_target so the local scheduler never fires or rolls a cloud-hosted timer 2026-07-31 11:42:52 -07:00
ciregenz 258d0c7573 [eric] backend: let OPENSWARM_DATA_ROOT point the data dir at a container volume 2026-07-31 11:42:52 -07:00
ciregenz 5d8bf4102e [eric] browser: only a verified delivery teaches a write skill, not a resend guard 2026-07-31 02:44:34 -07:00
ciregenz a1c6c710eb [eric] browser: reddit clears its composer without posting, so treat it as a ghost-drop host 2026-07-31 02:37:07 -07:00