@matheuskrumenauer/tanya 0.7.0-beta.0 → 0.9.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -198,6 +198,64 @@ run directly; JavaScript and TypeScript commands export a default
198
198
  Project-local commands are arbitrary code execution and are gated by the same
199
199
  permission engine as native tools.
200
200
 
201
+ ## Sub-agent tool
202
+
203
+ The `task` tool delegates a bounded child run while keeping the parent in
204
+ control:
205
+
206
+ ```json
207
+ {
208
+ "prompt": "Map the auth module and report blockers.",
209
+ "workspace": "src/auth",
210
+ "max_turns": 12,
211
+ "token_budget": { "max_tokens": 12000 },
212
+ "treat_failure_as": "warning"
213
+ }
214
+ ```
215
+
216
+ Children inherit the parent's skill packs, permission rules, workspace, and
217
+ budget. They may narrow those constraints but cannot loosen them. Depth is
218
+ capped at 2 by default (`TANYA_SUBTASK_MAX_DEPTH`), and active children share a
219
+ default parallel cap of 3 (`TANYA_SUBTASK_MAX_PARALLEL`).
220
+
221
+ Every child runs its own verifier. Failed child verdicts become parent blockers
222
+ by default; `treat_failure_as` can demote a specific child to `warning` or
223
+ `ignore` when the caller wants advisory work only. Child events stream into the
224
+ parent log with a `subRunId`, and parent cancellation propagates into active
225
+ children.
226
+
227
+ See [docs/sub-agents.md](./docs/sub-agents.md) for permission inheritance,
228
+ budget-ledger semantics, cancellation, verifier composition, and memory rollup.
229
+
230
+ ## Multi-model routing
231
+
232
+ Tanya can route each agent step to a different provider/model. Planning and
233
+ simple tool-call turns can use cheap chat models, while synthesis,
234
+ verification, and reasoning turns can use stronger models only when needed.
235
+
236
+ Default route profile:
237
+
238
+ | Step | Route | Fallback |
239
+ | --- | --- | --- |
240
+ | `planning` | `deepseek/deepseek-chat` | `qwen/qwen3-coder-plus` |
241
+ | `tool_call` | `deepseek/deepseek-chat` | `groq/llama-3.3-70b-versatile` |
242
+ | `synthesis` | `deepseek/deepseek-reasoner` | `openai/gpt-4.1-mini` |
243
+ | `verification` | `deepseek/deepseek-reasoner` | `openai/gpt-4.1-mini` |
244
+ | `reasoning` | `deepseek/deepseek-reasoner` | `qwen/qwen3-coder-plus` |
245
+
246
+ Project routes live in `.tania/routes.json`; user-global routes live in
247
+ `~/.tanya/routes.json` with a legacy read fallback from `~/.tania/routes.json`.
248
+ Use `/route` in the REPL to inspect the effective table, `/route show
249
+ <stepType>` to inspect one step, `/route set <stepType> <provider>/<model>` for
250
+ a session-only patch, and `/route reset` to clear session patches.
251
+
252
+ Escalations are visible: if a cheap route exhausts the malformed tool-call
253
+ repair budget, Tanya emits `escalation_event` and uses the route fallback once,
254
+ up to `TANYA_ESCALATION_CAP` per session.
255
+
256
+ See [docs/routing.md](./docs/routing.md) for schema, examples, context-window
257
+ guards, per-tool model overrides, and sub-agent model pins.
258
+
201
259
  `--verify` adds required verification commands to the run context. Tanya must run and report each exact command before finishing the coding task.
202
260
 
203
261
  `tanya benchmark run --all` currently exercises 27 executable low-to-medium regression fixtures: targeted edits, new files, dependency/lockfile updates, framework-style migrations, failing-test repair, frontend smoke checks, artifact/context reuse, streaming long-tool execution, compaction-boundary recovery, run-history logging, dirty worktrees, report repair, and the CosmoHQ mobile/backend smoke profiles.