From 9d8f87617240546aff33b3e9781e852e77e502a2 Mon Sep 17 00:00:00 2001 From: yoshi49535 Date: Mon, 27 Jul 2026 14:57:39 +0900 Subject: [PATCH] docs(chain): point chain.data-flow.continuity at where the check actually is MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The note said the invariant was "baked into provin.oss packages/vc ... in credential.go / VerifyChain". Three things were off, and the last one matters: - provin.oss is a Go module with no packages/ directory — every other note in this catalog already writes the path as vc/claim.go, vc/cryptosuite.go; - VerifyChain is in vc/verifier.go, not credential.go; - naming one file collapsed two different things. credential.go STATES the invariant (a doc comment on the credential type); vc/verifier.go:495 ENFORCES it inside Verifier.VerifyChain. A reader following the note to check that the spec is actually implemented needs the second one. A spec note that cannot be followed to the code is the failure mode this catalog exists against, so it is a defect rather than a typo. Both paths verified to resolve against provin.oss main; lint green (242 rules, 0 todo); no other packages/ reference remains in rules/. --- rules/chain.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rules/chain.yaml b/rules/chain.yaml index 8c324c2..fea5f07 100644 --- a/rules/chain.yaml +++ b/rules/chain.yaml @@ -80,6 +80,7 @@ rules: presence enforcement: an absent successor inputHash cannot satisfy the equality (chain-008). Source: drafts/v1_001 conformance section, L2 verification rule - "Input-output binding"; baked into provin.oss packages/vc as a contract - (the chain invariant in credential.go / VerifyChain). Resolved the + "Input-output binding"; baked into provin.oss's vc package as a contract + — the invariant is stated on the credential type in vc/credential.go and + enforced by Verifier.VerifyChain in vc/verifier.go. Resolved the unsourced-normativization ledger item on 2026-06-11.