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.
This commit is contained in:
vh
2026-09-24 09:22:50 -07:00
parent bcf33427e8
commit e6da607767
8 changed files with 17 additions and 45 deletions
+1 -5
View File
@@ -1,5 +1 @@
{ {}
"env": {
"TASK_BOARD_SESSION": "Infra"
}
}
+6 -16
View File
@@ -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 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. and sudo skips the PTY. Not yet fixed in our fork.
**Task visibility via task-board.** If the Claude Code session has **task-board is MOTHBALLED (2026-09-24, Prime).** It has been superseded by the
the `task-board` plugin enabled (installed from High Seat (SVOS, `http://10.100.10.50:8770`) and ledger. The container on
`git@gitea.phasefinal.com:vh/task-board.git`), a card at ana-docker is stopped and removed. Its data (`/opt/docker/conf/task-board/data`),
`http://10.250.50.70:7878/` tracks work in progress. Hooks flip the the `task-board:local` image and `stacks/task-board/` are kept, so it can come
card on turn boundaries automatically; call `task_start` / back with one `docker compose up -d`. Do not call `task_*` MCP tools or wire
`task_update` / `task_wait` / `task_complete` MCP tools to set the its hooks into new sessions.
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.
## Model quantization ## Model quantization
+1 -1
View File
@@ -72,7 +72,7 @@ Per-host snapshots of the running system live under `servers/<host>/system-detai
- `traefik`, `crowdsec`, `gitea`, `vaultwarden`, `synapse`, `seafile`, `searxng`, `openwebui`, `sillytavern`, `mailrise`, `rustdesk`, `dockge`, `it-tools` - `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) - (`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) - 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) - Fleet services: `beszel` (metrics hub, port 8090), `dozzle-hub` (log viewer, 8088), `backrest` (restic UI, 9898)
- Backup target: `rest-server-ana` on port 8000 - Backup target: `rest-server-ana` on port 8000
+1 -1
View File
@@ -105,7 +105,7 @@ live contract for its API. Fetch it rather than trusting a transcription.
## Claude-Code-only ## 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 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 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.** move in-flight work from Claude to an agent of another family.**
+1 -1
View File
@@ -7,7 +7,7 @@
| **Dozzle** | `http://10.250.50.70:8088` | container logs, ana-docker + ana-ml2 | | **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 | | **Uptime Kuma** | `http://10.0.50.45:3001` | ESH-side service monitoring |
| **Backrest** | `http://10.250.50.70:9898` | restic snapshot browse / restore | | **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) | `<host>:5001` | compose UI on ana-docker, ana-ml2, esh-docker-vm, irv-ml1, nh3-docker | | Dockge (per host) | `<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 | | PBS | `10.250.50.90:8007` (primary) · `10.100.50.90:8007` (DR) | VM/LXC image backups |
-18
View File
@@ -97,24 +97,6 @@ structured pass/change/fail reporting, idempotency via
\`creates:\` / \`when:\` / \`changed_when:\`. Template: \`creates:\` / \`when:\` / \`changed_when:\`. Template:
[\`playbooks/elway-smoke.yaml\`](playbooks/elway-smoke.yaml). [\`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 ## Purpose
- Inventory of servers and their state - Inventory of servers and their state
+7
View File
@@ -1,5 +1,12 @@
# task-board — MCP + web dashboard for assistant task state. # 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 # Image is built on the host from the task-board git repo by the deploy
# playbook (`playbooks/deploy-task-board.yaml`), which clones into # playbook (`playbooks/deploy-task-board.yaml`), which clones into
# /opt/docker/build/task-board and runs `docker build -t task-board:local .` # /opt/docker/build/task-board and runs `docker build -t task-board:local .`
-3
View File
@@ -66,9 +66,6 @@ monitors:
url: http://10.100.10.50:8090/healthz url: http://10.100.10.50:8090/healthz
description: operator-review surface; real healthz, not a root page description: operator-review surface; real healthz, not a root page
- name: task-board
url: http://10.250.50.70:7878
- name: vor - name: vor
url: http://10.250.50.70:7879 url: http://10.250.50.70:7879