Skip to content

Formal review fixes: rename misleading test, document short flags, fix design gaps, add system requirements and subsystem tests - #20

Merged
Malcolmnixon merged 2 commits into
mainfrom
copilot/perform-formal-review-steps
Apr 5, 2026
Merged

Formal review fixes: rename misleading test, document short flags, fix design gaps, add system requirements and subsystem tests#20
Malcolmnixon merged 2 commits into
mainfrom
copilot/perform-formal-review-steps

Conversation

Copilot AI commented Apr 5, 2026

Copy link
Copy Markdown
Contributor

Description

Performed formal code reviews on all 19 review-sets defined in .reviewmark.yaml. Each review-set was reviewed by a dedicated code-review sub-agent to prevent context collisions. Review reports were saved to .agent-logs/ (gitignored).

FileAssert-Cli (FAIL → fixed)

Issue 1 — Misleading test name:

  • Renamed CliSubsystem_CreateContext_ParsesAllSupportedFlagsCliSubsystem_CreateContext_ParsesSilentValidateAndLogFlags to accurately reflect what is tested (only --silent, --validate, --log, not all 7 flags)
  • Updated docs/reqstream/file-assert/cli/cli.yaml to reference the new test name

Issue 2 — Undocumented short flag aliases:

  • Updated docs/design/file-assert/cli/cli.md to document --version/-v, --help/-h/-? short aliases

FileAssert-Design (Medium → fixed)

Issue — Incomplete rule types in execution flow:

  • Updated docs/design/file-assert/file-assert.md step 8 to list all four content rule types (FileAssertContainsRule, FileAssertMatchesRule, FileAssertDoesNotContainRule, FileAssertDoesNotMatchRule)

FileAssert-Architecture (Medium → fixed)

Issue — Four integration tests not referenced in system requirements:

  • Added four new system requirements to docs/reqstream/file-assert/file-assert.yaml:
    • FileAssert-System-VersionFlagIntegrationTest_VersionFlag_OutputsVersion
    • FileAssert-System-HelpFlagIntegrationTest_HelpFlag_OutputsUsageInformation
    • FileAssert-System-ValidateFlagIntegrationTest_ValidateFlag_RunsValidation
    • FileAssert-System-UnknownArgumentIntegrationTest_UnknownArgument_ReturnsError

FileAssert-SelfTest (High → fixed)

Issue — Missing subsystem test coverage for design responsibilities:

  • Added SelfTestSubsystem_Run_PrintsSystemInfoHeader — verifies system information header is present in output (XML doc comment updated to remove over-reach claim about ordering)
  • Added SelfTestSubsystem_Run_WithResultsFile_WritesTrxResultsFile — verifies TRX results file is created and contains test run content
  • Updated docs/reqstream/file-assert/selftest/selftest.yaml to reference both new tests

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

All 132 tests pass on net8.0 with zero build warnings. Review reports for all 19 review-sets are stored in .agent-logs/ (gitignored).

…short flags, fix rule types in design, add missing system requirements, add SelfTest subsystem tests

Agent-Logs-Url: https://github.com/demaconsulting/FileAssert/sessions/d07de08d-dd39-4ae4-bb69-dbe9d6734450

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Malcolmnixon marked this pull request as ready for review April 5, 2026 14:15
Copilot AI review requested due to automatic review settings April 5, 2026 14:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 addresses findings from a formal review sweep across the FileAssert review-sets by tightening requirement/test traceability, clarifying documentation, and adding missing subsystem/system-level coverage for CLI and self-validation behavior.

Changes:

  • Renames a misleading CLI subsystem test and updates reqstream references accordingly.
  • Expands design documentation to reflect all supported content rule types and documents CLI short-flag aliases.
  • Adds missing system requirements for key CLI flags and introduces new SelfTest subsystem tests for system info header output and TRX results writing.

Reviewed changes

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

Show a summary per file
File Description
test/DemaConsulting.FileAssert.Tests/SelfTest/SelfTestSubsystemTests.cs Adds new SelfTest subsystem tests for system info header logging and TRX results output.
test/DemaConsulting.FileAssert.Tests/Cli/CliSubsystemTests.cs Renames/retitles a CLI parsing test to accurately reflect the flags covered.
docs/reqstream/file-assert/selftest/selftest.yaml Links SelfTest requirements to the newly added subsystem tests.
docs/reqstream/file-assert/file-assert.yaml Adds new system requirements tied to existing CLI integration tests for version/help/validate/unknown args.
docs/reqstream/file-assert/cli/cli.yaml Updates reqstream test reference to match the renamed CLI subsystem test.
docs/design/file-assert/file-assert.md Updates execution flow to list all supported content rule types.
docs/design/file-assert/cli/cli.md Documents short aliases for --version and --help.

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

@Malcolmnixon

Copy link
Copy Markdown
Member

@copilot apply changes based on the comments in this thread

…lfTestSubsystem_Run_PrintsSystemInfoHeader doc comment

Agent-Logs-Url: https://github.com/demaconsulting/FileAssert/sessions/25b759cb-8298-4565-b882-2e84c6843386

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI requested a review from Malcolmnixon April 5, 2026 14:29
@Malcolmnixon
Malcolmnixon merged commit ce78bd7 into main Apr 5, 2026
15 checks passed
@Malcolmnixon
Malcolmnixon deleted the copilot/perform-formal-review-steps branch April 5, 2026 14:59
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