diff --git a/documentation/TODO__Agents.md b/documentation/TODO__Agents.md index cf5f85f..3fc8e9e 100644 --- a/documentation/TODO__Agents.md +++ b/documentation/TODO__Agents.md @@ -89,6 +89,16 @@ system prompt by `context_loader.py` at all tiers. - Supports `local_openai` and `gemini_api` model types; returns error string for others - Admin-only tool (powerful — can spawn arbitrarily long sub-tasks) - Host UI: "Max parallel" number input in host edit/add forms +- [x] **`spawn_agent` per-call tool restrictions** — `allow_tools` and `deny_tools` params — 2026-05-12 + - `allow_tools: list[str]` — intersected with role ceiling; cannot grant beyond role config + - `deny_tools: list[str]` — blocked even when role permits; falls back to `confirm_deny` gate when `tool_list` is None + - Both params documented in FunctionDeclaration for orchestrator use +- [x] **`file_diff`** — unified diff between two project-scoped files — 2026-05-12 + - `cortex/tools/files.py` — `diff -u`, 50 KB output cap, project-scoped path resolution +- [x] **`git_status` / `git_log` / `git_diff`** — read-only git inspection — 2026-05-12 + - `cortex/tools/git.py` — new module; all project-scoped, low risk + - `git_log(n, path, oneline)` — last N commits with optional path filter + - `git_diff(ref_a, ref_b, path, stat_only)` — any ref range; no args = unstaged vs HEAD - [x] **`http_post`** — POST to external URLs — 2026-05-09 - Params: `url: str`, `body: str`, `headers: dict | None`, `max_chars: int` - Per-user URL prefix allowlist in `home/{user}/http_allowlist.json` (JSON array of prefixes) @@ -165,8 +175,8 @@ read without the user's key. ### [Models] Model Registry V2 — Unified Provider System See `DESIGN__Model_Registry_V2.md` for full design. - [x] **Phase 1** — V2 schema with providers (Anthropic/Google), multi-account Gemini, auto migration, orchestrator uses account API key — 2026-04-27 -- [ ] **Phase 2** — Cloud provider UI: Anthropic + Google sections in `/settings/models`, account management, model entry creation for cloud models -- [ ] **Phase 3** — Unified roles + toggle redesign: standalone role assignments, chat toggle cycles role slots (Primary/Backup 1/Backup 2) showing model label +- [x] **Phase 2** — Cloud provider UI: Anthropic + Google sections in `/settings/models`, account management, model entry creation for cloud models — 2026-04-27 +- [x] **Phase 3** — Unified roles + toggle redesign: chat toggle cycles chat-role slot models (Primary/Backup 1/Backup 2) by label; slot sent in chat/orchestrate payload — 2026-05-12 - [ ] **Phase 4** — Polish: Claude API key, OpenRouter as named provider, catalog sync from API ### [Intelligence] Knowledge consolidation — Phase 1