diet-guard/docs/DOCS-textgate-keep.md
Krzysztof kuhy Rudnicki 43e4b4070d Replace PC gate text with glyphs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 15:35:34 +01:00

57 lines
2.7 KiB
Markdown

# Text kept on purpose (textgate keep list)
kuhy's rule: nothing he sees carries text unless he asked. `textgate scan`
still lists the rows below; each is documented here, and
`diet_guard/tests/test_textgate_scan_clean.py` fails on any hit this file
does not name by path. The per-surface guards are `test_gate_no_words.py`
and `test_gate_no_words_static.py` (Tk gate), `app/test/no_words_*_test.dart`
(phone and web screens) and `app/test/desktop/desktop_wrapper_no_text_test.dart`
(pages served into the Chrome window).
## Exempt
- `docs/explanations/*.html`: documentation pages, read in a browser on
purpose. Not app UI. The scan lists them; the guard ignores that prefix.
## Proper nouns (OS-level app name)
| Where | Text | Why |
|---|---|---|
| `app/lib/main.dart` | `Diet Guard` | `MaterialApp.title`: task switcher and tab name |
| `diet_guard/_gatelock.py` | `Diet Gate` | window title, an identifier under override-redirect |
The launcher label and notification channel (`DietGuard`) live in
`AndroidManifest.xml` and `notification_backend_io.dart`; a due-slot
notification shows only the slot clock time and has no body.
## Spoken only (never painted)
| Where | Text | Evidence |
|---|---|---|
| `app/lib/screens/log_meal_fill_mixin.dart` | fill failed / cancelled sentences | handed to `StatusCue` as the semantic label; the cue paints a glyph and a count |
| `app/lib/services/kuchnia_fill_flow.dart` | delivery and logged sentences | `FillOutcome.message`, same route; `no_words_kuchnia_test.dart` proves the snackbar paints a glyph and a number |
## Read by Claude, not by kuhy
MCP tool titles in `diet_guard/_mcp.py` and `diet_guard/_mcp_read.py`, and the
commit text in `diet_guard/_prune_peers.py`: tool metadata and a CLI commit
message.
## Terminal output (settled: keeps its text)
All `print`/stdout/stderr and `--help` of the Python CLI, `app/bin/` and the
stderr lines of `app/lib/desktop/wrapper_server.dart`. Pages served into the
Chrome window answer errors with a status code and an empty body.
## DOUBT rows (kuhy to confirm or file a task)
- `MET` next to kcal figures (activity rows), and unit symbols `kcal kg lb st cm km min`: bare identifiers beside a number.
- Formula proper names painted outside the activity sheet: `app/lib/widgets/body/body_stats_cards.dart`, `goal_card.dart` (BMI Prime, Trefethen, ideal-weight and resting-burn formula names). The Tk gate dropped them.
- Workout names (`session.label`, `session.kind`) are PC-published content.
## Framework pickers (not reworked; follow-up task filed)
`showDatePicker`, `showDateRangePicker`, `showTimePicker` paint Select date,
Cancel, OK, Save: `log_meal_future_mixin.dart`, `history_filter_sheet.dart`,
`dated_value_card.dart`, `meal_time_dropdown.dart`, `profile_card.dart`.