Pre-release quality sweep: all agents and template synchronization#89
Pre-release quality sweep: all agents and template synchronization#89Malcolmnixon merged 10 commits intomainfrom
Conversation
- 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.
|
@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. |
- 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>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Restructured the user guide in
|
| @@ -1 +1 @@ | |||
| --- | |||
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.).
requirements.yaml
Outdated
| 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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
requirements.yaml
Outdated
| 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. |
There was a problem hiding this comment.
Again more bad changes - review once the comment at the top of the file is updated.
requirements.yaml
Outdated
| 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. |
There was a problem hiding this comment.
Again more bad changes - review once the comment at the top of the file is updated.
requirements.yaml
Outdated
| 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. |
There was a problem hiding this comment.
Again more bad changes - review once the comment at the top of the file is updated.
requirements.yaml
Outdated
| 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. |
There was a problem hiding this comment.
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>
|
@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. |
Reviewed the last week of TemplateDotNetTool PRs (#29, #31, #32, #33, #35, #36) and applied all missing synchronization changes in
|
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:
end_of_line = lfto.editorconfig.markdownlint-cli2.jsoncconfig.csprojwith section commentsRequirements traceability:
requirements.yamlheader comment to match TemplateDotNetTool template, including detailed source filter prefix documentation (windows@,ubuntu@,dotnet8.x@, etc.)Code quality & linting:
node_modules/and.git/exclusion to.yamllint.yamlerrorlevel,contentfiles,buildtransitiveto.cspell.jsondictionary (pre-existing gaps)Documentation:
AGENTS.mdandREADME.mdAGENTS.mdwith full prefix reference table (template PR [Feature]: Run Self-Validation #35)docs/tracematrix/introduction.mddocs/guide/guide.mdheading hierarchy for PDF compilation:title.txtby Pandoc)# Introductionsection with## Purposeand## ScopesubsectionsInstallation,Getting Started,Command-Line Options, etc.) to root-level#headingsdefinition.yamlTemplate synchronization (TemplateDotNetTool PRs #29, #31, #32, #35):
.config/dotnet-tools.json(PR Improve code coverage with unit and integration tests #32)docs/buildnotes.mdandversionmark-*.jsonto.gitignore(PR [Feature]: Sonar Cleanups #29)build-docsworkflow job with phase section comments:CHECKOUT AND DOWNLOAD ARTIFACTS,INSTALL DEPENDENCIES,CAPTURE TOOL VERSIONS,GENERATE MARKDOWN REPORTS,GENERATE HTML DOCUMENTS WITH PANDOC,GENERATE PDF DOCUMENTS WITH WEASYPRINT,UPLOAD ARTIFACTS(PR [Feature]: Improve Code Coverage #31)build-docs(PR [Feature]: Improve Code Coverage #31)Code & tests:
Context.cs,SonarQubeClient.cs,SonarQualityResult.csProgram.cs,SonarQubeClient.cs,Validation.csProgramTestsmethods toClassName_Method_Scenario_Expectedconvention with AAA commentsType 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 ReleaseCode Quality
dotnet format --verify-no-changesLinting
npx markdownlint-cli2 "**/*.md" "#node_modules"npx cspell "**/*.{md,cs}" --no-progressyamllint .Testing
Documentation
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.