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
|
d365f73744
|
[eric] browser: bound capturePage so a wedged screenshot fails honestly instead of hanging the command
|
2026-07-31 19:52:56 -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
|
c826d2b614
|
[eric] browser: a slow command reports whether the wait was before its handler or inside it
|
2026-07-31 18:43:20 -07:00 |
|
ciregenz
|
615d00e5f3
|
[eric] dashboard: a collapsed card's tool output sizes to its content, stays clickable, and drag-resizes
|
2026-07-31 18:10:09 -07:00 |
|
ciregenz
|
50dc2a1f8b
|
[eric] settings: the three interface toggles read as labeled options, not bare switches
|
2026-07-31 18:10:09 -07:00 |
|
ciregenz
|
c32ec45aa8
|
[eric] settings: mouse wheel can scroll instead of zoom on the canvas
|
2026-07-31 18:10:09 -07:00 |
|
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 |
|