Learning from Corrections
Learning from Corrections
Everything on this page follows one rule: nothing is ever applied to the Knowledge Base or a plant schema automatically. Every suggestion the platform generates is shown to an operator, who must explicitly review and accept it.
During a run: the feedback loop
Every correction or piece of feedback you give during a supervised Classify Bulk run (see Classification Modes) does two things immediately:
- It's added to that run's conversation memory, so later signals in the same batch benefit from it right away.
- It's persisted as a Reviewed Signal in the SQLite learning store, deduplicated on (plant, description) — the latest correction for a given signal wins.
After a supervised run: suggestion panels
Once a supervised run finishes, two cards appear:
📋 Wiki rules
Click Generate wiki rules and the platform compares everything you
corrected or commented on during the run against the existing Knowledge
Base, and drafts new or refined rules — common or plant-specific — as
Markdown. You get a Preview/Editor toggle to read or hand-edit the
draft before deciding. Clicking Save merges it, timestamped, into
wiki/en/sources/common-rules.md — nothing happens until you click it.
🗂 Inferred schema
Shown only if the run used a Plant Schema. Click Generate inferred
schema and the platform checks the signals classified in this run
against that plant's existing schema; if it finds components or hierarchy
codes that show up in the classified signals but not in the original
schema, it drafts an update — either a brand-new inferred-schema.md or a
merge into the existing one — listing the new codes detected. Same
Preview/Editor toggle, plus Refine with LLM if you want another
pass after editing. Clicking Save as inferred-schema.md writes it to
that plant's schema folder, where it becomes available the same way a
manually-uploaded schema is (see
Plant Schematics Ingestion).
Reviewed Signals — the golden dataset
The Reviewed Signals page (sidebar → Config → Reviewed Signals, route
/reviewed-signals) is where every persisted correction lives. For each
row you'll see: plant, description, original code, corrected (final) code,
your feedback text, the model's original confidence, and when it was
reviewed.
- The sidebar lists plants with a count of reviewed signals each; click one to filter the table to that plant.
- Click the pencil icon to edit a row in place (description, either code, feedback text) — useful for cleaning up a typo without reclassifying.
- Click the trash icon to delete a row you don't want kept in the dataset, after a confirmation.
Because this table only ever contains signals an operator actually
reviewed, it doubles as an auto-growing golden dataset: every entry
with a valid final code is exported as evaluation ground truth by
scripts/run_evaluation.py --from-reviewed, so the more you correct in
day-to-day use, the better the evaluation harness gets at measuring real
accuracy.