Skip to content

feat(advisor): action analyze — обзорный LLM-анализ трат - #51

Merged
Tarasusrus merged 2 commits into
mainfrom
feature/advisor-analyze
May 7, 2026
Merged

feat(advisor): action analyze — обзорный LLM-анализ трат#51
Tarasusrus merged 2 commits into
mainfrom
feature/advisor-analyze

Conversation

@Tarasusrus

Copy link
Copy Markdown
Owner

Summary

  • Расширение AdvisorSkill вторым action analyze для free-form анализа трат за период (snapshot cur+prev + top-20 → LLM JSON → format). По ADR-002 — без дублирования в BudgetSkill.
  • Manifest negative-prompts в обоих skill'ах (advisor + budget) лечат router ambiguity analyzesummaryforecast.
  • Routing eval: 1.00 (baseline 0.83), +7 кейсов (advisor_analyze + contrast_analyze).

Changes

  • internal/budget/store.goGetAdvisorSnapshot принимает monthOffset; новый GetTopExpenseTransactions с конверсией в THB.
  • internal/budget/model.goTopExpense.
  • internal/skills/advisor_skill.go — manifest enum [advice, analyze] + period; runAnalyze + analyzePromptTemplate + parseAnalyzeLLMResponse + formatAnalyzeReply; Run-switch.
  • internal/skills/budget_skill.go — negative-prompt (free-form analysis → advisor.analyze).
  • evals/golden_set.jsonl — +5 advisor_analyze + 2 contrast_analyze кейса.

Closes simpleAI-q9y.

Test plan

  • go build ./... clean
  • go vet ./... clean
  • go test ./... PASS (incl. new analyze unit-tests: parse / period / format / buildPrompt)
  • routing eval go run ./evals/cmd/routing ≥ baseline 0.83 (got 1.00)
  • /review → PASS

🤖 Generated with Claude Code

Tarasusrus and others added 2 commits May 7, 2026 08:12
AdvisorSkill расширен вторым action='analyze' для free-form анализа
трат: snapshot текущего + прошлого периода + top-20 расходов → LLM →
{anomalies, trends, advice}. Отдельный skill в budget избыточен (DRY,
ADR-002).

- internal/budget/store.go: GetAdvisorSnapshot принимает monthOffset
  (для prev period); новый GetTopExpenseTransactions с конверсией в THB
- internal/budget/model.go: TopExpense
- internal/skills/advisor_skill.go: manifest enum [advice, analyze] +
  period; runAnalyze + analyzePromptTemplate + parseAnalyzeLLMResponse
  + formatAnalyzeReply; Run-switch по action
- internal/skills/budget_skill.go: negative-prompt в manifest
  (free-form analysis → advisor.analyze)
- evals/golden_set.jsonl: +5 advisor_analyze кейсов + 2 contrast_analyze

DoD: go build/vet/test PASS, routing eval 1.00 (baseline 0.83).

Closes simpleAI-q9y.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Tarasusrus
Tarasusrus merged commit 2930838 into main May 7, 2026
2 checks passed
@Tarasusrus
Tarasusrus deleted the feature/advisor-analyze branch May 7, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant