Add Requirements Management with ReqStream#47
Merged
Malcolmnixon merged 8 commits intomainfrom Feb 6, 2026
Merged
Conversation
…ation Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
- Updated all 45 requirements to link to actual test names - Changed from non-existent test names (e.g., BuildMark_*, VersionTag_Parse_*) to actual existing tests (e.g., BuildInformation_*, TagInfo_*, IntegrationTest_*) - Platform requirements (PLT-001 to PLT-005) now link to actual tests instead of using test source patterns (windows@, ubuntu@, dotnet8.x@, etc.) - All requirements now pass reqstream validation with --enforce flag - Requirements coverage: 45 of 45 requirements satisfied with tests
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add requirements and trace matrix management
Add Requirements Management with ReqStream
Feb 6, 2026
Malcolmnixon
requested changes
Feb 6, 2026
BREAKING CHANGE: Self-validation tests now use Program.Run-based pattern - Replaced direct MockRepoConnector instantiation with factory pattern - Tests now run through Program.Run with mock connector factory - Tests verify behavior through captured log and report file output - Used short test names: BuildMark_<Functionality> pattern - Implemented 4 focused tests: * BuildMark_MarkdownReportGeneration - verifies report generation * BuildMark_GitIntegration - verifies git operations * BuildMark_IssueTracking - verifies issue/bug tracking * BuildMark_KnownIssuesReporting - verifies known issues flag Infrastructure changes: - Added ConnectorFactory to Context for dependency injection - Updated Program.ProcessBuildNotes to use factory when provided - Added TemporaryDirectory helper class for test isolation - Follows SonarMark validation pattern with RunValidationTest helper All tests pass (95/95). Zero build warnings. Code formatted.
…st Source pattern - Remove unit tests where self-validation (BuildMark_*) or integration tests exist - Update validation test names to shorter names: - BuildMark_MarkdownReportGeneration - BuildMark_GitIntegration - BuildMark_IssueTracking - BuildMark_KnownIssuesReporting - Apply Test Source pattern to PLT-001 to PLT-005 with comments: - windows@/ubuntu@ for OS requirements - dotnet8.x@/dotnet9.x@/dotnet10.x@ for .NET runtime requirements - Prefer test hierarchy: self-validation > integration > program > unit tests
Malcolmnixon
requested changes
Feb 6, 2026
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Malcolmnixon
approved these changes
Feb 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Description
Implements requirements management and traceability using ReqStream tool. Adds 30 product-level requirements focused on publicly observable behavior across CLI, GitHub integration, report generation, validation, and platform support. All requirements linked to tests with 100% coverage enforcement in CI/CD.
Key Changes
Runner.cs: Process execution helper for integration testsIntegrationTests.cs: 10 tests executing BuildMark viadotnet <dll>Validation.cs: 4 self-validation tests using Program.Run with mock connector factoryConnectorFactoryproperty to support mock data injectionContext.Create(args, connectorFactory)overload for testingdocs/requirements/: Pandoc configuration for requirements document generationdocs/tracematrix/: Pandoc configuration for trace matrix generationreqstream --enforce, generates Requirements and Trace Matrix PDFsRequirements Focus
Requirements concentrate on publicly observable behavior ("what" the tool does) rather than internal implementation details ("how" it does it):
Removed internal implementation sections (Git Integration, Data Models, Repository Connectors) that don't represent product-level requirements.
Test Hierarchy
Requirements linked following priority: self-validation (
BuildMark_*) > integration (IntegrationTest_*) > program (Program_*) > unit tests. Unit tests removed where higher-level tests exist.Platform Requirements
Platform requirements (PLT-001 to PLT-005) use Test Source pattern matching SonarMark:
windows@IntegrationTest_*andwindows@BuildMark_*ubuntu@IntegrationTest_*andubuntu@BuildMark_*dotnet8.x@BuildMark_*,dotnet9.x@BuildMark_*,dotnet10.x@BuildMark_*Example validation test using Program.Run:
Type of Change
Pre-Submission Checklist
Build and Test
dotnet build --configuration Releasedotnet test --configuration ReleaseCode Quality
dotnet format --verify-no-changesQuality Checks
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint '**/*.{yml,yaml}'Testing
Documentation
Additional Notes
Pattern follows SonarMark implementation exactly:
Program.Runwith mock connector factory (not direct unit testing)dotnet reqstream --enforce)Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.