Avocet by Circuit Forge LLC — email classifier training tool: multi-account IMAP fetch, card-stack labeling UI, benchmark harness
Find a file
pyr0ball 09e334359f fix: pessimistic submit/undo, config null-safe, load config on mount
- sft.py GET /config: use `or {}` guard so `sft: ~` (null YAML) doesn't
  return None instead of the default empty config
- CorrectionsView: convert handleCorrect/Discard/Flag and handleUndo from
  optimistic to pessimistic — queue mutation only happens after server
  confirms; failures leave item in queue so user can retry cleanly
- SettingsView: call loadSftConfig() on mount so saved bench_results_dir
  is populated instead of always starting empty
2026-04-08 18:49:38 -07:00
app fix: pessimistic submit/undo, config null-safe, load config on mount 2026-04-08 18:49:38 -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: sft router — /export and /stats endpoints 2026-04-08 14:46:08 -07:00
web fix: pessimistic submit/undo, config null-safe, load config on mount 2026-04-08 18:49:38 -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 chore: retire Streamlit app, scaffold sft branch 2026-04-08 06:18:12 -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