Simplify the script to fix the timing/display problem where LLM responses
weren't shown in real-time and user typing wasn't echoed properly.
The fix:
1. Block on statewait file until agent leaves idle state
2. Stream chat output in loop while agent is not idle
3. Use simple tail -c +offset to read new chat content
4. Remove complex buffering logic and background processes
This resolves the issue where assistant responses would appear one prompt
late and user typing wasn't visible during LLM response generation.
b/job now blocks on statewait instead of polling; b/cleanup reads state.
Update all documentation references. Bump 9p submodule.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update send() to use statewait (eliminates busy-wait polling race on
submit). Fix stale prompts/08_subagents.md ref → prompts/tools-subagent.md.
Remove redundant offset explanation from prose.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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>