Avocet by Circuit Forge LLC — email classifier training tool: multi-account IMAP fetch, card-stack labeling UI, benchmark harness
Find a file
pyr0ball 9633d9a535 feat: add failure_category field to SFT corrections (#16)
Adds optional failure_category to SubmitRequest and candidate records so
reviewers can classify why a model response was wrong, not just what to do
with it. Enables the fine-tune harness to filter training data by failure
type (e.g. exclude scoring artifacts, train only on genuine wrong answers).

Taxonomy: scoring_artifact | style_violation | partial_answer |
          wrong_answer | format_error | hallucination

- app/sft.py: FailureCategory Literal type; SubmitRequest.failure_category;
  stored on candidate record in POST /submit correct branch
- tests/test_sft.py: 3 new tests (stores value, null round-trip, 422 on invalid)
- stores/sft.ts: SftFailureCategory type exported; SftQueueItem + SftLastAction
  updated; setLastAction accepts optional category param
- SftCard.vue: chip-group selector shown during correct/discard/flag flow;
  two-step confirm for discard/flag reveals chips before emitting; category
  forwarded in all emit payloads
- CorrectionsView.vue: handleCorrect/Discard/Flag accept and forward category
  to POST /api/sft/submit body and store.setLastAction
- SftCard.test.ts: 11 new tests covering chip visibility, selection,
  single-active enforcement, pending-action flow, emit payloads, cancel
2026-04-08 22:10:26 -07:00
app feat: add failure_category field to SFT corrections (#16) 2026-04-08 22:10:26 -07:00
config chore: retire Streamlit app, scaffold sft branch 2026-04-08 06:18:12 -07:00
data feat: initial avocet repo — email classifier training tool 2026-02-27 14:07:38 -08:00
scripts fix: log on malformed json in _read_jsonl, use streaming id dedup 2026-04-08 07:37:22 -07:00
tests feat: add failure_category field to SFT corrections (#16) 2026-04-08 22:10:26 -07:00
web feat: add failure_category field to SFT corrections (#16) 2026-04-08 22:10:26 -07:00
.gitignore chore: retire Streamlit app, scaffold sft branch 2026-04-08 06:18:12 -07:00
environment.yml chore(avocet): add scikit-learn to classifier env 2026-03-15 09:44:04 -07:00
manage.sh feat: add dev command for hot-reload (uvicorn --reload + Vite HMR) 2026-04-08 19:43:40 -07:00
PRIVACY.md docs: add privacy policy reference 2026-03-05 20:59:37 -08:00
pytest.ini feat: initial avocet repo — email classifier training tool 2026-02-27 14:07:38 -08:00
requirements.txt fix(avocet): store original item in _last_action; add requirements.txt 2026-03-03 15:16:54 -08:00