# Traceability Tree

**Total Nodes**: 166

## Hierarchy

- ✅ **REQ-p00001**: Requirements Management Tool
  - 📋 REQ-p00001-A: The tool SHALL provide command-line validation of requiremen...
  - 📋 REQ-p00001-B: The tool SHALL generate traceability matrices showing requir...
  - 📋 REQ-p00001-C: The tool SHALL detect changes to requirements using content ...
  - ✅ **REQ-p00002**: Requirements Validation
    - 📋 REQ-p00002-A: The tool SHALL validate requirement format against configura...
    - 📋 REQ-p00002-B: The tool SHALL detect and report hierarchy violations includ...
    - 📋 REQ-p00002-C: The tool SHALL verify content hashes match requirement body ...
  - ✅ **REQ-p00003**: Traceability Matrix Generation
    - 📋 REQ-p00003-A: The tool SHALL generate traceability matrices in Markdown, H...
    - 📋 REQ-p00003-B: The tool SHALL derive traceability from `Implements:` metada...
    - ✅ **REQ-p00006**: Interactive Traceability Viewer
      - 📋 REQ-p00006-A: The tool SHALL generate an interactive HTML view with clicka...
      - 📋 REQ-p00006-B: The tool SHALL display test coverage information per require...
  - ✅ **REQ-p00004**: Change Detection and Auditability
    - 📋 REQ-p00004-A: The tool SHALL compute and verify content hashes for change ...
    - 📋 REQ-p00004-B: The tool SHALL detect uncommitted and branch-relative change...
  - ✅ **REQ-p00005**: Multi-Repository Requirements
    - 📋 REQ-p00005-A: The tool SHALL support requirement references across reposit...
    - 📋 REQ-p00005-B: The tool SHALL generate combined traceability matrices spann...
  - ✅ **REQ-p00007**: Collaborative Review System
    - 📋 REQ-p00007-A: The tool SHALL support threaded comments attached to individ...
    - 📋 REQ-p00007-B: The tool SHALL allow users to group requirements into review...
    - 📋 REQ-p00007-C: The tool SHALL display the git commit context for each revie...
    - 📋 REQ-p00007-D: The tool SHALL provide access to archived reviews for audit ...
    - 📋 REQ-p00007-E: The tool SHALL preserve review history through archival rath...
    - 📝 **REQ-p00008**: Review User Interface
      - 📋 REQ-p00008-A: The UI SHALL provide a review mode toggle that activates int...
      - 📋 REQ-p00008-B: The UI SHALL display interactive line numbers that users can...
      - 📋 REQ-p00008-C: The UI SHALL highlight the anchored position when a user cli...
      - 📋 REQ-p00008-D: The UI SHALL visually indicate when comment positions may ha...
      - 📋 REQ-p00008-E: The UI SHALL provide a resizable review panel for managing t...
      - 📋 REQ-p00008-F: The UI SHALL provide contextual help explaining review workf...
      - 📝 **REQ-d00012**: Review UI Framework
        - 📋 REQ-d00012-A: The UI SHALL provide a review mode toggle button that adds/r...
        - 📋 REQ-d00012-B: The UI SHALL render interactive line numbers for requirement...
        - 📋 REQ-d00012-C: Line numbers SHALL be clickable to select anchor positions f...
        - 📋 REQ-d00012-D: The UI SHALL support keyboard navigation for line selection ...
        - 📋 REQ-d00012-E: Clicking a position label SHALL highlight the corresponding ...
        - 📋 REQ-d00012-F: Highlight styling SHALL reflect position confidence: `highli...
        - 📋 REQ-d00012-G: For GENERAL position type, the entire requirement card SHALL...
        - 📋 REQ-d00012-H: The review panel SHALL be resizable via a drag handle....
        - 📋 REQ-d00012-I: The UI SHALL dispatch custom events for review state changes...
        - 📋 REQ-d00012-J: The UI SHALL provide a help panel with onboarding guidance a...
        - 📋 REQ-d00012-K: JavaScript modules SHALL be loaded in dependency order via t...
    - 📝 **REQ-p00009**: Review Data Model
      - 📋 REQ-p00009-A: The system SHALL define a package model for grouping require...
      - 📋 REQ-p00009-B: The system SHALL define a thread model for comment discussio...
      - 📋 REQ-p00009-C: The system SHALL define storage structures that persist revi...
      - 📋 REQ-p00009-D: The system SHALL support position anchoring that identifies ...
      - 📝 **REQ-d00001**: Review Package Management
        - 📋 REQ-d00001-A: The Package model SHALL contain:...
        - 📋 REQ-d00001-B: Packages SHALL be explicitly created by users; the system SH...
        - 📋 REQ-d00001-C: A requirement SHALL belong to at most one package at a time ...
        - 📋 REQ-d00001-D: The system SHALL allow a requirement to belong to different ...
        - 📋 REQ-d00001-E: All threads and comments SHALL be owned by exactly one packa...
        - 📋 REQ-d00001-F: Package deletion SHALL archive (not destroy) the package and...
      - 📝 **REQ-d00002**: Review Storage Architecture
        - 📋 REQ-d00002-A: Review data SHALL be stored under `.reviews/` directory in t...
        - 📋 REQ-d00002-B: Package metadata SHALL be stored at: `.reviews/packages.json...
        - 📋 REQ-d00002-C: Threads for each requirement SHALL be stored at: `.reviews/r...
        - 📋 REQ-d00002-D: Review flags SHALL be stored at: `.reviews/reqs/{req-id}/fla...
        - 📋 REQ-d00002-E: Status requests SHALL be stored at: `.reviews/reqs/{req-id}/...
        - 📋 REQ-d00002-F: Configuration SHALL be stored at: `.reviews/config.json`...
        - 📋 REQ-d00002-G: Storage operations SHALL use atomic writes (temp file + rena...
        - 📋 REQ-d00002-H: Requirement IDs in paths SHALL be normalized (colons/slashes...
      - 📝 **REQ-d00006**: Review Threads and Comments
        - 📋 REQ-d00006-A: All review data types SHALL be implemented as dataclasses wi...
        - 📋 REQ-d00006-B: Enums SHALL use string values for JSON compatibility (Positi...
        - 📋 REQ-d00006-C: The Thread model SHALL contain:...
        - 📋 REQ-d00006-D: The Comment model SHALL contain:...
        - 📋 REQ-d00006-E: The CommentPosition model SHALL support anchor types:...
        - 📋 REQ-d00006-F: Factory methods (`create()`) SHALL auto-generate UUIDs and t...
        - 📋 REQ-d00006-G: Container classes (ThreadsFile, StatusFile, PackagesFile) SH...
        - 📋 REQ-d00006-H: CommentPosition SHALL include `hashWhenCreated` for content ...
        - 📋 REQ-d00006-I: StatusRequest state SHALL be automatically calculated from a...
        - 📋 REQ-d00006-J: All timestamps SHALL be UTC in ISO 8601 format....
      - 📝 **REQ-d00007**: Review Storage Operations
        - 📋 REQ-d00007-A: Storage operations SHALL use atomic writes (temp file + rena...
        - 📋 REQ-d00007-B: Thread operations SHALL support:...
        - 📋 REQ-d00007-C: Status request operations SHALL support:...
        - 📋 REQ-d00007-D: Review flag operations SHALL support:...
        - 📋 REQ-d00007-E: Package operations SHALL support:...
        - 📋 REQ-d00007-F: Configuration operations SHALL support:...
        - 📋 REQ-d00007-G: Merge operations SHALL combine data from multiple user branc...
        - 📋 REQ-d00007-H: Storage paths SHALL follow convention: `.reviews/reqs/{norma...
        - 📋 REQ-d00007-I: Requirement IDs SHALL be normalized (colons/slashes replaced...
        - 📋 REQ-d00007-J: Merge conflict resolution SHALL use timestamp-based deduplic...
    - 📝 **REQ-p00010**: Review Git Integration
      - 📋 REQ-p00010-A: The system SHALL record the git commit context when reviews ...
      - 📋 REQ-p00010-B: The system SHALL support review branches that isolate review...
      - 📋 REQ-p00010-C: The system SHALL merge review data from multiple contributor...
      - 📝 **REQ-d00004**: Review Git Audit Trail
        - 📋 REQ-d00004-A: Package SHALL record `branchName` when created (current git ...
        - 📋 REQ-d00004-B: Package SHALL record `creationCommitHash` when created (HEAD...
        - 📋 REQ-d00004-C: Package SHALL update `lastReviewedCommitHash` on each commen...
        - 📋 REQ-d00004-D: Archived packages SHALL preserve all commit hash references ...
        - 📋 REQ-d00004-E: The UI SHALL display commit information with appropriate con...
        - 📋 REQ-d00004-F: Commit tracking SHALL handle squash-merge scenarios graceful...
      - 📝 **REQ-d00009**: Git Branch Management
        - 📋 REQ-d00009-A: Review branches SHALL follow naming convention: `reviews/{pa...
        - 📋 REQ-d00009-B: `get_review_branch_name()` SHALL return formatted branch nam...
        - 📋 REQ-d00009-C: `parse_review_branch_name()` SHALL extract (package_id, user...
        - 📋 REQ-d00009-D: `is_review_branch()` SHALL return True only for branches mat...
        - 📋 REQ-d00009-E: `list_package_branches()` SHALL return all branch names for ...
        - 📋 REQ-d00009-F: `get_current_package_context()` SHALL return (package_id, us...
        - 📋 REQ-d00009-G: `commit_and_push_reviews()` SHALL commit all changes in `.re...
        - 📋 REQ-d00009-H: Branch operations SHALL detect and report conflicts via `has...
        - 📋 REQ-d00009-I: `fetch_package_branches()` SHALL fetch all remote branches f...
        - 📋 REQ-d00009-J: Branch cleanup operations SHALL:...
    - 📝 **REQ-p00011**: Review Package Lifecycle
      - 📋 REQ-p00011-A: The system SHALL support archiving completed review packages...
      - 📋 REQ-p00011-B: The system SHALL preserve archived reviews in a read-only st...
      - 📋 REQ-p00011-C: The system SHALL provide access to view archived packages an...
      - 📝 **REQ-d00003**: Review Package Archival
        - 📋 REQ-d00003-A: Archived packages SHALL be stored at: `.reviews/archive/{pkg...
        - 📋 REQ-d00003-B: Archive SHALL preserve complete package structure:...
        - 📋 REQ-d00003-C: Archive metadata SHALL include:...
        - 📋 REQ-d00003-D: Archive SHALL be triggered by:...
        - 📋 REQ-d00003-E: Deleting a package SHALL move it to archive rather than dest...
        - 📋 REQ-d00003-F: Archived data SHALL be read-only and preserved indefinitely....
      - 📝 **REQ-d00005**: Review Archive Viewer
        - 📋 REQ-d00005-A: The API SHALL provide endpoints to list archived packages wi...
        - 📋 REQ-d00005-B: Archived packages SHALL be accessible in read-only mode via ...
        - 📋 REQ-d00005-C: The API SHALL NOT allow adding or editing comments in archiv...
        - 📋 REQ-d00005-D: The archive API SHALL return archival metadata:...
        - 📋 REQ-d00005-E: The archive API SHALL return git audit trail information:...
        - 📋 REQ-d00005-F: The UI SHALL provide visual indication of read-only state fo...
        - 📋 REQ-d00005-G: The UI SHALL display a collapsible archive panel listing all...
        - 📋 REQ-d00005-H: The UI SHALL provide an archive viewer modal showing package...
        - 📋 REQ-d00005-I: The UI SHALL display commit hashes with warning that they ma...
    - 📝 **REQ-p00012**: Review Backend Services
      - 📋 REQ-p00012-A: The system SHALL resolve comment positions to current docume...
      - 📋 REQ-p00012-B: The system SHALL provide API endpoints for creating, reading...
      - 📋 REQ-p00012-C: The system SHALL support modifying requirement status in spe...
      - 📝 **REQ-d00008**: Position Resolution
        - 📋 REQ-d00008-A: `resolve_position()` SHALL resolve CommentPosition anchors t...
        - 📋 REQ-d00008-B: Resolution confidence levels SHALL be:...
        - 📋 REQ-d00008-C: When document hash matches position's `hashWhenCreated`, res...
        - 📋 REQ-d00008-D: When hash differs, fallback resolution SHALL be attempted yi...
        - 📋 REQ-d00008-E: For LINE positions with hash mismatch, SHALL search for `fal...
        - 📋 REQ-d00008-F: For BLOCK positions with hash mismatch, SHALL search for con...
        - 📋 REQ-d00008-G: For WORD positions, SHALL find the Nth occurrence based on `...
        - 📋 REQ-d00008-H: GENERAL positions SHALL always resolve with EXACT confidence...
        - 📋 REQ-d00008-I: ResolvedPosition SHALL include `resolutionPath` describing t...
        - 📋 REQ-d00008-J: When no fallback succeeds, SHALL resolve as UNANCHORED with ...
      - 📝 **REQ-d00010**: Review API Server
        - 📋 REQ-d00010-A: The API server SHALL be implemented as a Flask application w...
        - 📋 REQ-d00010-B: Thread endpoints SHALL support:...
        - 📋 REQ-d00010-C: Status endpoints SHALL support:...
        - 📋 REQ-d00010-D: Package endpoints SHALL support:...
        - 📋 REQ-d00010-E: Sync endpoints SHALL support:...
        - 📋 REQ-d00010-F: CORS SHALL be enabled for cross-origin requests....
        - 📋 REQ-d00010-G: Static file serving SHALL be supported from configured direc...
        - 📋 REQ-d00010-H: All write endpoints SHALL optionally trigger auto-sync based...
        - 📋 REQ-d00010-I: Archive endpoints SHALL support:...
        - 📋 REQ-d00010-J: Health check endpoint SHALL be available at `/api/health`....
      - 📝 **REQ-d00011**: Status Modifier
        - 📋 REQ-d00011-A: `find_req_in_file()` SHALL locate a requirement in a spec fi...
        - 📋 REQ-d00011-B: `get_req_status()` SHALL read and return the current status ...
        - 📋 REQ-d00011-C: `change_req_status()` SHALL update the status value in the s...
        - 📋 REQ-d00011-D: Status values SHALL be validated against allowed set: Draft,...
        - 📋 REQ-d00011-E: The status modifier SHALL preserve all other content in the ...
        - 📋 REQ-d00011-F: The status modifier SHALL update the requirement's content h...
        - 📋 REQ-d00011-G: Failed status changes SHALL NOT leave the spec file in a cor...
        - 📋 REQ-d00011-H: `find_req_in_spec_dir()` SHALL search both core spec/ and sp...

## Statistics

| Type | Count |
|------|-------|
| Assertion | 142 |
| Requirement | 24 |

---
*Generated by elspais (tree mode)*