Add subsystem folder structure for design docs and requirements#81
Conversation
Agent-Logs-Url: https://github.com/demaconsulting/TemplateDotNetTool/sessions/c3f7024f-60d4-4294-b8d5-243704e7938a Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot Can you make sure you've correctly identified software-subsystems and software-units as unique items (read .github/standards/software-items.md) as both need requirements and design documentation markdown files. You should also read the .github/standards/reqstream-usage.md and .github/standards/reviewmark-usage.md files. |
…lities Agent-Logs-Url: https://github.com/demaconsulting/TemplateDotNetTool/sessions/29bf7f8a-7481-47cd-8e31-d554a2bf84f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in ffdfb2a. Per
Also updated Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot If you examine https://github.com/demaconsulting/ReviewMark you'll notice that subsystems have tests to test the subsystem requirements, and the IntegrationTests tests the system requirements. Please review them and apply the same considerations to this repository (subsystem tests, integration tests, and test linkage to requirements). |
…integration test linkages Agent-Logs-Url: https://github.com/demaconsulting/TemplateDotNetTool/sessions/e115475b-d495-4bec-95ae-92cff2a3489a Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Addressed in e4fc97f. Applied the same pattern as ReviewMark: System requirements ( Subsystem requirements — expanded to granular per-feature requirements linked to subsystem unit tests and integration tests:
Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR reorganizes design documentation and ReqStream requirements into subsystem-aligned folder structures (Cli, SelfTest, Utilities) to mirror the source layout and improve review/traceability organization across requirements → design → tests.
Changes:
- Added system- and subsystem-level ReqStream YAML files and included them from
requirements.yaml. - Added subsystem/unit design markdown under
docs/design/<subsystem>/and updateddocs/design/definition.yamlto include the new paths. - Updated
.reviewmark.yamlreview sets to reflect the new documentation structure; updatedAGENTS.mdto document the design folder.
Reviewed changes
Copilot reviewed 11 out of 14 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| requirements.yaml | Includes the new system + subsystem reqstream YAML files in the root include list. |
| docs/reqstream/templatetool-system.yaml | New system-level requirements linked to integration tests. |
| docs/reqstream/cli/subsystem-cli.yaml | New/expanded Cli subsystem requirements linked to unit + integration tests. |
| docs/reqstream/self-test/subsystem-self-test.yaml | New SelfTest subsystem requirements, including results output requirement. |
| docs/reqstream/utilities/subsystem-utilities.yaml | New Utilities subsystem requirements for safe path handling. |
| docs/design/definition.yaml | Adds subsystem design directories to resource-path and updates input-files ordering/paths. |
| docs/design/cli/cli.md | New Cli subsystem design doc. |
| docs/design/cli/context.md | New Context unit design doc under Cli subsystem. |
| docs/design/self-test/self-test.md | New SelfTest subsystem design doc. |
| docs/design/self-test/validation.md | New Validation unit design doc under SelfTest subsystem. |
| docs/design/utilities/utilities.md | New Utilities subsystem design doc. |
| docs/design/utilities/path-helpers.md | New PathHelpers unit design doc under Utilities subsystem. |
| .reviewmark.yaml | Adds requirements.yaml to review scope and updates/extends review-set groupings for system/subsystems. |
| AGENTS.md | Documents docs/design/ and points to introduction.md as the system/subsystem/unit breakdown reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Mirrors structural changes from TemplateDotNetLibrary#73 and ReviewMark#37: organizes design docs and reqstream files into subsystem subdirectories matching the source code layout. Per the
software-items.mdstandard, both subsystems and units have requirements files and design documentation. System requirements are validated through integration tests; subsystem requirements are validated through subsystem-level tests.Description
Design docs restructured into subsystem folders
docs/design/context.md→docs/design/cli/context.mddocs/design/validation.md→docs/design/self-test/validation.mddocs/design/path-helpers.md→docs/design/utilities/path-helpers.mddocs/design/program.mdandintroduction.mdremain at root (system-level)docs/design/definition.yamlupdated with newresource-pathentries andinput-filespaths (subsystem doc before its unit docs)New subsystem design documentation
Added subsystem-level design markdown files describing each subsystem's overview, units, interfaces, and interactions:
docs/design/cli/cli.md— Cli subsystem designdocs/design/self-test/self-test.md— SelfTest subsystem designdocs/design/utilities/utilities.md— Utilities subsystem designNew system-level requirements file
Added
docs/reqstream/templatetool-system.yamlwith system-level requirements each linked toIntegrationTest_*tests — Version, Help, Validate (including TRX and JUnit results), Silent, Log, and ErrorHandling.New and expanded subsystem requirements files
Added and expanded subsystem-level YAML files capturing externally visible subsystem contracts, following the ReviewMark pattern of granular per-feature requirements linked to both subsystem unit tests and integration tests:
docs/reqstream/cli/subsystem-cli.yaml— expanded to 10 per-feature requirements (Context, Version, Help, Silent, Validate, Results, Log, ErrorOutput, InvalidArgs, ExitCode)docs/reqstream/self-test/subsystem-self-test.yaml— addedTemplate-SelfTest-ResultsOutputrequirement linking TRX/JUnit results testsdocs/reqstream/utilities/subsystem-utilities.yamlrequirements.yamlupdated to include all subsystem and system yaml files..reviewmark.yamlupdatedrequirements.yamladded toneeds-reviewTemplateTool-Systemreview set added, containing system requirements, platform requirements, design introduction,IntegrationTests.cs,Runner.cs, andAssemblyInfo.csIntegrationTests.cs,Runner.cs, andAssemblyInfo.csmoved from theTemplateTool-Programunit review to theTemplateTool-Systemreview setTemplateTool-AllRequirementsreview set added coveringrequirements.yamland all reqstream filesPlatform-Supportreview set removed (now covered byTemplateTool-System)AGENTS.mdupdatedAdded
design/folder entry underdocs/withintroduction.mdcalled out as the System/Subsystem/Unit breakdown reference (from TemplateDotNetLibrary#73).Type of Change
Related Issues
Pre-Submission Checklist
Before submitting this pull request, ensure you have completed the following:
Build and Test
dotnet build --configuration Releasedotnet test --configuration Releasedotnet run --project src/DemaConsulting.TemplateDotNetTool --configuration Release --framework net10.0--no-build -- --validateCode Quality
dotnet format --verify-no-changesQuality Checks
Please run the following checks before submitting:
./lint.sh(Unix/macOS) orcmd /c lint.bat/./lint.bat(Windows)Testing
Documentation
Additional Notes
No source code changes. All existing test/requirements traceability is preserved and extended; subsystem YAMLs reference existing passing tests, and all
IntegrationTest_*tests are now linked as evidence for system-level requirements.