Fixed
-
NixOS installs work again. v1.19.0 refused the
bwrapit was pointed at
and failed 78 tests during the build:BWRAP_BIN is set to /nix/store/…-bubblewrap-…/bin/bwrap but it is not a trusted executableThe store check had been extended to ask the kernel whether the process can
write/nix/store. A standard multi-user store isroot:nixbldmode1775
and Nix builds run as a nixbld member, so that question answers "yes" for
exactly the legitimate layout. Being able to add a store path is not being
able to replace one — the sticky bit separates them, and the binary itself
must still carry no write bits — so the check is back to ownership and mode
only. Thanks to @wtf9880 (#114). -
ai-jail --initno longer copies your global config into the repository.
It persisted the fully merged configuration, so a populated~/.ai-jail
landed in the project's.ai-jail: personal absolute paths,claude_dir,
and capability flags a project file cannot act on anyway.--initnow saves
the project layer only, so--init --no-networkwrites exactly
network = false. Thanks to @zinga666 (#110). -
mise never blocks the launch. The wrapper chained your command onto mise
activation with&&, so a mise that is not reachable inside the sandbox —
the binary under~/.local/bin, which private home does not mount — aborted
the whole launch and the agent never started. Activation is now best-effort
and the command always runs. Thanks to @jschaeff (#109). -
mise activation is skipped when it has nothing to activate against.
Under the default private home, neither~/.config/misenor
~/.local/share/miseis mounted. Running activation there made mise resolve
every declared tool over the network — a multi-second timeout each before the
agent started — and then fail on shims that could not resolve. Reported with
unusually good detail by @Augusto2803 (#113).
Documentation
env_passis documented. It already worked from the global config and its
[commands.<name>]tables — it is only skipped when writing, because
NAME=VALUEentries can carry secrets — but nothing said so, and it read as
CLI-only. Entries in a project.ai-jailare ignored, since a repository
must not pull variables out of your shell. Thanks to @zinga666 (#111).- The README no longer promises mise integration that the default private home
cannot deliver, and gives thero_mapsrecipe for making it real.
Packaging
packaging/aur/publish.shassembles and validates both AUR packages, and
refuses to publish a version mismatch, a missing upstream tag, a checksum
that does not match the published artifact, or a.SRCINFOthat disagrees
with itsPKGBUILD.
Checksums (SHA256)
d91f16445ca1e367e36f405c5139a69d8232f503a54d484a1c97464aaba5b079 ai-jail-linux-x86_64.tar.gz
584ffa99f0ada40e732e8fa63c7fa803df581cd4a529684d00e209d5868c77ab ai-jail-macos-aarch64.tar.gz
Install
brew tap akitaonrails/tap && brew install ai-jail
yay -S ai-jail-bin
cargo install --locked ai-jail