Commit Graph

323 Commits

Author SHA1 Message Date
Levi Neely aa0d01e60f agents: use $OLLIE/x/prime absolute path in agentSpawn hooks
prime may not be in PATH at hook execution time; use full path to avoid
the race.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 12:13:28 +02:00
Levi Neely 8d870001bc prompts: migrate to hook-based priming via prime script
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>
2026-04-19 12:10:26 +02:00
Levi Neely acc791cbda scripts: add prime wrapper for agentSpawn prompt injection
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>
2026-04-19 12:03:28 +02:00
Levi Neely 7c10a127c4 agents: add bd prime to coding agentSpawn; add README; remove test-bd
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:57:55 +02:00
Levi Neely 51a20195bf agents: convert hook values to array format
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:54:56 +02:00
Levi Neely 6b1b5a2396 submodules: bump core (multi-command hooks) 2026-04-19 11:54:06 +02:00
Levi Neely 627b43d59b prompts: clarify tool scripts are not callable tools; everything goes through execute_code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:46:02 +02:00
Levi Neely 1ff269e5a4 prompts: declare execute_code as the only built-in tool; remove pl/ reference
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:45:08 +02:00
Levi Neely 4e7a773946 submodules: bump core and 9p (remove pl/ planning support)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:42:14 +02:00
Levi Neely ec385d0d6e planning: remove plan_* tools and prompt entirely
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>
2026-04-19 11:36:56 +02:00
Levi Neely c180cf3048 prompts: forbid inline markdown plans in chat
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>
2026-04-19 11:28:34 +02:00
Levi Neely 6ca864de19 scripts: fix bd wrapper path (.local/bin/bd not .local/bd)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:25:38 +02:00
Levi Neely 2d3d17237b tools,scripts: use -e not -d for .git boundary check
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>
2026-04-19 11:20:34 +02:00
Levi Neely a960566ec9 tools,scripts: bound .beads walk-up at .git boundary
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>
2026-04-19 11:18:08 +02:00
Levi Neely dc5356b242 tools: walk up from CWD to find .beads for monorepo support
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>
2026-04-19 11:14:36 +02:00
Levi Neely c7fb791434 tools: fix .beads check to use -d (directory, not file)
bd init creates .beads/ as a directory; -f was silently failing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 11:13:37 +02:00
Levi Neely 89f340eca9 tools: change OLLIE_BEADS_ENABLE default to 1 (opt-out instead of opt-in)
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>
2026-04-19 11:11:26 +02:00
Levi Neely 78cd60581d scripts: add bd wrapper to x/; prepend $OLLIE/x/ to PATH in execute server
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>
2026-04-19 11:07:15 +02:00
Levi Neely 6165ed86e3 .claude in gitignore 2026-04-19 10:57:46 +02:00
Levi Neely 137d195cdc bump core; init beads 2026-04-19 10:56:17 +02:00
Levi Neely d49c788259 bd init: initialize beads issue tracking 2026-04-19 10:52:59 +02:00
Levi Neely 4f3e04de13 tools: add .beads project file as third guard for plan_* enforcement
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>
2026-04-19 10:47:22 +02:00
Levi Neely 112a6049d0 prompts: remove beads override from plan tool prompt
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>
2026-04-19 10:44:12 +02:00
Levi Neely 663e7f305a tools: enforce beads for planning when OLLIE_BEADS_ENABLE=1 and bd is present
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>
2026-04-19 10:43:32 +02:00
Levi Neely 0abcb6367c beads integration (wip); fix plan_create printf; bump core
- 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>
2026-04-19 07:24:51 +02:00
Levi Neely 61959adbbe submodules: bump core
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 06:54:50 +02:00
Levi Neely 903ae69fab submodules: bump 9p
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 05:55:19 +02:00
Levi Neely 6bc986332f adjust sandbox perms 2026-04-18 22:41:19 +02:00
Levi Neely 24444a8030 prompt tweaks 2026-04-18 22:32:32 +02:00
Levi Neely 33a8e24818 submodules: bump 9p and core
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 20:51:10 +02:00
Levi Neely 8a82d0966b elevation: add x/elevate plugin; update mkfile and docs
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>
2026-04-18 20:50:37 +02:00
Levi Neely 97e392a2d2 prompts: clarify elevation blocking is expected, not an error
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 20:10:40 +02:00
Levi Neely a7169f8f4c prompts: add 08_tool-elevate.md describing elevated:true step flag
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 20:08:24 +02:00
Levi Neely 4202505704 elevation: add elevate_superpowers tool; remove frontend env injection from s/sh and submodules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 20:07:10 +02:00
Levi Neely c06fed4503 env: inject session env via s/{id}/env; works on new and resumed sessions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 19:20:03 +02:00
Levi Neely 6d8f590b55 9p: bump submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 19:05:18 +02:00
Levi Neely f2b385b22b 9p: bump submodule (env.<NAME>= in s/new template)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 19:04:23 +02:00
Levi Neely ed2316c2d0 env: session-scoped env via -e flag; remove daemon-global env export
- 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>
2026-04-18 19:02:35 +02:00
Levi Neely 72eeff473a env: centralize daemon env management; add /mcp slash command to s/sh
- Bump core and 9p submodules for env refactor
- s/sh: export daemon env from $MOUNT/env on startup
- s/sh: add /mcp command

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 15:44:31 +02:00
Levi Neely 179a157c8b scripts/s/sh: implement all supported slash commands
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>
2026-04-18 14:53:42 +02:00
Levi Neely c5d87567ce prompts: restructure system prompt; replace task tools with plan_* lifecycle
- Rename and reorder prompt files: skills bumped to 02, tool prompts
  prefixed tool-*, execute_code prompt removed (content absorbed into schema)
- Rewrite all tool prompts with explicit Trigger/Calling convention/Returns/Constraints structure
- Trim 03_reasoning.md to essentials; add "returns nothing" clarification
- Restructure task planning: replace task_plan/task_complete with explicit
  plan_create/plan_start/plan_check/plan_finish lifecycle tools
  - plan_finish enforces hard constraint: fails if any - [ ] tasks remain
- Remove no-shell-redirect rule from 00_base (consolidated into 03_tool-files)
- Add t/idx discovery and parallel schema advice to execute_code JSON schema
- Remove dead execute_pipe/execute_tool trustedTools references from agent configs
- Make keyword greps case-insensitive (-i flag)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 14:48:10 +02:00
Levi Neely c62a599f71 prompts/agents: stronger no-narration rule; split default/coding agents
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 14:05:46 +02:00
Levi Neely c0b74b4e79 update ellie submodule: add .gitignore for *.elc
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:53:08 +02:00
Levi Neely e3eb782be5 scripts: b/job parallel improvements — streaming results, input/output headers, -failfast
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:52:22 +02:00
Levi Neely c3d8879702 tools: rewrite subagent_spawn as thin wrapper around b/q -parallel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:40:55 +02:00
Levi Neely d2c5d6d321 update ellie submodule: rename ollie-* symbols to ellie-*
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:36:17 +02:00
Levi Neely 64ed36b132 rename: ollie-el → ellie throughout; update submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:33:30 +02:00
Levi Neely 735753bac9 doc: add server/usage docs; rename ollie.el to ellie.el; update submodule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:31:58 +02:00
Levi Neely 446b051ac9 doc: rewrite README opening paragraph
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 13:23:20 +02:00
Levi Neely e5d9e96f8c doc: use literal mount path in cron example; $HOME unavailable in cron env
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 12:43:59 +02:00