Summary
ANNEX_BURST in public/sh/install.sh (added in #210) runs the just-written annex fragment with zsh -f -c 'builtin source zi.zsh && builtin source <fragment> && @zi-scheduler burst'. The -a annex fragment ends with zicompinit, and in a non-interactive shell without a terminal compinit aborts:
not interactive and can't open terminal
compinit: initialization aborted
The burst then returns non-zero after every annex was already downloaded and compiled, and the installer prints the fallback "Annexes could not be installed now; they will be installed on the next shell start." The -a zunit fragment has no zicompinit and completes cleanly.
Evidence
First real CI run of the annex profile, #212, Check (Linux) job step Check: install.sh -a annex: all four annexes download and compile, then the two lines above, then the fallback. The macOS runner did not abort on compinit. The step still passes because the fallback is non-fatal by design.
Expected
zicompinit belongs in .zshrc, not in what the burst sources. Write the recipe lines to the burst file and append zicompinit to .zshrc only, so the burst sources zi.zsh plus the zi light-mode for ... command and nothing else. Adjust the harness case that asserts what the burst sourced, regenerate public/checksum.txt after the commit hook formats the file, and confirm the Linux annex step no longer prints the fallback.
Summary
ANNEX_BURSTinpublic/sh/install.sh(added in #210) runs the just-written annex fragment withzsh -f -c 'builtin source zi.zsh && builtin source <fragment> && @zi-scheduler burst'. The-a annexfragment ends withzicompinit, and in a non-interactive shell without a terminalcompinitaborts:The burst then returns non-zero after every annex was already downloaded and compiled, and the installer prints the fallback "Annexes could not be installed now; they will be installed on the next shell start." The
-a zunitfragment has nozicompinitand completes cleanly.Evidence
First real CI run of the annex profile, #212,
Check (Linux)job stepCheck: install.sh -a annex: all four annexes download and compile, then the two lines above, then the fallback. The macOS runner did not abort oncompinit. The step still passes because the fallback is non-fatal by design.Expected
zicompinitbelongs in.zshrc, not in what the burst sources. Write the recipe lines to the burst file and appendzicompinitto.zshrconly, so the burst sourceszi.zshplus thezi light-mode for ...command and nothing else. Adjust the harness case that asserts what the burst sourced, regeneratepublic/checksum.txtafter the commit hook formats the file, and confirm the Linux annex step no longer prints the fallback.