mirror of
https://github.com/runbear-io/beardrive.git
synced 2026-08-25 08:08:08 +02:00
* fix(webapp): say that a read count includes your own views (BEA-61) "14 human reads" counted the author's own browsing, and no surface said so. Snow's call was to keep counting them — so this is disclosure, not ingest: recordRead and /heat are untouched. One HEAT_DISCLOSURE constant beside heatText in lib/heat.ts, consumed by all four surfaces that print a count. The file header carries it as hover text plus an .sr-only span rather than visible text — #meta is nowrap + ellipsis, so anything appended there is the first thing a narrow window truncates away. The folder page says it once out loud, covering the summary and every row, and the heat dot keeps it in title and aria-label for a row met on its own. The Dashboard folds it into the caption already there, both scope branches. A unit test pins the constant as the only copy of the sentence in src/ — "defined once" is the acceptance criterion no browser test can see. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs(architecture): note HEAT_DISCLOSURE in the frontend lib diagram (BEA-61) The diagram enumerates heat.ts's exports, so a new one belongs in it — and the note says why the constant sits beside the arithmetic instead of in the four components that print it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>