Evidence model
aefi never returns a bare boolean as the product. The unit of intelligence is an envelope.
Envelope
| Field | Meaning |
|---|---|
summary |
One-line narrative a human or agent can read first |
result |
Tool-specific payload (search page, payments, job, …) |
confidence |
high · medium · low · unverified |
confidence_reasons |
Controlled fact codes, not free-form marketing copy |
confidence_model_version |
Which composer produced the label |
evidence |
Typed refs (source, reference, claims) |
coverage |
complete / substantial / partial / minimal / unknown plus known_gaps |
graph_refs |
Node ids when the API read Neo4j |
Graph objects (Wave A)
Projected into Neo4j when they are agent-relevant:
Agent— ERC-8004 identity and/or provisional wallet agentWallet— chain + addressJob— ERC-8183 commerce jobPayment— settled USDC (and 8183PaymentReleased)TransferEvent— system USDC transferMemoEvent— same-tx memo annotationOutcome— completed / rejected / expiredEvidence— supporting node with typed claims
Edges include CONTROLS, PROVIDER /
REQUESTER / EVALUATOR,
SETTLED_BY, FROM_WALLET /
TO_WALLET, ANNOTATED_BY,
FOR_JOB, HAS_OUTCOME,
SUPPORTS.
Example fact codes
payment_settled/payment_only_observedexact_job_id_memoerc_8183_job_lifecycleescrow_release_after_acceptanceerc_8004_identity_matcherc_8004_reputation_event
Provider scoring (studio / search)
Search ranks with completion (scaled by sample size so one perfect
job does not dominate), volume, optional recency, then a stable
provider_id tie-break. Semantic recall (when
query is set) is fused with that graph score.