Conformance Self-Assessment¶
Purpose: a practical kit for the Tech Lead / Architect before releasing RENAR-CONFORMANCE.yaml. The normative basis is standard/13. This document is informative; on conflict, standard/13 wins.
1. MVR and the mandatory clauses of §13.3¶
The two lists overlap but do not coincide, and conflating them is a mistake: §0.5 calls MVR a subset of the mandatory clauses — MVR-7 maps onto §13.4, and §13.3.7 and §13.3.8 belong to no MVR at all. Checking one list instead of two means missing two mandatory clauses.
| MVR (§0.5) | §13.3 clause | mandatory-clauses-confirmed field |
|---|---|---|
| MVR-1 Source-of-Truth inversion | §13.3.1 | sot-inversion: true |
| MVR-2 V1–V6 | §13.3.2 | substrate-v1-v6: { v1..v6: true } |
| MVR-3 ADAPT per TZ | §13.3.3 | adapt-per-tz: true |
| MVR-4 12 SPEC types | §13.3.4 | spec-types-closed-list: true |
| MVR-5 TC pos/neg | §13.3.5 | tc-pos-neg-pairing: true |
| MVR-6 QG — closed list | §13.3.6 | quality-gates-closed-list: true |
| MVR-7 conformance manifest | §13.4 (artifact) | manifest exists + signed |
| — (closed-list policy) | §13.3.7 | closed-lists-backward-findings: true |
| — (subsystem cross-level traceability) | §13.3.8 | implements-edge-subsystem: true |
All seven MVR + §13.3.7 + §13.3.8 are mandatory for any RENAR-1..5 level.
On §13.3.8. On v1.0 the clause was recommended; from v1.1 it is mandatory and is confirmed by the implements-edge-subsystem field of the manifest. The effective modality is recorded in reference/normative-index.yaml, entry MC-13.3.8; the check-implements-edge gate reads it from there and checks the presence of the edge when the condition fires, not merely the validity of an existing one. Projects that conformed to v1.0 without the edge bring their descriptions in line via the migration guide.
2. Self-assessment checklist (mandatory clauses)¶
Check off after verifying the evidence in the substrate:
§13.3.1 Source-of-Truth inversion¶
- The BR/SR/SPEC/TC hierarchy is the authoritative source of behavior
- No SR reconstructed from code without a defect-fix justification
- Drift-hooks / review policy block silent SR←code adaptation
§13.3.2 V1–V6 capabilities (substrate)¶
- V1 immutable history — enabled
- V2 atomic change unit — enabled
- V3 diff & review — enabled
- V4 branching / change-set — enabled
- V5 end-to-end version pinning across substrates — enabled (
automation.set-version,last-run.set-version, the manifestset-version) - V6 author + timestamp — enabled
§13.3.3 Reactive ADAPT¶
- Every TZ has passed the adversarial review; the outcome is issued as an AR in status
issued - On a "findings present" verdict: the ADAPT is in status
approvedwith the Architect's signature - On a "no findings" verdict: no ADAPT is created; BR/SR/SPEC carry
source.tz-section+source.adversarial-review-ref - Every finding in
resolvedcarriesdecided-inon a clause of a signed ACTZ - Signed ACTZ carry the dual signature (client + contractor)
- A client signature on an ADAPT is not declared mandatory (admissible only as
declared-stricter) - delta-TZ: the delta-ADAPT is created on the fact of findings from the delta-TZ review, not automatically
- Superseded ADAPT are retained in the terminal
superseded; no danglingsource.adaptremain
§13.3.4 SPEC types¶
- All SPEC ∈ {ARCH, API, DATA, INT, PROC, UI, AI, SEC, OPS, TEST, DOC, UC} — the \g<1>12\g<2>
- No local
SPEC-CUSTOM-* - Test benches and data are described as
SPEC-TEST, not as a section ofSPEC-OPS - Delivered documentation is described as
SPEC-DOC; the internal runbook stays inSPEC-OPS - Every
SPEC-TESTin which at least one dataset carries real or personal client data has aclient-signature
§13.3.5 TC pos/neg¶
- Every normative statement of the set version is covered by a pos + neg pair of TC norms in the same version (or a negative-invariant exception); the presence of coverage, not only pairing, is checked at QG-0 of the set (
coverage-presence, §10.11.1) - QG-0 of the set blocks version approval on an uncovered or unpaired statement
- Every TC with
automation.kind: dynamiccarries anenvironment-refto an existingSPEC-TEST(a missing field is fatal; static checks require no bench) - Every
SPEC-DOCis covered by the doc-lint (a TC withautomation.kind: static); without it the SPEC-DOC does not pass QG-2
§13.3.6 Quality Gates¶
- QG-0, QG-1, QG-2 implemented as
required - QG-3, QG-4 declared
required|declared|absentin the manifest - No local custom gates
§13.3.7 Closed lists¶
- Backward finding types — closed list §7.4.4 only
- SPEC decomposition types — closed list §8 only
§13.3.8 Subsystem cross-level traceability¶
Checked only when the condition holds: BR.level = subsystem AND the parent system has ≥ 1 approved BR.
- When the condition holds,
implements[]is non-empty. Omitting it is admissible only when the parent system is a container without BRs of its own, and then the justification is recorded in the “Context” section with a reference to ADAPT - The
implements-edge validation control point is implemented by the substrate — this duty applies already on v1.0 and does not depend on the modality of the clause itself (§13.3.8)
Failing the first item is non-conformance (§13.8.1).
Rule: if at least one is unchecked → do not release the manifest (§13.5.1).
3. Level checklist (choose the target RENAR-N)¶
The minimum for claiming a level is standard/11 §§11.4–11.8. Brief summary:
| Level | Key additional criteria |
|---|---|
| RENAR-1 | Mandatory clauses only; frontmatter minimal |
| RENAR-2 | Basic frontmatter (no strict schema validation); TZ and delta-TZ as explicit immutable artifacts; lifecycle statuses not yet mandatory |
| RENAR-3 | Full frontmatter schema + lifecycle statuses; hooks enforce QG-0 and QG-1, QG-2 — partially |
| RENAR-4 | ai-provenance mandatory; pos/neg pairing for every normative assertion; QG-2 enforced natively |
| RENAR-5 | Adversarial review as a gate; multi-model consensus for priority: must; knowledge graph as primary lookup; continuous evaluation of SPEC-AI |
- The chosen
levelin the manifest is no higher than the checklist actually passed -
declared-stricter(if present) is documented separately
4. Manifest template (minimal)¶
Save as RENAR-CONFORMANCE.yaml at the root of the requirements substrate:
manifest-version: 1
manifest-id: "CFM-YYYY-NNN"
renar-version: "1.1"
senar-version: "1.0"
level: RENAR-2
assessment-date: "2026-05-22"
assessment-mode: self # self | third-party (§13.4.2)
next-assessment-due: "2026-08-22"
mandatory-clauses-confirmed:
sot-inversion: true
substrate-v1-v6: { v1: true, v2: true, v3: true, v4: true, v5: true, v6: true }
adapt-per-tz: true
spec-types-closed-list: true
tc-pos-neg-pairing: true
quality-gates-closed-list: true
closed-lists-backward-findings: true
quality-gates:
qg-0: required
qg-1: required
qg-2: required
qg-3: declared
qg-4: absent
external-claims:
- standard: "ISO/IEC/IEEE 29148:2018"
clause-ref: "§14.4.2"
claim: "partial" # full | partial | aligned
substrate-capabilities:
v1-immutable-history: declared
v2-atomic-change-unit: declared
v3-diff-review: declared
v4-branching: declared
v5-version-pin: declared
v6-author-timestamp: declared
substrate-id: "<substrate-native pointer>"
spec-types-supported: ["SPEC-ARCH", "SPEC-API", "SPEC-DATA", "SPEC-INT",
"SPEC-PROC", "SPEC-UI", "SPEC-AI", "SPEC-SEC", "SPEC-OPS",
"SPEC-TEST", "SPEC-DOC"]
assessor:
id: "<V6 author identifier>"
role: architect # architect | authorized-role-holder | external-assessor
signature-ref: "<substrate-native pointer to the signature event>"
The full field list is §13.4.2.
5. Cadence¶
- Self-assessment: quarterly (default)
- After a delta-TZ that affects mandatory clauses — out of cycle
- Conformance-loss triggers — §13.8
Reference RENAR 1.1 — renar.tech