diff --git a/docs/agent-workflows.md b/docs/agent-workflows.md index 7e8e5e1..69c6f75 100644 --- a/docs/agent-workflows.md +++ b/docs/agent-workflows.md @@ -146,7 +146,7 @@ The cache is saved before email, GPG, B2, Pi-auth, or agent-home preparation. Ca A fold-style agent host typically uses `ci:env` to set up GPG and email, clone the agent home repo, prepare that home with `agent:prepare`, and restore pi auth. Its `agent` task then runs the prepared agent. A simpler agent host may do less. -Headless execution still requires an explicit provider-qualified model. For Hugging Face routed models, use the `huggingface/...` prefix (for example `huggingface/moonshotai/Kimi-K2.6:novita`) so pi selects the Hugging Face provider and reads `HF_TOKEN`, even if other provider secrets are also present. When the repo-owned `agent` task invokes `shimmer agent --headless`, it must do so from the prepared `AGENT_HOME`. Shimmer canonicalizes that path, verifies it is the selected home Git root, and rejects resumed sessions whose stored working directory differs. Only after those checks does it pass Sessions `--project-trust approve`, allowing the home-owned Pi declaration for that one run. Shimmer creates a tracked session with `sessions new` and passes the model only to `sessions wake`, matching the Sessions v0.4.15 contract. +Headless execution still requires an explicit provider-qualified model. For Hugging Face routed models, use the `huggingface/...` prefix (for example `huggingface/moonshotai/Kimi-K2.6:novita`) so pi selects the Hugging Face provider and reads `HF_TOKEN`, even if other provider secrets are also present. When the repo-owned `agent` task invokes `shimmer agent --headless`, it must do so from the prepared `AGENT_HOME`. Shimmer canonicalizes that path, verifies it is the selected home Git root, and rejects resumed sessions whose stored working directory differs. Only after those checks does it pass Sessions `--project-trust approve`, allowing the home-owned Pi declaration for that one run. Shimmer creates a tracked session with `sessions new` and passes the model only to `sessions wake`, matching the Sessions v0.4.16 contract. ### Repo-owned `ci:env` and `agent` contracts diff --git a/mise.toml b/mise.toml index 58e8394..4a89c56 100644 --- a/mise.toml +++ b/mise.toml @@ -21,7 +21,7 @@ bats = "1.13.0" # Bash Automated Testing System "aqua:shenwei356/rush" = "0.9.0" # Cross-file BATS parallel runner "shiv:secrets" = "0.1" # Provider-based secret management (keychain, 1password) "shiv:emails" = "0.3" -"shiv:sessions" = "0.4.15" # Pi 0.81 runtime and clean child boundary required by agent task +"shiv:sessions" = "0.4.16" # Pi 0.81 runtime and clean child boundary required by agent task "shiv:blobs" = "0.1" # Blob storage for CI session backup "shiv:threads" = "0.2" # HUMAN.md thread management "shiv:readme" = "0.3" # README.tsx -> README.md generation