Live demo

Home Features Traceability & standards

One chain, from the user need to the executed test

Every link is stored once, by a stable identifier, and every roll-up is computed on read. Nothing in the chain is maintained twice, so nothing in it can disagree with itself.

The chain

product need  →  requirement  →  design section  →  verification test  →  captured run
                       ↑
        risk control · threat control

A requirement is the hub. It satisfies a product need, is implemented by one or more design sections, and is verified by tests. It may also exist because a risk or a threat needed controlling — and that edge is stored on the risk and the threat, never on the requirement.

Which means it is resolved backwards when the matrix is built. A requirement does not know it is load-bearing. A reviewer needs to be told, and the person editing the requirement needs to be told before they weaken it.

Why identifiers, not names

Every item carries an immutable identifier — r_7f3a9c, d_a12b4c — generated once. Every reference targets that identifier. The human-readable code beside it (AUTH-5, SDD-12) is a label you can rename at will, because nothing points at it.

This is the difference between a trace matrix that survives a reorganisation and one that quietly breaks during it.

Depth, reported apart from breadth

Coverage is the number that flatters. A register can report every requirement verified and still be shallow: nothing recorded as integration testing, no requirement saying which kind of requirement it is, half the units with no acceptance criteria.

So the Traceability view reports the two separately — how many requirements are verified, and then how many reach a design, declare a content category, control a risk or threat, and how many tests exist at each verification level.

Governance is the contract

27 rules, run identically by the editor, the skill and the server, from one implementation — so the three cannot disagree about whether a project is clean. 19 block; 8 report without failing.

The advisory tier exists because a rule that fires on every document in an established register the day it ships teaches people to ignore governance. A project adopts one by naming it in its index, at which point it blocks.

RuleWhat it holdsTier
traceabilityEvery requirement is verifiedblocking
referential-integrityReferences resolveblocking
missing-expectedTests declare an expected resultblocking
active-job-openActive jobs are openblocking
active-job-knownActive jobs exist in the registerblocking
prd-referential-integrityPRD references resolveblocking
prd-coverageEvery implemented product requirement is satisfiedblocking
sdd-referential-integrityDesign references resolveblocking
sdd-coverageEvery requirement reaches the designblocking
risk-referential-integrityRisk references resolveblocking
risk-causeEvery risk names a contributing software itemblocking
risk-controlledEvery risk is controlled or justifiedblocking
soup-identityEvery component is exactly identifiedblocking
soup-requirementsEvery component has requirements placed on itblocking
soup-referential-integrityComponent references resolveblocking
threat-referential-integrityThreat references resolveblocking
threat-assessedEvery threat is assessedblocking
threat-controlledEvery threat is controlled or acceptedblocking
sdd-segregationSegregation says why it holdsblocking
vtp-negative-pathRequirements are attacked, not only demonstratedadvisory
sdd-unit-traceRequirements reach a unit, not only a viewadvisory
sdd-acceptanceUnits say what verified meansadvisory
risk-sequenceRisks state the sequence of eventsadvisory
srs-categoryRequirements declare their content categoryadvisory
srs-security-controlSecurity controls say which control they areadvisory
srs-citesRequirements say what they rest onadvisory
vtp-verification-levelTests declare their verification leveladvisory

9 document types, one registry

Each is described once. Validation, the schema reference, release snapshots, per-job diffs and the change views all derive from that description, so adding a pillar is a registration rather than a migration.

TypeDocumentShape
prdProduct Requirementsregisteroptional
srsSoftware Requirementsregisterrequired
vtpVerification Testsregisterrequired
sadArchitectureproseoptional
sddDetailed Designregisteroptional
riskRiskregisteroptional
soupSOUPregisteroptional
threatThreatsregisteroptional
secSecurityproseoptional