docs(plan): tablet PIN self-service implementation plan
8 tasks across 3 phases:
Phase 1 — Backend foundation (Tasks 1-5)
T1: New model fp.tablet.pin.reset + ACL + event_type extension
+ 10 model tests (hash helpers, lifecycle, rate limit,
attempt cap, expired, token sign roundtrip + tamper checks)
T2: /fp/tablet/request_reset_code endpoint
T3: /fp/tablet/verify_reset_code endpoint
T4: /fp/tablet/set_pin accepts reset_token alternative
(+ 3 more tests)
T5: mail.template + fp.notification.template + cleanup cron
Phase 2 — Frontend (Task 6)
T6: FpTabletLock wizard — 4 new state-machine modes
(request_code, enter_temp_code, set_new_pin, confirm_new_pin),
reuses FpPinPad 4-cell component, auto-login chain,
client-side 3-fail counter for 'Forgot?' button
Phase 3 — Deploy (Tasks 7-8)
T7: Manifest bump 19.0.34.2.0 -> 19.0.35.0.0 + bt_pin_reset
entech smoke
T8: Sync 14 files + upgrade + asset bust + smoke + 8-step
manual QA + tag deploy
Implements: docs/superpowers/specs/2026-05-25-tablet-pin-self-service-design.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>