Apply semantic requirement IDs and template consistency improvements#159
Apply semantic requirement IDs and template consistency improvements#159Malcolmnixon merged 6 commits intomainfrom
Conversation
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot Please change the requirement IDs to be "SpdxTool-XXX" |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Malcolmnixon
left a comment
There was a problem hiding this comment.
IGiven that all other SpdxTool-XXX-YYY requirements use three-letter contractions for the section; I think that all platform requirements should follow suit and be "SpdxTool-Plt-YYY"
…letter pattern Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Done in 8ae0cfc — all platform requirements now use |
requirements.yaml
Outdated
| - dotnet10.x@SpdxTool_Validate | ||
|
|
||
| - id: SPDX-PLT-006 | ||
| - id: SpdxTool-Plt-TargetsWindows |
There was a problem hiding this comment.
Why not try to combine this with SpdxTool-Plt-Windows - The tool (both the dotnet-tool and the MSBuild target version) must support windows.
There was a problem hiding this comment.
Done in b658289 — merged SpdxTool-Plt-TargetsWindows into SpdxTool-Plt-Windows, which now covers both the dotnet-tool and MSBuild targets package on Windows.
requirements.yaml
Outdated
| - windows@SingleTfmProject_MissingWorkflow_ReportsError | ||
|
|
||
| - id: SPDX-PLT-007 | ||
| - id: SpdxTool-Plt-TargetsLinux |
There was a problem hiding this comment.
Why not try to combine this with SpdxTool-Plt-Linux - The tool (both the dotnet-tool and the MSBuild target version) must support linux.
There was a problem hiding this comment.
Done in b658289 — merged SpdxTool-Plt-TargetsLinux into SpdxTool-Plt-Linux, which now covers both the dotnet-tool and MSBuild targets package on Linux.
…inux Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Migrates
requirements.yamlfrom opaque numeric IDs to self-documenting semantic IDs using theSpdxTool-<Category>-<Name>naming convention, and syncs several project files with recent TemplateDotNetTool template changes.Description
requirements.yaml— Semantic requirement IDsSpdxTool-<Category>-<Name>formatCmd,Pkg,Wkf,Plt) consistently across all sectionsSPDX-CMD-001+SPDX-CMD-002→SpdxTool-Cmd-VersionSPDX-CMD-003+SPDX-CMD-004→SpdxTool-Cmd-HelpSPDX-CMD-006+SPDX-CMD-007→SpdxTool-Cmd-SilentSPDX-CMD-008+SPDX-CMD-009→SpdxTool-Cmd-LogSpdxTool-Plt-TargetsWindowsmerged intoSpdxTool-Plt-Windows(covers both dotnet-tool and MSBuild targets on Windows)SpdxTool-Plt-TargetsLinuxmerged intoSpdxTool-Plt-Linux(covers both dotnet-tool and MSBuild targets on Linux)Template sync
DemaConsulting.SpdxTool.Tests.csproj:LangVersion12→latest.github/agents/requirements-agent.md: added enforcement rule — all requirements must be linked to testsAGENTS.md: C# version →C# (latest); addedrequirements.yamlto Key FilesCONTRIBUTING.md: added Requirements Management section documenting ReqStream and--enforce.github/agents/repo-consistency-agent.md: added "Tracking Template Evolution" methodologyType of Change
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:
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint .Testing
Documentation
Additional Notes
Requirement IDs are referenced only within
requirements.yaml— no source or test files embed these IDs — so the rename is non-breaking.✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.