d28e2f4a7e
[loop-cycle-1] feat: tool allowlist for autonomous operation ( #69 )
...
Add config/allowlist.yaml — YAML-driven gate that auto-approves bounded
tool calls when no human is present.
When Timmy runs with --autonomous or stdin is not a terminal, tool calls
are checked against allowlist: matched → auto-approved, else → rejected.
Changes:
- config/allowlist.yaml: shell prefixes, deny patterns, path rules
- tool_safety.py: is_allowlisted() checks tools against YAML rules
- cli.py: --autonomous flag, _is_interactive() detection
- 44 new allowlist tests, 8 updated CLI tests
Closes #69
2026-03-14 17:39:48 -04:00
Trip T
41d6ebaf6a
feat: CLI session persistence + tool confirmation gate
...
- Chat sessions persist across `timmy chat` invocations via Agno SQLite
(session_id="cli"), fixing context amnesia between turns
- Dangerous tools (shell, write_file, etc.) now prompt for approval in CLI
instead of silently exiting — uses typer.confirm() + Agno continue_run
- --new flag starts a fresh conversation when needed
- Improved _maybe_file_issues prompt for engineer-quality issue bodies
(what's happening, expected behavior, suggested fix, acceptance criteria)
- think/status commands also pass session_id for continuity
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 20:55:56 -04:00
Claude
4e11dd2490
refactor: Phase 3 — reorganize tests into module-mirroring subdirectories
...
Move 97 test files from flat tests/ into 13 subdirectories:
tests/dashboard/ (8 files — routes, mobile, mission control)
tests/swarm/ (17 files — coordinator, docker, routing, tasks)
tests/timmy/ (12 files — agent, backends, CLI, tools)
tests/self_coding/ (14 files — git safety, indexer, self-modify)
tests/lightning/ (3 files — L402, LND, interface)
tests/creative/ (8 files — assembler, director, image/music/video)
tests/integrations/ (10 files — chat bridge, telegram, voice, websocket)
tests/mcp/ (4 files — bootstrap, discovery, executor)
tests/spark/ (3 files — engine, tools, events)
tests/hands/ (3 files — registry, oracle, phase5)
tests/scripture/ (1 file)
tests/infrastructure/ (3 files — router cascade, API)
tests/security/ (3 files — XSS, regression)
Fix Path(__file__) reference in test_mobile_scenarios.py for new depth.
Add __init__.py to all test subdirectories.
Tests: 1503 passed, 9 failed (pre-existing), 53 errors (pre-existing)
https://claude.ai/code/session_019oMFNvD8uSGSSmBMGkBfQN
2026-02-26 21:21:28 +00:00