Prune Current state to a lean post-Phase-3 snapshot

This commit is contained in:
Keysat
2026-06-15 23:21:32 -05:00
parent 28c974fe1d
commit 4204b82c6b
+13 -26
View File
@@ -202,33 +202,20 @@ once" is not done.
## Current state
- **Live on the Spark (Phases 03 + 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 03 + 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).