Remove Go template syntax from all prompt files (converted to envsubst
variables in prior commits). Agent agentSpawn hooks now call prime for
each prompt file explicitly, replacing the automatic Go-based directory
scan. coding agent gets 08_tool-elevate; default does not.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
prime <name> prints $OLLIE/p/<name>[.md] to stdout, which the agentSpawn
hook captures as context. Allows agent prompt composition to be driven
entirely from hook config rather than built-in Go code.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The markdown planning mechanism created competing signals against beads.
Removing it eliminates the conflict. Planning goes through beads (bd)
or whatever external mechanism is appropriate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Plans always go to an external store (bd or pl/). Writing a checklist
in the response is never a valid substitute for the planning tools.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Submodules have .git as a file, not a directory. -d was stopping the
walk immediately in submodule directories.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Walk up from CWD only while .git exists at each level. Stops at the
first directory without .git, preventing false positives outside the repo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The .beads check now traverses parent directories so plan_* enforcement
works from any subdirectory of the repo, not just the root.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
plan_* now blocks by default when bd and .beads are present.
Set OLLIE_BEADS_ENABLE=0 to use the markdown-based plan_* scripts instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The bd wrapper walks up from CWD to find a .beads directory and sets
BEADS_DIR, so bd works from any subdirectory of a monorepo without the
model needing to know about it.
The execute server now always prepends $OLLIE/x/ to PATH for tool
subprocesses, so wrappers placed there shadow system binaries transparently.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All three conditions must hold to block plan_* in favor of bd:
OLLIE_BEADS_ENABLE=1, bd on PATH, and .beads exists in CWD.
This makes enforcement purely opt-in per project.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Enforcement is now mechanical (plan_* scripts exit 2 when OLLIE_BEADS_ENABLE=1
and bd is present) rather than prompt-based.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
If both conditions hold, plan_* scripts exit 2 with an error directing
the model to use bd instead. When either condition is false (beads not
configured or bd not installed), the scripts run normally as a fallback.
Document OLLIE_BEADS_ENABLE in README and doc/help.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- agents/test-bd.json: test agent with bd prime agentSpawn hook
- prompts/06_tool-plan.md: prefer beads when context injected at session start
- tools/plan_create: fix printf treating '- [ ]' format as option flag
- submodules: bump core
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace tools/elevate_superpowers with scripts/x/elevate — a single
self-contained plugin that bootstraps into a superpowers session and
runs the IPC. mkfile installs it to ~/.config/ollie/scripts/x/.
Update 08_tool-elevate.md to remove backend-specific language.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- s/sh: add -e VAR1,VAR2 flag to inject named vars from frontend env
into session spec as env.NAME=VALUE lines
- s/sh: remove $MOUNT/env export loop (global env file removed)
- Bump core and 9p submodules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add explicit handlers for all session ctl commands (/stop, /kill,
/compact, /clear, /rn, /cwd) and session file r/w commands (/agent,
/model, /backend) and read-only queries (/models, /backends, /usage,
/ctxsz). Ctl commands now continue past the drain loop. /rn updates
local $id/$S after rename. Unknown slash commands print an error
instead of writing garbage to ctl.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>