Extensive agent, xUnit, documentation cleanup.#24
Conversation
There was a problem hiding this comment.
Pull request overview
This PR performs a broad cleanup and restructuring across tests, requirements/design/verification documentation, and repo tooling configuration—most notably migrating the test suite from MSTest to xUnit v3 and introducing a new verification document collection under docs/verification/.
Changes:
- Migrate test suite from MSTest to xUnit v3 (attributes + assertion updates, async test modernization, disable parallelization via xUnit config).
- Introduce and wire up a new “Software Verification Design” document collection (
docs/verification/**) plus supporting standards and ReviewMark coverage. - Consolidate “generated output” handling across docs/config (move inputs to
generated/paths, update ignores in lint/spell/yamllint/gitignore/fileassert configs).
Reviewed changes
Copilot reviewed 87 out of 95 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test/DemaConsulting.NuGetInstaller.Tests/Utilities/UtilitiesSubsystemTests.cs | Convert subsystem tests from MSTest to xUnit [Fact] + xUnit assertions. |
| test/DemaConsulting.NuGetInstaller.Tests/Utilities/PathHelpersTests.cs | Convert unit tests to xUnit; adjust Windows-only behavior handling. |
| test/DemaConsulting.NuGetInstaller.Tests/SelfTest/ValidationTests.cs | Convert Validation unit tests to xUnit assertions/attributes. |
| test/DemaConsulting.NuGetInstaller.Tests/SelfTest/SelfTestSubsystemTests.cs | Convert subsystem tests to xUnit and update assertions. |
| test/DemaConsulting.NuGetInstaller.Tests/ProgramTests.cs | Convert Program unit tests to xUnit. |
| test/DemaConsulting.NuGetInstaller.Tests/NuGet/PackagesConfigReaderTests.cs | Convert PackagesConfigReader unit tests to xUnit. |
| test/DemaConsulting.NuGetInstaller.Tests/NuGet/PackageInstallerTests.cs | Convert to xUnit; modernize async usage and async file writes. |
| test/DemaConsulting.NuGetInstaller.Tests/NuGet/PackageExtractorTests.cs | Convert PackageExtractor unit tests to xUnit. |
| test/DemaConsulting.NuGetInstaller.Tests/NuGet/NuGetSubsystemTests.cs | Convert subsystem tests to xUnit; modernize async patterns. |
| test/DemaConsulting.NuGetInstaller.Tests/NuGet/Models/ModelsSubsystemTests.cs | Convert model tests to xUnit assertions/attributes. |
| test/DemaConsulting.NuGetInstaller.Tests/IntegrationTests.cs | Convert integration tests to xUnit and move init to constructor. |
| test/DemaConsulting.NuGetInstaller.Tests/DemaConsulting.NuGetInstaller.Tests.csproj | Switch test dependencies from MSTest to xUnit v3; add implicit using. |
| test/DemaConsulting.NuGetInstaller.Tests/AssemblyInfo.cs | Disable test parallelization using xUnit assembly-level configuration. |
| requirements.yaml | Update requirements include paths to new consolidated reqstream structure. |
| docs/verification/title.txt | Add verification document metadata for Pandoc build. |
| docs/verification/ots/weasyprint.md | Add verification evidence narrative for WeasyPrint OTS item. |
| docs/verification/ots/versionmark.md | Add verification evidence narrative for VersionMark OTS item. |
| docs/verification/ots/sonarmark.md | Add verification evidence narrative for SonarMark OTS item. |
| docs/verification/ots/sarifmark.md | Add verification evidence narrative for SarifMark OTS item. |
| docs/verification/ots/reviewmark.md | Add verification evidence narrative for ReviewMark OTS item. |
| docs/verification/ots/reqstream.md | Add verification evidence narrative for ReqStream OTS item. |
| docs/verification/ots/pandoc.md | Add verification evidence narrative for Pandoc OTS item. |
| docs/verification/ots/mstest.md | Add verification evidence narrative for MSTest OTS item. |
| docs/verification/ots/fileassert.md | Add verification evidence narrative for FileAssert OTS item. |
| docs/verification/ots/buildmark.md | Add verification evidence narrative for BuildMark OTS item. |
| docs/verification/ots.md | Add top-level OTS verification overview section. |
| docs/verification/nuget-installer/utilities/path-helpers.md | Add unit-level verification design for PathHelpers. |
| docs/verification/nuget-installer/utilities.md | Add subsystem verification design for Utilities. |
| docs/verification/nuget-installer/self-test/validation.md | Add unit-level verification design for Validation. |
| docs/verification/nuget-installer/self-test.md | Add subsystem verification design for SelfTest. |
| docs/verification/nuget-installer/program.md | Add unit-level verification design for Program. |
| docs/verification/nuget-installer/nuget/packages-config-reader.md | Add unit-level verification design for PackagesConfigReader. |
| docs/verification/nuget-installer/nuget/package-installer.md | Add unit-level verification design for PackageInstaller. |
| docs/verification/nuget-installer/nuget/package-extractor.md | Add unit-level verification design for PackageExtractor. |
| docs/verification/nuget-installer/nuget/models/package-entry.md | Add unit-level verification design for PackageEntry. |
| docs/verification/nuget-installer/nuget/models.md | Add subsystem verification design for NuGet Models. |
| docs/verification/nuget-installer/nuget.md | Add subsystem verification design for NuGet. |
| docs/verification/nuget-installer/cli/context.md | Add unit-level verification design for Context. |
| docs/verification/nuget-installer/cli.md | Add subsystem verification design for Cli. |
| docs/verification/nuget-installer.md | Add system-level verification design for NuGet Installer. |
| docs/verification/introduction.md | Add verification document introduction and companion artifact mapping. |
| docs/verification/definition.yaml | Add Pandoc definition for building verification document output. |
| docs/requirements_report/definition.yaml | Point requirements report build at generated/trace_matrix.md. |
| docs/requirements_doc/definition.yaml | Point requirements doc build at generated/ outputs. |
| docs/reqstream/nuget-installer/utilities.yaml | Add subsystem requirements file for Utilities. |
| docs/reqstream/nuget-installer/self-test.yaml | Add subsystem requirements file for SelfTest. |
| docs/reqstream/nuget-installer/nuget/models.yaml | Add subsystem requirements file for NuGet Models. |
| docs/reqstream/nuget-installer/nuget.yaml | Add subsystem requirements file for NuGet. |
| docs/reqstream/nuget-installer/cli.yaml | Add subsystem requirements file for Cli. |
| docs/reqstream/nuget-installer.yaml | Add system-level requirements file for NuGet Installer. |
| docs/design/nuget-installer/utilities/path-helpers.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/utilities.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/self-test/validation.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/self-test.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/program.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/nuget/packages-config-reader.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/nuget/package-installer.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/nuget/package-extractor.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/nuget/models/package-entry.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/nuget/models.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/nuget.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/cli/context.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer/cli.md | Adjust headings to meet documentation heading-depth rules. |
| docs/design/nuget-installer.md | Add system-level design document in new consolidated location. |
| docs/design/introduction.md | Replace markdown reference links with inline/verbal references. |
| docs/design/definition.yaml | Update Pandoc input paths to new consolidated design structure. |
| docs/code_review_report/definition.yaml | Point code review report build at generated report path. |
| docs/code_review_plan/definition.yaml | Point code review plan build at generated plan path. |
| docs/code_quality/definition.yaml | Point code quality build at generated report paths. |
| docs/build_notes/definition.yaml | Point build notes build at generated build notes/version paths. |
| AGENTS.md | Update project overview, standards matrix, and generated-file guidance. |
| .yamllint.yaml | Update ignore patterns and exclude generated/ outputs. |
| .reviewmark.yaml | Expand review sets to include verification docs + new req/design paths. |
| .markdownlint-cli2.yaml | Disable MD013 enforcement for tables; ignore generated outputs. |
| .gitignore | Simplify generated-doc ignore rules to **/generated/. |
| .github/standards/verification-documentation.md | Add new standard defining verification doc structure and rules. |
| .github/standards/technical-documentation.md | Update globs and add explicit generated/ handling + heading depth rule. |
| .github/standards/software-items.md | Extend artifact model to include verification design + OTS artifact locations. |
| .github/standards/reviewmark-usage.md | Update ReviewMark paths and include verification/OTS review-set guidance. |
| .github/standards/requirements-principles.md | Clarify “WHAT vs HOW” guidance for unit naming. |
| .github/standards/reqstream-usage.md | Update hierarchy documentation and generated output locations. |
| .github/standards/design-documentation.md | Align design doc structure with heading-depth/folder-depth rules. |
| .github/standards/csharp-testing.md | Update testing standard content to xUnit v3 conventions. |
| .github/standards/csharp-language.md | Expand XmlDoc/literate coding guidance. |
| .github/standards/coding-principles.md | Expand API documentation expectations for “full symbol documentation”. |
| .github/pull_request_template.md | Update build/lint commands to pwsh ./build.ps1 and pwsh ./lint.ps1. |
| .github/agents/repo-consistency.agent.md | Remove repo-consistency agent definition. |
| .github/agents/lint-fix.agent.md | Update markdownlint guidance re: wide tables. |
| .github/agents/formal-review.agent.md | Ensure formal reviews include verification-documentation standard. |
| .github/agents/developer.agent.md | Minor formatting adjustments in workflow guidance. |
| .fileassert.yaml | Update expected output paths to generated/ and add verification doc checks. |
| .cspell.yaml | Add/ignore terms and exclude generated outputs from spellchecking. |
Comments suppressed due to low confidence (1)
requirements.yaml:20
requirements.yamlstill includes the MSTest OTS requirements (docs/reqstream/ots/mstest.yaml), but the test project has been migrated to xUnit (MSTest packages/attributes removed). This makes the requirements set inaccurate and can break traceability/audit assumptions. Update the included OTS requirement to reflect the actual test framework/tooling being used (or rename/replace the MSTest OTS requirement accordingly).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot apply changes based on the comments in this thread Also the build failed with: |
…tadata Agent-Logs-Url: https://github.com/demaconsulting/NuGetInstaller/sessions/3c47cd73-d873-43c9-a135-02b4e088ceed Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in 253b0f0. The PDF Subject metadata CI failure was caused by the |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 97 out of 101 changed files in this pull request and generated 7 comments.
Comments suppressed due to low confidence (2)
docs/reqstream/nuget-installer.yaml:112
- This requirement is about reporting an error when the config file is not found, but the linked evidence is a “valid config install” test. That test doesn’t exercise the missing-file path, so it can’t prove this requirement. Add/point to a system-level integration test that invokes the tool with a missing config file and asserts non-zero exit + error output.
docs/reqstream/nuget-installer.yaml:121 - This requirement is about reporting an error for malformed XML, but the linked evidence is a “valid config install” test. That test won’t fail if malformed XML handling is broken, so it can’t prove this requirement. Add/point to an integration test that runs the tool against malformed packages.config and asserts non-zero exit + error output.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot apply changes based on the comments in this thread |
Agent-Logs-Url: https://github.com/demaconsulting/NuGetInstaller/sessions/dffd5463-fe68-4984-ad04-793535f60fe7 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Done in 5a5e1c5:
|
|
@copilot please use lint-fix to fix the issues |
Agent-Logs-Url: https://github.com/demaconsulting/NuGetInstaller/sessions/76c0c39a-da56-44f6-84cf-23a3a9896ac1 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Done in 3ad9311. The lint-fix agent fixed:
|
Pull Request
Description
Extensive agent, xUnit, documentation cleanup.
Type of Change
Related Issues
Closes #
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.NuGetInstaller --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