From e6da6077671e6488915c82907ea8178123867c13 Mon Sep 17 00:00:00 2001 From: Vuong Hoang Date: Thu, 24 Sep 2026 09:22:50 -0700 Subject: [PATCH] chore(task-board): mothball it; superseded by the High Seat and ledger Operator ruling 2026-09-24. On ana-docker the stack is `docker compose down`: the container is removed and port 7878 is closed. Kept for revival: - the data dir /opt/docker/conf/task-board/data (tasks.db, last written 2026-09-11) - the task-board:local image - stacks/task-board/ and the host's compose + .env The Uptime Kuma monitor (id 3) was deleted before the stop so it could not page, and its row is removed from monitors.yaml. Homepage drops the card on its own, since it reads the container's labels. Hooks: the container log showed no hook POSTs in 30 days. The only traffic was open browser tabs holding /events, and the plugin was already uninstalled on nh3-dev. Removed the paragraph that told sessions to call task_* tools (CLAUDE.md, and the fork-fleet.sh template that seeds new repos), the vestigial TASK_BOARD_SESSION env in .claude/settings.json, and the listings in README and FLEETTOOLS. --- .claude/settings.json | 6 +----- CLAUDE.md | 22 ++++++---------------- README.md | 2 +- docs/fleettools/FLEETTOOLS.md | 2 +- docs/fleettools/observability.md | 2 +- scripts/fork-fleet.sh | 18 ------------------ stacks/task-board/compose.yaml | 7 +++++++ stacks/uptimekuma/monitors.yaml | 3 --- 8 files changed, 17 insertions(+), 45 deletions(-) diff --git a/.claude/settings.json b/.claude/settings.json index a61efac..0967ef4 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,5 +1 @@ -{ - "env": { - "TASK_BOARD_SESSION": "Infra" - } -} +{} diff --git a/CLAUDE.md b/CLAUDE.md index e1dd1e3..0112337 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -201,22 +201,12 @@ It deliberately has **no file transfer and no idempotency**; that is elway's hal completes, so the completion marker never arrives. A pipe makes stdout a non-tty and sudo skips the PTY. Not yet fixed in our fork. -**Task visibility via task-board.** If the Claude Code session has -the `task-board` plugin enabled (installed from -`git@gitea.phasefinal.com:vh/task-board.git`), a card at -`http://10.250.50.70:7878/` tracks work in progress. Hooks flip the -card on turn boundaries automatically; call `task_start` / -`task_update` / `task_wait` / `task_complete` MCP tools to set the -activity subheader and post meaningful log entries. - -When you launch a `Bash` tool with `run_in_background: true` (or any -long-running shell / monitor / poll loop), call `task_set_shells` -with one short description per active background shell — and call it -again with the updated list (or `[]`) when one completes. The board -flips a waiting card to **orange** while the list is non-empty so the -user can tell at a glance the session is parked on background work, -not stalled on them. Hooks have no way to enumerate the bg-task list -externally, so this is on the assistant. +**task-board is MOTHBALLED (2026-09-24, Prime).** It has been superseded by the +High Seat (SVOS, `http://10.100.10.50:8770`) and ledger. The container on +ana-docker is stopped and removed. Its data (`/opt/docker/conf/task-board/data`), +the `task-board:local` image and `stacks/task-board/` are kept, so it can come +back with one `docker compose up -d`. Do not call `task_*` MCP tools or wire +its hooks into new sessions. ## Model quantization diff --git a/README.md b/README.md index 382a050..3ea8860 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Per-host snapshots of the running system live under `servers//system-detai - `traefik`, `crowdsec`, `gitea`, `vaultwarden`, `synapse`, `seafile`, `searxng`, `openwebui`, `sillytavern`, `mailrise`, `rustdesk`, `dockge`, `it-tools` - (`mattermost` retired 2026-04-21 — compose dir may still linger, containers gone) - Notes / feeds: `miniflux` (RSS, 8080), `nevermore` (twice-daily LLM-curated brief, 8181, multi-tenant — extracted to its own repo at [`vh/nevermore`](https://gitea.phasefinal.com/vh/nevermore)), `memos` (note server, 5230) -- Assistant tooling: `task-board` (MCP + dashboard for assistant task state, 7878) +- Assistant tooling: `task-board` — **mothballed 2026-09-24** (superseded by the High Seat + ledger; stack and data kept on ana-docker, container removed) - Fleet services: `beszel` (metrics hub, port 8090), `dozzle-hub` (log viewer, 8088), `backrest` (restic UI, 9898) - Backup target: `rest-server-ana` on port 8000 diff --git a/docs/fleettools/FLEETTOOLS.md b/docs/fleettools/FLEETTOOLS.md index 4229c4b..57eb79e 100644 --- a/docs/fleettools/FLEETTOOLS.md +++ b/docs/fleettools/FLEETTOOLS.md @@ -105,7 +105,7 @@ live contract for its API. Fetch it rather than trusting a transcription. ## Claude-Code-only -- **ratecheck, remote-ssh MCP, task-board MCP, skills** — harness-dependent; a +- **ratecheck, remote-ssh MCP, skills** — harness-dependent; a non-Claude agent cannot use these. Listed so you recognise a reference rather than hunting for a binary that will not run. Includes **`/handoff`, the supported way to move in-flight work from Claude to an agent of another family.** diff --git a/docs/fleettools/observability.md b/docs/fleettools/observability.md index 19d277a..91d0442 100644 --- a/docs/fleettools/observability.md +++ b/docs/fleettools/observability.md @@ -7,7 +7,7 @@ | **Dozzle** | `http://10.250.50.70:8088` | container logs, ana-docker + ana-ml2 | | **Uptime Kuma** | `http://10.0.50.45:3001` | ESH-side service monitoring | | **Backrest** | `http://10.250.50.70:9898` | restic snapshot browse / restore | -| **task-board** | `http://10.250.50.70:7878` | what an assistant session is working on right now | +| ~~task-board~~ | — | **mothballed 2026-09-24**; what a session is working on now lives on the High Seat (`http://10.100.10.50:8770`) | | Dockge (per host) | `:5001` | compose UI on ana-docker, ana-ml2, esh-docker-vm, irv-ml1, nh3-docker | | PBS | `10.250.50.90:8007` (primary) · `10.100.50.90:8007` (DR) | VM/LXC image backups | diff --git a/scripts/fork-fleet.sh b/scripts/fork-fleet.sh index 827bc8e..2c6e962 100755 --- a/scripts/fork-fleet.sh +++ b/scripts/fork-fleet.sh @@ -97,24 +97,6 @@ structured pass/change/fail reporting, idempotency via \`creates:\` / \`when:\` / \`changed_when:\`. Template: [\`playbooks/elway-smoke.yaml\`](playbooks/elway-smoke.yaml). -**Task visibility via task-board.** If the Claude Code session has the -\`task-board\` plugin enabled (installed from -\`git@gitea.phasefinal.com:vh/task-board.git\`), a card tracks work -in progress. Hooks flip the card on turn boundaries automatically; -call \`task_start\` / \`task_update\` / \`task_wait\` / -\`task_complete\` MCP tools to set the activity subheader and post -meaningful log entries. - -When you launch a \`Bash\` tool with \`run_in_background: true\` (or -any long-running shell / monitor / poll loop), call -\`task_set_shells\` with one short description per active background -shell — and call it again with the updated list (or \`[]\`) when one -completes. The board flips a waiting card to **orange** while the -list is non-empty so the user can tell at a glance the session is -parked on background work, not stalled on them. Hooks have no way -to enumerate the bg-task list externally, so this is on the -assistant. - ## Purpose - Inventory of servers and their state diff --git a/stacks/task-board/compose.yaml b/stacks/task-board/compose.yaml index b1023ab..f2344fa 100644 --- a/stacks/task-board/compose.yaml +++ b/stacks/task-board/compose.yaml @@ -1,5 +1,12 @@ # task-board — MCP + web dashboard for assistant task state. # +# ⚠ MOTHBALLED 2026-09-24 (operator): superseded by the High Seat (SVOS) and +# ledger. On ana-docker the container is `docker compose down`ed; the data dir +# (/opt/docker/conf/task-board/data, tasks.db last written 2026-09-11), the +# task-board:local image and this compose + .env are KEPT. To revive: +# `cd /opt/docker/compose/task-board && docker compose up -d`, then re-add its +# Uptime Kuma row. Its Claude Code hooks had sent no traffic for 30+ days. +# # Image is built on the host from the task-board git repo by the deploy # playbook (`playbooks/deploy-task-board.yaml`), which clones into # /opt/docker/build/task-board and runs `docker build -t task-board:local .` diff --git a/stacks/uptimekuma/monitors.yaml b/stacks/uptimekuma/monitors.yaml index fd652f6..e75ab97 100644 --- a/stacks/uptimekuma/monitors.yaml +++ b/stacks/uptimekuma/monitors.yaml @@ -66,9 +66,6 @@ monitors: url: http://10.100.10.50:8090/healthz description: operator-review surface; real healthz, not a root page - - name: task-board - url: http://10.250.50.70:7878 - - name: vor url: http://10.250.50.70:7879