Commit Graph
2100 Commits
Author SHA1 Message Date
ciregenz dad66c9b20 [eric] workflows: History shows cloud runs, their cost, and why one never started 2026-07-31 23:39:46 -07:00
ciregenz f8f043dea1 [eric] workflows: choose where a schedule runs, next to the schedule, with the reason it cannot go up 2026-07-31 23:39:45 -07:00
ciregenz a828496c15 [eric] tests: the cloud handover, its refusals, and what the cloud copy is allowed to carry 2026-07-31 23:39:36 -07:00
ciregenz d3b76bcb05 [eric] workflows: trashing a cloud-hosted workflow stops the cloud copy first, or refuses and says why 2026-07-31 23:39:36 -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 d756ad9897 [eric] tests: isolate the session dir, my fixtures were writing transcripts into the real data folder 2026-07-31 21:38:26 -07:00
ciregenz 5e99bb7943 [eric] merge eric/e2e-qa: a dead backend no longer greets a configured user as new, and a restart stops relabelling finished chats 2026-07-31 21:35:05 -07:00
ciregenz f2b3bf0cd3 [eric] settings: a dead backend greeted a configured user as new and tried to sell them a subscription 2026-07-31 21:33:00 -07:00
ciregenz 37ba03316c [eric] workflows: header counted 0 over a real workflow, monitor claimed a schedule while paused, restore lost run history 2026-07-31 21:32:52 -07:00
ciregenz 05132c7ace [eric] workflows: retire the previous test chat, five tests left five orphan cards and five leaked transcripts 2026-07-31 21:32:52 -07:00
ciregenz 66c5f7bb53 [eric] agents: a restart relabelled every finished chat stopped and hung a Resume button off it 2026-07-31 21:32:39 -07:00
ciregenz d2cc316130 [eric] canvas: floor the boot fit, a restored dashboard came back at 29% with nothing readable 2026-07-31 21:32:39 -07:00
ciregenz a926d63abe [eric] island: stop counting the workflow Edit Agent as one of the user's finished agents 2026-07-31 21:32:27 -07:00
ciregenz 6f67c44f53 [eric] linter: grandfather AgentChat/parsing, it crossed the folder cap with the narration classifier 2026-07-31 20:32:51 -07:00
ciregenz 078bdd2a87 [eric] merge eric/quality-fixes: tidy actually tidies, the hero box wraps, finishing looks finished 2026-07-31 20:31:01 -07:00
ciregenz fa62c4c536 [eric] canvas: Tidy was beheading expanded cards and sliding the first column under the dock 2026-07-31 20:28:40 -07:00
ciregenz 888bbb5cf2 [eric] canvas: keep the tidy column helper file-local, nothing outside imports it 2026-07-31 20:24:27 -07:00
ciregenz 392e1f0330 [eric] dock: split the four fixed action tiles out, DesktopDock had crossed the 300-line cap 2026-07-31 20:22:12 -07:00
ciregenz 1426f6e409 [eric] ui: four hand-rolled empty states now use the shared EmptyState, which had zero callers 2026-07-31 20:16:02 -07:00
ciregenz 5a66b708b8 [eric] dock: agent tiles had no accessible name and a browser tile's hover card was an unlabeled screenshot 2026-07-31 20:05:51 -07:00
ciregenz de926fd16f [eric] agents: a finished run said so by DELETING the word working and turning the cost orange 2026-07-31 20:02:50 -07:00
ciregenz 83408a1c09 [eric] dashboard: the hero prompt box was a one-line input, a 280-char prompt showed its last 65 characters 2026-07-31 19:56:15 -07:00
ciregenz c7e5de2dfa [eric] canvas: Tidy layout left you at 41% with a 2-wide ribbon, it now grids to the screen and frames it readable 2026-07-31 19:51:27 -07:00
ciregenz 29f33b6821 [eric] canvas: stop the spawn camera ratcheting out forever, it reached 18% and nothing was readable 2026-07-31 19:29:39 -07:00
ciregenz aef1b69f76 [eric] merge eric/cloud-browser: the runner drives a real browser under Xvfb, so cloud runs match local 2026-07-31 19:06:24 -07:00
ciregenzandClaude Opus 5 aa372dee13 [eric] runner: boot the real Electron shell under Xvfb so a cloud run drives a real browser
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015q1TVSLNNsXAoyM7sJuVKP
2026-07-31 19:01:10 -07:00
ciregenzandClaude Opus 5 949655e86c [eric] backend: browser tools follow whether a renderer is attached, not the headless flag
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015q1TVSLNNsXAoyM7sJuVKP
2026-07-31 19:01:03 -07:00
ciregenz fef84dd448 [eric] chat: stop filing the answer as tool chrome, only short unstructured narration folds into the group 2026-07-31 18:49:23 -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 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 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 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