Skip to content

Trixie image, harvest restore tags, post-process setup, dashboard keys#107

Merged
moodmosaic merged 8 commits into
masterfrom
feature/0.22.0
Jun 8, 2026
Merged

Trixie image, harvest restore tags, post-process setup, dashboard keys#107
moodmosaic merged 8 commits into
masterfrom
feature/0.22.0

Conversation

@moodmosaic

@moodmosaic moodmosaic commented Jun 8, 2026

Copy link
Copy Markdown
Member

Summary

  • Rebuild the agent image on Debian trixie (glibc 2.41) and ship unzip, so binaries needing glibc 2.39+ (e.g. tama) run in-container.
  • harvest.sh tags a local swarm-harvest-<date>-<time> restore point before merging, so a harvest can be undone with git reset --hard <tag>.
  • Add post_process.setup to run a lighter setup, skip setup (false/""), or inherit the top-level setup for the post-process pass.
  • Swap the dashboard post-process keys (breaking): P tails the post-process logs (the P row, like [1-9] for agents), lowercase p starts the run; the log hint becomes [1-9/P] once the container exists.
  • Document the dashboard effort letters: (h) high, (m) medium, (l) low, (x) xhigh, (n) none, (M) max.

Changes

  • Dockerfile: base debian:trixie-slim; add unzip.
  • harvest.sh: tag pre-merge HEAD with swarm-harvest-<date>-<time> (after the stale-bare guard; skipped on --dry and when nothing is new; never pushed).
  • launch.sh: resolve post_process.setup (path / false / "" / inherit) into SWARM_SETUP and SWARM_CFG_SETUP.
  • dashboard.sh: swap the p/P case arms, help text, and footer hint.
  • USAGE.md: harvest restore tag, post_process.setup, dashboard key-table swap, effort-letter legend.
  • VERSION / CHANGELOG.md: 0.22.0.
  • tests/: test_harvest.sh (+4), test_launch.sh (+6), test_dashboard.sh (updated for the swap).

Test plan

  • ./tests/test.sh --unit (1370 pass)
  • shellcheck -s bash --severity=warning launch.sh dashboard.sh harvest.sh costs.sh progress.sh lib/*.sh lib/drivers/*.sh tests/test_*.sh tests/test.sh
  • docker build -t cs . then docker run --rm --entrypoint bash cs -lc 'cat /etc/debian_version; ldd --version | head -1; command -v unzip'
  • Dashboard with a post-process container: P tails its logs and footer shows [1-9/P]; lowercase p starts post-processing after confirmation
  • harvest.sh leaves a swarm-harvest-* tag (none on --dry)

Bookworm ships glibc 2.36, which is too old for binaries that need
glibc 2.39+ (e.g. tama). Trixie's newer glibc lets those run inside
the container without a custom toolchain.
Setup scripts and agents occasionally need to extract zip archives;
ship unzip in the base image so they do not have to install it per
session.
Harvest merges agent work into the local branch with no easy undo if
the result is unwanted. Tag the pre-merge tip with a local
swarm-harvest-<date>-<time> tag so the operator can reset back to it.
A tag in refs/tags never collides with the harvested branches, and it
is skipped on --dry and when nothing is new.
Post-processing inherits the top-level setup, which forces a heavy
environment build to run again just to review or summarize. Let
post_process.setup point at a lighter script, or set it to false/""
to skip setup entirely. Omitting the key keeps the inherit behavior.
The post-process row is labelled P in the # column, so pressing P to
tail its logs mirrors how 1-9 tail the numbered agent rows; lowercase
p now starts the run. This flips the previous bindings (p logs, P
start), so it is a breaking change to dashboard muscle memory. The
log hint becomes [1-9/P] once the container exists.
The dashboard's Model column shows the reasoning effort as a single
parenthesised letter, with max abbreviated to M to disambiguate it
from medium. The mapping was previously undocumented, so xhigh (x)
in particular was easy to misread.
Wire post_process.setup to a lighter scripts/post-setup.sh in the
generated swarm.json so the manual runbook exercises the override,
and assert the fixture ships the script and the wired key.

Also fix the fixture's dashboard key docs, which still described the
pre-swap behavior: P tails the post-process logs and lowercase p
starts the run.
Collects the trixie/unzip image rebuild, harvest restore tags, the
post_process.setup override, the dashboard P/p key swap, and the
effort-letter docs into one minor release.
@moodmosaic moodmosaic force-pushed the feature/0.22.0 branch 2 times, most recently from 9f7447c to 3494b00 Compare June 8, 2026 20:34
@moodmosaic moodmosaic merged commit 970ed59 into master Jun 8, 2026
5 checks passed
@moodmosaic moodmosaic deleted the feature/0.22.0 branch June 8, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant