Skip to main content
Heretic reports what the joined evidence supports. The tenant decides what to do with that report.

Verdicts

conclusive is a categorical result of the ruling algebra. It is not a probability or a prescribed consequence. A non-refusal absolute finding takes precedence over refusal. Refusal takes precedence over composite and conditional findings.

Finding tiers

Tiers are categories, not numeric weights. Several composite findings in one family still count as one family. Several conditional findings do not accumulate into a composite result. Any number of weak findings has no verdict weight. The finding object carries the tier for that observation. Some IDs have context-dependent branches, so do not infer a fixed tier from the ID alone. The signal reference lists every current tier.

Family status

Every assessment reports all six families. Each report has a status independent of the top-level verdict. A conditional finding makes its family contradicted while the overall verdict can remain disputed. A refusal finding makes http-construction contradicted while the overall verdict is refused. highest_tier considers findings above weak. It is null when the family contains only weak findings or no findings.

Coverage

Coverage says what a family could assess. It does not count as evidence for either side.

Measured

At least one supported rule in the family had usable input. Other rules in the same family may still have lacked input or abstained.

Unavailable

An input needed by the family did not arrive or could not be read.

Not yet ruled

This state covers two cases: relevant input arrived but the current catalogue could not rule on it, or a relevant sensor admission impaired an otherwise measured wire family and no finding fired. It is not agreement with the client. Coverage reason strings are prose. Use only the state enum in program logic.

Reading uncontradicted

uncontradicted means no absolute, composite, or conditional finding selected another verdict. It does not mean every family or every rule ran. An uncontradicted assessment can have all six families measured, or it can have unavailable and not-yet-ruled families. Read each family report before comparing records.

Insufficient reasons

The full assessment includes insufficient_reason only for an insufficient verdict. The tenant API always includes the key and returns null for other verdicts. A completely unreachable edge cannot create an assessment. The collector instead returns a local failure such as { ok: false, reason: 'session open failed' }.

Full assessment and tenant projection

The full edge assessment contains:
  • schema and provenance
  • verdict fields
  • all six family reports, including each report’s signal-ID list
  • full findings, including optional sensor admissions
  • contradicting_families
  • concealment, identity, and sensor reports
  • geometry when it ran
The tenant verdict API returns a smaller projection. It omits the full session, raw claims, raw IP, detailed transports, geometry, the full concealment and sensor reports, per-finding sensor admissions, contradicting_families, and each family’s internal signal-ID list. Use stable IDs, enums, booleans, versions, and provenance as program inputs. Do not parse human-readable summaries, headlines, details, network descriptions, or coverage reasons.