From 4204b82c6bdcd2fbd426f53fecf3aaf37d35df4c Mon Sep 17 00:00:00 2001 From: Keysat Date: Mon, 15 Jun 2026 23:21:32 -0500 Subject: [PATCH] Prune Current state to a lean post-Phase-3 snapshot --- AGENTS.md | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f2f26aa..a08f06d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -202,33 +202,20 @@ once" is not done. ## Current state -- **Live on the Spark (Phases 0–3 + ask mode).** matrix-nio bot in a Docker container - (`~/matrix-bridge`, now a Gitea clone tracking `master`): host networking, `restart: unless-stopped`, +- **Live on the Spark; Phases 0–3 + ask mode all DONE.** matrix-nio bot in a Docker container + (`~/matrix-bridge`, a Gitea clone tracking `master`): host networking, `restart: unless-stopped`, read-only mounts of `.env`/`config.toml`/SSH key. Runs as `@agent` in 11 project rooms + an - all-projects fan-out room. Both modes proven — interactive (plain msg → phone via Remote Control) - and ask (`?`-prefix → full answer posted back; D12). -- **Phase 2 — DONE** (owner-confirmed N=3: routes by `room_id`, correct repo, zero wrong-dir launches). -- **Phase 3 (Spark Control) — DONE (2026-06-16), shipped in Spark Control v0.21.0.** matrix-bridge - tile under "Always-on services": live status badge + Update / Restart / Stop-Start / View-logs - buttons, running exactly the spec's commands (`docker inspect` status, `docker restart`, the - `git fetch && git reset --hard origin/master && docker compose up -d --build` update streamed live - with a ~25-min ceiling, `docker logs --tail 100`). All three exit criteria confirmed (status visible - + reflects container, update works, restart works). matrix-bridge needed no code change. Deviation: - connects **directly as `modelo`** (no `sudo -iu` wrap — no passwordless sudo here, so the spec's - different-user branch never applies); tile auto-hides when its SSH-user field is blank or the - container is absent. A LAN-only HTTP API also exists if scripting is ever wanted: - `POST /api/matrix-bridge/update` (+ `/{id}/stream` SSE), `GET /api/matrix-bridge/logs?tail=N`, - status via `GET /api/services`. -- **Open / risks:** - - **Badge = container liveness only, not Matrix connectivity** — a `running` bot disconnected from - Synapse still shows Healthy. Clean fix when "running but silent" bites: a Docker `HEALTHCHECK` - (bot-side liveness signal) so the tile can read `{{.State.Health.Status}}` — a matrix-bridge-side - change; then ping the Spark Control dev to read the health field. - - **Update button depends on modelo's Gitea ssh-config pin** (`IdentitiesOnly yes`, see Infra - facts) — flag it if modelo's account is ever rebuilt. + all-projects fan-out room. Interactive (plain msg → phone) and ask (`?`-prefix → answer posted + back; D12) both proven. Phase 2: owner-confirmed N=3 routing. +- **Phase 3 (Spark Control) shipped 2026-06-16 in v0.21.0:** status badge + Update / Restart / + Stop-Start / Logs tile; the Spark's dir is now a Gitea clone and deploy = the Update button. + Detail in ROADMAP + `docs/spark-control-integration.md`; no matrix-bridge code change. +- **No active build work.** Next moves are all optional / triggered: + - Badge reflects container liveness only, not Synapse connectivity — add a Docker `HEALTHCHECK` + (bot-side liveness signal → read `{{.State.Health.Status}}`) when "running but silent" bites. - A `?`-ask in a repo `claude` has never opened may stall on the folder-trust gate — add a trust flag to `ask-claude.sh` if/when hit, not preemptively. - - Cosmetic: a fast `docker restart` won't visibly flip the badge red (panel re-checks status only - after the command returns, container already back up); a full `docker stop` turns it red within - ~5s. Polling cadence, not a bug. + - Phase 4+ (intent-routing brain D8, thread continuity) — see ROADMAP; not scoped. +- **Watch:** the Update button depends on modelo's Gitea ssh-config pin (`IdentitiesOnly yes`, see + Infra facts) — flag it if that account is ever rebuilt. - **Repo:** `master` == `phase-1`, clean, pushed to Gitea. No test suite (pre-existing).