Install pandoc as a base dependency#74
Open
robobryce wants to merge 1 commit into
Open
Conversation
The autocuda agent plugin installed from agent_plugins.txt ships report skills (report-cost, report-optimization, report-behavior, report-skill, report-reward-hacking) whose final step renders the markdown report to HTML via `autocuda report html`, which shells out to pandoc. On a host bootstrapped from a bare image that step fails with "error: pandoc not installed" because nothing on the install path provides it. Add pandoc to install_base_deps alongside the other apt-get base deps so the report skills work out of the box, and keep the dependency list in sync across the function's block comment, the README requirements line, and the run_e2e comment. Cover the new dep with a unit test mirroring the ripgrep case, and add pandoc to the present-command fixtures of the existing install_base_deps tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
What & why
install_base_depsinstalls the apt-get base deps a bootstrapped host needs (curl,python3,git,tar,gawk,ripgrep,sudo,ca-certificates), but notpandoc— yet a plugin the bootstrap installs needs it at runtime.agent_plugins.txtinstalls theautocudamarketplace, whose report skills (report-cost,report-optimization,report-behavior,report-skill,report-reward-hacking) all finish by rendering their markdown report to HTML viaautocuda report html, which shells out topandoc. The CLI has no fallback conversion path — when pandoc is absent it exits with:So on a host bootstrapped from a bare image, those skills fail on their last step. This adds
pandoctoinstall_base_depsso the plugins the bootstrap installs work out of the box.The dependency list is enumerated in several places; this keeps them in sync:
install_base_deps(thecommand -v pandoc || needed+=(pandoc)line, with a comment explaining why) and its block comment.ubuntu:22.04gets.run_e2ecomment intest.bash.Test plan
./test.bash(lint + unit)Exit 0, 109/109 pass. One new test (
install_base_deps installs pandoc when pandoc is missing, mirroring the ripgrep case); the two existinginstall_base_depsfixture tests gainedpandocin their present-command sets. The trailingBW01advisory is the pre-existingload_config_file aborts on malformed inputwarning, unrelated to this change../test.bash --docker(full e2e in a freshubuntu:22.04container)Run from the main checkout (not a worktree). Exit 0. The new dep is installed on the bare image and all assertions pass in both idempotency runs:
./test.bash --secrets(gitleaks v8.18.4)./test.bash --e2eon a disposable VM — N/A. This change only adds one package to the apt-get base-dep set; it touches nothing visible from a real user shell (no PATH wiring, alias, provider function, SSH key, or git config). The--dockerrun already exercises the install path end-to-end on a bare image.