Files
OnBudget/.claude/settings.local.json
T
SandersandClaude Opus 4.8 4f99b80169 Replace account_bindings with per-app default account; build analytics charts
Notification parsing:
- Drop the account_bindings table/DAO/repo/entity/controller/screen; account
  resolution now goes senderToAccount rule -> source_apps.defaultAccountId
  (trusted) -> global default (untrusted -> Inbox), via v1->v2 migration.
- Add defaultAccountId to source_apps; per-app settings consolidated into
  source_app_detail_screen (/settings/parsing/apps/:pkg).
- Inbox auto-learns an app default on first Confirm/CreateRule; account picker
  on the card instead of a disabled button; parse_error_labels extracted.

Analytics:
- Replace placeholder screen with fl_chart cards (chart_card, chart_theme,
  month_stepper, month_math domain helper); slim down habit_analysis_screen.

Android: add launcher icon (adaptive foreground + colors.xml) and app_name.

Tests: migration_v2, analytics (screen/month_math), AI retry, inbox
visibility; update resolver/gate/inbox suites for the new resolution path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 00:09:12 +03:00

38 lines
2.2 KiB
JSON

{
"permissions": {
"allow": [
"PowerShell(flutter *)",
"Bash(flutter analyze *)",
"Bash(flutter gen-l10n *)",
"Bash(dart run *)",
"Bash(flutter test *)",
"Bash(Select-String -Pattern \"Failing tests:|_test.dart:\" -Context 0,0)",
"Bash(Select-Object -Last 40)",
"Bash(Get-ChildItem -Path \"C:\\\\Sanders\\\\Flutter\\\\NewBudget\\\\lib\\\\src\\\\features\\\\notification_parsing\" -Recurse -Directory)",
"Bash(Select-Object -ExpandProperty FullName)",
"Bash(Get-ChildItem -Path \"C:\\\\Sanders\\\\Flutter\\\\NewBudget\\\\lib\\\\src\\\\features\\\\notification_parsing\" -Recurse)",
"Bash(Select-Object FullName)",
"Bash(Get-ChildItem -Path \"C:\\\\Sanders\\\\Flutter\\\\NewBudget\\\\lib\\\\src\\\\features\\\\notification_parsing\" -Recurse -File)",
"Bash(Sort-Object)",
"Bash(Get-ChildItem -Path \"C:\\\\Sanders\\\\Flutter\\\\NewBudget\\\\android\" -Recurse -Force)",
"Bash(Select-Object -First 50)",
"Bash(Format-Table FullName)",
"Bash(find \"C:\\\\\\\\Sanders\\\\\\\\FlutterSDK\\\\\\\\flutter\\\\\\\\packages\\\\\\\\flutter_tools\\\\\\\\gradle\" -name \"*.gradle\" 2>/dev/null | head -5)",
"Bash(grep -E \"compileSdkVersion|minSdkVersion|targetSdkVersion\" \"C:\\\\\\\\Sanders\\\\\\\\FlutterSDK\\\\\\\\flutter\\\\\\\\packages\\\\\\\\flutter_tools\\\\\\\\gradle\\\\\\\\flutter.gradle\")",
"Bash(grep -r \"compileSdk\\\\|minSdk\\\\|targetSdk\" \"C:\\\\\\\\Sanders\\\\\\\\FlutterSDK\\\\\\\\flutter\\\\\\\\packages\\\\\\\\flutter_tools\\\\\\\\gradle\")",
"Bash(grep -E \"compileSdkVersion|minSdkVersion|targetSdkVersion\" \"C:\\\\\\\\Sanders\\\\\\\\FlutterSDK\\\\\\\\flutter\\\\\\\\packages\\\\\\\\flutter_tools\\\\\\\\gradle\\\\\\\\bin\\\\\\\\main\\\\\\\\FlutterExtension.kt\")",
"Bash(xargs wc -l)",
"Bash(git -C . worktree list)",
"Bash(xargs grep -l \"class\")",
"PowerShell(dart run build_runner build --delete-conflicting-outputs)",
"Bash(command -v magick)",
"Bash(magick -version)",
"Bash(command -v convert)",
"Read(//c/Users/user/AppData/Local/Pub/Cache/**)",
"Bash(flutter pub *)",
"Bash(git add *)",
"WebFetch(domain:pub.dev)"
]
}
}