Skip to content

Align TemplateDotNetTool with TemplateDotNetLibrary agent/compliance updates (PRs #47 and #50)#65

Merged
Malcolmnixon merged 4 commits intomainfrom
copilot/update-sister-template-agents
Mar 22, 2026
Merged

Align TemplateDotNetTool with TemplateDotNetLibrary agent/compliance updates (PRs #47 and #50)#65
Malcolmnixon merged 4 commits intomainfrom
copilot/update-sister-template-agents

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 22, 2026

Ports the agent alignment and Continuous Compliance restructuring from TemplateDotNetLibrary PR #47 and PR #50 to this repository, with appropriate Tool-specific adaptations.

Description

Documentation folder renames (agent-aligned naming)

Old New
docs/buildnotes/ docs/build_notes/
docs/quality/ docs/code_quality/
docs/reviewplan/ docs/code_review_plan/
docs/reviewreport/ docs/code_review_report/
docs/requirements/ + docs/justifications/ docs/requirements_doc/ (combined)
docs/tracematrix/ docs/requirements_report/

All definition.yaml files updated with corrected resource-path and input-files entries.

Requirements split into docs/reqstream/ (per software unit)

Monolithic requirements.yaml replaced with an includes:-based root file pointing to separate per-unit files following Continuous Compliance guidance:

  • unit-context.yaml — Context class (argument parsing, output, logging, exit code)
  • unit-program.yaml — Program class (entry point routing, version/help/validate dispatch)
  • unit-validation.yaml — Validation class (self-validation, TRX/JUnit results writing)
  • unit-path-helpers.yaml — PathHelpers class (safe path combining, traversal prevention)
  • platform-requirements.yaml — platform/runtime requirements
  • ots-*.yaml (×7) — one file per OTS tool (MSTest, ReqStream, BuildMark, VersionMark, SarifMark, SonarMark, ReviewMark)

Review-sets aligned to software units

.reviewmark.yaml review-sets restructured so each set groups requirements YAML, source, and tests for a coherent software unit, enabling AI-assisted reviews to verify the full evidence chain:

  • TemplateTool-Context — unit-context.yaml + Context.cs + ContextTests.cs
  • TemplateTool-Program — unit-program.yaml + Program.cs + ProgramTests.cs + IntegrationTests.cs + Runner.cs + AssemblyInfo.cs
  • TemplateTool-Validation — unit-validation.yaml + Validation.cs + ValidationTests.cs
  • TemplateTool-PathHelpers — unit-path-helpers.yaml + PathHelpers.cs + PathHelpersTests.cs
  • Platform-Support and OTS-Dependencies as additional review-sets

needs-review patterns are scoped to **/*.cs and docs/reqstream/**/*.yaml only — configuration and workflow files are not software units, subsystems, or OTS items and do not require review coverage.

Configuration and tooling fixes

  • build.yaml: actions/setup-node@v4@v6; all doc paths updated; TODO comment added to ReviewMark step (no --enforce until reviews branch is populated)
  • release.yaml: artifact filename updated to build_notes.md
  • .gitignore: generated file paths updated
  • .cspell.yaml: old folder-name words removed (buildnotes, reviewplan, reviewreport, tracematrix); new ones added (build_notes, code_quality, code_review_plan, code_review_report, requirements_doc, requirements_report, trace_matrix)
  • lint.bat: npxcall npx for proper exit-code propagation on Windows
  • AGENTS.md: Project Structure section updated to show docs/reqstream/, .github/workflows/, and .reviewmark.yaml at root
  • pull_request_template.md: three individual lint commands replaced with canonical ./lint.sh / lint.bat invocations
  • docs/guide/guide.md: reference-style Continuous Compliance link converted to inline absolute URL (required for Pandoc-published docs)
  • docs/code_review_plan/introduction.md: scope expanded to cover YAML configuration and requirements files

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All unit tests pass: dotnet test --configuration Release
  • Self-validation tests pass:
    dotnet run --project src/DemaConsulting.TemplateDotNetTool --configuration Release --framework net10.0
    --no-build -- --validate
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

Please run the following checks before submitting:

  • All linters pass: ./lint.sh (Unix/macOS) or cmd /c lint.bat / ./lint.bat (Windows)

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

No functional or behavioral changes. All modifications are structural (folder renames, config path updates) and documentation/compliance alignment with the sister template. Requirements are organized per software unit (Context, Program, Validation, PathHelpers) and review-sets group requirements, source, and tests together for each unit to enable effective AI-assisted code reviews. Review coverage is intentionally scoped to source files and requirements YAML only.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…folders, split requirements, update configs

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/TemplateDotNetTool/sessions/53fa340f-ae1b-448f-abca-f30e3d48cee3
Copilot AI changed the title [WIP] Apply upgrades from sister template for continuous compliance Align TemplateDotNetTool with TemplateDotNetLibrary agent/compliance updates (PRs #47 and #50) Mar 22, 2026
Copilot AI requested a review from Malcolmnixon March 22, 2026 19:44
@Malcolmnixon Malcolmnixon marked this pull request as ready for review March 22, 2026 19:44
Copilot AI review requested due to automatic review settings March 22, 2026 19:44
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot When migrating, did you consider this project has different software units and software subsystems. That would necessitate having different requirements in docs/reqstream and different review-sets. Consider reading https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/requirements.md and https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/file-reviews.md then updating the requirements and reviewmark review-sets to match the repository.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns this repository’s documentation/compliance layout and requirements traceability structure with the upstream TemplateDotNetLibrary changes (PRs #47 and #50), including doc folder renames, ReqStream requirement modularization, and CI/workflow path updates.

Changes:

  • Renames/restructures docs/ subfolders and updates Pandoc definition files accordingly.
  • Splits requirements into docs/reqstream/*.yaml and converts requirements.yaml into an includes: root.
  • Updates CI workflows and linting/config files to reflect new paths and review/requirements handling.

Reviewed changes

Copilot reviewed 34 out of 46 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
requirements.yaml Converts requirements root to includes: referencing docs/reqstream/ files
lint.bat Uses call npx to propagate exit codes correctly on Windows
docs/tracematrix/definition.yaml Removes old trace matrix Pandoc defaults (folder rename)
docs/reviewreport/definition.yaml Removes old review report Pandoc defaults (folder rename)
docs/reviewplan/definition.yaml Removes old review plan Pandoc defaults (folder rename)
docs/requirements/definition.yaml Removes old requirements Pandoc defaults (folder rename/merge)
docs/requirements_report/title.txt Adds new requirements report document front-matter
docs/requirements_report/introduction.md Adds new requirements report introduction content
docs/requirements_report/definition.yaml Adds new requirements report Pandoc defaults
docs/requirements_doc/title.txt Adds new combined requirements document front-matter
docs/requirements_doc/introduction.md Adds new combined requirements document introduction
docs/requirements_doc/definition.yaml Adds new combined requirements/justifications Pandoc defaults
docs/reqstream/tool-subsystem.yaml Adds CLI/subsystem requirements file
docs/reqstream/platform-requirements.yaml Adds platform/runtime requirements file
docs/reqstream/ots-versionmark.yaml Adds VersionMark OTS requirements file
docs/reqstream/ots-sonarmark.yaml Adds SonarMark OTS requirements file
docs/reqstream/ots-sarifmark.yaml Adds SarifMark OTS requirements file
docs/reqstream/ots-reviewmark.yaml Adds ReviewMark OTS requirements file
docs/reqstream/ots-reqstream.yaml Adds ReqStream OTS requirements file
docs/reqstream/ots-mstest.yaml Adds MSTest OTS requirements file
docs/reqstream/ots-buildmark.yaml Adds BuildMark OTS requirements file
docs/quality/definition.yaml Removes old code quality Pandoc defaults (folder rename)
docs/justifications/title.txt Removes old standalone justifications title (merged)
docs/justifications/introduction.md Removes old standalone justifications intro (merged)
docs/justifications/definition.yaml Removes old standalone justifications Pandoc defaults (merged)
docs/guide/guide.md Switches Continuous Compliance link to inline absolute URL for Pandoc
docs/code_review_report/title.txt Adds new review report document front-matter
docs/code_review_report/introduction.md Adds new review report introduction content
docs/code_review_report/definition.yaml Adds new review report Pandoc defaults
docs/code_review_plan/title.txt Adds new review plan document front-matter
docs/code_review_plan/introduction.md Expands scope to include YAML config/requirements files
docs/code_review_plan/definition.yaml Adds new review plan Pandoc defaults
docs/code_quality/title.txt Adds new code quality document front-matter
docs/code_quality/introduction.md Adds new code quality introduction content
docs/code_quality/definition.yaml Adds new code quality Pandoc defaults
docs/buildnotes/definition.yaml Removes old build notes Pandoc defaults (folder rename)
docs/build_notes/title.txt Adds new build notes document front-matter
docs/build_notes/introduction.md Adds new build notes introduction content
docs/build_notes/definition.yaml Adds new build notes Pandoc defaults
AGENTS.md Updates key files/project structure to reflect docs/reqstream/ and new layout
.reviewmark.yaml Expands review scope to YAML/YML and restructures review-sets to include requirements/config
.gitignore Updates ignored generated docs paths for renamed/merged folders
.github/workflows/release.yaml Updates release step naming/paths for build notes artifact
.github/workflows/build.yaml Updates doc generation paths, switches to new doc folders, and adjusts tooling steps
.github/pull_request_template.md Replaces individual lint commands with canonical lint.sh/lint.bat usage
.cspell.yaml Updates dictionary words to match renamed doc folders/terms

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…o match project structure

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/TemplateDotNetTool/sessions/106872a3-7859-4778-9d00-ab119051292f
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 22, 2026

@copilot When migrating, did you consider this project has different software units and software subsystems. That would necessitate having different requirements in docs/reqstream and different review...

Good catch. After reading the Continuous Compliance requirements and file-reviews docs, I've restructured the docs/reqstream/ files and .reviewmark.yaml to match this project's actual software units:

docs/reqstream/ — one file per software unit:

  • unit-context.yaml — Context class (argument parsing, output, logging, exit code tracking)
  • unit-program.yaml — Program class (entry point routing, version/help/validate dispatch)
  • unit-validation.yaml — Validation class (self-validation, TRX/JUnit results writing)
  • unit-path-helpers.yaml — PathHelpers class (safe path combining, traversal prevention)
  • platform-requirements.yaml and ots-*.yaml (×7) unchanged

.reviewmark.yaml — review-sets grouping requirements + source + tests per unit:

  • TemplateTool-Context → unit-context.yaml + Context.cs + ContextTests.cs
  • TemplateTool-Program → unit-program.yaml + Program.cs + ProgramTests.cs + IntegrationTests.cs + Runner.cs + AssemblyInfo.cs
  • TemplateTool-Validation → unit-validation.yaml + Validation.cs + ValidationTests.cs
  • TemplateTool-PathHelpers → unit-path-helpers.yaml + PathHelpers.cs + PathHelpersTests.cs
  • Platform-Support, OTS-Dependencies, Project-Configuration as before

Committed in 4cda84d.

…figuration review-set

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/TemplateDotNetTool/sessions/9b4e1f9e-b559-42fe-84af-04985b17adb3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants