Releases: lucacrose/proofreader
Release list
v1.2.0 - Performance & Inference Pipeline Improvements
📊 Performance & Inference Pipeline Improvements (v1.2.0)
This release marks a fundamental shift in the inference architecture. By moving to a memory-native pipeline and the YOLO26 backbone, we have slashed the error rate by 50% and virtually eliminated I/O bottlenecks.
📈 Performance Benchmarks
Accuracy (Exact-Match)
Tested against the v1.1.0 baseline using
| Version | Correct | Total | Accuracy |
|---|---|---|---|
| v1.1.0 | 1258 | 1300 | 96.8% |
| v1.2.0 | 1279 | 1300 | 98.4% |
The YOLO26 Advantage: The transition to the new backbone with Label Anchoring solved "trade-split" errors where the model previously struggled to distinguish between incoming and outgoing sides in tight or non-standard crops.
Inference Latency (Batch = 1, E2E)
Measured on an RTX 5070. E2E includes the full pipeline from input to structured dictionary.
| Input Method | Median (ms) | p95 (ms) |
|---|---|---|
| NumPy Array / Bytes | 20.5 | 35.0 |
| File Path (v1.2.0) | 28.0 | 47.4 |
| v1.1.0 (File Path) | 36.8 | 73.4 |
Note
By supporting direct byte streams, v1.2.0 treats images as uncompressed data internally. This bypasses traditional disk I/O overhead, enabling sub-25ms response times for high-frequency applications.
🛠️ Internal Improvements
- YOLO26 Architecture: Replaced the previous detection backbone. Improved handling of box overlaps prevents duplicate item counting in cluttered trade windows.
- Zero-Latency I/O: Added native support for
bytesandnp.ndarray. You can now feed the model directly from a video stream or network request without saving to disk first. - Fully Offline Operation: The base CLIP weights are now pulled and cached locally during the first initialization. Subsequent runs require zero internet connectivity.
🔍 Evaluation Criteria
- Exact-Match: A "Correct" result requires every Item ID, Name, and Robux value to match the ground truth perfectly.
- Environment: All benchmarks were performed after a 5-iteration warm-up to ensure CUDA kernels were fully resident in memory.
v1.1.2 - Pin Dependency Major Versions
🔧 Pin Dependency Major Versions (v1.1.2)
This patch pins all major dependencies to prevent breaking changes in future updates.
Changes
- Pinned
transformers< 5.0 to preventBaseModelOutputWithPoolingerrors - Pinned all other dependencies by their major versions to avoid accidental breaking updates
- Ensures proofreader works reliably on Python 3.12
Upgrade Instructions
If you already have proofreader installed:
pip install --upgrade proofreader==1.1.2v1.1.1 - Pin asset download URLs to v1.1.0
📌 Pin asset download URLs to v1.1.0 (v1.1.1)
Updated _ensure_assets to pull asset files from a specific release version (v1.1.0) rather than the /latest/ redirect. This prevents potential breaking changes when new assets are uploaded before the code is ready to handle them.
v1.0.2 - Pin Dependency Major Versions
🔧 Pin Dependency Major Versions (v1.0.2)
This patch pins all major dependencies to prevent breaking changes in future updates.
Changes
- Pinned
transformers< 5.0 to preventBaseModelOutputWithPoolingerrors - Pinned all other dependencies by their major versions to avoid accidental breaking updates
- Ensures proofreader works reliably on Python 3.12
Upgrade Instructions
If you already have proofreader installed:
pip install --upgrade proofreader==1.0.2v1.0.1 - Pin asset download URLs to v1.0.0
📌 Pin asset download URLs to v1.0.0 (v1.0.1)
Updated _ensure_assets to pull model and database files from a specific release version (v1.0.0) rather than the /latest/ redirect. This prevents potential breaking changes when new assets are uploaded before the code is ready to handle them.
v1.1.0 - Performance & Inference Pipeline Improvements
⚡Performance & Inference Pipeline Improvements (v1.1.0)
This release significantly improves both accuracy and latency, making the system faster, more reliable, and better suited for real-world Roblox trade parsing.
📊 Performance
Accuracy (Exact-Match)
| Model Version | Correct | Total | Accuracy |
|---|---|---|---|
| v1.0.0 | 442 | 500 | 88.4% |
| v1.1.0 | 486 | 500 | 97.2% |
Δ +8.8% absolute improvement in accuracy evaluated on the same dataset.
~76% reduction in errors compared to the previous model.
Inference Latency (Batch = 1, End-to-End)
| Model Version | Median (ms) | p95 (ms) |
|---|---|---|
| v1.0.0 | 139.4 | 233.3 |
| v1.1.0 | 36.8 | 73.4 |
~3.8× reduction in median latency after pipeline refactoring.
Latency measured after warm-up over 50 iterations on full test set.
🛠️ Internal Improvements
| Area | Improvement |
|---|---|
| Inference Pipeline | CLIP-first architecture: CLIP predicts items first, OCR only triggered if CLIP is uncertain; the "judge" then selects the most confident source or skips if both are unconfident |
| CLIP Model | Custom-trained on 185,000+ image thumbnails across 2,500+ classes for highly accurate image-based identification; handles visually identical items with different names |
| OCR | Batched for faster processing; only runs when CLIP is uncertain, reducing expensive OCR calls |
| Pretrained Data | Added 6 previously missing items (now 2,553 total classes) to improve coverage |
🔍 Notes
- Accuracy is measured using exact-match evaluation (all fields must be correct).
- Evaluation performed on real trade screenshots representative of production usage.
v1.0.0 - Initial Release
🚀 Initial Stable Release (v1.0.0)
This release marks the first stable version of the Proofreader engine. It includes the core detection logic and the initial trained model weights.
📦 Included Assets
yolo.pt: Custom YOLOv11 model trained for UI element detection.db.json: Consolidated item database (Roblox + Rolimons).embedding_bank.pt: Pre-computed CLIP embeddings for visual matching.
✨ Key Features
- Spatial Detection: High-accuracy bounding boxes for trade items and values.
- Visual Verification: CLIP-based similarity matching to prevent "fakes."
- Auto-Bootstrap: The library will automatically pull these assets on first run if they are missing from the local environment.
🛠️ Installation
pip install rbx-proofreader