SPEC v1.2 : la mesure nomme ce qu'elle a examiné (relations.confirms)
gardes du contrat / conformite (pull_request) Successful in 28s
gardes du contrat / conformite (pull_request) Successful in 28s
Le sens est la décision entière : c'est la MESURE qui déclare ce qu'elle confirme, jamais l'assertion confirmée qui pointe en retour. Trois raisons suffisantes chacune : l'assertion confirmée existe déjà et ne se réécrit pas ; l'instrument sait ce qu'il a mesuré — le lien est inféré, jamais saisi ; et l'auteur d'une confirmation est la machine, non l'agent dont l'affirmation est confirmée. Le runner refuse confirms sur autre chose qu'une mesure de provenance measured. Mineur et ignorable : un consommateur qui ignore la clé la préserve. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
52706a26a7
commit
f3d7383748
@@ -34,6 +34,11 @@ function crossFieldErrors(msg) {
|
||||
if (prefix !== msg.jurisdiction)
|
||||
errs.push(`jurisdiction "${msg.jurisdiction}" must equal the prefix of id ("${prefix}")`);
|
||||
}
|
||||
// §4.2 (v1.2) : la mesure nomme ce qu'elle a examiné — et elle seule.
|
||||
if (Array.isArray(msg?.relations?.confirms) && msg.relations.confirms.length > 0) {
|
||||
if (msg.class !== 'measure' || msg.provenance !== 'measured')
|
||||
errs.push(`relations.confirms is carried by a measure of provenance measured only (got class "${msg.class}", provenance "${msg.provenance}")`);
|
||||
}
|
||||
return errs;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user