Trixie image, harvest restore tags, post-process setup, dashboard keys#107
Merged
Conversation
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.
9f7447c to
3494b00
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
unzip, so binaries needing glibc 2.39+ (e.g.tama) run in-container.harvest.shtags a localswarm-harvest-<date>-<time>restore point before merging, so a harvest can be undone withgit reset --hard <tag>.post_process.setupto run a lighter setup, skip setup (false/""), or inherit the top-level setup for the post-process pass.Ptails the post-process logs (theProw, like[1-9]for agents), lowercasepstarts the run; the log hint becomes[1-9/P]once the container exists.(h)high,(m)medium,(l)low,(x)xhigh,(n)none,(M)max.Changes
Dockerfile: basedebian:trixie-slim; addunzip.harvest.sh: tag pre-merge HEAD withswarm-harvest-<date>-<time>(after the stale-bare guard; skipped on--dryand when nothing is new; never pushed).launch.sh: resolvepost_process.setup(path /false/""/ inherit) intoSWARM_SETUPandSWARM_CFG_SETUP.dashboard.sh: swap thep/Pcase 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.shdocker build -t cs .thendocker run --rm --entrypoint bash cs -lc 'cat /etc/debian_version; ldd --version | head -1; command -v unzip'Ptails its logs and footer shows[1-9/P]; lowercasepstarts post-processing after confirmationharvest.shleaves aswarm-harvest-*tag (none on--dry)