Compatibility: Pactmark 0.1.x.
EvidenceRecord summarises selected events and claims after redaction. It is the artefact you
hand to someone who was not there.
It is explicitly not a hidden chain of thought, not a transcript, and not a compliance
certificate.
Anatomy
Figure 1.supports and doesNotProve are both required arrays with a minimum length of one.
A record that cannot articulate its own boundary fails schema validation.
That constraint is the most opinionated thing in the framework. It is there because the failure mode
of evidence systems is not missing data — it is a true statement being read as a broader one.
The fields, and what they are for
{ statement, claimType, scope }
required
One claim, in words, with a type and an explicit scope. Not a list of everything that happened.
string[]
required
What this record actually backs up. Minimum one entry.
string[]
required
What a reader must not conclude from it. Minimum one entry.
{ roleFamily, workflowId, riskClass, purposeCode }
required
The operating context, so the claim can be interpreted correctly later.
{ ai, human, description }
required
How the work divided between automation and people. Each metric is either a numeric value with a
unit, or an explicit
unavailable with a reason — not_collected, not_permitted,
not_applicable or unknown.Ref[]
References carried by digest.
eventRefs requires at least one entry — evidence with no events
behind it is not evidence.The
unavailable shape is worth copying in your own systems. “We did not measure this” and “this
was zero” look identical in most dashboards, and they are completely different claims.Redaction happens before export
Redaction is enforced at the boundary, not left to whoever configures the viewer. Prompts, completions, workspace bodies, tool arguments and results, credentials, challenge proofs, protected context and hidden reasoning do not enter evidence. The test suites run secret canaries across evidence, telemetry, events, artifacts, logs and HTTP responses. A canary appearing anywhere is a build failure.Exporting
evidence verify re-checks the record’s internal references. KAF_EVIDENCE_INVALID_REFERENCE means
the record points at something missing or incompatible — which is exactly the failure you want
surfaced before the record travels somewhere important.
Pattern maturity is evidence about a pattern
A related mechanism: reusable patterns start as local observations and can be promoted only after repeated use, compatible agent and verifier identities, acceptable outcomes, explicit review, and no open high-risk finding.What evidence proves
Exactly this: the named checks, over the named bytes, in the named environment, at the named time. It does not prove truth, security, regulatory compliance, or fitness for any purpose outside that scope — and the record is required to say so itself.What Pactmark does not prove
The complete list, at framework level.
Retention, deletion and audit
Keeping evidence as a distinct record with its own lifecycle.