This website requires JavaScript.
45df9aaa20
review 288679af : the sudo fix is right, its markers collide with the paths
pastilhas and Claude Opus 5
2026-08-11 22:17:56 +00:00
288679af09
one sudo call for both agent-status answers, not two
pastilhas and Claude Opus 5
2026-08-11 22:14:21 +00:00
f4dc46d67a
review fb2c5c28..6b7aad91: both guards fire now, one aggregate cost noted
pastilhas and Claude Opus 5
2026-08-11 22:12:40 +00:00
6b7aad91db
make both env guards able to fire, and follow the symlink
pastilhas and Claude Opus 5
2026-08-11 22:10:34 +00:00
06bfcf9556
Merge remote-tracking branch 'pertento/sidecar-app-store' into sidecar-app-store
pastilhas
2026-08-11 22:08:16 +00:00
2bd96a9a98
tell a member why their agent is not working, instead of 403
pastilhas and Claude Opus 5
2026-08-11 21:58:18 +00:00
fb2c5c28cb
correct my own advice: the subset check cannot fire either
pastilhas and Claude Opus 5
2026-08-11 21:57:54 +00:00
6a85ca5d1f
the binary check that was a comment, and a guard that could fire
pastilhas and Claude Opus 5
2026-08-11 21:51:18 +00:00
6cd462caf6
close §4: officer_jg has no users row, and the adoption rule held
pastilhas and Claude Opus 5
2026-08-11 21:43:48 +00:00
f09385c789
reply from the live server: the bind mount runs, and 711 is not what fixed it
pastilhas and Claude Opus 5
2026-08-11 21:40:09 +00:00
ed52faae02
correct two claims about agents that the SDK disproves
pastilhas and Claude Opus 5
2026-08-11 21:33:19 +00:00
701933d30d
commit and push when it goes wrong too
pastilhas and Claude Opus 5
2026-08-11 21:32:21 +00:00
62e98dff2e
a member's claude is their own binary and their own login
pastilhas and Claude Opus 5
2026-08-11 21:32:15 +00:00
48ed171b38
point CLAUDE.md at COMMS, so a new session finds it without being told
pastilhas and Claude Opus 5
2026-08-11 21:09:46 +00:00
10fe3ffe65
COMMS/sidecar-app-store: a tracked channel between agents
pastilhas and Claude Opus 5
2026-08-11 21:04:38 +00:00
401dcb710c
a blessed directory for container bind mounts
pastilhas and Claude Opus 5
2026-08-11 20:54:39 +00:00
f0af7237db
terminal, chat and files are granted by default; permissions screen simplified
pastilhas and Claude Opus 5
2026-08-11 20:25:31 +00:00
aaeb3424ab
the rootless docker fix is proven; correcting the record
pastilhas and Claude Opus 5
2026-08-11 20:20:49 +00:00
3bea46f2d7
rootless docker per member — provisioning works, running a container does not yet
pastilhas and Claude Opus 5
2026-08-11 20:01:17 +00:00
71589aee99
a member's terminal looks like the owner's
pastilhas and Claude Opus 5
2026-08-11 19:43:55 +00:00
e4acf19a35
Merge remote-tracking branch 'gitea/master' into sidecar-app-store
pastilhas
2026-08-11 19:10:52 +00:00
4d4a253f72
terminal runs as the member; chat is grantable and still refused
pastilhas and Claude Opus 5
2026-08-11 19:03:00 +00:00
eda004a46d
a naked platform does not describe what it does not have
pastilhas and Claude Opus 5
2026-08-11 18:51:41 +00:00
b4f88ec161
routes refuse at the route, and a new home is empty
pastilhas and Claude Opus 5
2026-08-11 18:42:39 +00:00
4b058a6703
fix the sign-out reload loop I shipped an hour ago
pastilhas and Claude Opus 5
2026-08-11 18:34:13 +00:00
d3bed0add9
the file browser can actually read a member's home, and plans is gone
pastilhas and Claude Opus 5
2026-08-11 18:29:36 +00:00
6b4fed68fd
gitea leaves the baseline and becomes an app-store install
pastilhas and Claude Opus 5
2026-08-11 18:17:47 +00:00
e393d0f5c2
a member's screens render, and the shell stops asking for things it cannot have
pastilhas and Claude Opus 5
2026-08-11 18:13:03 +00:00
2c9d4e55aa
retry a linux account in place instead of deleting the person
pastilhas and Claude Opus 5
2026-08-11 17:58:46 +00:00
ea0d2396f7
linux accounts use the chosen username, and refuse to take one over
pastilhas and Claude Opus 5
2026-08-11 17:46:01 +00:00
0281ca62d2
a deleted or blocked account loses its session on the next request
pastilhas and Claude Opus 5
2026-08-11 17:38:02 +00:00
4d513c0e13
files, for a member, in their own home
pastilhas and Claude Opus 5
2026-08-11 17:34:31 +00:00
0fb9a29e64
ssh for a member's linux account, both directions
pastilhas and Claude Opus 5
2026-08-11 17:02:33 +00:00
5c7ceb2283
per-user linux accounts, stage 1: the account and the privilege drop
pastilhas and Claude Opus 5
2026-08-11 15:38:32 +00:00
69a31051ac
the owner can create accounts
pastilhas and Claude Opus 5
2026-08-11 15:15:09 +00:00
f67bb44b7e
fold the upstream source reading into the assessment
pastilhas and Claude Opus 5
2026-08-11 04:21:17 +01:00
d86d3ed1c0
assess opencode's newer api, and find two live defects while doing it
pastilhas and Claude Opus 5
2026-08-11 04:17:33 +01:00
801eba9284
say which harness owns a chat row, on both kinds
pastilhas and Claude Opus 5
2026-08-11 02:43:14 +01:00
adaaba658c
list opencode sessions from every project, not just the serve's own
pastilhas and Claude Opus 5
2026-08-11 02:41:24 +01:00
9d2da49572
re-land the client half: hold the socket across a remount, and queue what was typed
pastilhas and Claude Opus 5
2026-08-11 02:00:31 +01:00
d9857eef7c
re-land: deliver a chat turn to every socket watching it, not the newest one
pastilhas and Claude Opus 5
2026-08-11 01:57:04 +01:00
b89a562614
back out tonight's socket changes
pastilhas and Claude Opus 5
2026-08-11 00:31:04 +01:00
66a41d0813
reclaim a connecting socket instead of orphaning it
pastilhas and Claude Opus 5
2026-08-11 00:20:30 +01:00
bc13450fad
stop closing the chat socket on every remount, again
pastilhas and Claude Opus 5
2026-08-11 00:12:13 +01:00
31ffe084f5
revert the second server too: one officer, one token, this origin
pastilhas and Claude Opus 5
2026-08-10 23:37:02 +01:00
52d567874f
authenticate the chat socket the same way every request is authenticated
pastilhas and Claude Opus 5
2026-08-10 23:33:45 +01:00
0a4ff548b9
revert the chat tabs and panes work, back to one conversation
pastilhas and Claude Opus 5
2026-08-10 23:29:18 +01:00
7726c9fc71
let every client watching a chat receive it, not the newest one
pastilhas and Claude Opus 5
2026-08-10 23:12:35 +01:00
cb7ab55cca
stop asking what was playing, and say what the socket is doing
pastilhas and Claude Opus 5
2026-08-10 22:33:56 +01:00
bcb3d6d621
stop closing the chat socket on every remount
pastilhas and Claude Opus 5
2026-08-10 22:29:59 +01:00
907ac46eec
write down where the remote pane socket bug stands
pastilhas and Claude Opus 5
2026-08-10 22:25:41 +01:00
243bd04d97
queue what you typed before the socket was ready
pastilhas and Claude Opus 5
2026-08-10 22:16:53 +01:00
4b3668f03c
make a pane actually open the conversation you clicked
pastilhas and Claude Opus 5
2026-08-10 22:06:09 +01:00
80d66538c2
fix the render loop I was warned about in the file I edited
pastilhas and Claude Opus 5
2026-08-10 21:51:04 +01:00
2d1fc05518
browse the directories of the server the pane is on
pastilhas and Claude Opus 5
2026-08-10 21:47:38 +01:00
8bab607366
name a chat tab, and let that name win the page title
pastilhas and Claude Opus 5
2026-08-10 21:36:44 +01:00
a19895c216
tabs and panes: several conversations, several machines, one window
pastilhas and Claude Opus 5
2026-08-10 21:17:01 +01:00
ec4f06a313
write down how an agent could commit as itself
pastilhas and Claude Opus 5
2026-08-10 19:31:03 +00:00
b7184283e0
app store: a screen, so this can be clicked instead of curled
pastilhas and Claude Opus 5
2026-08-10 19:17:48 +00:00
dd2be8c8b3
app store: never assume a service is local, or on its usual port
pastilhas and Claude Opus 5
2026-08-10 19:12:06 +00:00
2ef4efd39b
app store: ask before repointing a service that is already connected
pastilhas and Claude Opus 5
2026-08-10 19:07:57 +00:00
dc6b623ee1
talk to two officers at once from one browser
pastilhas and Claude Opus 5
2026-08-10 20:06:35 +01:00
e83585dd42
app store: containers follow the sidecar through enable, disable and uninstall
pastilhas and Claude Opus 5
2026-08-10 19:02:40 +00:00
45e3e86d72
write down what to test, and what is most likely broken
pastilhas and Claude Opus 5
2026-08-10 19:34:48 +01:00
a3dbda7d3b
phase D: delete the subprocess path
pastilhas and Claude Opus 5
2026-08-10 19:33:58 +01:00
82e9fdacc2
dock: the shell keeps its own items, sidecars contribute theirs
pastilhas and Claude Opus 5
2026-08-10 18:32:16 +00:00
b79eca45fb
send images on the serve path too, before anyone switches to it
pastilhas and Claude Opus 5
2026-08-10 19:25:48 +01:00
209e916343
app store: publish a sidecar's assets to public/plugins/<id>/
pastilhas and Claude Opus 5
2026-08-10 18:20:46 +00:00
a058cbb3fd
inject a mid-turn message instead of replacing the turn
pastilhas and Claude Opus 5
2026-08-10 19:17:26 +01:00
9084fabbf6
app store: note where a real PNG icon's bytes will have to live
pastilhas and Claude Opus 5
2026-08-10 18:17:05 +00:00
27c1331b3c
app store: a sidecar carries its own dock tile and routes, and an uninstalled one has neither
pastilhas and Claude Opus 5
2026-08-10 18:15:40 +00:00
a06422bd4c
phase B: run a turn through the serve, behind a switch
pastilhas and Claude Opus 5
2026-08-10 19:12:49 +01:00
feb9010097
phase A: map the serve event stream, routed nowhere
pastilhas and Claude Opus 5
2026-08-10 18:33:33 +01:00
38ebe168f0
retire two phantom gaps, and plan the migration
pastilhas and Claude Opus 5
2026-08-10 18:27:23 +01:00
86fd03b35b
say a missing opencode binary out loud instead of hanging
pastilhas and Claude Opus 5
2026-08-10 18:16:37 +01:00
35970146bb
connect the opencode credential at sidecar boot
pastilhas and Claude Opus 5
2026-08-10 18:03:04 +01:00
ecb9025f8f
the fork blocker was a missing credential, not an upstream bug
pastilhas and Claude Opus 5
2026-08-10 17:37:07 +01:00
6e9a8ee42f
let the extension use the bare officer url, no path
pastilhas and Claude Opus 5
2026-08-10 17:27:57 +01:00
f2e38ed9a7
serve vaultwarden at officer own host, without officer auth
pastilhas and Claude Opus 5
2026-08-10 17:23:28 +01:00
b07cae142f
adopt on a resume even when the harness is a guess
pastilhas and Claude Opus 5
2026-08-10 17:03:17 +01:00
ecc10ae6af
name a live opencode row from the prompt until opencode names it
pastilhas and Claude Opus 5
2026-08-10 17:00:13 +01:00
90e0ca8ab4
stop showing opencode placeholder titles as if they were names
pastilhas and Claude Opus 5
2026-08-10 16:56:07 +01:00
f0aa6dbf4b
record that images are done and were never fork-gated
pastilhas and Claude Opus 5
2026-08-10 16:49:52 +01:00
73b8111216
send images to opencode, which never needed the fork
pastilhas and Claude Opus 5
2026-08-10 16:49:39 +01:00
ba71dc1957
app store: make it work — pm2, install state, and the routes
pastilhas and Claude Opus 5
2026-08-10 13:55:11 +00:00
a41abb4b0f
characterise the fork blocker: only free models run
pastilhas and Claude Opus 5
2026-08-10 14:50:12 +01:00
4b9b98efda
app store: run a sidecar's setup.sh, streaming it and collecting what it returns
pastilhas and Claude Opus 5
2026-08-10 13:20:36 +00:00
4a03b9f84e
app store: the install step machine, resumable and testable without docker
pastilhas and Claude Opus 5
2026-08-10 13:15:33 +00:00
b197c2aeba
app store: settle the lifecycle — disable stops the container, uninstall keeps the schema
pastilhas and Claude Opus 5
2026-08-10 13:11:01 +00:00
936b96a36e
app store: uninstall removes containers and never data
pastilhas and Claude Opus 5
2026-08-10 13:08:49 +00:00
ee38257856
app store: make member provisioning a mechanism, not an install-time loop
pastilhas and Claude Opus 5
2026-08-10 12:57:04 +00:00
890f57a7a6
app store: compose templates and their setup scripts, with two proven end to end
pastilhas and Claude Opus 5
2026-08-10 12:44:47 +00:00
7359867f7f
app store: check the host before writing anything
pastilhas and Claude Opus 5
2026-08-10 12:35:36 +00:00
654cb10711
app store: put provisioned containers under the officer root, not the user's
pastilhas and Claude Opus 5
2026-08-10 12:29:03 +00:00
fc48a572d2
app store: the catalogue, the install-state table, and what phase 0 must not foreclose
pastilhas and Claude Opus 5
2026-08-10 12:24:13 +00:00
977d14922f
email: migrate the sync position per key, not all-or-nothing
pastilhas and Claude Opus 5
2026-08-10 13:42:30 +00:00
539aeca7ec
reverse the fork decision: the pipeline works, my probe did not
pastilhas and Claude Opus 5
2026-08-10 14:42:05 +01:00
0c90216c7a
email: keep an account's sync position inside its own emails.db
pastilhas and Claude Opus 5
2026-08-10 13:35:27 +00:00
41663bc207
decide the phase 2 fork: turns stay on opencode run
pastilhas and Claude Opus 5
2026-08-10 14:15:34 +01:00
9118a9f76c
name the live opencode rows
pastilhas and Claude Opus 5
2026-08-10 13:42:15 +01:00