Skip to content

Добавить глобальную настройку показа 7-дневных трендов - #154

Merged
Ascurse merged 1 commit into
mainfrom
bd-mac-limits-tracker-gld.4
Aug 7, 2026
Merged

Добавить глобальную настройку показа 7-дневных трендов#154
Ascurse merged 1 commit into
mainfrom
bd-mac-limits-tracker-gld.4

Conversation

@Ascurse

@Ascurse Ascurse commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Закрывает bd mac-limits-tracker-gld.4 (P2), эпик mac-limits-tracker-gld.

График за 7 дней полезен для анализа, но в компактном попапе и на dashboard с несколькими провайдерами занимает много вертикального места. Нужен один способ его скрыть — без разных настроек и разного поведения в каждой теме.

Что сделано

  • AppSettingsStore.showUsageTrends — persisted Bool, дефолт true через object(forKey:) as? Bool ?? true, чтобы отсутствующий ключ был отличим от сохранённого false. Тот же паттерн, что у autoRefreshEnabled.
  • LimitsViewModel.showUsageTrends (@Published) плюс setShowUsageTrends(_:) — только персистит и обновляет состояние, refresh и сеть не трогает. UI к UserDefaults не обращается.
  • Гейтинг целиком в Core: параметр showTrends прокинут через PopupContentBuilder.section/sections/rows/usageRows/windowRows. При false строка .sparkline заменяется компактной .note. Темы и ProviderOverview про флаг не знают вовсе — поэтому одна настройка одинаково действует на все четыре темы и обе поверхности.
  • Компактная замена: для состояния .ok — «7d: старт% → текущий%»; для sparse/gap/stale — тот же fallbackText, что показывает UsageTrendView рядом с маркерами; .empty по-прежнему молчит, чтобы не шуметь. Строка с remaining/reset от флага не зависит.
  • Toggle("Show 7-day usage trends") в DisplaySettingsSection с accessibility label, в существующем порядке контролов и surface-aware плотности.
  • CLAUDE.md — механизм описан в «Conventions & Patterns».

Тесты

13 новых, TDD:

  • AppSettingsStoreTests — дефолт true, round-trip, сохранённый false не откатывается к true.
  • LimitsViewModelDisplaySettingsTests — дефолт, чтение при инициализации, сеттер обновляет @Published и персистит, и отдельно test_setShowUsageTrends_doesNotTriggerRefresh со счётчиком fetch().
  • PopupContentBuilderShowTrendsTests — по умолчанию вставляется .sparkline; при showTrends: false появляется компактная note; строка окна идентична независимо от флага; sparse-данные дают тот же fallbackText; отсутствие истории молчит в обоих режимах.

swift test --disable-sandbox — 585 тестов, 0 сбоев.

Границы

Приложение не запускалось, скриншотов и AX-прогонов нет — по правилу эпика визуальная проверка выполняется только в mac-limits-tracker-gld.5. Туда же остаётся проверить перенос компактной строки на длинных подписях окон в узкой menu-bar плотности и озвучку нового переключателя.

🤖 Generated with Claude Code

showUsageTrends в AppSettingsStore/LimitsViewModel (default true) и
Toggle в DisplaySettingsSection. Гейтинг — в PopupContentBuilder:
при выключенном флаге .sparkline заменяется компактной .note-строкой,
.window (remaining/reset) не трогается. Темы и ProviderOverview про
флаг не знают — один переключатель действует на все четыре темы и
обе поверхности без правок в UI-слое.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ecc-tools

ecc-tools Bot commented Aug 7, 2026

Copy link
Copy Markdown

Analyzing 200 commits...

@ecc-tools

ecc-tools Bot commented Aug 7, 2026

Copy link
Copy Markdown

Analysis Complete

Generated ECC bundle from 1 commits | Confidence: 50%

View Pull Request #155

Repository Profile
Attribute Value
Language Swift
Framework Not detected
Commit Convention freeform
Test Directory separate
Changed Files (12)
Metric Value
Files changed 12
Additions 220
Deletions 15

Top hotspots

Path Status +/-
Tests/MacLimitsTrackerTests/PopupContentBuilderTests.swift modified +75 / -0
Tests/MacLimitsTrackerTests/AppSettingsStoreTests.swift modified +53 / -0
Sources/MacLimitsTrackerCore/Models/PopupContent.swift modified +39 / -10
Sources/MacLimitsTrackerCore/LimitsViewModel.swift modified +12 / -0
CLAUDE.md modified +11 / -0

Top directories

Directory Files Total changes
Tests/MacLimitsTrackerTests 2 128
Sources/MacLimitsTrackerCore/Models 1 49
Sources/MacLimitsTracker/UI 5 15
Sources/MacLimitsTrackerCore 1 12
. 1 11
Analysis Depth Readiness (commit-history, 21%)

ECC Tools uses this to decide whether recommendations should stay at commit-history/setup guidance or expand into CI, security, harness, reference-set, AI-routing, and team backlog work.

Area Status Evidence / Next Step
Commit history Partial 1 commits sampled
CI/CD signals Missing Add workflow files or CI troubleshooting evidence so ECC Tools can reason about pipeline setup.
Security evidence Missing Add AgentShield, audit, SARIF, SBOM, or security review evidence so recommendations can cover security posture.
Harness configuration Missing Add Claude, Codex, OpenCode, Zed, dmux, MCP, plugin, or cross-harness config evidence for harness-agnostic recommendations.
Reference/eval evidence Missing Add fixtures, golden traces, reference sets, or evaluator benchmarks so deeper recommendations have regression evidence.
AI routing and cost controls Ready CLAUDE.md
Team handoff and project tracking Missing Add roadmap, runbook, project, Linear, or follow-up tracking docs so generated work can land in a team queue.
Reference Set Readiness (0/7, 0%)
Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.
Likely Future Issues (1)
Severity Signal Why it may show up
MEDIUM Cost or token-risk changes may ship without budget evidence 1 cost/token-risk paths changed; 0 budget, usage, or cost validation artifacts changed
  • Cost or token-risk changes may ship without budget evidence: The PR changes AI routing, usage, token budget, or model-call surfaces without touching obvious budget, usage-limit, or cost regression evidence.
Suggested Follow-up Work (1)
Type Suggested title Targets
PR test: add budget evidence for CLAUDE.md CLAUDE.md
  • test: add budget evidence for CLAUDE.md: Backfill cost, token, or usage-limit validation before another model-routing change lands on the touched surface.

Copy-ready bodies

test: add budget evidence for CLAUDE.md

## Summary
- Add budget or usage-limit validation for the recently changed AI routing or model-call surface.

## Why
- Backfill cost, token, or usage-limit validation before another model-routing change lands on the touched surface.

## Touched paths
- `CLAUDE.md`

## Validation
- Add or extend budget, token, usage-limit, or model-routing regression coverage for the changed path.
- Verify the route still enforces plan limits, retry caps, fallback behavior, or explicit cost controls.
Generated Instincts (5)
Domain Count
git 1
code-style 3
testing 1

After merging, import with:

/instinct-import .claude/homunculus/instincts/inherited/mac-limits-tracker-instincts.yaml

Files

  • .claude/ecc-tools.json
  • .claude/skills/mac-limits-tracker/SKILL.md
  • .agents/skills/mac-limits-tracker/SKILL.md
  • .agents/skills/mac-limits-tracker/agents/openai.yaml
  • .claude/identity.json
  • .codex/config.toml
  • .codex/AGENTS.md
  • .codex/agents/explorer.toml
  • .codex/agents/reviewer.toml
  • .codex/agents/docs-researcher.toml
  • .claude/homunculus/instincts/inherited/mac-limits-tracker-instincts.yaml

ECC Tools | Everything Claude Code

@Ascurse
Ascurse merged commit 4165971 into main Aug 7, 2026
2 checks passed
@Ascurse
Ascurse deleted the bd-mac-limits-tracker-gld.4 branch August 7, 2026 21:45
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