Config policies (16 files): alert_routing, architecture_pressure, backlog, cost_weights, data_governance, incident_escalation, incident_intelligence, network_allowlist, nodes_registry, observability_sources, rbac_tools_matrix, release_gate, risk_attribution, risk_policy, slo_policy, tool_limits, tools_rollout Ops (22 files): Caddyfile, calendar compose, grafana voice dashboard, deployments/incidents logs, runbooks for alerts/audit/backlog/incidents/sofiia/voice, cron jobs, scripts (alert_triage, audit_cleanup, migrate_*, governance, schedule), task_registry, voice alerts/ha/latency/policy Docs (30+ files): HUMANIZED_STEPAN v2.7-v3 changelogs and runbooks, NODA1/NODA2 status and setup, audit index and traces, backlog, incident, supervisor, tools, voice, opencode, release, risk, aistalk, spacebot Made-with: Cursor
14 KiB
14 KiB
Sofiia CTO Agent — Audit Index (A)
Generated: 2026-02-26 | Scope: Full repository scan | Author: Cursor Auditor
1. Canonical Files (Топ-10 "Sources of Truth")
| # | File | Тип | Статус | Короткий опис |
|---|---|---|---|---|
| 1 | AGENTS.md |
Identity/Capabilities | ✅ Актуальний | Головний identity файл Sofiia. CTO-агент, 3 ноди, всі можливості, toolchain |
| 2 | config/agent_registry.yml |
Config Registry | ✅ Актуальний | Single Source of Truth для конфігурації. Sofiia entry ~рядки 1276–1330 |
| 3 | services/sofiia-console/app/main.py |
BFF Implementation | ✅ Актуальний | FastAPI BFF v0.3.0. Всі endpoint-и Control Console |
| 4 | services/sofiia-console/static/index.html |
UI | ✅ Актуальний | 1600+ рядків SPA. Чат, Projects, Ops, Hub, Nodes, Memory |
| 5 | docs/ADR_ARCHITECTURE_VNEXT.md |
Architecture ADR | ✅ Актуальний (2026-01-19) | Control Plane + Data Plane архітектура, Privacy Gate, NATS standards |
| 6 | services/router/router-config.yml |
Router Config | ✅ Актуальний | LLM profiles, voice policies, agent routing |
| 7 | config/rbac_tools_matrix.yml |
Security | ✅ Актуальний | agent_cto роль з 39 дозволами |
| 8 | docs/OPENAPI_CONTRACTS.md |
API Contracts | ✅ Актуальний | Gateway→Router, Router→Memory контракти |
| 9 | docs/architecture_inventory/ |
Inventory (7 файлів) | ✅ Актуальний (2026-02-16) | Повний каталог сервісів, інструментів, NATS, безпека |
| 10 | gateway-bot/sofiia_prompt.txt |
System Prompt | ✅ Актуальний | 138KB+ Telegram-промпт Sofiia як Chief AI Architect |
2. Повна Карта Файлів
2.1 Identity та промпти
| Файл | Опис | Розмір | Стан |
|---|---|---|---|
AGENTS.md |
Sofiia identity: CTO-агент, NODA1/NODA2/NODA3, інструменти, стиль | ~400 рядків | ✅ Канонічний |
gateway-bot/sofiia_prompt.txt |
Telegram system prompt (великий, детальний) | ~138KB | ✅ Production |
services/sofiia-console/app/main.py lines 138–177 |
Console embedded system prompt (BFF) | ~1KB | ✅ Production |
docs/consolidation/_node1_runtime_docs/gateway-bot/sofiia_prompt.txt |
Копія промпту (NODA1 backup) | ~138KB | ⚠️ Backup copy |
2.2 Core Implementation — sofiia-console
| Файл | Опис | Рядків |
|---|---|---|
services/sofiia-console/app/main.py |
BFF FastAPI: всі endpoints, voice, telemetry, degradation SM | ~1800 |
services/sofiia-console/app/docs_router.py |
Projects/Documents/Sessions/Dialog Map router | ~380 |
services/sofiia-console/app/db.py |
SQLite async CRUD: projects, documents, sessions, messages, dialog map | ~320 |
services/sofiia-console/app/auth.py |
API key authentication | ~50 |
services/sofiia-console/app/config.py |
Node registry, URLs, feature flags | ~100 |
services/sofiia-console/app/monitor.py |
Multi-node health polling | ~150 |
services/sofiia-console/app/nodes.py |
Nodes dashboard | ~80 |
services/sofiia-console/app/ops.py |
Ops actions dispatcher | ~200 |
services/sofiia-console/app/router_client.py |
Proxy до Router (infer, tools, health) | ~100 |
services/sofiia-console/app/voice_utils.py |
Voice sanitize, chunk split, think-block clean | ~150 |
services/sofiia-console/app/adapters/aistalk.py |
AISTALK adapter | ~80 |
services/sofiia-console/static/index.html |
SPA UI: chat, projects, ops, hub, nodes, memory | ~1600 |
services/sofiia-console/requirements.txt |
aiosqlite, pypdf, python-docx, fastapi, httpx | 10 рядків |
services/sofiia-console/Dockerfile |
Docker build | ~25 |
2.3 Sofiia Supervisor (LangGraph)
| Файл | Опис |
|---|---|
services/sofiia-supervisor/app/main.py |
FastAPI: /v1/graphs/{name}/runs API |
services/sofiia-supervisor/app/graphs/alert_triage_graph.py |
Alert triage LangGraph |
services/sofiia-supervisor/app/graphs/incident_triage_graph.py |
Incident triage LangGraph |
services/sofiia-supervisor/app/graphs/postmortem_draft_graph.py |
Postmortem LangGraph |
services/sofiia-supervisor/app/graphs/release_check_graph.py |
Release check LangGraph |
services/sofiia-supervisor/app/alert_routing.py |
Routing policy matcher |
services/sofiia-supervisor/app/gateway_client.py |
RBAC-enforced gateway client |
services/sofiia-supervisor/app/models.py |
Pydantic models |
services/sofiia-supervisor/app/state_backend.py |
Redis/in-memory state |
docker-compose.node2-sofiia-supervisor.yml |
Supervisor Docker Compose |
services/sofiia-supervisor/tests/ |
6 test files |
2.4 Router та Tools
| Файл | Опис |
|---|---|
services/router/main.py |
Main router: всі API endpoints, voice HA, capabilities |
services/router/tool_manager.py |
20+ інструментів: CRUD, exec, governance |
services/router/agent_tools_config.py |
Per-agent tool allowlists |
services/router/router-config.yml |
LLM profiles, voice policies, agent routing |
services/router/fabric_metrics.py |
Prometheus metrics |
services/router/offload_client.py |
NATS offload client |
services/router/risk_engine.py |
Risk assessment engine |
services/router/backlog_generator.py |
Backlog generation |
services/router/incident_intelligence.py |
Incident correlation |
services/router/cost_analyzer.py |
Cost analysis tool |
services/router/data_governance.py |
Data governance |
services/router/dependency_scanner.py |
Dependency scanner |
services/router/drift_analyzer.py |
Infrastructure drift |
services/router/architecture_pressure.py |
Architecture pressure analysis |
2.5 Memory Service
| Файл | Опис |
|---|---|
services/memory-service/app/main.py |
FastAPI: threads, events, memories, facts, agent memory |
services/memory-service/app/vector_store.py |
Qdrant integration |
services/memory-service/app/voice_endpoints.py |
STT/TTS endpoints з Prometheus metrics |
services/memory-service/app/integration_endpoints.py |
Integration webhooks |
services/memory-service/app/integrations.py |
External integrations |
2.6 Configuration
| Файл | Опис |
|---|---|
config/agent_registry.yml |
Всі 13+ агентів + sofiia entry |
config/rbac_tools_matrix.yml |
RBAC ролі: agent_cto (39 permissions) |
config/slo_policy.yml |
SLO для voice fast/quality profiles |
config/risk_policy.yml |
Risk scoring policy |
config/release_gate_policy.yml |
Release gate rules |
config/incident_escalation_policy.yml |
Escalation policy |
config/alert_routing_policy.yml |
Alert routing |
config/observability_sources.yml |
Prometheus/Loki/Tempo sources |
config/tool_limits.yml |
Tool rate limits |
config/tools_rollout.yml |
Tools rollout configuration |
config/cost_weights.yml |
Cost scoring weights |
config/network_allowlist.yml |
Network access allowlist |
config/nodes_registry.yml |
NODA1/NODA2 node registry |
config/data_governance_policy.yml |
Data governance policy |
config/backlog_policy.yml |
Backlog generation policy |
services/router/router-config.yml |
Voice profiles, agent routing |
2.7 Docker Compose (NODA2 Sofiia Stack)
| Файл | Опис |
|---|---|
docker-compose.node2-sofiia.yml |
Main: sofiia-console + router + node-worker + memory + qdrant |
docker-compose.node2-sofiia-supervisor.yml |
Sofiia Supervisor + Redis |
docker-compose.memory-node2.yml |
Memory stack: Postgres + Qdrant + Neo4j + Memory Service |
docker-compose.node2.yml |
Full NODA2 stack |
2.8 Документація (docs/)
| Файл/Dir | Опис | Стан |
|---|---|---|
docs/ADR_ARCHITECTURE_VNEXT.md |
Основний ADR: vNext архітектура | ✅ |
docs/OPENAPI_CONTRACTS.md |
API контракти Gateway↔Router↔Memory | ✅ |
docs/ARCHITECTURE_DIAGRAM.md |
Діаграма архітектури | ✅ |
docs/architecture_inventory/ |
7 файлів: exec summary, service catalog, tool catalog, dataflows, security, observability, open questions | ✅ 2026-02-16 |
docs/fabric_contract.md |
Fabric multi-node contract, Voice HA | ✅ |
docs/sofiia_ui_vnext_audit.md |
vNext UI audit | ✅ |
docs/supervisor/langgraph_supervisor.md |
Supervisor архітектура | ✅ |
docs/supervisor/postmortem_draft_graph.md |
Postmortem граф | ✅ |
docs/runbook/sofiia-control-plane.md |
Operations runbook | ✅ |
docs/NODA1-NODA2-STATUS.md |
Статус нод | ✅ |
docs/MULTINODE_ARCHITECTURE.md |
Multi-node архітектура | ✅ |
docs/NATS_SUBJECTS.md |
NATS subject map | ✅ |
docs/voice_phase2_cutover.md |
Voice Phase 2 cutover plan | ✅ |
docs/voice_streaming_phase2.md |
Voice Phase 2 spec | ✅ |
docs/PRIVACY_GATE.md |
Privacy gate policy | ✅ |
docs/DATA_RETENTION_POLICY.md |
Data retention | ✅ |
docs/MEMORY_API_POLICY.md |
Memory API policy | ✅ |
docs/AGENT_RUNTIME_POLICY.md |
Agent runtime policy | ✅ |
docs/SECURITY_HARDENING_SUMMARY.md |
Security hardening | ✅ |
docs/backlog/backlog.md |
Поточний беклог | ✅ |
docs/incident/ |
Incident tracking docs | ✅ |
docs/risk/risk_index.md |
Risk index | ✅ |
2.9 Тести
| Файл | Що тестує |
|---|---|
tests/test_voice_ha.py |
Voice HA: 35 tests |
tests/test_voice_policy.py |
Voice routing policy: 23 tests |
tests/test_voice_stream.py |
Voice Phase 2 streaming: 22 tests |
tests/test_sofiia_docs.py |
Projects/Documents/Sessions/Dialog Map: 28 tests |
tests/test_tool_governance.py |
Tool RBAC (agent_cto role) |
tests/test_risk_attribution.py |
Risk engine |
tests/test_drift_analyzer.py |
Drift analyzer |
tests/test_cost_analyzer.py |
Cost analyzer |
tests/test_incident_escalation.py |
Escalation |
tests/test_backlog_*.py |
Backlog generation/store |
services/sofiia-supervisor/tests/ |
6 supervisor graph tests |
2.10 Ops Scripts
| Файл | Опис |
|---|---|
ops/fabric_preflight.sh |
Preflight checks: models, canary, voice |
ops/voice_ha_smoke.sh |
Voice HA acceptance smoke test |
ops/voice_latency_audit.sh |
Multi-scenario latency audit |
ops/voice_policy_update.py |
Auto-update voice policy від audit results |
ops/scripts/voice_canary.py |
Voice health canary (preflight + runtime) |
ops/runbook-voice-incidents.md |
Voice incident runbook |
ops/runbook-sofiia-docs.md |
Projects/Docs runbook |
ops/grafana_voice_dashboard.json |
Grafana dashboard |
ops/voice_alerts.yml |
Prometheus alerting rules |
3. Відсутні файли (NOT FOUND — очікувались)
| Очікуваний файл | Чому очікувався | Статус |
|---|---|---|
services/projects-service/ |
ADR_ARCHITECTURE_VNEXT згадує окремий projects-service | ❌ НЕ ЗНАЙДЕНО |
services/docs-service/ |
ADR згадує окремий docs-service з версіями | ❌ НЕ ЗНАЙДЕНО |
services/dialogmap-service/ |
vNext design, описаний у chat | ❌ НЕ ЗНАЙДЕНО |
services/ingest-service/ |
ADR 2.2 Ingest Service | ❌ НЕ ЗНАЙДЕНО (тільки stub reference) |
openapi.yml / swagger.yml |
Формальна OpenAPI специфікація | ❌ НЕ ЗНАЙДЕНО |
migrations/ (Postgres DDL для sofiia) |
Versioned DB migrations | ⚠️ Є migrations/046, 049, 052 для memory-service, але не для sofiia-console |
docs/audit/ (5 аудит-файлів) |
Запит цього сеансу | ✅ Створюються зараз |
docs_versions table |
vNext DDL план | ❌ НЕ РЕАЛІЗОВАНО |
dialog_nodes / dialog_edges tables (Postgres) |
vNext Dialog Map | ⚠️ SQLite-тільки, tree-based |
entity_links / repo_changesets / ops_runs |
CTO DDL заготовки | ❌ НЕ ЗНАЙДЕНО |
Next Actions for UI Team (1–2 days)
- Ознайомитись з
docs/architecture_inventory/(7 файлів) — там повний каталог поточного стеку - Перевірити
services/sofiia-console/app/docs_router.py— Projects/Documents/Sessions API вже є, потрібно тільки вмикати USE_EMBEDDINGS/USE_FABRIC_OCR config/agent_registry.ymlSofiia entry — перевіритиtelegram_mode: whitelistіallowed_users: []- Впевнитись що
docker-compose.node2-sofiia.ymlмаєsofiia-datavolume з правильним path - Протестувати UI через
http://localhost:8002/— відкрити вкладку "📁 Проєкти" і перевірити sidebar - Перевірити Dialog Map через
GET /api/sessions/{sid}/map— tree view реалізований - НОВА ПОТРЕБА: визначити де буде Dialog Map на Postgres (
dialog_nodes/edges) — поки SQLite tree-only - Пріоритет для UI: mock endpoints для
repo_changesetsіops_runs(CTO panel) поки не реалізовано - Додати
docs_versionsendpoint вdocs_router.py(колонкаextracted_textє, потрібна таблиця версій) - Перевірити NATS subjects в
docs/NATS_SUBJECTS.mdі зіставити з поточними зdocs/ADR_ARCHITECTURE_VNEXT.md §5