Update repository to comply with updated .github/standards#174
Update repository to comply with updated .github/standards#174Malcolmnixon merged 14 commits intomainfrom
Conversation
…equirements and reviewmark Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
…iew set title Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/c8a58b97-607f-45cd-86b9-7a5499dc0d0f Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot You didn't create the Subsystems and Units for the design or requirements by the looks of things. Also the OTS requirements seems to be one monolithic file rather than being split into separate files under the ots sub-folder. |
- Split docs/reqstream/system.yaml to keep only CLI requirements - Create docs/reqstream/self-validation/self-validation.yaml - Create docs/reqstream/commands/commands.yaml - Move docs/reqstream/targets.yaml to docs/reqstream/targets/targets.yaml - Split docs/reqstream/ots/ots.yaml into 6 individual per-OTS files - Create docs/design/commands/commands.md - Create docs/design/self-validation/self-validation.md - Create docs/design/targets/targets.md - Update requirements.yaml includes - Update .reviewmark.yaml review sets Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in commit 236bba1. The changes include: Design documents added:
Requirements restructured:
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 You have still stopped prematurely without exploring ALL Units:
Additionally I notice the test/DemaConsulting.SpdxTool.Tests has the files flat rather than putting them in the Subsystem folders. |
…elfTest; reorganize tests into subsystem folders Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/994cd96a-d499-49d0-b7b2-198e03f6e03c Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in commit 8d6b9cb. Here's what was done: Per-unit design docs and requirements for Commands subsystem:
SelfValidation renamed to SelfTest with per-unit coverage:
Test files organized into subsystem subfolders:
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 I think you messed up the folder structure - you put every command software-unit in its own unit-folder - units don't get folders, they reside in the folder of their parent subsystem - so for example the AddPackage software unit under Commands has its design document in You have the same problem in the reqstream requirement files - |
…em folder Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/f2f2bf5e-7bf1-4354-88da-a59cd4fc9bbf Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in commit 2f6de05. All 16 command unit design docs moved from 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:
|
…nization, utility subsystem Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/c988b34a-472c-4161-abb4-1ac815f56bef Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot I got the following build error: |
…card requirement Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/c807ac06-8c98-41df-8bc6-2bc134c1b350 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
... Fixed in commit 8cb5432. The |
There was a problem hiding this comment.
Pull request overview
Updates the repository’s documentation, requirements traceability, test organization, and review-set configuration to align with the updated .github/standards/, reflecting the repo’s two-system structure (DemaConsulting.SpdxTool and DemaConsulting.SpdxTool.Targets).
Changes:
- Added/expanded design docs under
docs/design/**and split requirements into per-unit files underdocs/reqstream/**. - Reorganized and expanded MSTest coverage, including subsystem-, command-, utility-, and self-validation unit tests.
- Updated
.reviewmark.yamlto introduce system-level review-sets and align review grouping with the new doc/requirements structure.
Reviewed changes
Copilot reviewed 98 out of 122 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| test/DemaConsulting.SpdxTool.Tests/Utility/WildcardTests.cs | Adds unit tests for wildcard matching behavior and case-insensitivity. |
| test/DemaConsulting.SpdxTool.Tests/Utility/PathHelpersTests.cs | Adds unit tests for SafePathCombine traversal/absolute-path rejection and valid combines. |
| test/DemaConsulting.SpdxTool.Tests/System/VersionTests.cs | Adds CLI integration tests for -v/--version. |
| test/DemaConsulting.SpdxTool.Tests/System/UsageTests.cs | Adds CLI integration tests for usage/help output. |
| test/DemaConsulting.SpdxTool.Tests/System/SilentTests.cs | Adds CLI integration tests for -s/--silent output suppression. |
| test/DemaConsulting.SpdxTool.Tests/System/ProgramTests.cs | Adds unit tests for Program.Version and in-process Program.Run(...) output. |
| test/DemaConsulting.SpdxTool.Tests/System/LogTests.cs | Adds CLI integration tests for -l/--log output file behavior. |
| test/DemaConsulting.SpdxTool.Tests/System/IntegrationTests.cs | Renames/positions self-validation integration tests (CLI --validate, depth, result files). |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/SelfTestTests.cs | Adds in-process tests for the Validate.Run(...) orchestrator behaviors. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateAddPackageTests.cs | Adds unit test for ValidateAddPackage self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateAddRelationshipTests.cs | Adds unit test for ValidateAddRelationship self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateBasicTests.cs | Adds unit test for ValidateBasic self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateCopyPackageTests.cs | Adds unit test for ValidateCopyPackage self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateDiagramTests.cs | Adds unit test for ValidateDiagram self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateFindPackageTests.cs | Adds unit test for ValidateFindPackage self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateGetVersionTests.cs | Adds unit test for ValidateGetVersion self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateHashTests.cs | Adds unit test for ValidateHash self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateNtiaTests.cs | Adds unit test for ValidateNtia self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateQueryTests.cs | Adds unit test for ValidateQuery self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateRenameIdTests.cs | Adds unit test for ValidateRenameId self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateRunNuGetWorkflowTests.cs | Adds unit test for ValidateRunNuGetWorkflow self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateToMarkdownTests.cs | Adds unit test for ValidateToMarkdown self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/SelfValidation/ValidateUpdatePackageTests.cs | Adds unit test for ValidateUpdatePackage self-validation step output/result. |
| test/DemaConsulting.SpdxTool.Tests/Commands/CommandTests.cs | Adds tests for command utility helpers (variable expansion and YAML map access). |
| test/DemaConsulting.SpdxTool.Tests/Commands/ValidateTests.cs | Adds CLI tests for validate command (missing args/file, valid docs, NTIA mode). |
| test/DemaConsulting.SpdxTool.Tests/Commands/UpdatePackageTests.cs | Adds tests for workflow-only enforcement and workflow execution of update-package. |
| test/DemaConsulting.SpdxTool.Tests/Commands/UnknownCommandTests.cs | Adds test for unknown command error behavior. |
| test/DemaConsulting.SpdxTool.Tests/Commands/ToMarkdownTests.cs | Adds CLI test coverage for Markdown generation and section placement. |
| test/DemaConsulting.SpdxTool.Tests/Commands/SetVariableTests.cs | Adds tests for workflow-only enforcement and variable setting via workflow. |
| test/DemaConsulting.SpdxTool.Tests/Commands/RenameIdTests.cs | Adds tests for rename behavior across packages/relationships/describes. |
| test/DemaConsulting.SpdxTool.Tests/Commands/QueryTests.cs | Adds tests for regex capture validation, error handling, and workflow storage. |
| test/DemaConsulting.SpdxTool.Tests/Commands/PrintTests.cs | Adds tests for CLI/workflow printing behavior. |
| test/DemaConsulting.SpdxTool.Tests/Commands/HelpTests.cs | Adds tests for help command error handling and command-specific help output. |
| test/DemaConsulting.SpdxTool.Tests/Commands/HashTests.cs | Adds tests for hash generation/verification behaviors. |
| test/DemaConsulting.SpdxTool.Tests/Commands/GetVersionTests.cs | Adds tests for CLI/workflow get-version behavior. |
| test/DemaConsulting.SpdxTool.Tests/Commands/FindPackageTests.cs | Adds tests for find-package criteria behavior in CLI/workflow paths. |
| docs/reqstream/utility.yaml | Introduces Utility subsystem requirements and maps to new utility tests. |
| docs/reqstream/spdxtool-system.yaml | Introduces system-level CLI requirements and maps to System tests. |
| docs/reqstream/spdxtool-targets-system.yaml | Introduces targets-system requirements and references targets test evidence. |
| docs/reqstream/self-test/self-test.yaml | Introduces self-validation CLI feature requirements (--validate, depth, results). |
| docs/reqstream/self-test/validate.yaml | Adds orchestrator requirement for executing self-validation steps. |
| docs/reqstream/self-test/validate-add-package.yaml | Adds per-step self-test requirement mapping to SpdxTool_AddPackage. |
| docs/reqstream/self-test/validate-add-relationship.yaml | Adds per-step self-test requirement mapping to SpdxTool_AddRelationship. |
| docs/reqstream/self-test/validate-basic.yaml | Adds per-step self-test requirement mapping to SpdxTool_Basic. |
| docs/reqstream/self-test/validate-copy-package.yaml | Adds per-step self-test requirement mapping to SpdxTool_CopyPackage. |
| docs/reqstream/self-test/validate-diagram.yaml | Adds per-step self-test requirement mapping to SpdxTool_Diagram. |
| docs/reqstream/self-test/validate-find-package.yaml | Adds per-step self-test requirement mapping to SpdxTool_FindPackage. |
| docs/reqstream/self-test/validate-get-version.yaml | Adds per-step self-test requirement mapping to SpdxTool_GetVersion. |
| docs/reqstream/self-test/validate-hash.yaml | Adds per-step self-test requirement mapping to SpdxTool_Hash. |
| docs/reqstream/self-test/validate-ntia.yaml | Adds per-step self-test requirement mapping to SpdxTool_Ntia. |
| docs/reqstream/self-test/validate-query.yaml | Adds per-step self-test requirement mapping to SpdxTool_Query. |
| docs/reqstream/self-test/validate-rename-id.yaml | Adds per-step self-test requirement mapping to SpdxTool_RenameId. |
| docs/reqstream/self-test/validate-run-nuget-workflow.yaml | Adds per-step self-test requirement mapping to SpdxTool_RunNuGetWorkflow. |
| docs/reqstream/self-test/validate-to-markdown.yaml | Adds per-step self-test requirement mapping to SpdxTool_ToMarkdown. |
| docs/reqstream/self-test/validate-update-package.yaml | Adds per-step self-test requirement mapping to SpdxTool_UpdatePackage. |
| docs/reqstream/platform-requirements.yaml | Adds platform/runtime requirements with CI-matrix-style evidence references. |
| docs/reqstream/ots/mstest.yaml | Adds OTS requirements for MSTest usage. |
| docs/reqstream/ots/reqstream.yaml | Adds OTS requirements for ReqStream enforcement/outputs. |
| docs/reqstream/ots/buildmark.yaml | Adds OTS requirements for BuildMark evidence artifacts. |
| docs/reqstream/ots/versionmark.yaml | Adds OTS requirements for VersionMark evidence artifacts. |
| docs/reqstream/ots/sarifmark.yaml | Adds OTS requirements for SarifMark evidence artifacts. |
| docs/reqstream/ots/sonarmark.yaml | Adds OTS requirements for SonarMark evidence artifacts. |
| docs/reqstream/commands/add-package.yaml | Adds per-command requirements for add-package. |
| docs/reqstream/commands/add-relationship.yaml | Adds per-command requirements for add-relationship. |
| docs/reqstream/commands/copy-package.yaml | Adds per-command requirements for copy-package. |
| docs/reqstream/commands/diagram.yaml | Adds per-command requirements for diagram. |
| docs/reqstream/commands/find-package.yaml | Adds per-command requirements for find-package. |
| docs/reqstream/commands/get-version.yaml | Adds per-command requirements for get-version. |
| docs/reqstream/commands/hash.yaml | Adds per-command requirements for hash. |
| docs/reqstream/commands/help.yaml | Adds per-command requirements for help. |
| docs/reqstream/commands/print.yaml | Adds per-command requirements for print. |
| docs/reqstream/commands/query.yaml | Adds per-command requirements for query. |
| docs/reqstream/commands/rename-id.yaml | Adds per-command requirements for rename-id. |
| docs/reqstream/commands/run-workflow.yaml | Adds per-command requirements for run-workflow incl. NuGet workflows. |
| docs/reqstream/commands/set-variable.yaml | Adds per-command requirements for set-variable. |
| docs/reqstream/commands/to-markdown.yaml | Adds per-command requirements for to-markdown. |
| docs/reqstream/commands/update-package.yaml | Adds per-command requirements for update-package. |
| docs/reqstream/commands/validate.yaml | Adds per-command requirements for validate incl. NTIA checking. |
| docs/design/introduction.md | Adds design entry point with software structure and folder layout mapping. |
| docs/design/spdxtool-system.md | Adds system-level design for DemaConsulting.SpdxTool. |
| docs/design/spdxtool-targets-system.md | Adds system-level design for DemaConsulting.SpdxTool.Targets. |
| docs/design/commands/commands.md | Adds commands subsystem overview design documentation. |
| docs/design/commands/add-package.md | Adds design doc for add-package. |
| docs/design/commands/add-relationship.md | Adds design doc for add-relationship. |
| docs/design/commands/copy-package.md | Adds design doc for copy-package. |
| docs/design/commands/diagram.md | Adds design doc for diagram. |
| docs/design/commands/find-package.md | Adds design doc for find-package. |
| docs/design/commands/get-version.md | Adds design doc for get-version. |
| docs/design/commands/hash.md | Adds design doc for hash. |
| docs/design/commands/help.md | Adds design doc for help. |
| docs/design/commands/print.md | Adds design doc for print. |
| docs/design/commands/query.md | Adds design doc for query. |
| docs/design/commands/rename-id.md | Adds design doc for rename-id. |
| docs/design/commands/run-workflow.md | Adds design doc for run-workflow. |
| docs/design/commands/set-variable.md | Adds design doc for set-variable. |
| docs/design/commands/to-markdown.md | Adds design doc for to-markdown. |
| docs/design/commands/update-package.md | Adds design doc for update-package. |
| docs/design/commands/validate.md | Adds design doc for validate. |
| docs/design/self-test/self-test.md | Adds SelfTest subsystem overview design documentation. |
| docs/design/self-test/validate.md | Adds design doc for self-test orchestrator behavior/result writing. |
| docs/design/self-test/validate-add-package.md | Adds per-step SelfTest design doc for ValidateAddPackage. |
| docs/design/self-test/validate-add-relationship.md | Adds per-step SelfTest design doc for ValidateAddRelationship. |
| docs/design/self-test/validate-basic.md | Adds per-step SelfTest design doc for ValidateBasic. |
| docs/design/self-test/validate-copy-package.md | Adds per-step SelfTest design doc for ValidateCopyPackage. |
| docs/design/self-test/validate-diagram.md | Adds per-step SelfTest design doc for ValidateDiagram. |
| docs/design/self-test/validate-find-package.md | Adds per-step SelfTest design doc for ValidateFindPackage. |
| docs/design/self-test/validate-get-version.md | Adds per-step SelfTest design doc for ValidateGetVersion. |
| docs/design/self-test/validate-hash.md | Adds per-step SelfTest design doc for ValidateHash. |
| docs/design/self-test/validate-ntia.md | Adds per-step SelfTest design doc for ValidateNtia. |
| docs/design/self-test/validate-query.md | Adds per-step SelfTest design doc for ValidateQuery. |
| docs/design/self-test/validate-rename-id.md | Adds per-step SelfTest design doc for ValidateRenameId. |
| docs/design/self-test/validate-run-nuget-workflow.md | Adds per-step SelfTest design doc for ValidateRunNuGetWorkflow. |
| docs/design/self-test/validate-to-markdown.md | Adds per-step SelfTest design doc for ValidateToMarkdown. |
| docs/design/self-test/validate-update-package.md | Adds per-step SelfTest design doc for ValidateUpdatePackage. |
| docs/design/utility.md | Adds Utility subsystem design documentation (PathHelpers/Wildcard/etc.). |
| .reviewmark.yaml | Updates review scopes/sets to reflect the two-system layout and new doc structure. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot apply changes based on the comments in this thread |
…onstraints Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/75d8efc1-0e1c-484d-b4e8-31af83a0f742 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Applied in commit 2b8395e:
|
|
@copilot I'm not convinced the test/DemaConsulting.SpdxTool.Tests/System folder should exist - "System" is not a subsystem and so shouldn't have its own folder under test/DemaConsulting.SpdxTool.Tests - as we use folders to indicate subsystems. |
… a subsystem) Agent-Logs-Url: https://github.com/demaconsulting/SpdxTool/sessions/777b4387-0acf-47d8-b36e-59548196b9b1 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in commit 72143d4. All files from |
Brings the repository into compliance with the updated
.github/standards/covering design documentation, requirements organization, and file review management.Description
docs/design/(new/expanded)introduction.md— Mandatory design entry point: Purpose describing both systems, Software Structure trees (one per system), and Folder Layout mapping source files. Tests are not documented in design docs.spdxtool-system.md— System-level design for DemaConsulting.SpdxTool: architecture (duplicate paragraph removed; now contains architecture-specific content), external interfaces, data flow, constraints (qualified to reflect thatValidateQueryspawnsdotnetandValidateRunNuGetWorkflowmay require network), and integration patternsspdxtool-targets-system.md— System-level design for DemaConsulting.SpdxTool.Targets: MSBuild integration, configuration properties, and conditional executioncommands/commands.md— Commands subsystem overview: registry pattern, all 16 commands, data flow, and error handlingcommands/{unit}.md— Per-unit design docs for all 16 command units (add-package, add-relationship, copy-package, diagram, find-package, get-version, hash, help, print, query, rename-id, run-workflow, set-variable, to-markdown, update-package, validate)self-test/self-test.md— SelfTest subsystem overview: orchestration, validation steps, TRX/JUnit result reporting; constraints qualified to accurately describe external process (ValidateQuery) and potential network (ValidateRunNuGetWorkflow) dependenciesself-test/{unit}.md— Per-unit design docs for all 15 SelfTest units (validate orchestrator + 14 validate-* steps)utility.md— Utility subsystem design: PathHelpers, Wildcard, SpdxHelpers, and RelationshipDirection unitsdocs/reqstream/(new/expanded)Splits requirements into per-unit files mirroring source structure:
spdxtool-system.yaml— System-level CLI requirements for DemaConsulting.SpdxTool (Version, Help, InvalidArgs, Silent, Log)spdxtool-targets-system.yaml— System-level requirements for DemaConsulting.SpdxTool.Targets (DecorateSbom, SkipDecorate, SkipGenerateSbom, MissingWorkflowError)self-test/self-test.yaml— SelfTest subsystem requirements (Validate, Depth, ResultsTrx, ResultsJUnit)self-test/{unit}.yaml— Per-unit requirements for all 15 SelfTest units withSpdxTool-ST-*IDscommands/{unit}.yaml— Per-unit requirements for all 16 command units;set-variable.yamlandprint.yamltest references corrected toSetVariable_InWorkflow_SetsVariableandPrint_InWorkflow_PrintsTextrespectivelyutility.yaml— Utility subsystem requirements (SafePath, ValidPath, Wildcard); test method names corrected to match actualWildcardTests.csmethodsplatform-requirements.yaml— Windows/Linux/macOS/.NET 8/9/10 requirementsots/mstest.yaml,ots/reqstream.yaml,ots/buildmark.yaml,ots/versionmark.yaml,ots/sarifmark.yaml,ots/sonarmark.yaml— Per-component OTS requirementsrequirements.yaml(updated)Expanded includes-only root file covering all per-unit requirement files across both systems, Commands, SelfTest, Utility, Platform, and OTS subsystems.
src/DemaConsulting.SpdxTool/(refactored)SelfValidation/renamed toSelfTest/to align with the SelfTest subsystem name used in design documentationDemaConsulting.SpdxTool.SelfValidationtoDemaConsulting.SpdxTool.SelfTestacross all 15 source files andProgram.cstest/DemaConsulting.SpdxTool.Tests/(reorganized and expanded)Test files organized into subsystem subfolders with new tests added. Folders represent subsystems only — non-subsystem test files live at the project root:
Commands/— 18 command unit test filesSelfTest/SelfTestTests.cs— subsystem-level tests callingValidate.Run()directly via C# API (folder namedSelfTest/to matchsrc/DemaConsulting.SpdxTool/SelfTest/)SelfTest/Validate{Unit}Tests.cs— per-unit test files for all 14 individual SelfTest units (ValidateAddPackage, ValidateAddRelationship, ValidateBasic, ValidateCopyPackage, ValidateDiagram, ValidateFindPackage, ValidateGetVersion, ValidateHash, ValidateNtia, ValidateQuery, ValidateRenameId, ValidateRunNuGetWorkflow, ValidateToMarkdown, ValidateUpdatePackage), each with a test method name matching the correspondingSpdxTool-ST-*requirementUtility/— PathHelpersTests.cs, WildcardTests.csIntegrationTests.cs— CLI-level integration tests (at project root; renamed fromSelfValidationTests.cs)ProgramTests.cs— unit tests forProgram.Version,Program.Run(), andProgram.PrintUsage()(at project root)VersionTests.cs,UsageTests.cs,SilentTests.cs,LogTests.cs— system-level CLI tests (at project root).reviewmark.yaml(updated)SpdxTool-System+SpdxTool-Programsets with two system-level review-sets:SpdxTool-System(DemaConsulting.SpdxTool) andSpdxTool-Targets-System(DemaConsulting.SpdxTool.Targets)Runner.csandAssemblyInfo.csmoved intoSpdxTool-Systemreview-setSpdxTool-SelfTestreview-set scoped to subsystem-level files only; paths updated tosrc/**/SelfTest/**andtest/**/SelfTest/SelfTestTests.csSpdxTool-Utilityreview-set includesutility.yaml,utility.md, source, and testsSpdxTool-Commandsreview-set uses flatcommands/*.yaml/commands/*.mdpatterns[Product]-[Subsystem]naming patternType 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.SpdxTool --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
This is a two-system repository:
DemaConsulting.SpdxTool(.NET tool) andDemaConsulting.SpdxTool.Targets(MSBuild extension). All design and requirements documentation reflects this structure with separate system-level files (spdxtool-system.*andspdxtool-targets-system.*). The source subsystem folder has been renamed fromSelfValidation/toSelfTest/(with the namespace updated toDemaConsulting.SpdxTool.SelfTest) to align with the SelfTest subsystem name used throughout design documentation. Test files that do not belong to a specific subsystem (integration tests, program tests, CLI flag tests) are placed at the test project root rather than in aSystem/subfolder, as folder names are reserved for subsystems only. All 61 requirements are satisfied with correctly referenced tests.