-
Timmy daily 2026-10-28 — dataset card and labeling guide
Pre-ReleaseQuality gates / quality (push) Canceled after 0sreleased this
2026-10-28 13:03:54 +00:00 | 18 commits to main since this releasePrerelease for review — tag
daily-2026-10-28on commit7fe1901703590f59b68f6f394038c628297bd9c4(America/New_York release date 2026-10-28, built 2026-10-28T12:59:25Z).What changed
Published dataset card and labeling guide (issue #27, PR #89). The corpus could ingest a consented sample, record its provenance, and survive a withdrawal, but no stranger could read what the corpus is. This release publishes the page and the rulebook, both generated from real records:
scripts/dataset_card.py→docs/DATASET_CARD.md— every count is read back frommanifest.jsonl; every fact the pipeline does not collect (devices, contexts, licenses) prints aspending — not collected by ingestinstead of an estimate.- Leakage is refused, not documented. The generator refuses to render a card when one contributor appears in two splits, or when a recorded split is not the one the salted subject key derives (
<205train,<230validation, else test). A withdrawn sample contributes no label to any balance table, and no subject key ever reaches the page. - The published page cannot drift.
--checkfails when the committed card is not the generator's own output, so the card cannot quietly become a hand-written document. docs/LABELING_GUIDE.md— the reviewer's three visible fields (Bristol form, broad visible color, photo quality), stated where it is enforced: visible color is not blood, nothing is diagnosed, and a model suggestion is provisional input to a human decision rather than the label.- Release gate —
scripts/build_release.pyruns the 14-case dataset-card suite before a release may exist, requires four new on-camera captions, and recordsdataset_card_generatedin the manifest. - Demo — a
DATASET CARDcard drawn from a real run: the real ingest command builds a throwaway corpus from synthetic fixtures, one contribution is withdrawn, the card is published, a planted contributor is refused, and the committed page is re-checked.
Demo-harness legibility fix (
7fe1901, follows the release day's own full-resolution QC). The release-delta caption is paragraph length; rendered at 94% opacity over the running app, app text bled through it and its last line sat flush against the bar's edge — the one caption a reviewer most needs was the hardest to read. The bar is now opaque, long copy steps down to 10.5/9.5px, andcaption()measures the last line box with aRangeand fails the run when bottom padding is under 3px. Every caption in this recording now reportspadBottom ≥ 14(the delta caption: 11 lines, 164px tall, padBottom 15) in the caption receipt.Scope note, stated plainly: the dataset card is a generated document, not a screen in the app. This release does not imply one. The recording runs the real generator against synthetic fixtures and shows its actual output, including the refusal.
Completed ticket / PR
- Issue #27 — Publish dataset card, labeling guide, and contributor-level split policy (closed by this release).
- PR #89
Publish the dataset card and labeling guide from the manifest (#27)— merged asd7026c0after diff review: 11 files, +1014/−3, text only (no binaries, weights, medical imagery, or secrets),Closes #27linked to a non-human-gate issue (type/docs,area/data,priority/P1,state:review— no human gate). - Commit
7fe1901— demo caption legibility fix above, onmainafter the merge.
Gates — 26/26 passed
npm test229/229,tests/dataset-card.test.py14/14, corpus manifest 8/8, corpus review 21/21, calibration harness 19/19, mobile green path, photo-first acceptance, sleek Hermes chat, manual fallback + draft recovery, provisional suggestion state, hard-stool follow-up, vision corpus refusal, abstention quality gate, worker container receipts, worker post-load readiness, longitudinal pattern summary, grounded chat citations, training contribution consent, corpus manifest provenance, reviewer/adjudication blindness, dataset card generation, calibration harness gates, portable backup restore, dependency audit (0 high), syntax (node/bash/python), secret scan, forbidden artifacts, demo H.264 720×1280 probe, complete MP4 decode, release delta verified painted on camera (87/87 captions).Build note: the first gated build of this release carried the fallback "no source change" delta, so it was discarded rather than published; the second exposed the cramped delta caption in full-resolution QC, which produced
7fe1901; the whole gated build was then re-run end to end and passed 26/26. No gate was skipped, loosened, or interpreted away.Artifacts
- source archive
timmy-talking-turd-2026-10-28-7fe190170359.tar.gz— 326,257 bytes — sha256b9320551a61ba2cdbcb243bae01cca7b4b120be0d4f807a13fea0435cc24ed28 - demo video
timmy-talking-turd-2026-10-28-7fe190170359-demo.mp4— 25,131,882 bytes — H.264 720×1280 yuv420p, 25 fps, 391.6 s — sha25667c248e06bca5f18b226d03e91c0fee8aed69ab1d44e67f51710679c16e1f45c
Model / profile
Recorded against the real app running from the built commit with
TIMMY_VISION_ENABLED=false; vision replies replay the committed synthetic corpus through the app's real analysis path. The dataset card is a realscripts/dataset_card.pyrun over a corpus built on camera by the real ingest command from CC0 synthetic fixtures — no model labelled anything in it, and the card says so on screen. No live model inference appears in the video and no real photo is used anywhere.Demonstrated on camera
DATASET CARD—COMMAND python3 scripts/dataset_card.py --corpus <tmp> --out DATASET_CARD.mdCORPUS 2 active · 2 contributors · 1 withdrawn/SPLITS train 2c/2s · validation 0c/0s · test 0c/0sCLASS Type 1 1 · Type 3 0 · Type 4 1 · withdrawn label excluded— the withdrawn label is not countedPENDING devices · contexts · licenses — not collected, not estimatedREFUSED refusing to render a dataset card: contributor 516990fea008961e leaks across test, train→CARD not writtenCOMMITTED the published page is this generator's own output(--check)DATA synthetic fixtures · no model labelled anything here
Known accuracy limitation
Open-weight VLM acceptance is proven; Bristol accuracy is not clinically validated. The calibration receipt still reports
BLOCKEDbecause there is no candidate model yet (issue #31). This release publishes a self-describing corpus, not a measured classifier. User confirmation remains mandatory everywhere: photo analysis may suggest visible Bristol form, broad color, and image quality only, and never symptoms or a diagnosis. Visible color is not blood, in the app and in the labeling guide alike.Downloads