ai newsFr., 16. Okt.
EilmeldungCleanSync-AI

ReviewQueue: the most useful AI feature was refusing to rewrite the data

This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side What I Built A repeated ID is easy to spot. An amount that looks reasonable but belongs to the wrong transaction is much harder. And a tool that silently fixes either one creates another question: what exactly changed

dev.toFreitag 12:04 · 16.10.3 Min. Lesezeit
Bild: dev.to

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side

A repeated ID is easy to spot. An amount that looks reasonable but belongs to the wrong transaction is much harder. And a tool that silently fixes either one creates another question: what exactly changed?

ReviewQueue is a small offline tool for freelancers who review structured business exports. It combines a locally trained scikit-learn Isolation Forest with explicit checks for repeated IDs and unclear numeric fields.

Its output is a queue of review hints alongside every original record. It does not correct amounts, merge duplicate rows or strip leading zeros from identifiers.

The potential paid service is configuring the input mapping and reference records for one repeatable review workflow, then supporting that workflow. This is a business hypothesis: I have no paying customer or revenue to report. The Python input format is JSON; CSV and spreadsheet import are not implemented.

The fixed demo reference has quantities of one and amounts from 80 to 158. It illustrates the mechanism; it does not represent visitors’ businesses.

Next, try the six-record review workflow:

The report retains all six original objects and both repeated-ID rows. A SHA-256 digest binds the complete report bytes. Confirmation is a local UI state; it neither certifies correctness nor authenticates a reviewer.

For your own batch and same-context historical reference records, the Python CLI fits and runs the model locally:

python reviewqueue.py sample_input.json --output my_review.json Enter fullscreen mode Exit fullscreen mode Dependencies must be installed first. The analysis itself makes no network calls.

Public code repository and source browser — BSD-3-Clause.

The project began on 14 October 2026, during this challenge window.

The model uses three numeric features: signed-log amount, log quantity and signed-log unit amount. It trains separately for each currency. Without at least 20 valid same-currency reference records and enough numeric variation, it abstains.

The first development audit exposed a bad queue: 17 of 25 ordinary-by-construction rows received model hints. Preserving records was working; reducing someone’s workload was not.

I added a conservative promotion policy. A model hint enters the review queue only when:

Raw model candidate status remains visible. Repeated-ID and invalid-number checks run separately.

On the same development fixture, the result changed to:

The last result matters: numeric anomaly detection cannot establish whether a note tells the truth.

These are regression results on a fixture that informed development, not independent accuracy measurements. The conservative gate can miss unusual records inside the reference range. Authorized examples and independent reviewer labels would be needed before claiming better error detection or reduced customer workload.

The UI tests use a simulated DOM. Native-browser layout, accessibility and saved-file behavior were not verified in the development environment, so those tests are not counted as browser QA.

The CLI also rejects duplicate JSON keys and numbers that would lose precision during decoding. It refuses to overwrite a source or existing result. Source-file bytes remain untouched, while the report records their hash. Output JSON whitespace and numeric spelling may differ from the input serialization.

An inspectable local model makes a small review service practical. The operator can examine the features, replace the model, change the queue policy and rerun a batch without a per-record API bill.

After installing dependencies, the Python workflow can keep client records on the operator’s computer.

For this task, fluent generated text would not solve the main engineering problem. I need predictable numeric handling and a traceable connection between a hint and an original record. Open scikit-learn tooling provided that starting point, including exporting a small synthetic forest and checking its browser calculations against Python.

These benefits come with responsibilities: reference selection, thresholds and evaluation belong to the operator. The earlier noisy audit is included in the project history because that tradeoff should be visible.

AI assistance was used to implement, test and document the project.

The core open-source AI component is scikit-learn’s Isolation Forest. NumPy, SciPy, joblib and threadpoolctl are credited in the dependency notices. The included model was trained on this project’s original synthetic records.

I am entering the overall category. No partner prize category, customer validation or guaranteed earnings are claimed.

Quelle: dev.to (dev.to). Original öffnen