AI Suggestion Review Board
The AI Suggestion Review Board is a standalone, browser-based
prototype (ai_suggestion_review_board.html). It is shipped separately
from the Python package and is used after a review run, to let a
human triage what the pipeline detected.
Overview
The board is a single self-contained HTML file. Open it in any modern web browser — no server or installation is needed. It loads an Excel workbook of review results and presents them in three linked views:
- Metadata Projects — one row per reviewed record, with counts of issues broken down by severity and by category.
- Detected Issues — for the selected project, every issue listed and sorted from most to least severe.
- Current vs. Suggested — for the selected issue, a side-by-side, word-level diff of the current value against the suggested correction.
Preparing the Excel input
The board reads the first worksheet of an .xlsx (or .xls) file and looks
for two columns:
| Column | Contents |
|---|---|
ME_project | A label identifying the metadata record/project. The alternate name metadata_project is also accepted. |
detected_issues | The pipeline's output array for that project, stored as a JSON string. The alternate name issue_list is also accepted. |
Each row is one reviewed project. You build this workbook from your job results — typically while iterating over a catalogue of records:
import json
import pandas as pd
from ai4data.metadata.reviewer import MetadataReviewerClient
client = MetadataReviewerClient.from_openai(model="gpt-4o", api_key="sk-...")
rows = []
for project_name, metadata in catalogue.items(): # your dict of records
job = client.submit(metadata)
issues = job.wait_sync(timeout=300)
rows.append({
"ME_project": project_name,
"detected_issues": json.dumps(issues, ensure_ascii=False),
})
pd.DataFrame(rows).to_excel("review_board_input.xlsx", index=False)
Each object inside the JSON array should carry detected_issue,
issue_category, issue_severity, current_metadata, and
suggested_metadata — exactly the schema the pipeline produces. The
board reads these fields directly; missing categories or severities
simply render as "N/A".
Using the interface
- Load Excel. Click the Load Excel button and choose your workbook. The board parses the first sheet and populates the Metadata Projects table.
- Pick a project. Click any row in the projects table. Its severity and category counts are shown inline (for example, "2 Critical, 5 High" and "3 Typo / Language, 4 Inconsistency / Conflict").
- Scan the issues. The Detected Issues table lists that project's issues sorted by severity, highest first, each with a colored severity pill and category pill, plus the key path of the affected field.
- Inspect a correction. Click an issue row to open the diff panels below it.
Reading the diff view
When an issue is selected, two panels appear side by side:
- Current Metadata (left) — the value as it is now. Text that differs from the suggestion is highlighted in red.
- Suggested Metadata (right) — the proposed value. Text that is new or changed is highlighted in green.
The highlighting is a word-level diff, so for a small change like a single typo only the changed token is colored, making it easy to confirm the suggestion at a glance before accepting or rejecting it. A legend beneath the panels restates the color meaning.
The board is labelled a prototype (version 0.3). It is a review aid: it displays and diffs the pipeline's suggestions but does not itself write changes back to your metadata source. Treat acceptance and application of fixes as a separate, deliberate step in your own workflow.