Commit graph

  • e16ea95dcc fix: guard aria-describedby from rendering undefined string pyr0ball 2026-04-08 15:22:12 -0700
  • 8873920b83 feat: SftCard — quality chip, prompt collapsible, action buttons, correction area slot pyr0ball 2026-04-08 15:19:37 -0700
  • 2d939b77f9 feat: SftCorrectionArea — inline correction text area component pyr0ball 2026-04-08 15:16:45 -0700
  • 137a9dbb8e fix: nullable failure_reason, factory fixture for sft store tests pyr0ball 2026-04-08 15:14:29 -0700
  • 9c11916d81 feat: useSftStore — SftQueueItem type and Pinia store pyr0ball 2026-04-08 15:11:17 -0700
  • b6d45c746c fix: shared _is_exportable predicate, return type annotations on export/stats pyr0ball 2026-04-08 15:07:24 -0700
  • 07807f0d05 feat: sft router — /export and /stats endpoints pyr0ball 2026-04-08 14:46:08 -0700
  • 4ad2907ae8 fix: use Literal type for SubmitRequest.action field pyr0ball 2026-04-08 14:33:38 -0700
  • f19cab60f7 feat: sft router — /queue, /submit, /undo endpoints pyr0ball 2026-04-08 14:22:06 -0700
  • b330e84111 fix: sft router — yaml error handling, none filter, shared jsonl utils, fixture restore pyr0ball 2026-04-08 14:07:09 -0700
  • 597ffc7324 feat: sft router skeleton — /api/sft/runs and /api/sft/import pyr0ball 2026-04-08 13:54:58 -0700
  • cfde474454 fix: log on malformed json in _read_jsonl, use streaming id dedup pyr0ball 2026-04-08 07:37:22 -0700
  • bbfae1a622 fix: log warning when sft record is missing id field pyr0ball 2026-04-08 07:30:46 -0700
  • 03dac57fd9 feat: sft_import.py — run discovery and JSONL deduplication pyr0ball 2026-04-08 07:13:37 -0700
  • 25880e377d refactor: consolidate HTML extraction into app/utils.py pyr0ball 2026-04-08 06:52:15 -0700
  • ae0ac19505 chore: retire Streamlit app, scaffold sft branch pyr0ball 2026-04-08 06:18:12 -0700
  • cfc09b4731 chore: gitignore CLAUDE.md and docs/superpowers (BSL 1.1 compliance) pyr0ball 2026-03-27 01:04:18 -0700
  • de2a2935b9 chore: gitignore CLAUDE.md and docs/superpowers (BSL 1.1 compliance) pyr0ball 2026-03-27 01:00:30 -0700
  • 1fa5b9e2b0 feat(avocet): add cancel buttons for benchmark and fine-tune runs feat/vue-label-tab pyr0ball 2026-03-15 18:15:35 -0700
  • 0d252da2a0 feat(avocet): add cancel buttons for benchmark and fine-tune runs pyr0ball 2026-03-15 18:15:35 -0700
  • 8e016d7fe6 fix(avocet): narrow cancel except clause, clear stale cancel flags on new run pyr0ball 2026-03-15 18:13:01 -0700
  • e38a28dcc3 fix(avocet): narrow cancel except clause, clear stale cancel flags on new run pyr0ball 2026-03-15 18:13:01 -0700
  • 30f19711ec feat(avocet): add cancel endpoints for benchmark and finetune jobs pyr0ball 2026-03-15 18:09:20 -0700
  • 0ab49609c0 feat(avocet): add cancel endpoints for benchmark and finetune jobs pyr0ball 2026-03-15 18:09:20 -0700
  • 753f8f5def fix(avocet): use_reentrant=False for gradient checkpointing pyr0ball 2026-03-15 17:23:40 -0700
  • db44c9323e fix(avocet): use_reentrant=False for gradient checkpointing pyr0ball 2026-03-15 17:23:40 -0700
  • 5dee23f53c fix(avocet): reduce deberta-small VRAM + auto-select freest GPU for training pyr0ball 2026-03-15 17:09:06 -0700
  • cbc382cc88 fix(avocet): reduce deberta-small VRAM + auto-select freest GPU for training pyr0ball 2026-03-15 17:09:06 -0700
  • 606917f90f feat(avocet): add restart-api command to manage.sh pyr0ball 2026-03-15 17:04:00 -0700
  • ed818dc341 feat(avocet): add restart-api command to manage.sh pyr0ball 2026-03-15 17:04:00 -0700
  • 74ba9103cd fix(avocet): use startsWith for error class in ft-log (consistent with benchmark log) pyr0ball 2026-03-15 16:14:47 -0700
  • 5d68b0706f fix(avocet): use startsWith for error class in ft-log (consistent with benchmark log) pyr0ball 2026-03-15 16:14:47 -0700
  • 95eb238add feat(avocet): add fine-tune section and trained models badge row to BenchmarkView pyr0ball 2026-03-15 16:09:51 -0700
  • 65548f4ddb feat(avocet): add fine-tune section and trained models badge row to BenchmarkView pyr0ball 2026-03-15 16:09:51 -0700
  • 60fe1231ce fix(avocet): _MODELS_DIR overridable in tests; sanitize score paths against path traversal pyr0ball 2026-03-15 16:07:27 -0700
  • dd352f07cd fix(avocet): _MODELS_DIR overridable in tests; sanitize score paths against path traversal pyr0ball 2026-03-15 16:07:27 -0700
  • ef8adfb035 feat(avocet): add /api/finetune/status and /api/finetune/run endpoints pyr0ball 2026-03-15 16:04:34 -0700
  • 903624a4b8 feat(avocet): add /api/finetune/status and /api/finetune/run endpoints pyr0ball 2026-03-15 16:04:34 -0700
  • 64fd19a7b6 fix(avocet): move TorchDataset import to top; split sample_count into total+train pyr0ball 2026-03-15 16:02:43 -0700
  • 48e02f2ed6 fix(avocet): move TorchDataset import to top; split sample_count into total+train pyr0ball 2026-03-15 16:02:43 -0700
  • 8ba34bb2d1 feat(avocet): run_finetune, CLI, multi-score-file merge with last-write-wins dedup pyr0ball 2026-03-15 15:52:41 -0700
  • 939ce06f45 feat(avocet): run_finetune, CLI, multi-score-file merge with last-write-wins dedup pyr0ball 2026-03-15 15:52:41 -0700
  • f262b23cf5 fix(avocet): tighten body truncation test to exact 400-char assertion pyr0ball 2026-03-15 15:44:19 -0700
  • 4e70e79b26 fix(avocet): tighten body truncation test to exact 400-char assertion pyr0ball 2026-03-15 15:44:19 -0700
  • 5eb593569d feat(avocet): add finetune data pipeline, class weights, WeightedTrainer pyr0ball 2026-03-15 15:38:45 -0700
  • de5794611b feat(avocet): add finetune data pipeline, class weights, WeightedTrainer pyr0ball 2026-03-15 15:38:45 -0700
  • 2d795b9573 fix(avocet): guard discover_finetuned_models against malformed/incomplete training_info.json pyr0ball 2026-03-15 15:18:13 -0700
  • d1a36bfd63 fix(avocet): guard discover_finetuned_models against malformed/incomplete training_info.json pyr0ball 2026-03-15 15:18:13 -0700
  • 36117b35c4 feat(avocet): auto-discover fine-tuned models in benchmark harness pyr0ball 2026-03-15 11:59:13 -0700
  • df37a8e16d feat(avocet): auto-discover fine-tuned models in benchmark harness pyr0ball 2026-03-15 11:59:13 -0700
  • da8478082e fix(avocet): FineTunedAdapter GPU device routing + precise body truncation test pyr0ball 2026-03-15 10:56:47 -0700
  • 179cb67e1c fix(avocet): FineTunedAdapter GPU device routing + precise body truncation test pyr0ball 2026-03-15 10:56:47 -0700
  • 7a4ca422ca feat(avocet): add FineTunedAdapter for local checkpoint inference pyr0ball 2026-03-15 10:54:38 -0700
  • dc321de59f feat(avocet): add FineTunedAdapter for local checkpoint inference pyr0ball 2026-03-15 10:54:38 -0700
  • 71d0bfafe6 chore(avocet): add scikit-learn to classifier env pyr0ball 2026-03-15 09:44:04 -0700
  • f4a654933d chore(avocet): add scikit-learn to classifier env pyr0ball 2026-03-15 09:44:04 -0700
  • 8c22dd62de feat(avocet): benchmark UI, label fixes, BenchmarkView with charts and SSE run pyr0ball 2026-03-15 09:39:37 -0700
  • a53f3a7341 feat(avocet): benchmark UI, label fixes, BenchmarkView with charts and SSE run pyr0ball 2026-03-15 09:39:37 -0700
  • d3ae5b576a docs: finalize fine-tune classifier design spec (3 review passes) pyr0ball 2026-03-15 06:47:17 -0700
  • 8c26cbe597 docs: add fine-tune classifier design spec pyr0ball 2026-03-15 06:41:38 -0700
  • ce1b8c2215 fix(avocet): reset card element state when new item loads to clear previous animation inline styles pyr0ball 2026-03-08 07:44:02 -0700
  • fb1ce89244 fix(avocet): reset card element state when new item loads to clear previous animation inline styles pyr0ball 2026-03-08 07:44:02 -0700
  • f1933ab51c feat(avocet): badge pop via Anime.js spring transition hook pyr0ball 2026-03-08 07:35:49 -0700
  • e01f743c39 feat(avocet): badge pop via Anime.js spring transition hook pyr0ball 2026-03-08 07:35:49 -0700
  • 6a898bbdee fix(avocet): constrain grid-active to 640px on wide viewports using left/right offsets pyr0ball 2026-03-08 07:26:46 -0700
  • 6829bebdd4 fix(avocet): constrain grid-active to 640px on wide viewports using left/right offsets pyr0ball 2026-03-08 07:26:46 -0700
  • efc2d33de2 feat(avocet): animate bucket grid rise with Anime.js spring pyr0ball 2026-03-08 07:17:56 -0700
  • ddb6025c89 feat(avocet): animate bucket grid rise with Anime.js spring pyr0ball 2026-03-08 07:17:56 -0700
  • 5c6aa02998 fix(avocet): restore drag aura color feedback via updateAura in useCardAnimation pyr0ball 2026-03-08 07:14:24 -0700
  • d410fa5c80 fix(avocet): restore drag aura color feedback via updateAura in useCardAnimation pyr0ball 2026-03-08 07:14:24 -0700
  • 9302644259 feat(avocet): wire Anime.js card animation into EmailCardStack pyr0ball 2026-03-08 07:07:58 -0700
  • 6c98ee6d69 feat(avocet): wire Anime.js card animation into EmailCardStack pyr0ball 2026-03-08 07:07:58 -0700
  • 3197252c31 docs: fix animejs v4 API examples in animation plan (spring object form, 2-arg animate) pyr0ball 2026-03-08 07:00:10 -0700
  • b68c176278 feat(avocet): add useCardAnimation composable with Anime.js pyr0ball 2026-03-08 06:52:27 -0700
  • 4bea1b6812 feat(avocet): add useCardAnimation composable with Anime.js pyr0ball 2026-03-08 06:52:27 -0700
  • d02c937ff1 feat(avocet): add animejs v4 dependency pyr0ball 2026-03-08 06:47:50 -0700
  • d418a719f0 feat(avocet): add animejs v4 dependency pyr0ball 2026-03-08 06:47:50 -0700
  • 144a9b29b3 docs: add Anime.js animation implementation plan pyr0ball 2026-03-08 06:38:16 -0700
  • 8af63d959b docs: add Anime.js animation integration design pyr0ball 2026-03-08 06:33:46 -0700
  • 611f510547 docs: add privacy policy reference pyr0ball 2026-03-05 20:59:37 -0800
  • cfa5ed2194 docs: add privacy policy reference pyr0ball 2026-03-05 20:59:37 -0800
  • 1a95d4d580 fix(avocet): ball escapes overflow clip, floats above header/footer with z-index + transparency pyr0ball 2026-03-05 15:14:24 -0800
  • e03d91ece9 fix(avocet): ball escapes overflow clip, floats above header/footer with z-index + transparency pyr0ball 2026-03-05 15:14:24 -0800
  • 351703d9db fix(avocet): grid pinned to viewport with height 100dvh + card ball floats above finger at scale 0.55 pyr0ball 2026-03-05 15:07:58 -0800
  • be3b52f150 fix(avocet): grid pinned to viewport with height 100dvh + card ball floats above finger at scale 0.55 pyr0ball 2026-03-05 15:07:58 -0800
  • d7cd01a8da feat(avocet): add velocity-based fling detection to toss gesture (option B: speed + alignment) pyr0ball 2026-03-05 14:55:10 -0800
  • 1ccac024a4 feat(avocet): add velocity-based fling detection to toss gesture (option B: speed + alignment) pyr0ball 2026-03-05 14:55:10 -0800
  • 8947dc5d05 feat(avocet): add toss-zone overlays and grid-rise animation to LabelView pyr0ball 2026-03-05 13:41:52 -0800
  • f8e911c48f feat(avocet): add toss-zone overlays and grid-rise animation to LabelView pyr0ball 2026-03-05 13:41:52 -0800
  • fc8cb9a8bd feat(avocet): replace swipe+HTML5-drag with unified pointer-events toss gesture pyr0ball 2026-03-05 10:38:52 -0800
  • 2bbd925c41 feat(avocet): replace swipe+HTML5-drag with unified pointer-events toss gesture pyr0ball 2026-03-05 10:38:52 -0800
  • cac02b2c5f feat(avocet): replace HTML5 drag events on LabelBucketGrid with hoveredBucket prop pyr0ball 2026-03-05 10:10:48 -0800
  • a8b1c89c62 feat(avocet): replace HTML5 drag events on LabelBucketGrid with hoveredBucket prop pyr0ball 2026-03-05 10:10:48 -0800
  • 8a2df0e2f8 feat: card crumples to small ball on drag pickup so buckets expand fully pyr0ball 2026-03-04 12:38:46 -0800
  • f8aafb2974 feat: card crumples to small ball on drag pickup so buckets expand fully pyr0ball 2026-03-04 12:38:46 -0800
  • 33f5e0d8a1 fix: keyboard shortcuts now work after labels load (lazy keymap evaluation) pyr0ball 2026-03-04 12:32:25 -0800
  • d82db402a3 fix: keyboard shortcuts now work after labels load (lazy keymap evaluation) pyr0ball 2026-03-04 12:32:25 -0800
  • 43ef2ff8d2 fix: pin bucket grid to bottom of viewport with sticky footer; prevents mis-click from layout shift pyr0ball 2026-03-04 12:26:04 -0800
  • ba25ee47a5 fix: pin bucket grid to bottom of viewport with sticky footer; prevents mis-click from layout shift pyr0ball 2026-03-04 12:26:04 -0800
  • c4498a8190 feat: implement FetchView — SSE progress bars, account selection, targeted fetch pyr0ball 2026-03-04 12:23:58 -0800