Appearance
3. Review proposals
Everything Keel infers is a proposal with an origin, a confidence between 0 and 1 and the evidence behind it. The Review queue (/review) is where people turn proposals into decisions.
The queue
- Kinds, with counts: Join (relationship candidates), Classify (table classifications) and PII (columns classified Confidential or Restricted). Non-sensitive column classifications are reviewed in the Discovery explorer; accepting a table classification also accepts its undecided non-sensitive columns. Generated entities and metrics are reviewed in their change request, and suggested data-quality rules in Data quality.
- Evidence panel (right): every signal with its sign and weight — declared foreign key, value inclusion %, name match, type compatibility, index, composite-key membership, penalties for low cardinality or ambiguity — plus the LLM's rationale when one was used, and what accepting would change.
- Decisions: Accept, Reject (with an optional reason) and Undo, in place; the row does not move. Keyboard: A accept, R reject, J/K next/previous.
- Accept all ≥ 0.85 accepts every undecided proposal at or above the High threshold in one step (
POST …/proposals:bulk).
Every decision is audited. Rejections are remembered across rescans.
Confidence bands
| Band | Confidence | Meaning |
|---|---|---|
| High | ≥ 0.85 | Strong evidence; generation uses it even before review. |
| Medium | 0.5 – 0.85 | Shown in the queue; needs a person. |
| Low | < 0.5 | Join candidates this weak are not stored at all. |
Inferred joins on booleans or low-cardinality columns never reach High, however good the names look; declared foreign keys are schema facts and are exempt.
Fix what Keel got wrong
- Declare a join Keel did not find:
POST …/sources/{id}/relationships(user-defined, accepted). - Edit a classification (role, grain, business name, semantic type, sensitivity): the edit is kept across rescans.
Auto-accept
An Owner can set an auto-accept threshold (0.5–1) in Settings › AI & privacy. At the end of each inference stage, undecided proposals at or above it are accepted as policy:auto-accept; the audit record says so. It is off by default.
Reviewing needs the Review proposals permission (Owner, Admin, Steward, Modeler); everyone else sees the queue read-only.