- name
- jsdlc-traceability
- description
- Build or verify the traceability matrix across requirements, basic design, detail design, API spec, test cases, and code, and report coverage gaps. Use when the user asks for a traceability matrix, トレーサビリティ, coverage check, or asks whether every design item is tested.
# Traceability Matrix (トレーサビリティマトリクス)
Request / arguments: $ARGUMENTS
Modes: `build` (default), `verify`.
Read `docs-jsdlc/rules/id-and-traceability.md` before starting.
## Mode: build
### 1. Collect IDs
Scan each output directory and extract every ID with its parent:
| Level | Source | Parent field |
|---|---|---|
| BD | `docs-jsdlc/output/basic-design/` | Source requirement (§2) |
| DD | `docs-jsdlc/output/detail-design/` | Parent (§1) |
| API | `docs-jsdlc/output/api-spec/` | Design ref (§3) |
| UT/IT/ST | `docs-jsdlc/output/test-case/` | Target column (§4) |
| code | source root, project profile §2 | trace tags, project profile §4 |
Extract mechanically — grep for the ID patterns. Do not infer a link from a
similar-sounding title; an unstated link does not exist.
### 2. Build the forward trace
One row per chain from REQ to test. Where a level is missing, leave the cell
empty rather than filling it with a guess — empty cells are the output.
### 3. Detect gaps
Four gap types:
- **orphan** — has no parent, or names a parent that does not exist
- **uncovered** — has no child at a level that requires one
- **stale** — parent revised more recently than the child
- **level skip** — traces past an intermediate level
Severity per the traceability rule: orphan and uncovered are NG; stale is 要確認.
### 4. Compute coverage
Rates for BD→DD, DD→UT, BD→ST, API→IT, DD→code. Report the real number; a rate
computed only over documents that happen to exist is misleading, so state the
denominator.
### 5. Write
Use `docs-jsdlc/templates/traceability-matrix.md`. Save to
`docs-jsdlc/output/traceability-matrix.md`.
### 6. Report
Coverage rates, gap count by type, and the NG gaps listed individually. If
everything traces, say so with the counts that prove it.
## Mode: verify
Check an existing matrix against the actual documents. A matrix that claims a
link the documents do not contain is NG — it is worse than a missing matrix,
because it is relied upon. Re-derive the links yourself and report every
discrepancy between the matrix and reality.
GitHubで見る