Skip to content

Pre-release quality sweep: all agents and template synchronization#89

Merged
Malcolmnixon merged 10 commits intomainfrom
copilot/run-agents-for-release
Feb 20, 2026
Merged

Pre-release quality sweep: all agents and template synchronization#89
Malcolmnixon merged 10 commits intomainfrom
copilot/run-agents-for-release

Conversation

Copy link
Contributor

Copilot AI commented Feb 20, 2026

Pull Request

Description

Ran all specialized agents (repo-consistency, requirements, code-quality, technical-writer, software-developer) and applied their fixes in preparation for the next release. Additionally synchronized with recent TemplateDotNetTool template changes (PRs #29, #31, #32, #35).

Repo consistency:

  • Added end_of_line = lf to .editorconfig
  • Cleaned up .markdownlint-cli2.jsonc config
  • Converted README.md badges to reference-style links
  • Removed inline comments from workflow files
  • Reorganized test .csproj with section comments

Requirements traceability:

  • Updated requirements.yaml header comment to match TemplateDotNetTool template, including detailed source filter prefix documentation (windows@, ubuntu@, dotnet8.x@, etc.)

Code quality & linting:

  • Added node_modules/ and .git/ exclusion to .yamllint.yaml
  • Added errorlevel, contentfiles, buildtransitive to .cspell.json dictionary (pre-existing gaps)

Documentation:

  • Fixed line-length violations in AGENTS.md and README.md
  • Added "Test Source Filters" section to AGENTS.md with full prefix reference table (template PR [Feature]: Run Self-Validation #35)
  • Added missing Scope section to docs/tracematrix/introduction.md
  • Restructured docs/guide/guide.md heading hierarchy for PDF compilation:
    • Removed root title heading (populated from title.txt by Pandoc)
    • Added # Introduction section with ## Purpose and ## Scope subsections
    • Promoted all major sections (Installation, Getting Started, Command-Line Options, etc.) to root-level # headings
    • Pandoc auto-generates Table of Contents via definition.yaml

Template synchronization (TemplateDotNetTool PRs #29, #31, #32, #35):

Code & tests:

  • Enhanced XML documentation on private methods in Context.cs, SonarQubeClient.cs, SonarQualityResult.cs
  • Added literate-style paragraph comments in Program.cs, SonarQubeClient.cs, Validation.cs
  • Renamed ProgramTests methods to ClassName_Method_Scenario_Expected convention with AAA comments

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

Related Issues

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 tests pass: dotnet test --configuration Release
  • 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

Linting

  • Markdown linter passes: npx markdownlint-cli2 "**/*.md" "#node_modules"
  • Spell checker passes: npx cspell "**/*.{md,cs}" --no-progress
  • YAML linter passes: yamllint .

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

76 tests pass across .NET 8/9/10. No functional changes — documentation, naming, config, and template synchronization only.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

- Add end_of_line=lf to .editorconfig for consistent line endings
- Add MD025 rule to .markdownlint-cli2.jsonc and remove inline comments
- Convert README badges to reference-style links matching template pattern
- Add comprehensive XML documentation to Context.cs ArgumentParser class
- Improve catch block documentation with expected exception types
- Reorganize test project .csproj with section comments for clarity
- Clean up workflow YAML comments to match template style

All changes maintain functionality while improving consistency with
the TemplateDotNetTool template standards.
@Malcolmnixon
Copy link
Contributor

@copilot An additional release-cleanup task is to update the heading-structure of the user guide. The guide has all its headings under one Title-like root heading. This isn't needed for documents compiled to PDF as the title is populated from title.txt. Additionally Pandoc automatically creates a Table of Contents so the guide doesn't need its own navigation table in Markdown, and should start with an Introduction section containing a Purpose and Scope, and then the critical sections of the document should also be root-level markdown sections.

Copilot AI and others added 5 commits February 20, 2026 13:52
- Updated platform requirements (PLT-001 through PLT-005) to use correct test source patterns matching CI workflow naming
  - Changed from generic prefixes (windows@, ubuntu@, dotnet8.x@) to actual CI file patterns (windows-latest@, integration-test-*-dotnet*.x@)
  - Ensures requirements can be satisfied when full CI pipeline runs
- Enhanced VAL-003 and VAL-004 test coverage by adding self-validation tests
  - These tests exercise both TRX and JUnit format support through the validation functionality
  - Provides comprehensive validation of format support requirements
- All 24 locally-testable requirements are now satisfied
- 5 platform-specific requirements (PLT-*) correctly remain unsatisfied locally (requires CI matrix)
- Verified with 'dotnet reqstream --enforce'
The yamllint configuration was linting node_modules directory, causing
false positives from third-party dependencies. This change adds an
ignore section to exclude node_modules and .git directories from
yamllint checks, focusing on project files only.
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Apply fixes and improvements from agents for release Pre-release quality sweep: all agents Feb 20, 2026
Copilot AI requested a review from Malcolmnixon February 20, 2026 14:29
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 20, 2026

@copilot An additional release-cleanup task is to update the heading-structure of the user guide. The guide has all its headings under one Title-like root heading. This isn't needed for documents comp...

Restructured the user guide in 4feb2bf:

  • Removed the # SonarMark Usage Guide root title heading (title comes from title.txt for PDF)
  • Added a proper # Introduction section with ## Purpose and ## Scope subsections (matching the pattern in other docs)
  • Promoted all former ## sections (Installation, Getting Started, Command-Line Options, Common Use Cases, Report Format, Running Self-Validation, Best Practices, Troubleshooting, Additional Resources) to root-level # headings
  • Sub-headings promoted accordingly (#####, #######)
  • Pandoc's table-of-contents: true in definition.yaml handles navigation automatically

@@ -1 +1 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe the template has a more detailed comment here explaining the source filter prefixes. Please make sure this heading comment is updated - specifically review https://github.com/demaconsulting/TemplateDotNetTool/blob/main/requirements.yaml

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated the header comment in 269a018 to match the template's detailed format from TemplateDotNetTool, including the three test categories, the NOTE about local enforcement, and the full source filter prefix reference table. Also reverted all the incorrect test source filter changes in PLT-001 through PLT-005 back to the original prefixes (windows@, ubuntu@, dotnet8.x@, etc.).

ensures the tool can be used in Windows-based development environments and CI/CD systems,
which are common in enterprise .NET development shops.
# Test source pattern "windows@" ensures these tests ran on Windows.
# Test source pattern "windows-latest@" ensures these tests ran on Windows.
Copy link
Contributor

Choose a reason for hiding this comment

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

You messed around with the test source filters here - probably because you failed to synchronize the comment at the top of the file. First let's get the comment at the top synchronized, then revisit these changes in light of the updated test source filter documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted all test source filter changes in 269a018. The original prefixes (windows@, ubuntu@, dotnet8.x@, etc.) are now restored, consistent with the updated header comment documentation.

Supporting Linux ensures the tool can be used in modern DevOps pipelines, Docker containers,
and popular CI platforms like GitHub Actions, GitLab CI, and Jenkins.
# Test source pattern "ubuntu@" ensures these tests ran on Linux.
# Test source pattern "ubuntu-latest@" ensures these tests ran on Linux.
Copy link
Contributor

Choose a reason for hiding this comment

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

Again more bad changes - review once the comment at the top of the file is updated.

this version ensures compatibility with enterprise environments that standardize on LTS
releases for stability and long-term support guarantees.
# Test source pattern "dotnet8.x@" ensures these tests ran on .NET 8.0.
# Test source pattern "integration-test-*-dotnet8.x@" ensures these tests ran on .NET 8.0.
Copy link
Contributor

Choose a reason for hiding this comment

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

Again more bad changes - review once the comment at the top of the file is updated.

and performance improvements. Supporting this version allows users who adopt newer .NET
versions to use the tool without compatibility concerns.
# Test source pattern "dotnet9.x@" ensures these tests ran on .NET 9.0.
# Test source pattern "integration-test-*-dotnet9.x@" ensures these tests ran on .NET 9.0.
Copy link
Contributor

Choose a reason for hiding this comment

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

Again more bad changes - review once the comment at the top of the file is updated.

this version ensures the tool remains compatible with the latest LTS release, providing users
with a future-proof solution and access to the newest platform capabilities.
# Test source pattern "dotnet10.x@" ensures these tests ran on .NET 10.0.
# Test source pattern "integration-test-*-dotnet10.x@" ensures these tests ran on .NET 10.0.
Copy link
Contributor

Choose a reason for hiding this comment

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

Again more bad changes - review once the comment at the top of the file is updated.

…ilter changes

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Copy link
Contributor

@copilot The fact you forgot to synchronize the detailed test source filter comments in the requirements.yaml file indicates you probably forgot to synchronize the corresponding agent updates. Please re-run the repo-consistency agent and possibly instruct it to look at the last week of PR changes to the template repo and see if all the changes have been correctly applied to this project.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 20, 2026

@copilot The fact you forgot to synchronize the detailed test source filter comments in the requirements.yaml file indicates you probably forgot to synchronize the corresponding agent updates. Please ...

Reviewed the last week of TemplateDotNetTool PRs (#29, #31, #32, #33, #35, #36) and applied all missing synchronization changes in eaabff6:

Copilot AI changed the title Pre-release quality sweep: all agents Pre-release quality sweep: all agents and template synchronization Feb 20, 2026
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.

2 participants