Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/agent-workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.14 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.15 contract.

### Repo-owned `ci:env` and `agent` contracts

Expand Down
2 changes: 1 addition & 1 deletion mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.14" # Print-mode continuation and clean child boundary required by agent task
"shiv:sessions" = "0.4.15" # 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
Expand Down