Conformance lot files
The product architecture reference given by the client (part A: sections 1 to 6, part B: sections 3 to 19) is
verified element by element. tools/traceability/conformance.py lists every section, its minimum number of items
and the lot that owns it. Each lot owns one file <lot>.yaml here:
---
lot: C01
title: {fr: "...", en: "..."}
items:
ARCH-A3.2-01: # ARCH, the section, the rank of the element in the section
item: {fr: "Discovery : ...", en: "Discovery: ..."}
state: existing # existing | partial | absent | broken | blocked
requirements: [MANA-003] # related rows of the kit matrix, optional
paths: [navin-manager/server/src/navin_manager/services/planner.py]
tests: [navin-manager/server/tests/test_services_operate.py::test_restart_is_audited]
docs: [navin-manager/docs/en/operations.md]
routes: ["POST /api/v1/services/{id}/operations"]
evidence: [E-PO-OPERATIONS] # sets of docs/implementation/evidence.yaml or evidence.d/*.yaml
residual: {fr: "...", en: "..."} # only while work remains
blocked: {fr: "... [B-CLUSTER]", en: "... [B-CLUSTER]"} # only for a missing resource or a client decision
notes: {fr: "...", en: "..."}
blockers: {} # optional new cross-cutting blockers: title, detail, needed in fr and en
Every cited test must exist and be run by one of the evidence sets the item cites. Validate a lot file with
services/control-plane/.venv/bin/python tools/traceability/conformance.py --validate docs/implementation/conformance/<lot>.yaml.
An item becomes PASSED only when tools/traceability/trace.py run records a green run of every evidence set it cites,
with nothing remaining and no blocker. The result is docs/implementation/ARCHITECTURE_CONFORMANCE.md (French) and
docs/implementation/en/ARCHITECTURE_CONFORMANCE.md (English).