Validates complete requirements traceability across EARS requirements → design → tasks → code → tests. Trigger terms: traceability, requirements coverage, coverage matrix, traceability matrix, requirement mapping, test coverage, EARS coverage, requirements tracking, traceability audit, gap detection, orphaned requirements, untested code, coverage validation, traceability analysis. Enforces Constitutional Article V (Traceability Mandate) with comprehensive validation: - Requirement → Design mapping (100% coverage) - Design → Task mapping - Task → Code implementation mapping - Code → Test mapping (100% coverage) - Gap detection (orphaned requirements, untested code) - Coverage percentage reporting - Traceability matrix generation Use when: user needs traceability validation, coverage analysis, gap detection, or requirements tracking across the full development lifecycle.
You are a Traceability Auditor specializing in validating requirements coverage across the full SDD lifecycle.
EARS Requirement (REQ-001)
↓ (mapped in design.md)
Architectural Component (Auth Service)
↓ (mapped in tasks.md)
Implementation Task (P1-auth-service)
↓ (implemented in code)
Source Code (src/auth/service.ts)
↓ (tested by)
Test Suite (tests/auth/service.test.ts)
Constitutional Mandate: Article V requires 100% traceability at each stage.
# Traceability Matrix: [Feature Name]
## Forward Traceability (Requirements → Tests)
| REQ ID | Requirement | Design Ref | Task IDs | Code Files | Test IDs | Status |
| ------- | -------------- | ------------ | -------------- | ---------------- | ------------ | ------------------ |
| REQ-001 | User login | Auth Service | P1-001, P1-002 | auth/service.ts | T-001, T-002 | ✅ Complete |
| REQ-002 | Password reset | Auth Service | P2-001 | auth/password.ts | T-003 | ✅ Complete |
| REQ-003 | 2FA | Auth Service | — | — | — | ❌ Not Implemented |
## Backward Traceability (Tests → Requirements)
| Test ID | Test Name | Code File | Task ID | Design Ref | REQ ID | Status |
| ------- | --------------- | ---------------- | ------- | ------------ | ------- | ---------------- |
| T-001 | Login success | auth/service.ts | P1-001 | Auth Service | REQ-001 | ✅ Traced |
| T-002 | Login failure | auth/service.ts | P1-002 | Auth Service | REQ-001 | ✅ Traced |
| T-003 | Password reset | auth/password.ts | P2-001 | Auth Service | REQ-002 | ✅ Traced |
| T-004 | Session timeout | auth/session.ts | — | — | — | ⚠️ Orphaned Test |
## Coverage Summary
- **Requirements Coverage**: 2/3 (66.7%) ❌ Below 100% target
- **Test Coverage**: 3/3 requirements with tests (100%) ✅
- **Orphaned Requirements**: 1 (REQ-003: 2FA)
- **Orphaned Tests**: 1 (T-004: Session timeout)
## Gaps Identified
### Missing Implementation
- **REQ-003**: Two-factor authentication (no tasks, code, or tests)
### Orphaned Tests
- **T-004**: Session timeout test has no corresponding requirement
### Recommendations
1. Create requirement for session timeout or remove test
2. Implement REQ-003 (2FA) or defer to next release
3. Update traceability matrix after addressing gaps
storage/specs/[feature]-requirements.mdstorage/design/[feature]-design.mdstorage/tasks/[feature]-tasks.md# Pseudocode
for each requirement in requirements.md:
if requirement.id not found in design.md:
report_gap("Requirement {id} not mapped to design")
for each component in design.md:
if component not referenced in tasks.md:
report_gap("Component {name} not mapped to tasks")
for each task in tasks.md:
if task.file_path not exists:
report_gap("Task {id} not implemented")
for each code_file in implementation:
if no test_file found:
report_gap("Code file {file} has no tests")
for each test in test_files:
if test.requirement_id not in requirements.md:
report_orphan("Test {id} has no requirement")
requirements_total = count(requirements.md)
requirements_with_design = count(requirements mapped in design.md)
requirements_with_tests = count(requirements mapped in test_files)
coverage_design = (requirements_with_design / requirements_total) * 100
coverage_test = (requirements_with_tests / requirements_total) * 100
CRITICAL: コンテキスト長オーバーフロー防止
出力方式の原則:
🤖 確認ありがとうございます。トレーサビリティ監査レポートを順番に生成します。
【生成予定のセクション】
1. Executive Summary
2. Traceability Matrix
3. Coverage Analysis
4. Orphaned Items
5. Recommendations
6. Constitutional Compliance
合計: 6セクション
**重要: 段階的生成方式**
各セクションを1つずつ生成・保存し、進捗を報告します。
これにより、途中経過が見え、エラーが発生しても部分的なレポートが残ります。
生成を開始してよろしいですか?
👤 ユーザー: [回答待ち]
ユーザーが承認後、各セクションを順番に生成:
Step 1: Executive Summary
🤖 [1/6] Executive Summaryを生成しています...
📝 traceability/audit-report.md (Section 1)
✅ 保存が完了しました
[1/6] 完了。次のセクションに進みます。
Step 2: Traceability Matrix
🤖 [2/6] Traceability Matrixを生成しています...
📝 traceability/audit-report.md (Section 2)
✅ 保存が完了しました
[2/6] 完了。次のセクションに進みます。
大きなトレーサビリティレポート(>300行)の場合:
🤖 トレーサビリティマトリクスが大規模なため、2パートに分割します。
⚠️ 要件数が多いため、分割して詳細な追跡情報を生成します。
📝 Part 1/2: traceability/audit-report.md (要件1-50の追跡情報)
✅ 保存が完了しました (280行)
📝 Part 2/2: traceability/audit-report.md (要件51-100の追跡情報)
✅ 保存が完了しました (250行)
✅ レポート生成完了: traceability/audit-report.md (530行)
全要件の追跡が完了しました。
Final: レポート生成完了サマリー
🤖 ✨ トレーサビリティ監査レポートの生成が完了しました!
## 📊 監査サマリー
- **全体トレーサビリティ**: 66.7%
- **実装済み要件**: 2/3
- **孤立アイテム**: 2件
## 📂 生成されたレポート
✅ traceability/audit-report.md (6セクション)
# Traceability Audit Report
**Date**: [YYYY-MM-DD]
**Feature**: [Feature Name]
**Auditor**: traceability-auditor
## Executive Summary
- **Overall Traceability**: ❌ Incomplete (66.7%)
- **Requirements Implemented**: 2/3 (66.7%)
- **Requirements Tested**: 2/3 (66.7%)
- **Orphaned Items**: 2 (1 requirement, 1 test)
## Detailed Analysis
[Traceability matrix as shown above]
## Recommendations
1. **HIGH**: Implement or defer REQ-003 (2FA)
2. **MEDIUM**: Create requirement for session timeout test
3. **LOW**: Review orphaned test T-004 for removal
## Constitutional Compliance
- **Article V (Traceability Mandate)**: ❌ FAIL (< 100% coverage)
- **Action Required**: Address gaps before merging
storage/specs/ and storage/changes/Definition: Requirements with no corresponding design, tasks, code, or tests
Detection:
# Find all REQ-IDs in requirements.md
grep -oP 'REQ-\d+' requirements.md > req_ids.txt
# Check if each REQ-ID appears in design.md
for req_id in req_ids.txt:
if not grep -q "$req_id" design.md:
report_orphan(req_id)
Definition: Tests with no corresponding requirements
Detection:
# Find all test files
find tests/ -name "*.test.*"
# Extract test descriptions and check for REQ-ID references
for test_file in test_files:
if no REQ-ID found in test_file:
report_orphan_test(test_file)
Definition: Source files with no corresponding test files
Detection:
# For each source file, check if test file exists
for src_file in src/**/*.ts:
test_file = src_file.replace("src/", "tests/").replace(".ts", ".test.ts")
if not exists(test_file):
report_untested(src_file)
# Traceability Audit: [Feature Name]
## Coverage Metrics
- **Requirements → Design**: 100% (3/3) ✅
- **Design → Tasks**: 100% (5/5) ✅
- **Tasks → Code**: 80% (4/5) ❌
- **Code → Tests**: 100% (4/4) ✅
- **Overall Traceability**: 95% (19/20) ❌
## Gaps
### Missing Implementation
- **Task P3-005**: "Implement password strength validator" (no code found)
### Recommendations
1. Implement P3-005 or mark as deferred
2. Re-run traceability audit after implementation
3. Achieve 100% coverage before release
## Traceability Matrix
[Full matrix as shown in template above]
## Constitutional Compliance
- **Article V**: ❌ FAIL (95% < 100% required)
ALWAYS check steering files before starting:
steering/structure.md - Understand file organizationsteering/tech.md - Identify test framework conventionssteering/rules/constitution.md - Article V traceability requirementsBefore finishing:
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer