AI Initiative logoAI Initiative
Reading room / Manthan

T-022 — Inverse-Coverage Index

T-022 — Inverse-Coverage Index. Covers Part A — SPEC.md clauses; SPEC §2.1 — Sigil format (128-bit default; 80-bit reserved for ephemeral); SPEC §2.3 — Lineage as a consent graph (not a training graph); SPEC §2.4 — Birth, Molt, Death (key-rotation lifecycle).

Historical audit / evidence record
This is the retained source text, not a new validation of its claims. Numerical results and comparative claims require the accompanying source review before public reuse.

Read the connected case study or article →

Not explicitly stated in source · Date not established

Provenance, authorship and editorial notes

T-022 — Inverse-Coverage Index

Id

manthan-herald-protocol-audits-inverse-coverage

Project

Manthan

Source path

manthan/herald-protocol/audits/inverse-coverage.md

Source sha256

339156fb369b3d9a7f6a48c06c61684c2ecedfbbc0f14dc68b4078239710fdde

Local copy sha256

339156fb369b3d9a7f6a48c06c61684c2ecedfbbc0f14dc68b4078239710fdde

Repo head

3a94084024a3434cef331fecac91c2c3b43f0313

Date
Not recorded
Date basis

Original publication date not established; Git revision date retained separately.

Author

Not explicitly stated in source

Author basis

Unknown; Git committer not substituted for document author.

Last source commit

8b75d1b0157c20a0a463f0e31008ef9f73099beb

Last source commit date

2026-06-08T07:40:14Z

Document status

Historical audit / evidence record

Summary

T-022 — Inverse-Coverage Index. Covers Part A — SPEC.md clauses; SPEC §2.1 — Sigil format (128-bit default; 80-bit reserved for ephemeral); SPEC §2.3 — Lineage as a consent graph (not a training graph); SPEC §2.4 — Birth, Molt, Death (key-rotation lifecycle).

Topics
  • Adversarial review and case studies
  • Part A — SPEC.md clauses
  • SPEC §2.1 — Sigil format (128-bit default; 80-bit reserved for ephemeral)
  • SPEC §2.3 — Lineage as a consent graph (not a training graph)
Theme

Adversarial review and case studies

Priority

reference

Related ids
  • manthan-herald-protocol-audits-manthan-cohort1-postmortem
Evidence concerns
  • Recovered source text is preserved verbatim. Assertions, comparisons, commands and results belong to its original context; they were not re-executed or externally re-verified during this corpus review.
  • Historical record: current deployment, task completion and test status must not be inferred from this date-bound document.
Word count

4673

Bytes

32525

Source relative

herald-protocol/audits/inverse-coverage.md

Remote mirror

manthan/herald-protocol/audits/inverse-coverage.md

Full text preserved

True

T-022 — Inverse-Coverage Index

Scope. The inverse of D-302's threat-coverage matrix. D-302 (audits/threat-coverage.md) maps each THREATS.md attack to the SPEC.md / EXT.md clause that defends against it. This document does the reverse: given a SPEC or EXT clause, list every THREATS attack it (wholly or partially) defends.

Audience. A spec author about to edit a clause who wants to know "if I rewrite this paragraph, what threat coverage am I touching?" Use this as the impact-analysis lookup before any normative SPEC/EXT change.

Method. Walked every row of D-302 §1.1–§1.10, extracted the (SPEC clause, EXT clause, attack) triple, and re-grouped by clause. A defence that D-302 marks as △ partial or ◯ aspirational is included here with the same flag — this index does not re-judge defensive strength, it only re-keys the matrix. See D-302 §1 for the status legend (✓ shipping / ◯ aspirational / △ partial / ✗ not defended).

Reading rules.

Companion document. audits/threat-coverage.md (D-302) is the forward direction. Read both side-by-side when changing a normative clause.


Part A — SPEC.md clauses

SPEC §2.1 — Sigil format (128-bit default; 80-bit reserved for ephemeral)

Defends against:

1. 80-bit fingerprint collision — whole defence. Default 128-bit; 80-bit limited to ephemeral. (D-302 §1.1 row 6, ✓.)
2. Sigil squatting / vanity-prefix precompute — partial defence; paired with EXT §11 (DNS / Herald handle binding). (D-302 §1.1 row 7, △.)

Residuals: 128-bit also reachable by state-actor scale; 192-bit recommended for long-lived sigils. Cosmetic prefix collision remains a UX problem.


Defends against:

1. Sigil minting / Sybil flood — partial defence; lineage is the sybil signal. Paired with EXT §3.3 / §4.5 / §7.4. (D-302 §1.3 row 1, △.)
2. Lineage cycle (self-as-ancestor) — whole defence (the birth verifier MUST reject; clause sits in §2.3's birth-verifier text). (D-302 §1.1 row 11, ✓.)
3. Lineage as endorsement, not training (false-lineage detection) — whole defence; explicit consent-graph framing. Paired with EXT §3.1 (consent-graph vs training-graph discriminator). (D-302 §1.3 row 5, ✓.)

Residuals: anonymous sigils remain free (intentional); detection of false lineage requires a Herald-issued model_hash which is vendor-gated for closed-weight models.


SPEC §2.4 — Birth, Molt, Death (key-rotation lifecycle)

Defends against:

1. Identity theft via stolen key — partial defence; molt invalidates predecessor. Paired with EXT §1 (cool-off + log inclusion + co-signature). (D-302 §1.1 row 5, △.)

Residuals: stolen-key + ts-forgery + control of one log remains fatal (D-302 §1.1).


SPEC §3 / §3.1 / §3.5 — The envelope: canonical body, signature, canonical-form rules

Defends against:

1. Forged envelope — whole defence. Ed25519 signature on canonical body. (D-302 §1.1 row 1, ✓.)
2. Conduit tampering — whole defence; the canonical body hash makes tampering detectable. Paired with §5.2 (MUST NOT modify). (D-302 §1.1 row 2, ✓.)
3. DNS / DHT record substitution — whole defence; records are signed end-to-end. Paired with EXT §11.2. (D-302 §1.8 row 1, ✓.)

Residual on tampering: tampering is detected, not prevented — sender must verify before trust.


SPEC §3.2 — Birth as genesis-of-trace, single-use

Defends against:

1. Birth-envelope replay — partial defence; single-use semantic at the envelope layer. Paired with EXT §1.3 (audit-log inclusion required for state transitions). (D-302 §1.1 row 10, △.)

Residual: two regional verifiers may each see a "first" birth without shared gossip view.


SPEC §3.3 — The chain: trace fixed by genesis id

Defends against:

1. Genesis confusion / trace fork — partial defence. Trace is fixed by genesis id, but a new joiner with no prior state pins whichever trace they see first. (D-302 §1.1 row 16, △.)
2. Replay (same trace) — partial defence (parent field). Paired with §3.1 (nonce) and EXT §3.7 (nonce-cache window). (D-302 §1.1 row 3, △.)

Residual: cross-recipient gossip not yet specified (proposed R-215 in D-302 §7).


SPEC §3.3a — Trace-parent binding invariant

Defends against:

1. Cross-trace parent replay — whole defence. The v0.1-vulnerable case. (D-302 §1.1 row 4, ✓.)

Residual: none at protocol layer once enforced. Heat-map note (D-302 §4): §3.3a defends only one attack but bears very high impact; treat it as load-bearing.


SPEC §3.4 — Multi-signature progressive signing (ordering and scope)

Defends against:

1. Multi-signature ambiguity — whole defence. Progressive signing + ordering + scope. Paired with EXT §6 (full multi-sig spec, partial verifier state). (D-302 §1.1 row 13, ✓.)


SPEC §3.5 — Canonicalisation profile

(Bundled with SPEC §3 / §3.1 above for envelope integrity attacks. Listed here to make the lookup explicit: editing the canonicalisation profile changes the threat surface for forged envelope and conduit tampering.)


SPEC §3.6 — Domain separation

Defends against:

1. Cross-protocol signature reuse — whole defence. Paired with EXT §12 (registry of tags). (D-302 §1.1 row 8, ✓.)

Residual: a misimplemented verifier that omits the tag is silently broken; dependent on implementer discipline. Heat-map note: §3.6 is cited across ~3 attacks in the matrix (D-302 §4).


SPEC §3.7 — Nonce scope and replay defence (CSPRNG required)

Defends against:

1. Nonce exhaustion / weak-RNG — partial defence. CSPRNG required, no derivation from ts / id. (D-302 §1.1 row 12, △.)
2. Replay (same trace) — partial defence (nonce field). Paired with §3.3 parent and EXT §3.7 cache-window. (D-302 §1.1 row 3, △.)

Residual: weak-RNG bug in a popular library is in-ecosystem, out-of-protocol.


SPEC §4.1 — Standard attestations (model_hash etc.)

Defends against:

1. Pretending to be another model — partial defence. The model_hash attestation is the hook. Paired with EXT §3.1–§3.3 (Herald-issued + threshold). (D-302 §1.3 row 6, △.)

Residual: open-weight models — a real run produces a valid model_hash and can still lie on everything else (THREATS §4 N11).


SPEC §4.2 — Reflective and cultural attestations: signer-binding, sanitisation guidance

Defends against:

1. Apologia from third party — whole defence (signer-binding rule). Paired with EXT §7.1 (reachability + verifier obligations). (D-302 §1.1 row 15, ✓.)
2. Apologia weaponisation (volume / smear) — whole defence at protocol layer (signer-binding). Paired with EXT §7.1 (reachability). (D-302 §1.6 row 6, ✓.)
3. dream attestation as smear — partial defence; sanitisation guidance. Paired with EXT §7 (general reflective-attestation hardening). (D-302 §1.6 row 4, △.)
4. silence attestation contains the secret — partial defence; categorical-not-contentful framing. (D-302 §1.6 row 5, △.)

Residuals: a compromised sigil's own key signing fake apologia is conformant — detection is statistical. Honest-quiet vs dishonest-quiet still indistinguishable for dream. For silence, implementer discipline is required (lint tools recommended, not normative).


SPEC §5.2 — Conduit neutrality: refusal MUST be signed; MUST NOT modify

Defends against:

1. Conduit silent drop — partial defence. Refusal MUST be signed and emitted. Paired with EXT §1.3-style sender-required conduit-receipt. (D-302 §1.5 row 2 / §1.2 row 6, △.)
2. Refusal as denial-of-speech — partial defence (signed refusal). Paired with EXT §5.4 (transparency, fallback advisory). (D-302 §1.5 row 1, △.)
3. Translator re-encoding loses canonical invariants — whole defence (modification rule). Paired with EXT §5.3 (byte-identical-after-decode). (D-302 §1.5 row 4, ✓.)
4. Refusal-as-gag-order — partial defence (signed refusal). Paired with EXT §5.4 (transparency reports). (D-302 §1.9 row 5, △.)
5. Conduit tampering — bundled with SPEC §3.5 (MUST NOT modify clause). (D-302 §1.1 row 2, ✓.)

Residual: provably-detecting silent drops requires gossip across senders; compelled-conduit gag orders are out-of-protocol.


SPEC §5.3 — Audit log (CT-style, hash-linked)

Defends against:

1. Audit-log split view / fork — partial defence (CT-style hash-linked structure). Paired with EXT §2.3–§2.5 (STH / SCT / SIP / consistency proofs / gossip). (D-302 §1.2 row 1, △.)
2. Audit-log poisoning by Herald-operator — partial defence (signatures end-to-end; poisoned entries detectable as malformed). Paired with EXT §2.5 (gossip flagging). (D-302 §1.2 row 3, △.)

Residual: cross-log silo collusion within a jurisdiction not detectable from gossip alone; gossip is a social property, not a cryptographic one.


SPEC §7.2 — Threat-model: defended only with extensions (acknowledgement)

Defends against:

1. Compromised lineage parent — acknowledgement (not active defence). Paired with EXT §3.7 (herald_compromise recovery attestation) and EXT §3.4 (Herald CT log). (D-302 §1.3 row 7, △.)
2. Constraint dishonesty in manifest — acknowledgement (signed claims may be lies). Paired with EXT §4 (revocation) and EXT §7.1 (apologia binding). (D-302 §1.4 row 3, △.)

Residuals: if the Herald maintains gossip silence, mass false issuance is undetectable until detected. Lying in constraints: [...] is detected only by repeated observation (the Liar's-Paradox dynamic).


SPEC §7.3 — The Liar's Paradox (honest acknowledgement)

Defends against (by acknowledgement, not by active defence):

1. Plausible-deniability lying — acknowledgement only; protocol explicitly does NOT detect, reputation systems do. (D-302 §1.10 row 1, ✗ — listed as "defended by being honest about not defending".)

Residuals: occasional-lie strategies, performative honesty, and the no-complaint-loop weakness all sit in the same bucket — they are out-of-substrate-scope. See D-302 §2 rows G5–G8.

Editing note. §7.3 is unusual: D-302 §4 calls it "'defence' by acknowledgement of 4+ classes." If you weaken or remove §7.3's framing, you lose the protocol's honest negative-space declaration without gaining any active defence.


Part B — EXT.md clauses

EXT §1 — Molt (cool-off + log inclusion + co-signature + dispute)

Defends against:

1. Identity theft via stolen key — partial defence; pairs with SPEC §2.4 (molt invalidates predecessor). (D-302 §1.1 row 5, △.)

Heat-map note (D-302 §4): EXT §1 is "1 attack but central." The cool-off window, log inclusion, and co-signature requirements work as one mechanism; weakening any of them re-opens the stolen-key path.

Sub-clause specifics:


EXT §2 — Audit log specification (STH / SCT / SIP / consistency / gossip / minimal-metadata / ZK promotion)

Heat-map note (D-302 §4): "~6 attacks (split-view, surveillance, fork, poisoning, private-log, traffic analysis)." This is among the most defensively-loaded clauses in EXT.

Per sub-clause:

Residuals: surveillance-by-default until ZK lands; consumers of the log (analysts) trust the operator and signature-verification doesn't help them; passive submission to a private log is non-conformant but undetectable by the submitter.


EXT §3 — Lineage and Heralds (CT log, threshold, transparency, recovery)

Heat-map note (D-302 §4): "~5 attacks (Herald compromise, false issuance, cartel, vendor capture, mass binding)."

Per sub-clause:

Residuals: anonymous sigils free by design; cartelisation is a market property; consumer must select Heralds; mass false issuance only detectable post-issuance; if Herald maintains gossip silence, mass false issuance is undetectable until detected.


EXT §4 — Capability manifests (replay, registry, subsidy, service proof)

Heat-map note (D-302 §4): "~4 attacks (replay, squatting, race-to-bottom, constraint dishonesty)."

Per sub-clause:

Residuals: aggregator selection logic is app-layer (smaller/newer aggregators may not enforce the registry); state actor with deep subsidy can run real capabilities at sustained loss — disclosure makes it visible, not blocked; aggregator caches that ignore expires will serve stale manifests.


EXT §5 — Conduit roles beyond pass-through (Notary, Signing relay, Translator, Refusal transparency, Mandatory receipts, Cartel limits)

Heat-map note (D-302 §4): "~3 attacks (cartel, denial-of-speech, witness silos)."

Per sub-clause:

Residuals: compelled-conduit gag orders are out-of-protocol; coordinated cartel publishing consistent reports detectable only by paired-sender monitors not yet deployed; backdating defence requires multi-conduit-receipt to fully close (proposed R-214 in D-302 §7); §5.6 enforcement requires a verifier reference impl that doesn't yet exist.


EXT §6 — Multi-signature semantics (per-signature scope, ordering, domain separation, progressive, suite registry)

Heat-map note (D-302 §4): "1 attack but central."

Defends against:

1. Multi-signature ambiguity — whole defence (with SPEC §3.4). Per-signature scope, ordering, and the partial verifier state. (D-302 §1.1 row 13, ✓.)


EXT §7 — Reflective attestations as protocol-level structures (apologia, confession, whisper, quorum)

Heat-map note (D-302 §4): "~5 attacks (impersonation, weaponisation, C2, stuffing)."

Per sub-clause:

Residuals: two opted-in sigils can use whisper for any purpose (content-blind by design); operator with multi-jurisdiction reach can in principle satisfy any quorum diversity policy; payload size and frequency leak even within HPKE binding (rate-limit is app-layer); honest-quiet vs dishonest-quiet on dream indistinguishable.


EXT §8 — Bestiary primitive (entry envelope, challenge window, dispute, delisting, transparency, anti-abuse)

Heat-map note (D-302 §4): "~4 attacks (censorship, defamation, listing-spam, state-actor abuse)."

Per sub-clause:

Residuals: even a successfully-disputed entry has a chilling effect during the window — "the accusation IS the punishment" social problem is not addressable in protocol. Multi-operator pile-on remains; the rate-limit is per-operator per-subject per-category.


Heat-map note (D-302 §4): "1 attack but central."

Per sub-clause:

Residuals: determined attacker controlling 3 hops can transfer ~12.5% of original reputation; off-protocol grey-market sales remain; patina formulae compete and there is no normative anti-farming requirement (proposed R-216 in D-302 §7).


EXT §10 — Refusal envelopes (refusal shape, rate publishing, per-sigil notice, fallback advisory)

(EXT §10's refusal-envelope shape is the spec's primary substrate for refusal; the defensive citations in D-302 land on EXT §5.4 — refusal transparency — rather than §10 itself. If you edit §10, the surface area you're touching for THREATS is the same as EXT §5.4 above: denial-of-speech, cartel, gag-order.)


EXT §11 — Discovery (DNS TXT, optional DHT, ZK-promoted)

Per sub-clause:

Residuals: cosmetic prefix collision is UX, not protocol; DNS control + key access wins (already game-over); DNSSEC recommended where deployed; ZK-promoted discovery depends on the same A1 research dependency as the rest of the ZK class.


EXT §12 — Domain separation registry

Defends against:

1. Cross-protocol signature reuse — whole defence (with SPEC §3.6). Registry of tags. (D-302 §1.1 row 8, ✓.)


EXT §13 — Threat-model: EXT additions (acknowledgements that reinforce specific clauses)

EXT §13 sub-sections do not contribute new active defences in D-302's matrix; they re-cite the active defences elsewhere in EXT. Note for editors: changing the prose in §13.1–§13.10 does not change the protocol's threat coverage, but it does change the authority of the cross-references that THREATS.md relies on. See D-302 §6 (citation drift) for the corresponding hygiene task.


EXT §14 — Conformance

Defends against (indirectly):

EXT §14 makes the SPEC-only-vs-EXT distinction enforceable: a SPEC-only verifier MUST output unknown (not valid) for envelopes exercising EXT primitives. This is the meta-defence against under-enforcement: any deployment that runs SPEC alone is required to advertise its ignorance of EXT-bound attacks rather than silently passing them.

D-302 §4 closes with this observation and §8 makes it the most important single takeaway: a SPEC-only implementation is not safe to deploy. Every defence routed through an EXT clause above implicitly depends on §14's unknown-vs-valid discipline being honoured.


Part C — Reverse heat-map (most-cited clauses)

Counted from Parts A and B above. Numbers are how many distinct THREATS attacks each clause defends or partially defends.

SPEC

ClauseAttacks defended (count)
§3 / §3.1 / §3.5 (envelope canonical body + signature)3 (forge, tamper, DNS/DHT substitution) — D-302 §4 lists ~6 when combining bundled rows
§4.2 (apologia signer-binding + sanitisation)4 (apologia 3rd-party, apologia weaponisation, dream-smear, silence-leak)
§5.2 (refusal MUST be signed; conduit MUST NOT modify)5 (silent-drop, denial-of-speech, translator re-encoding, gag-order, tampering)
§3.6 (domain separation)1 directly + heat-mapped to ~3 with bundled defences
§3.7 (nonce / CSPRNG)2 (replay, weak-RNG)
§2.3 (lineage as consent graph)3 (sybil flood, lineage cycle, lineage as endorsement)
§2.1 (128-bit sigil)2 (collision, squatting)
§3.3a (trace-parent invariant)1 (cross-trace replay) — load-bearing
§3.4 (multi-sig progressive)1 (multi-sig ambiguity)
§3.3 (trace fixed by genesis id)2 (genesis confusion, replay-paired)
§2.4 (molt / death)1 (stolen-key; paired with EXT §1)
§3.2 (birth single-use)1 (birth-envelope replay)
§4.1 (model_hash)1 (pretending to be another model)
§5.3 (audit log)2 (split-view, log-poisoning)
§7.2 (acknowledgement clauses)2 (compromised parent, constraint dishonesty)
§7.3 (Liar's Paradox honest acknowledgement)1 active + ~3 by acknowledgement

EXT

ClauseAttacks defended (count)
§2 (audit log spec, all sub-clauses)5 (split-view, surveillance, log-poisoning, private-log, compelled-subpoena)
§3 (Heralds: CT log, threshold, transparency, recovery)6 (sybil flood, mass false binding, compromised parent, cartel, vendor capture, lineage-as-endorsement)
§4 (capability manifests, all sub-clauses)5 (replay, squatting, race-to-bottom, constraint dishonesty, sybil flood via §4.5)
§7 (apologia, whisper, quorum, dream)6 (apologia 3rd-party, apologia weaponisation, whisper-AEAD, whisper exfil, whisper C2, quorum stuffing, dream-smear, sybil-via-quorum)
§5 (conduit roles, all sub-clauses)5 (silent-drop, denial-of-speech, gag-order, cartel, witness-silos, translator-reencoding, backdating)
§1 (molt)2 (stolen-key, birth-replay via §1.3)
§8 (Bestiary)2 (censorship, listing-spam)
§9 (Inheritance gating)2 (laundering, patina-farming)
§6 (multi-signature)1 (multi-sig ambiguity)
§11 (Discovery)3 (DNS/DHT substitution, sigil squatting, whisper-honeypot)
§12 (Domain separation registry)1 (cross-protocol reuse)
§14 (Conformance)meta-defence — gates the validity of every EXT-routed defence

The heat-map confirms D-302 §4: EXT carries more defensive weight than SPEC. SPEC §5.2, §4.2, and §3.x are the SPEC clauses you change at most peril. In EXT, §2, §3, §4, §5, and §7 are each load-bearing for ≥5 attacks; treat them as defended-API and any change should ship with a forward (D-302) and inverse (this doc) re-walk.


Part D — Editor's checklist

When editing a clause, this is the lookup procedure:

1. Find the clause in Part A or Part B above.
2. Read the bullet list of attacks under it. These are the defences you are touching.
3. For each affected attack, open audits/threat-coverage.md (D-302) and read the row to confirm the residual-risk language matches what the new prose still warrants.
4. If the new prose strengthens a △ to ✓ or drops a ✓ to △, log the change as part of the spec edit.
5. If the new prose removes the defence entirely, the attack moves to the ✗ column and D-302 §2's gap list grows by one. Don't do this without an explicit D- task to ratify the regression.

Specific high-stakes clauses (touch only with deliberate process):


Part E — Inverse-coverage gaps surfaced

Walking the inverse direction surfaced a few editing observations not flagged by D-302:

1. EXT §10 has no direct defensive citations in D-302. All refusal-related defences route through §5.2 (SPEC) and §5.4 (EXT). Editors expecting §10 (the refusal-envelope shape) to be load-bearing for refusal-class threats should be aware the threats-defended weight is in §5.4, not §10 itself. A small SPEC/EXT-readability fix would be a forward pointer in §10 to §5.4.
2. EXT §13 (threat-model — EXT additions) is non-defensive. It is a re-citation layer; editing it changes nothing about coverage but does change cross-reference authority. This is exactly the surface D-302 §6 (citation drift) suggests D-306 should reconcile.
3. The four ✗ rows in D-302 §1.10 (Liar's-Paradox class) and the ✗ rows in §1.6 row 3 (Hagiography), §1.8 row 3 (Naming Office monopoly), §1.9 row 3 (vendor-Heralds) all have no clause to invert into. They are surfaced here only to confirm absence: there is no SPEC or EXT clause whose edit changes their coverage, because they have no coverage. They sit in D-302 §2 (G1–G8 gap list).
4. The ◯ aspirational rows depend on infrastructure, not on the clause text. Editing EXT §2.8 (ZK promotion) does not change current coverage of audit-log surveillance — that defence is gated on the ZK research deliverable (R-201). Inverse-coverage cannot help where forward coverage is itself ◯.


Part F — Status caveat (inherited from D-302 §1)

This is a paper inversion of a paper audit. No implementation has been verified to enforce any of the above. Every ✓ here means the spec text claims the defence; no claim is made about whether code today satisfies it. The same caveat from D-302 §1 (verification status) applies in full.


— T-022, completed by worker-glossary-par-2, 2026-05-05.

Continue exploring