Record intake-bot containerization; log parse fix, card handoff, and repo-extraction follow-ons
Bot now runs as a docker-compose service on the Spark (verified live, listening). Docs (matrix-intake guide ops, ROADMAP, AGENTS Current state) updated. Also logs the live-smoke parse bug (teammate read as investor -> team-roster fix), the spark-control dashboard-card handoff, and the long-term dedicated-repo extraction.
This commit is contained in:
@@ -134,14 +134,21 @@ rows ≥ `min_score` (0.62), ranked, capped at 5:
|
||||
|
||||
## Deployment & ops
|
||||
|
||||
- **Runs on the Spark** (SSH alias `modelo32`, host `spark-32d0`): repo at
|
||||
`/home/modelo/ten31-database`, deps in a venv (`.venv`; only `matrix-nio`). Launched detached:
|
||||
`nohup ./.venv/bin/python backend/matrix_intake/bot.py >/tmp/intake-bot.log 2>&1 &`, pid in
|
||||
`/tmp/intake-bot.pid`; startup logs `listening as … in room …`.
|
||||
- **Restart after a `git pull` of bot code:** `kill $(cat /tmp/intake-bot.pid)`, relaunch as
|
||||
above, re-write the pid. A restart **drops in-memory pending proposals** (re-send to recover).
|
||||
- **NOT a managed service yet** — won't survive a Spark reboot; restart-on-boot (systemd) is an
|
||||
open TODO.
|
||||
- **Runs on the Spark as a docker container** (`matrix-intake`), since 2026-06-17 — SSH alias
|
||||
`modelo32`, host `spark-32d0`, repo clone at `/home/modelo/ten31-database`. Defined by
|
||||
`docker-compose.yml` at the repo root + `backend/matrix_intake/Dockerfile`. The image bundles
|
||||
`backend/matrix_intake/` **and** `backend/ingest/` (spark.py reaches into the latter's stdlib
|
||||
Spark client via sys.path); `.env` is mounted read-only at `/app/.env`. `network_mode: host`
|
||||
so it reaches Matrix, the CRM, and Spark Control. Startup logs `listening as … in room …`.
|
||||
- **Survives a Spark reboot** via `restart: unless-stopped` — the durability fix that retired the
|
||||
old bare `nohup` launch. (The previous nohup method + `/tmp/intake-bot.pid` are gone.)
|
||||
- **Deploy / update after a `git pull`:** `cd /home/modelo/ten31-database && git pull && docker
|
||||
compose up -d --build`. **Logs:** `docker logs -f matrix-intake`. **Restart:**
|
||||
`docker restart matrix-intake`. **Stop:** `docker compose down`. A restart still **drops
|
||||
in-memory pending proposals** (re-send to recover).
|
||||
- **Not yet a spark-control dashboard card.** The container is managed via `docker`/SSH today; a
|
||||
managed card (Update/Restart/Stop/Logs tile, like `matrix-bridge`) is a separate spark-control
|
||||
task — see `docs/handoffs/add-intake-bot-to-spark-control.md`.
|
||||
- **Server-side endpoints ship in the s9pk, not the bot.** `GET /api/intake/match` and the
|
||||
`source` provenance on `log-communication` live in `backend/server.py`, so they reach the box
|
||||
only via an **s9pk build + install** — a bot restart won't deliver them. (Missed in v83: the
|
||||
|
||||
Reference in New Issue
Block a user