EPIC: Specialist Bristol classifier & calibration #4

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

EPIC: Specialist Bristol classifier & calibration

Goal

Replace generic-VLM guesses with a compact specialist model for stool presence, Bristol type, broad color, quality, and abstention.

Milestone

M2 — Consented Dataset & Specialist Model

Acceptance criteria

  • Held-out evaluation is split by contributor and device.
  • Release gates report macro-F1, precision at coverage, calibration, and abstention.
  • The runtime emits only the strict Timmy schema.

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

  • #29 — Build contributor-held-out evaluation harness and calibration report
  • #30 — Train frozen-encoder baseline with stool/not-stool and Type 1–7 heads
  • #31 — Fine-tune specialist visual classifier with color and quality heads
  • #32 — Calibrate confidence and define the production abstention policy
  • #33 — Export the candidate to ONNX and benchmark CPU, GPU, and device targets

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: Specialist Bristol classifier & calibration ## Goal Replace generic-VLM guesses with a compact specialist model for stool presence, Bristol type, broad color, quality, and abstention. ## Milestone **M2 — Consented Dataset & Specialist Model** ## Acceptance criteria - [ ] Held-out evaluation is split by contributor and device. - [ ] Release gates report macro-F1, precision at coverage, calibration, and abstention. - [ ] The runtime emits only the strict Timmy schema. ## 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 - [ ] #29 — Build contributor-held-out evaluation harness and calibration report - [ ] #30 — Train frozen-encoder baseline with stool/not-stool and Type 1–7 heads - [ ] #31 — Fine-tune specialist visual classifier with color and quality heads - [ ] #32 — Calibrate confidence and define the production abstention policy - [ ] #33 — Export the candidate to ONNX and benchmark CPU, GPU, and device targets ## 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 M2 — Consented Dataset & Specialist Model milestone 2026-08-19 01:58:58 +00:00
timmy added the
type/epic
type/research
priority/P0
area/model
labels 2026-08-19 01:58:58 +00:00
timmy self-assigned this 2026-08-19 01:58:58 +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#4
No description provided.