2.4 KiB
Traceability and Lifecycle
Traceability chain
Kandev uses this traceability chain:
REQ -> AC -> system design -> work order -> test
Requirements own product behavior. System designs own the technical path. Work orders own implementation scope. Tests provide executable evidence.
References
A system design lists its REQ-* references in frontmatter. A work order lists
the applicable REQ-* and AC-* identifiers and its system-design paths.
Use an @covers AC-... annotation in a test name or nearby comment when the
mapping is not clear from the test location. Do not add a second coverage ID
unless a tool requires one.
Do not copy requirement text into a system design or work order. If an isolated execution environment needs the text, generate a snapshot and record the source commit.
Status values
System indexes use draft, active, or retired. Their migration field uses
in_progress or complete.
Requirement documents use:
draft: The behavior is not yet accepted.active: The behavior is the current product contract.deprecated: The behavior remains documented during removal or transition.
System-design documents use:
draft: The technical design is not yet accepted.current: The design describes the current intended system.superseded: Another design replaced this design.
Work orders use pending, in_progress, blocked, done, or cancelled.
Implementation state does not change a requirement document from active to
shipped. Delivery state belongs to plans, work orders, and coverage evidence.
Stable identities
Requirement and acceptance-criterion IDs do not change when a file moves. Do not reuse removed IDs. A replacement requirement references the requirement that it supersedes.
Migration
Migrate one system at a time. Use this sequence:
- Create the system
README.md, define its boundary, and setmigration: in_progress. - Inventory the legacy specifications that the system owns.
- Extract observable behavior into requirement documents.
- Extract technical contracts and design into system-design documents.
- Add stable IDs and cross-references.
- Name the new documents as authoritative in the system index.
- Add a short link to the system
README.md, or archive the legacy document outsidedocs/specs/<system>/. - Set
migration: completeand remove obsolete size exceptions.
Do not keep two editable sources of truth during migration.