diet-guard/DOCS-dopamine-ux.md
Krzysztof kuhy Rudnicki bbef894195
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
file-length / file length <= 250 lines (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (mypy, mypy, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (pylint, pylint, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (rest, , mypy,pylint) (push) Waiting to run
Tests / test (push) Waiting to run
release-apk / release (APK) (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Move TODOs to todo app
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-11-02 11:18:13 +01:00

1.2 KiB

diet-guard dopamine-ux: context

context you would otherwise rediscover

  • This app has no design_system dependency — app/lib/ui/theme.dart is a hand-transcription of the shared tokens (values are byte-identical, names in comments). Motion tokens from prompt 01 must be transcribed into that local theme file, matching the existing convention. Do not add the dependency here; that is a separate, larger refactor.
  • Capability baseline, verified 2026-08-16: no audio package, no assets: block, no vibration package, no VIBRATE permission. The only existing audio-adjacent thing is the diet_guard_due_slot notification channel (app/lib/services/notification_backend_io.dart ~:17-18, :52-55) at Importance.high with no explicit sound/vibration override — leave it alone.
  • The app already computes both a logging streak and an adherence streak (_daystatus.py:144/:153 on the Python side, mirrored in Dart). You are making existing true data feel like something, not inventing a new metric.
  • diet-guard state lives under XDG (~/.local/share/diet_guard), unlike screen-locker's in-repo JSON. Tests isolate it via ~/src/diet-guard/diet_guard/tests/conftest.py:97 _isolate_state.