EPIC: Photo-first logging experience #1

Open
opened 2026-08-19 01:58:57 +00:00 by timmy · 31 comments
Owner

EPIC: Photo-first logging experience

Goal

Make camera-first logging feel immediate, trustworthy, accessible, and always recoverable to manual entry.

Milestone

M1 — Sovereign Photo Intelligence

Acceptance criteria

  • Camera/gallery is the dominant green path on supported phones.
  • Every AI suggestion is visibly unconfirmed until the user accepts or corrects it.
  • Manual logging works when inference, connectivity, or permission is unavailable.

Risk/uncertainty

Risk Impact Mitigation
Generic vision accuracy is inadequate Wrong prefill Calibrated abstention, confirmed labels, specialist model
Medical imagery leaks Severe trust harm Metadata stripping, no body logging, bounded retention, deletion tests
Scope turns diagnostic Safety/regulatory risk Observable-field boundary and deterministic symptom path

Child tickets

  • #11 — Mobile capture: harden camera/gallery permission and retry UX
  • #12 — Preserve manual fallback and resumable draft when vision is unavailable
  • #13 — Make AI suggestions visibly provisional and correction-first
  • #14 — Accessibility and visual QA across photo, alert, and privacy paths

Definition of done

  • Child tickets closed or explicitly deferred with rationale
  • Acceptance evidence linked
  • Full test suite green
  • Human gate used only where labeled
# EPIC: Photo-first logging experience ## Goal Make camera-first logging feel immediate, trustworthy, accessible, and always recoverable to manual entry. ## Milestone **M1 — Sovereign Photo Intelligence** ## Acceptance criteria - [ ] Camera/gallery is the dominant green path on supported phones. - [ ] Every AI suggestion is visibly unconfirmed until the user accepts or corrects it. - [ ] Manual logging works when inference, connectivity, or permission is unavailable. ## Risk/uncertainty | Risk | Impact | Mitigation | |---|---|---| | Generic vision accuracy is inadequate | Wrong prefill | Calibrated abstention, confirmed labels, specialist model | | Medical imagery leaks | Severe trust harm | Metadata stripping, no body logging, bounded retention, deletion tests | | Scope turns diagnostic | Safety/regulatory risk | Observable-field boundary and deterministic symptom path | ## Child tickets - [ ] #11 — Mobile capture: harden camera/gallery permission and retry UX - [ ] #12 — Preserve manual fallback and resumable draft when vision is unavailable - [ ] #13 — Make AI suggestions visibly provisional and correction-first - [ ] #14 — Accessibility and visual QA across photo, alert, and privacy paths ## Definition of done - [ ] Child tickets closed or explicitly deferred with rationale - [ ] Acceptance evidence linked - [ ] Full test suite green - [ ] Human gate used only where labeled
timmy added this to the M1 — Sovereign Photo Intelligence milestone 2026-08-19 01:58:57 +00:00
timmy added the
type/epic
priority/P0
area/frontend
labels 2026-08-19 01:58:57 +00:00
timmy self-assigned this 2026-08-19 01:58:57 +00:00
Member

⏱ Escalation: this ticket has been assigned to timmy for 6.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 6.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 12.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 12.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 19.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 19.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 26.8h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 26.8h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 34.3h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 34.3h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 41.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 41.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 48.6h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 48.6h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 55.9h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 55.9h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 62.1h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 62.1h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 69.4h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 69.4h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 75.4h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 75.4h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 81.8h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 81.8h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 89.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 89.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 96.5h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 96.5h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 103.7h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 103.7h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 111.6h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 111.6h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 118.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 118.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 125.5h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 125.5h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 131.7h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 131.7h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 139.1h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 139.1h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 145.5h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 145.5h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 151.6h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 151.6h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 157.8h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 157.8h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 164.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 164.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 170.1h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 170.1h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 176.9h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 176.9h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 183.5h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 183.5h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 190.7h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 190.7h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 197.6h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 197.6h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 205.2h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 205.2h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to timmy for 212.2h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to timmy for 212.2h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Sign in to join this conversation.
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/timmy-talking-turd#1
No description provided.