Commit Graph

715 Commits

Author SHA1 Message Date
Ollie Agent 1acfb29fb0 update agent/cascade models 2026-05-18 11:57:50 +02:00
Ollie Agent eba9120d61 update agent/cascade models 2026-05-18 11:56:40 +02:00
Ollie Agent cac31746c4 README: update with cascade, orchestrator/worker, plan-first discipline
- Add model cascading for 90% cost reduction
- Add orchestrator/worker system
- Add plan-first discipline
- Reflect recent advances in core logic and agent loop
2026-05-17 18:18:58 +02:00
Levi Neely 426e3a423b env/grep tools, orchestrator file_edit 2026-05-17 16:46:30 +02:00
Levi Neely 279f6c29ed remove trustedTools; update cascade defaults to deepseek v4 2026-05-17 15:21:31 +02:00
Levi Neely 2b30e3cc3e add orchestrator/worker agents; update cascade defaults to deepseek v4 2026-05-17 15:04:06 +02:00
Ollie 58912fc30c mkfile: add scripts/u/cascade and tools/cascade to installation 2026-05-17 14:16:30 +02:00
Levi Neely 8e4665378f bump 9p 2026-05-17 14:11:09 +02:00
Levi Neely 6884e69995 subagent_generate: validate constraints is an array 2026-05-17 14:02:58 +02:00
Levi Neely a5efaa623f subagent_generate: rewrite as standalone Python; fix spawn header
- Eliminates inline Python-in-shell; same logic, directly inspectable.
- Fix stale Output comment in subagent_spawn header.
2026-05-17 14:01:57 +02:00
Levi Neely 36eeb38a06 subagent_spawn: only cleanup jit-* configs; fix Returns doc 2026-05-17 13:59:59 +02:00
Levi Neely 2703ea5d3f subagent_spawn: auto-cleanup JIT config; report resolved backend/model
- Remove JIT agent config from a/ after session creation (server has
  already loaded it), eliminating identity debris accumulation.
- Read actual backend/model from session cfg instead of echoing
  CLI-level defaults.
- Remove manual cleanup instruction from prompt (now automatic).
2026-05-17 13:58:41 +02:00
Levi Neely 65f7bc3bd9 subagent_spawn: exponential backoff, structured output; fix stale docs
- Replace 5s/50ms poll with exponential backoff (~25s total)
- Output structured KV (session, path, backend, model) like cascade
- subagent_generate: remove stale result_path from header, document arg input
- Soften 'always use pipeline' to guidance matching actual behavior
2026-05-17 13:57:10 +02:00
Levi Neely bf91cab41c subagent_generate: accept JSON as arg; remove all escaping from prompt examples 2026-05-17 13:54:38 +02:00
Levi Neely 35d8f03115 tools-subagent.md: fix parallel example to use correct pipe form 2026-05-17 13:53:31 +02:00
Levi Neely 2516209acc subagent_spawn: read agent name from stdin when piped; fix prompt to use pipe
subagent_spawn now reads the agent name from stdin (first line) when
-agent flag is not provided and stdin is not a tty. This enables clean
pipe composition: echo JSON | subagent_generate | subagent_spawn.
2026-05-17 13:49:55 +02:00
Levi Neely 2981575e7f prompts: fix all call_tool examples to use canonical JSON schema
call_tool: calls=[{tool: "name", args: [...]}] is the actual form.
Previously used shorthand (call_tool: name [...]) was inconsistent
with SYSTEM_PROMPT and the server's input schema.
2026-05-17 13:44:30 +02:00
Levi Neely 03bb4fa6dc tools-cascade.md: use actual call_tool JSON schema in examples 2026-05-17 13:42:38 +02:00
Levi Neely 1c578191fa tools-cascade.md: fix calling convention to use call_tool 2026-05-17 13:41:46 +02:00
Levi Neely a8f63d17ff tools-cascade.md: simplify parallel example; clarify async consequence 2026-05-17 13:41:01 +02:00
Levi Neely f32f49c0a1 add tools-cascade.md prompt for orchestrator agents 2026-05-17 13:39:44 +02:00
Levi Neely e31d1abd1e u/cascade: add session name to results; sync schema with actual fields 2026-05-17 13:36:59 +02:00
Levi Neely 204e0e7a9d u/cascade: validate -retries; add attempts field to results
- Reject non-positive-integer -retries early
- Each worker records attempt count; results JSON includes
  'attempts' field for retry observability
2026-05-17 13:35:39 +02:00
Levi Neely 8895150f94 u/cascade: add -retries N for transient worker failure recovery
Workers retry with linear backoff (attempt*2s). Each retry uses a
unique session name suffix (-r2, -r3, ...) to avoid collisions.
Default: 1 (no retry).
2026-05-17 13:34:37 +02:00
Levi Neely 7f8421691f u/cascade: validate -max-workers; truncate large worker outputs
- Reject non-positive-integer -max-workers early
- Per-worker output capped at OLLIE_CASCADE_MAX_OUTPUT (default 8000 chars)
  to prevent synthesis prompt blowup
2026-05-17 13:33:25 +02:00
Levi Neely 42929b4c57 u/cascade: pass JSON results directly to planner synthesis prompt 2026-05-17 13:32:43 +02:00
Levi Neely 04bed6189f u/cascade: structured JSON results, worker throttling via -max-workers
- Results gathered as JSON array [{id, status, output}]
- Default output is pretty-printed JSON (no synthesis)
- -max-workers N (default 8) throttles concurrent workers
- Synthesis renders JSON to text for planner prompt
2026-05-17 13:31:23 +02:00
Levi Neely e4608b09aa cascade: fail fast without OLLIE_SESSION_ID; structured output record 2026-05-17 13:28:21 +02:00
Levi Neely 9ca6b9de8a u/cascade: strict plan schema validation; clarify exit code contract
- Validate all entries have non-empty string id and instruction
- No synthesis: exit 1 on worker failures (partial results)
- Synthesis: exit 0 — planner accounts for failures in its answer
2026-05-17 13:27:56 +02:00
Levi Neely 664b9e7f93 u/cascade: invert synthesis default — off unless -synthesize is passed 2026-05-17 13:25:17 +02:00
Levi Neely 77efded76d u/cascade: add -json-output flag for structured synthesis output
Schema: {summary, answer, worker_results[], errors[]}
2026-05-17 13:24:28 +02:00
Levi Neely 8d78c6a7bc u/cascade: validate plan schema (require .id and .instruction per entry) 2026-05-17 13:22:14 +02:00
Levi Neely c29cf7dcdc u/cascade: track per-worker failures, annotate status, exit non-zero 2026-05-17 13:22:00 +02:00
Levi Neely 87fb50f207 u/cascade: use private tmpdir for worker output isolation 2026-05-17 13:21:34 +02:00
Levi Neely 3d513790f9 u/cascade: add -no-synthesize flag to skip expensive synthesis step 2026-05-17 13:21:10 +02:00
Levi Neely c1857f8545 cascade: include hostname in session ID to avoid collisions on shared mounts 2026-05-17 13:20:24 +02:00
Levi Neely 033df45ef9 cascade: exponential backoff for session readiness poll 2026-05-17 13:19:50 +02:00
Levi Neely b4be3a01d9 add cascade tool and script-driven orchestrator
tools/cascade: fire-and-forget delegation to cheap model; worker
reports back to parent prompt when done. Parallelizable.

scripts/u/cascade: script-driven hub-and-spoke orchestrator for
terminal use — planner decomposes, workers execute in parallel,
planner synthesizes.
2026-05-17 13:16:18 +02:00
Levi Neely a80bb79e4f bump core 2026-05-17 13:02:39 +02:00
Levi Neely b78ea924e8 core: update submodule (truncation rework, per-step budgets, tier classification) 2026-05-17 12:53:47 +02:00
Levi Neely 7ae8b69ec9 tools: per-tool semantic truncation (file_grep 50, lsp_references 50, memory_recall 10/50, file_read 500) 2026-05-17 12:51:49 +02:00
Levi Neely bb83f4c523 prompt: prefer shell | for same-language chaining; pipe only across tool boundaries 2026-05-17 12:31:47 +02:00
Levi Neely dfc8718944 prompt: gate plan file write (3+ steps) and skill search (non-trivial tasks) 2026-05-17 12:31:21 +02:00
Levi Neely 032762117c prompt: bound dependency reads — stop at type signatures, not full import graph 2026-05-17 12:30:34 +02:00
Levi Neely 7f49377d41 prompts: fix calling convention — use call_tool not execute_code for named tools 2026-05-17 12:30:12 +02:00
Levi Neely 317eeb419b prompt: skip grep for small files (<200 lines) — read directly 2026-05-17 12:28:58 +02:00
Levi Neely ca0d250195 doc: add IDEAS_CONTROLLER.md — fit-for-purpose session controller design 2026-05-17 10:10:42 +00:00
Levi Neely c2f8eb29a6 tools: annotate file_read and memory_recall as cold-tier 2026-05-17 10:59:18 +02:00
Levi Neely e867904fa7 fix: use OLLIE_SESSION_ID in plan file path 2026-05-17 10:44:50 +02:00
Levi Neely 9e9d1a0778 prompt: instruct agent to persist plan to plan file 2026-05-17 10:44:25 +02:00