4.9 KiB
Sofiia Tools Audit (NODA2)
Date: 2026-03-01
Node: NODA2 (local laptop)
Scope: Router tool stack + requested integrations (AgentEmailTool, BrowserTool, SecureVault, SafeCodeExecutor, CalendarTool) + broader Sofiia tool system readiness.
1) Inventory and Wiring Integrity
- Tool definitions declared in router: 56 executable tools (
services/router/tool_manager.py) - Tool dispatch branches in router: 56 tools
- Dispatch-to-handler integrity check: no missing handler definitions
Evidence:
- Definitions source:
services/router/tool_manager.py - Dispatch source:
services/router/tool_manager.py
2) NODA2 Infrastructure Readiness
Calendar stack is wired into NODA2 compose:
routerenv hasCALENDAR_SERVICE_URL=http://calendar-service:8001routermounts./tools:/app/tools:ro(required for local tool modules)routerdepends oncalendar-servicecalendar-serviceservice present and runningradicaleservice present and running
Compose source:
docker-compose.node2-sofiia.yml
3) Requested Tool Audit (Runtime)
AgentEmailTool
- Route wiring: present
- RBAC mapping: present (
tools.email.use) - Limits: present
- Runtime check:
list_inboxes->ok(empty list expected on fresh setup)
BrowserTool
- Route wiring: present
- RBAC mapping: present (
tools.browser.use) - Limits: present
- Runtime check:
start_session/goto/get_current_url/close_session->ok - Async loop blocker resolved via thread offload in router adapter.
SecureVault
- Route wiring: present
- RBAC mapping: present (
tools.vault.manage) - Limits: present
- Runtime check:
store->ok
SafeCodeExecutor
- Route wiring: present
- RBAC mapping: present (
tools.exec.safe) - Limits: present
- Runtime check:
validate->ok(pythonsample valid)
CalendarTool (Radicale/CalDAV via calendar-service)
- Route wiring: present
- RBAC mapping: present (
tools.calendar.use) - Limits: present
- Runtime check:
calendar-service /health-> healthycalendar_tool list_calendarswithoutaccount_id-> domain erroraccount_id required(expected), proving router->service path is live.
4) RBAC and Governance Validation
Files present and active:
config/tools_rollout.ymlconfig/rbac_tools_matrix.ymlconfig/tool_limits.yml
Validated outcomes:
sofiiaandadminmapped toagent_ctorollout- New tools included in
cto_tools - Role entitlements include calendar/email/browser/executor/vault usage
- Negative check passed:
monitordenied onsecure_vault_tool
5) Sofiia CTO Access Audit (repo / notion / git / nodes)
Repo access
repo_toolavailable and callable- Runtime check
repo_tool:metadata->ok
Notion access
notion_toolavailable and callable- Runtime check
notion_tool:status->ok(workspace bot identity returned)
Git/repo operational tooling
repo_tool,pr_reviewer_tool,contract_tool,kb_toolare present in tool definitions and dispatch.
Node visibility/control plane
- Console endpoint
GET /api/agents?nodes=NODA2returns healthy agent registry for NODA2. - Nodes registry file present:
config/nodes_registry.yml
6) Documentation Coverage
Current docs directories found:
docs/tools/(tool docs exist for key governance/ops tools)docs/audit/anddocs/audits/(existing system audit artifacts)
Gap observed:
- Documentation depth is uneven across all 56 tools; some newer tools are wired and working but not yet fully documented in
docs/tools/.
7) Current Risk Register (Audit Findings)
- Medium: Calendar integration is operational, but no account bootstrap in this audit run (no connected calendar account configured yet).
- Low/Medium: Tool documentation is incomplete relative to actual implemented tool surface (56 tools).
- Low: Repo is in a very large dirty state; future changes should stay strictly path-scoped to avoid accidental mixed commits.
8) Appendix: Executable Tool Set (56)
agent_email_tool alert_ingest_tool architecture_pressure_tool backlog_tool binance_account_bots binance_bots_top browser_tool calc_window_quote calendar_tool comfy_generate_image comfy_generate_video config_linter_tool contract_tool cost_analyzer_tool crawl4ai_scrape crm_create_job crm_create_quote crm_search_client crm_update_quote crm_upsert_client crm_upsert_site crm_upsert_window_unit data_governance_tool dependency_scanner_tool docs_render_invoice_pdf docs_render_quote_pdf drift_analyzer_tool file_tool graph_query image_generate incident_escalation_tool incident_intelligence_tool job_orchestrator_tool kb_tool market_data memory_search notion_tool observability_tool oncall_tool pieces_tool pr_reviewer_tool presentation_create presentation_download presentation_status remember_fact repo_tool risk_engine_tool risk_history_tool safe_code_executor_tool schedule_confirm_slot schedule_propose_slots secure_vault_tool threatmodel_tool tts_speak web_extract web_search