Decision contract¶
Use the outcome label, evidence, and provenance together. A score alone is not an instruction to merge records.
Two-list reconciliation¶
crosswalk() compares two collections and returns candidate edges only in
result["matches"].
| Field | Meaning |
|---|---|
decision: "match" |
The candidate cleared the configured threshold and gates. It is eligible for the workflow's pre-agreed automatic action. |
decision: "review" |
The candidate was surfaced, but evidence or a gate prevents an automatic match. It needs the workflow's review policy. |
| pair not returned | It was not a surfaced candidate. It is not a statement that the records are different. |
Every returned edge includes record IDs, score, evidence, decision_id,
and run pins. Retain these fields with any downstream decision. A review
edge must never be silently promoted by a consuming system.
Direct person decisions¶
pairwise() makes a direct co-reference claim for two person references. It
has two separate fields:
| Identity | Recommended action | Meaning |
|---|---|---|
same_entity |
merge or hold |
The evidence supports one real-world entity. hold means the calling policy has not authorised a merge. |
review |
no_op |
Evidence is insufficient for an identity claim. Present it to an authorised reviewer if the use case requires a decision. |
different |
no_op |
Evidence supports keeping the references separate. |
Do not convert crosswalk() labels to pairwise() identities, or the reverse.
They answer different questions and have different output shapes.
Rules for pipelines and agents¶
- Apply an automated action only to a contractually permitted
matchedge orsame_entitydecision. - Preserve
evidence,decision_id, andpinsin the audit trail. - Treat
reviewas a stop for automation, not a soft match. - Do not cluster pairwise links into entities unless the workflow defines transitivity, conflict handling, and review rules.
- Do not interpret
scoreas a calibrated probability.
See review and evaluate a crosswalk for a portable review-outcome shape and the conditions required to make accuracy claims.
This is the alpha consumer contract for arche-core 0.4.0a3. Any incompatible
change should be called out in the release notes before a downstream system is
expected to adopt it.