Commit Graph

26 Commits

Author SHA1 Message Date
dev a5f402132e test(build): catch behavioral drift in bundle summary via eval-extracted comparison 2026-06-01 17:37:46 -05:00
dev 62fe86a71f test(build): verify userscript bundle embeds pure functions and self-test 2026-06-01 17:31:24 -05:00
dev 75f10126d2 fix(bundle): floor perDay in summary and hoist self alias in render 2026-06-01 17:28:41 -05:00
dev 7c2533d188 feat: bundle torn-attribute-tracker.user.js (Tat-style Tampermonkey script) 2026-06-01 17:16:54 -05:00
dev 36a6b4c52d fix(main): keep prefs.mode in sync and rAF-coalesce mutation observer 2026-06-01 17:09:38 -05:00
dev 12fc79022f feat(main): wire Store + Dialog + DataLayer on /gym.php 2026-06-01 17:03:03 -05:00
dev 8502c53663 fix(ui): escape user strings, lazy drag listeners, drop dead warn field 2026-06-01 16:58:12 -05:00
dev 3053a6d713 feat(ui): Dialog with render, drag, mode toggle, milestone dropdown 2026-06-01 16:52:25 -05:00
dev cd6fb7cf91 fix(interceptor): guard XHR double-wrap and thread currentAttr into regex fallback 2026-06-01 16:47:39 -05:00
dev 491d3201f8 feat(interceptor): XHR/fetch wrap to detect Train responses 2026-06-01 16:41:01 -05:00
dev aec9c40835 fix(dom): scope value search near attribute, whole-word matching, panel-scoped gym name 2026-06-01 16:38:22 -05:00
dev e647fbf545 feat(dom): currentAttribute scraper for gym page (manual verify) 2026-06-01 16:32:44 -05:00
dev 3d000c70ff test(store): cover recordTrain validation and getSummary on unknown attr 2026-06-01 16:29:25 -05:00
dev 07215e5617 feat(store): recordTrain with pruning and getSummary 2026-06-01 16:22:18 -05:00
dev e39758c1af feat(store): _saveDisabled latch and stronger corruption-wipe coverage 2026-06-01 16:16:21 -05:00
dev 231890a9e0 feat(store): load/save and target accessors with validation 2026-06-01 16:08:42 -05:00
dev 48e51054ca docs(pure): note that summary.perDay is integer-rounded 2026-06-01 16:03:27 -05:00
dev 5fd0f5e548 feat(pure): summary with today/week counts and per-day rate 2026-06-01 15:54:43 -05:00
dev a2e23341ac refactor(pure): share MS_PER_DAY with tests and document pruneHistory 2026-06-01 15:48:52 -05:00
dev ca753bf196 feat(pure): pruneHistory with strict 30-day window 2026-06-01 15:42:37 -05:00
dev 757139624f refactor(pure): extract MS_PER_DAY constant and document computeEstimate precondition 2026-06-01 15:36:56 -05:00
dev faae7702aa feat(pure): computeEstimate with safe division and target-reached handling 2026-06-01 15:30:07 -05:00
dev 545cf65beb refactor(pure): remove duplicate regex and dead empty-string guard 2026-06-01 15:24:55 -05:00
dev e0540468c3 feat(pure): parseTarget with comma and magnitude suffix support 2026-06-01 15:16:12 -05:00
dev 07ef131d65 chore: broaden .gitignore for logs and OS junk 2026-06-01 15:07:26 -05:00
dev b1ab57596d chore: initialize project 2026-06-01 15:01:31 -05:00