ealmeida
11f9833aac
feat(observabilidade): tabela worklog_comments + parser HTML + importer MCP
...
- Schema worklog_comments (id, discussion, parent, datas, staff, campos parseados em JSON)
- Parser HTML tolerante (h2/h3/h4) extrai title, task_ref, duration, work_items,
files_modified, problems, patterns_text, actions
- Módulo worklog-import com paginação MCP get_discussion_comments
- Helper mcp-client.ts partilhado (gateway MCP JSON-RPC + SSE)
- Dep runtime: node-html-parser
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-23 03:07:09 +01:00
ealmeida
ac4e9c6f35
fix(observabilidade): parser extrai skills de tool_result.content (string e array)
...
Antes: skills_invoked vazio em 1608/1608 sessões porque detectSkillInvoked
apenas era aplicado ao text extraído de content[type=text]. A string
'Launching skill: X' vive dentro de tool_result.content (string ou array
de text blocks), que era ignorada.
Fix: adicionar helper extractResultText(r) que trata ambos os casos e
aplicar detectSkillInvoked + detectHook também ao tool_result. Após
re-indexação full, 526/1616 sessões têm agora skills detectadas e o
detector de padrões devolve 6 padrões (vs 2 baseline), incluindo
skills_with_high_error_rate reais.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-23 02:20:24 +01:00
ealmeida
2a523a505e
feat(observabilidade): tabela patterns + 6 detectores SQL
...
Adiciona tabela 'patterns' à BD sessions (UNIQUE por week_iso+pattern_key)
e helpers upsertPattern/getPatternsByWeek/getConsecutiveWeeks no SessionsDb.
Módulo patterns.ts implementa 6 detectores heurísticos para deteccão semanal:
1. skills_with_high_error_rate (ratio > 0.2, severity warning|action)
2. tools_low_efficiency (tool_calls/event_count médio > 0.5)
3. skill_tool_pairs (top 5 co-ocorrências)
4. duration_outliers (sessões > p95 com outcome != completed)
5. abandoned_sessions (event_count<3 AND outcome=unknown, >=5)
6. growing_complexity (avg tool_calls actual > anterior*1.3)
5 testes cobrem detector de erro, abandonadas, consecutive_weeks,
idempotência do upsert e toPatternRecord.
Refs Fase 6A · Desk #2059 · Project #65
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-23 02:17:21 +01:00
ealmeida
80a5f3bf42
feat(observabilidade): watcher chokidar incremental
2026-04-23 01:19:21 +01:00
ealmeida
7a13d21caa
fix(observabilidade): stub watcher sai limpo com exit 0 para Task 9 systemd
2026-04-23 01:01:42 +01:00
ealmeida
296819df63
feat(observabilidade): indexer full scan + CLI + stub watcher
2026-04-23 00:57:46 +01:00
ealmeida
3bfec245c7
perf(observabilidade): synchronous=NORMAL e upsertMany transaccional
2026-04-23 00:56:07 +01:00
ealmeida
a2ce1fa41d
feat(observabilidade): wrapper SQLite com schema, upsert e filtros
2026-04-23 00:53:05 +01:00
ealmeida
bd954f4841
fix(observabilidade): stream cleanup, outcome logic e NaN guard no parser
2026-04-23 00:50:33 +01:00
ealmeida
26b631bbd6
feat(observabilidade): parser JSONL com detecção de tool_calls e skills
2026-04-23 00:46:58 +01:00