Repository navigation
Releases: jexp/watfile
Releases · jexp/watfile
Release list
v0.3.1
CLI ergonomics round.
New
-cand-dcombinable: target folder (created if missing) with explicit categories; error only when no categories exist anywhere- category descriptions in
-c:invoice:bills and payment requests— included in the classification prompt; double-quoted descriptions may contain commas - bare filename passed as a weak classification hint (content stays primary)
Changed
--backendand--min-confidencemoved to advanced options (--help-all)- uncertain files: inline marker + end recap with top-2 categories and probabilities
v0.3.0
Confidence gating, filename hints, clearer uncertain output.
New
- Confidence gating: files classified below --min-confidence (default 0.5, per TypeSafe's recommended floor) are not placed — left where they are
- Uncertain files are unmissable: inline
UNCERTAINmarker plus a final recap listing each unplaced file with its top-2 categories and probabilities, so you can tell 'fits two categories' from 'a category is missing' - Bare filename passed to the model as a weak hint (content still primary) — rescues content-poor or scanned files
- -v/--version, --self-update (uv tool / pipx aware), version line on all errors
Changed
- Batching is on by default for jev (--batch caps, --no-batch disables)
- laya runs on any OS: coreml > mlx > torch auto-detected, each an optional extra
v0.2.1
Cross-platform laya backend, version/self-update CLI polish.
New
- laya backend runs on any OS: runtime auto-detection (coreml > mlx on Apple Silicon, PyTorch torch elsewhere); each runtime is its own optional extra — watfile[laya], watfile[laya-coreml], watfile[laya-torch]
- torch runtime defaults to the multilingual checkpoint (non-English documents classify locally out of the box)
- -v/--version, --self-update (uv tool / pipx aware), version line printed on every error path
- laya tests run on machines without any laya runtime (agent stubbing)
Changed
- laya-mlx no longer a hard dependency; jev-only installs stay lean
v0.2.0
Local MLX backend, batch mode, smarter defaults.
New
- laya backend: local typed-decision model on Apple Silicon (laya-mlx, ~13ms/decision, offline after ~1GB checkpoint, no API key). Optional extra: pip install watfile[laya]
- Jev batch mode (default on): documents packed into one system_one call (~256 tokens each, ~100 files per 30k window)
- Multi-chunk classification with adaptive extension (--chunks N; 0=adaptive, default for laya with 200-token chunks)
- tiktoken token budgeting
Changed
- symlink placement is now the default (-m/--move moves, --copy copies)
- help split into main options (--help) and advanced options (--help-all)
Accuracy on arXiv fixtures: Jev 4/4; laya 3/4 (adaptive multi-chunk)
v0.1.0
Initial release.
- Classify files via TypeSafe Jev (System One Choice question): category, probabilities, confidence
- Placement modes: symlink (default), move (-m), copy (--copy), dry-run (-n)
- Categories from -c list or -d target-folder subfolders; recursive folder input (-r)
- liteparse PDF extraction (first 2 pages, OCR off), direct read for text formats
- Config: env > ./.env > ~/.config/watfile/config.toml
- Pluggable Classifier backend (laya/MLX planned)