Enhance roadmap and documentation with new features and optimizations

- Add optimization pass details including subagent model override, system prompt caching, and memory recall improvements.
- Document per-path permission matching for apply_patch and read_many_files.
- Update configuration to include subagentModel for cost-effective task handling.
- Implement atomic config writes to prevent half-written JSON on crashes.
- Introduce empty-report subagent retry mechanism for improved reliability.
- Adjust memory entry limits and search functionality for better performance.
- Add tests for new features and ensure existing functionality remains intact.
This commit is contained in:
asepharyana
2026-09-04 22:37:38 +07:00
parent 1e2df2b751
commit e90bcac7c3
16 changed files with 406 additions and 74 deletions
+23
View File
@@ -179,3 +179,26 @@ When not to delegate: a single grep, or anything you must supervise step by step
your own turn, where every call is on screen. A worker wins when the intermediate steps are
noise: a mechanical rename across twenty files, a test scaffold written to match an existing
suite, a cleanup whose shape you already know.
### Subagent model
By default a subagent runs on the same model as the parent. For read-only explorations and
reviews that is usually overkill — an `explore` search spanning many files pays the parent's
reasoning rate for what is really a grep with better recall. Set `subagentModel` in config to a
cheaper, faster model and every `task` call uses it instead:
```json
{ "subagentModel": "claude-sonnet-4-5" }
```
Omit it (or set it to a model that fails to resolve) to fall back to the parent model. `worker`
subagents inherit the same override; a worker that needs the parent's reasoning can be written
to do the careful parts in the main turn and delegate only the mechanical shell.
### Empty reports
A subagent that returns nothing at all — no tool steps and no text — is almost always a
transient failure rather than a real "nothing found". The very first such blank response is
retried once with a nudge to report, so a swallowed provider error does not surface as an empty
result. A run that did real tool work but never wrote a final answer is not retried: repeating
it would just redo the work, so it is handed back as-is for the parent to decide.