Skip to content

Reframe TTP as the machine-isnad chain-trust protocol - #64

Merged
blocksifrdev merged 1 commit into
mainfrom
docs/chain-trust-reframing
Sep 15, 2026
Merged

blocksifrdev merged 1 commit into
mainfrom
docs/chain-trust-reframing

Conversation

@blocksifrdev

Copy link
Copy Markdown
Collaborator

Closes #46.

None of what #46 asked for existed. Not TrustChain, ChainActor, TransmissionLink, the trust roles, the verification levels, the classification table, chain continuity, or latent defects. The isnad primitive was implemented in src/isnad.mjs, but the specification never explained what it was for.

SPECIFICATION.md → new Chain Trust Model section

  • The layering across TTP, SCIM-RE, RAP, Execution Exchange, CortexTrace, ExecutionReceipts
  • Thirteen chain primitives
  • Eight trust roles, with the normative boundary language: a TrustVerifier MUST NOT make execution decisions, a TrustValidator MUST NOT execute protected actions
  • Seven verification levels, L0 local through L6 privacy-preserving
  • Graded classification, seven chain-continuity states, eleven latent defects

The README leads with the framing sentence the issue specified plus the layer table, so the distinction is visible before anyone opens the spec.

Two pieces are backed by code, not left as prose

The classification vocabulary maps onto the nine execution responses already implemented, which is a better fit than it first appears:

Classification Posture
TRUST_ACCEPTED KEEP, REROUTE
TRUST_ACCEPTED_WITH_CONTROLS CONSTRAIN, THROTTLE
TRUST_REVIEW_RECOMMENDED STEP_UP
TRUST_CONTRADICTED ESCALATE
TRUST_DEFECTIVE ESCALATE, DENY
TRUST_REJECTED DENY
TRUST_UNKNOWN DENY, ESCALATE

withinPosture() enforces it: answering TRUST_REJECTED with a reroute is how a graded protocol degrades into a boolean one that always says yes. TRUST_UNKNOWN is not neutral, and an unrecognised classification is treated as unknown rather than waved through.

Chain continuity and latent defects ship as exported vocabularies checked against the spec.

199 tests.

🤖 Generated with Claude Code

None of what issue #46 asked for existed: not TrustChain, ChainActor,
TransmissionLink, the trust roles, the verification levels, the
classification table, chain continuity, or latent defects. The isnad
primitive was implemented in src/isnad.mjs but the specification never
described what it was for.

SPECIFICATION.md gains a Chain Trust Model section carrying all of it —
the layering across TTP, SCIM-RE, RAP, Execution Exchange, CortexTrace
and ExecutionReceipts; thirteen chain primitives; eight trust roles with
the normative boundary language that a TrustVerifier must not make
execution decisions and a TrustValidator must not execute protected
actions; seven verification levels from local evaluation to
privacy-preserving proof; graded classification; seven chain-continuity
states; eleven latent defects.

The README leads with the framing sentence the issue specified and the
layer table, so the distinction is visible before the specification.

Two pieces are backed by code rather than left as prose. The
classification vocabulary maps onto the nine execution responses already
implemented — CLASSIFICATION_POSTURE, postureFor and withinPosture — so a
response cannot step outside the posture its classification permits;
answering TRUST_REJECTED with a reroute is how a graded protocol degrades
into a boolean one that always says yes. TRUST_UNKNOWN is not neutral,
and an unrecognised classification is treated as unknown rather than
waved through. Chain continuity and latent defects are exported
vocabularies checked against the spec.

199 tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@blocksifrdev
blocksifrdev merged commit be3fe72 into main Sep 15, 2026
2 checks passed
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@blocksifrdev
blocksifrdev deleted the docs/chain-trust-reframing branch September 15, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant