Skip to content

Repo upgrade#112

Merged
Malcolmnixon merged 7 commits into
mainfrom
repo-upgrade
May 11, 2026
Merged

Repo upgrade#112
Malcolmnixon merged 7 commits into
mainfrom
repo-upgrade

Conversation

@Malcolmnixon
Copy link
Copy Markdown
Member

Pull Request

Description

Agent updates, verification document, xUnit, generated document folder.

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

Closes #

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.SarifMark --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

Copilot AI review requested due to automatic review settings May 11, 2026 10:38
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

This PR modernizes the repository’s testing, documentation, and compliance tooling alignment by migrating the test suite to xUnit v3 and introducing a new verification-documentation set that maps requirements to test evidence, while also restructuring CI document outputs into generated/ and a consolidated docs/generated/ artifact folder.

Changes:

  • Migrated unit/integration tests from MSTest to xUnit v3 (attributes + assertion updates, test initialization updates).
  • Added a new docs/verification/ document collection (definition, title, and per-system/subsystem/unit/OTS verification pages).
  • Updated CI/document tooling to write build outputs into generated/ folders and publish final PDFs into docs/generated/, plus updated standards/config to ignore generated outputs.

Reviewed changes

Copilot reviewed 90 out of 94 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/DemaConsulting.SarifMark.Tests/Utilities/UtilitiesTests.cs Migrates Utilities subsystem tests from MSTest to xUnit.
test/DemaConsulting.SarifMark.Tests/Utilities/PathHelpersTests.cs Migrates PathHelpers unit tests from MSTest to xUnit.
test/DemaConsulting.SarifMark.Tests/SelfTest/ValidationTests.cs Migrates Validation unit tests from MSTest to xUnit and adjusts assertions.
test/DemaConsulting.SarifMark.Tests/SelfTest/SelfTestTests.cs Migrates SelfTest subsystem tests from MSTest to xUnit.
test/DemaConsulting.SarifMark.Tests/Sarif/SarifTests.cs Migrates SARIF subsystem tests to xUnit and renames scenarios.
test/DemaConsulting.SarifMark.Tests/Sarif/SarifRunTests.cs Migrates SarifRun unit tests from MSTest to xUnit.
test/DemaConsulting.SarifMark.Tests/Sarif/SarifFindingTests.cs Migrates SarifFinding unit tests from MSTest to xUnit.
test/DemaConsulting.SarifMark.Tests/ProgramTests.cs Migrates Program unit tests to xUnit and adds coverage for --silent.
test/DemaConsulting.SarifMark.Tests/IntegrationTests.cs Migrates end-to-end integration tests to xUnit and updates initialization pattern.
test/DemaConsulting.SarifMark.Tests/DemaConsulting.SarifMark.Tests.csproj Switches test framework packages to xUnit v3 and updates implicit usings.
test/DemaConsulting.SarifMark.Tests/Cli/CliTests.cs Migrates CLI subsystem tests to xUnit and adds depth/log behavior coverage.
test/DemaConsulting.SarifMark.Tests/AssemblyInfo.cs Updates assembly-level parallelization settings for xUnit.
src/DemaConsulting.SarifMark/Program.cs Adds documentation/remarks and tightens intended internal API surface.
src/DemaConsulting.SarifMark/Cli/Context.cs Improves XML doc exception/remarks detail for parsing/log/error behavior.
requirements.yaml Updates ReqStream include paths and switches OTS test framework requirement to xUnit v3.
docs/verification/title.txt Adds verification document metadata front-matter for Pandoc.
docs/verification/sarifmark/utilities/path-helpers.md Adds unit-level verification evidence narrative for PathHelpers.
docs/verification/sarifmark/utilities.md Adds subsystem-level verification narrative for Utilities.
docs/verification/sarifmark/self-test/validation.md Adds unit-level verification narrative for Validation.
docs/verification/sarifmark/self-test.md Adds subsystem-level verification narrative for SelfTest.
docs/verification/sarifmark/sarif/sarif-run.md Adds unit-level verification narrative for SarifRun.
docs/verification/sarifmark/sarif/sarif-results.md Adds unit-level verification narrative for SarifResults.
docs/verification/sarifmark/sarif/sarif-finding.md Adds unit-level verification narrative for SarifFinding.
docs/verification/sarifmark/sarif.md Adds subsystem-level verification narrative for Sarif.
docs/verification/sarifmark/program.md Adds unit-level verification narrative for Program.
docs/verification/sarifmark/cli/context.md Adds unit-level verification narrative for Context.
docs/verification/sarifmark/cli.md Adds subsystem-level verification narrative for CLI.
docs/verification/sarifmark.md Adds system-level verification narrative for SarifMark.
docs/verification/ots/xunit-v3.md Adds OTS verification narrative for xUnit v3.
docs/verification/ots/weasyprint.md Updates/introduces OTS verification narrative for WeasyPrint.
docs/verification/ots/versionmark.md Updates/introduces OTS verification narrative for VersionMark.
docs/verification/ots/sonarmark.md Updates/introduces OTS verification narrative for SonarMark.
docs/verification/ots/reviewmark.md Updates/introduces OTS verification narrative for ReviewMark.
docs/verification/ots/reqstream.md Updates/introduces OTS verification narrative for ReqStream.
docs/verification/ots/pandoc.md Updates/introduces OTS verification narrative for Pandoc.
docs/verification/ots/fileassert.md Updates/introduces OTS verification narrative for FileAssert.
docs/verification/ots/buildmark.md Updates/introduces OTS verification narrative for BuildMark.
docs/verification/ots.md Adds top-level OTS verification section wrapper.
docs/verification/introduction.md Adds verification collection introduction and navigation guidance.
docs/verification/definition.yaml Adds Pandoc build definition for the verification document.
docs/requirements_report/definition.yaml Moves trace matrix input to generated/ output path.
docs/requirements_doc/definition.yaml Moves requirements doc input to generated/ output path.
docs/reqstream/sarifmark/utilities.yaml Adds Utilities subsystem requirements file in new ReqStream structure.
docs/reqstream/sarifmark/self-test.yaml Adds SelfTest subsystem requirements file in new ReqStream structure.
docs/reqstream/sarifmark/sarif.yaml Adds SARIF subsystem requirements file in new ReqStream structure.
docs/reqstream/sarifmark/program.yaml Updates Program requirement wording for validate behavior.
docs/reqstream/sarifmark/cli/context.yaml Adjusts requirement wording and ensures WriteError has explicit tests mapping.
docs/reqstream/sarifmark/cli.yaml Adds CLI subsystem requirements file in new ReqStream structure.
docs/reqstream/sarifmark.yaml Updates system requirements with children + adds new system requirements.
docs/reqstream/ots/xunit-v3.yaml Adds xUnit v3 OTS requirements (replacing MSTest OTS).
docs/reqstream/ots/mstest.yaml Removes MSTest OTS requirements (replaced by xUnit v3).
docs/design/sarifmark/utilities/path-helpers.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/utilities.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/self-test/validation.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/self-test.md Updates design headings/structure and cross-reference style.
docs/design/sarifmark/sarif/sarif-run.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/sarif/sarif-results.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/sarif/sarif-finding.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/sarif.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/program.md Updates design headings/structure and clarifies requirement satisfaction mapping.
docs/design/sarifmark/cli/context.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark/cli.md Updates design headings/structure to comply with heading depth rules.
docs/design/sarifmark.md Updates system design doc references/structure and adds external dependencies section.
docs/design/introduction.md Updates introduction content and adds companion artifact structure section.
docs/design/definition.yaml Updates Pandoc input list to new design doc paths.
docs/code_review_report/definition.yaml Moves ReviewMark report input to generated/.
docs/code_review_plan/definition.yaml Moves ReviewMark plan input to generated/.
docs/code_quality/definition.yaml Moves code quality report inputs to generated/.
docs/build_notes/definition.yaml Moves build notes inputs to generated/.
CONTRIBUTING.md Updates documented test framework and assertion guidance to xUnit v3.
AGENTS.md Updates structure matrix, adds verification docs, and enforces “no generated file access”.
.yamllint.yaml Updates ignore patterns and adds generated/ exclusion.
.reviewmark.yaml Updates review sets to include verification docs and new requirements/design paths.
.markdownlint-cli2.yaml Ignores generated/ folders.
.github/workflows/build.yaml Writes all document outputs into generated/ and publishes PDFs/outputs into docs/generated/.
.github/standards/verification-documentation.md Adds a new standard defining required structure for verification docs.
.github/standards/technical-documentation.md Updates Pandoc layout rules, heading depth rule, and generated-folder handling.
.github/standards/software-items.md Adds verification design as a first-class artifact type and expands OTS guidance.
.github/standards/reviewmark-usage.md Updates ReviewMark guidance to the new generated paths and includes verification sets.
.github/standards/requirements-principles.md Clarifies what vs how guidance for unit naming.
.github/standards/reqstream-usage.md Updates required folder layout and generated output paths.
.github/standards/design-documentation.md Updates required design doc structure and heading depth rule alignment.
.github/standards/csharp-testing.md Updates C# testing standard from MSTest guidance to xUnit v3 guidance.
.github/standards/csharp-language.md Updates documentation example and emphasizes XmlDoc + literate coding.
.github/standards/coding-principles.md Expands documentation expectations and contract guidance for all symbols.
.github/pull_request_template.md Updates recommended build/lint commands and documentation checklist wording.
.github/agents/repo-consistency.agent.md Removes the repo-consistency agent definition.
.github/agents/lint-fix.agent.md Updates markdownlint guidance for wide tables.
.github/agents/formal-review.agent.md Updates formal-review agent to include verification-documentation standard.
.github/agents/developer.agent.md Minor wording/format updates to developer agent workflow.
.fileassert.yaml Updates FileAssert document checks for new generated/ output locations and adds verification doc checks.
.cspell.yaml Updates spelling allowlist and ignores generated/.
Comments suppressed due to low confidence (3)

docs/reqstream/sarifmark.yaml:132

  • SarifMark-System-ReportHeading is currently traced to SarifMark_HelpFlag_OutputsUsageInformation, which only verifies help text includes flags and does not verify that a custom heading is actually accepted/applied in generated markdown reports. This leaves the requirement effectively untested/mis-traced; add or reference a test that runs report generation with --heading and asserts the output uses the custom heading, then update the tests: mapping accordingly.
    docs/reqstream/sarifmark.yaml:142
  • SarifMark-System-ValidateResults is traced to SarifMark_ValidateFlag_RunsSelfValidation, but that integration test does not supply --results and therefore cannot verify that a results file is written. Add/point to a test that invokes --validate --results <path> (and asserts the file exists/contains expected markers), then update the tests: list so ReqStream traceability reflects actual coverage.
    docs/design/sarifmark/self-test.md:28
  • In the subsystem interface table, Validation.Run is marked as Outbound, but it is an entrypoint invoked by other parts of the tool (e.g., Program via the --validate path), which makes it an inbound interface to the SelfTest subsystem. Update the Direction column to reflect the actual call direction so the design documentation stays consistent.

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

Comment thread docs/verification/sarifmark/cli.md
Comment thread docs/verification/sarifmark/sarif.md Outdated
@Malcolmnixon
Copy link
Copy Markdown
Member Author

@copilot apply changes based on the comments in this thread

Also the build failed with:
File 'D:\a\SarifMark\SarifMark\docs/generated/SarifMark Software Verification Design.pdf' PDF metadata 'Subject' does not contain 'Verification design document'

Please check the pandoc title.txt metadata against the .fileassert.yaml checks.

Copy link
Copy Markdown
Contributor

Copilot AI commented May 11, 2026

@copilot apply changes based on the comments in this thread

Also the build failed with:
...

Addressed in commit dada328.

I updated docs/verification/sarifmark/cli.md and docs/verification/sarifmark/sarif.md to use the current xUnit v3 test scenario names from CliTests.cs and SarifTests.cs, and updated docs/verification/title.txt metadata wording so the verification PDF Subject contains Verification design document for the FileAssert check.

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

Copilot reviewed 90 out of 94 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (2)

docs/reqstream/sarifmark.yaml:132

  • SarifMark-System-ReportHeading is linked to SarifMark_HelpFlag_OutputsUsageInformation, but that integration test does not assert --heading is present (or that the heading affects generated report content). To keep system-level traceability accurate, either (1) add an integration test that runs the tool with --heading and validates the generated report, or (2) link this requirement to existing tests that actually validate the heading behavior (CLI parsing + report generation).
    docs/reqstream/sarifmark.yaml:142
  • SarifMark-System-ValidateResults describes --results behavior, but it is currently linked only to SarifMark_ValidateFlag_RunsSelfValidation, which runs --validate without --results and does not assert any results file is written. Consider adding a system-level integration test that passes --validate --results <path> and asserts the file exists/content, or update the tests: mapping to point at the existing SelfTest_ResultsFile_* scenarios that actually validate results file output.

Comment thread docs/verification/sarifmark/sarif/sarif-run.md
Comment thread docs/verification/sarifmark/sarif/sarif-results.md
@Malcolmnixon
Copy link
Copy Markdown
Member Author

@copilot apply changes based on the comments in this thread

Copy link
Copy Markdown
Contributor

Copilot AI commented May 11, 2026

@copilot apply changes based on the comments in this thread

Applied in commit 8426c02.

I corrected the two verification mappings in docs/verification/sarifmark/sarif/sarif-run.md and docs/verification/sarifmark/sarif/sarif-results.md to point to the exact current test evidence names in SarifRunTests and SarifResultsTests.

No UI changes (documentation-only), so there is no UI screenshot.

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

Copilot reviewed 90 out of 94 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

docs/reqstream/sarifmark.yaml:142

  • These system requirements are mapped to tests that do not validate the stated behavior: SarifMark-System-ReportHeading is mapped to a help test, and SarifMark-System-ValidateResults is mapped to a validate-mode test without asserting a results file is written. Update the tests: mapping to scenarios that actually exercise --heading affecting report output and --results creating TRX/JUnit files (or add such tests) so the traceability matrix reflects real verification evidence.

@Malcolmnixon
Copy link
Copy Markdown
Member Author

@copilot the Build failed with:

Error: Only 113 of 146 requirements are satisfied with tests.
Unsatisfied requirements:

  • SarifMark-System-SarifRequired
  • SarifMark-Cli-Interface
  • SarifMark-Cli-Version
  • SarifMark-Cli-Help
  • SarifMark-Cli-Silent
  • SarifMark-Cli-Log
  • SarifMark-Cli-Enforce
  • SarifMark-Cli-WriteError
  • SarifMark-Cli-InvalidArgs
  • SarifMark-Cli-Validate
  • SarifMark-Cli-Sarif
  • SarifMark-Cli-Report
  • SarifMark-Cli-ReportDepth
  • SarifMark-Cli-Heading
  • SarifMark-Cli-Results
  • SarifMark-Cli-ReportDepthLegacyAlias
  • SarifMark-Cli-ResultLegacyAlias
  • SarifMark-Sarif-Reading
  • SarifMark-Sarif-Validation
  • SarifMark-Sarif-ToolInfo
  • SarifMark-Sarif-Results
  • SarifMark-Sarif-Locations
  • SarifMark-Sarif-FilePaths
  • SarifMark-Sarif-Processing
  • SarifMark-Sarif-FileCount
  • SarifMark-Sarif-MultiRun
  • SarifMark-Report-Markdown
  • SarifMark-Report-Depth
  • SarifMark-Report-Counts
  • SarifMark-Report-Locations
  • SarifMark-Report-Headings
  • SarifMark-Report-LineBreaks
  • SarifMark-Report-FileCount

Copy link
Copy Markdown
Contributor

Copilot AI commented May 11, 2026

@copilot the Build failed with:

Error: Only 113 of 146 requirements are satisfied with tests.
...

Fixed in commit 3423353.

I updated the ReqStream requirement mappings in:

  • docs/reqstream/sarifmark/cli.yaml
  • docs/reqstream/sarifmark/sarif.yaml
  • docs/reqstream/sarifmark/sarif/report.yaml

All affected entries now reference the current xUnit v3 test method names, which restores traceability for the previously unsatisfied CLI/SARIF/report requirements.

No UI changes were made, so no screenshot applies.

@Malcolmnixon Malcolmnixon merged commit 660809b into main May 11, 2026
15 checks passed
@Malcolmnixon Malcolmnixon deleted the repo-upgrade branch May 11, 2026 22:34
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