Skip to content

feat: Add ReviewMark integration for formal file reviews#37

Merged
Malcolmnixon merged 7 commits intomainfrom
copilot/add-reviews-feature
Mar 12, 2026
Merged

feat: Add ReviewMark integration for formal file reviews#37
Malcolmnixon merged 7 commits intomainfrom
copilot/add-reviews-feature

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 11, 2026

Pull Request

Description

Integrates DemaConsulting.ReviewMark into the Continuous Compliance pipeline to provide automated file-review coverage tracking, producing a Review Plan and Review Report as PDF release artifacts on every CI run.

New files

  • .reviewmark.yaml — defines which C# source files need review (**/*.cs), points to the reviews branch as the evidence store (accessed via GitHub public HTTPS raw content at index.json), and declares a single Template-Review review-set
  • docs/reviewplan/title.txt, introduction.md, definition.yaml for the Review Plan PDF
  • docs/reviewreport/title.txt, introduction.md, definition.yaml for the Review Report PDF
  • .github/agents/code-review-agent.md — agent that elaborates a review-set via dotnet reviewmark --elaborate, applies the checks from the standard review template, and writes an AGENT_REPORT_review-*.md with findings only (no file modifications)

Updated files

  • .config/dotnet-tools.json — adds DemaConsulting.ReviewMark 0.1.0-rc.3
  • .versionmark.yaml — captures pre-release version suffixes (alpha/beta/rc) for all dotnet tools, not just ReviewMark
  • build.yaml (build-docs job) — adds ReviewMark self-validation, generates review-plan.md / review-report.md (no --enforce yet — reviews branch not yet populated), Pandoc HTML, and Weasyprint PDF steps
  • requirements.yaml — adds Template-OTS-ReviewMark OTS requirement
  • .cspell.json — adds reviewmark, ReviewMark, reviewplan, reviewreport
  • .gitignore — adds docs/reviewplan/review-plan.md and docs/reviewreport/review-report.md to prevent generated review markdown files from appearing as untracked files on local runs

The reviews branch (evidence store) must be created and populated with signed review PDFs and an index.json before --enforce can be added to the pipeline step.

Code Review Agent Run

The code-review-agent was executed against the Template-Review review-set (fingerprint 66194a21...). The following files were reviewed:

  • src/TemplateDotNetLibrary/DemoClass.cs
  • test/TemplateDotNetLibrary.Tests/AssemblyInfo.cs
  • test/TemplateDotNetLibrary.Tests/DemoClassTests.cs

All applicable checklist sections (Code Checks and Testing Checks) passed. The full findings are recorded in AGENT_REPORT_review-Template-Review.md (excluded from git via .gitignore). Overall Outcome: Pass.

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 unit 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

Quality Checks

Please run the following checks before submitting:

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • 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

The Template-OTS-ReviewMark requirement in requirements.yaml is linked to ReviewMark_ReviewPlanGeneration and ReviewMark_ReviewReportGeneration self-validation tests — these will be satisfied once ReviewMark's self-validation TRX output is confirmed in CI.

The evidence-source in .reviewmark.yaml points directly to index.json at https://raw.githubusercontent.com/demaconsulting/TemplateDotNetLibrary/reviews/index.json.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Add Reviews</issue_title>
<issue_description>### Problem Statement

This project should have review evidence using DemaConsulting.ReviewMark and signed PDFs.

Proposed Solution

Details on Reviews in Continuous Compliance projects can be found in https://github.com/demaconsulting/ContinuousCompliance and https://github.com/demaconsulting/ContinuousCompliance/blob/main/docs/file-reviews.md.

The steps to implement this are:

  • Add DemaConsulting.ReviewMark 0.1.0-rc.2 to dotnet-tools.json
  • Create a .reviewmark.yaml file
    • The review data and index.json will be located in a 'reviews' branch of this repo and should be accessed through the github public https blob access.
    • There will probably be only one review-set as this is just a template
  • Update the .versionmark.yaml and the build workflow to make sure the ReviewMark version is captured when making the documentation
  • Add the docs/reviewplan folder with the pandoc document template for the review plan
  • Add the docs/reviewreport folder with the pandoc document template for the review report
  • Update the build-docs job to:
    • Run the reviewmark self-validation
    • Run the reviewmark to generate the review-plan.md and review-report.md files (no enforcement yet)
    • Generate the review plan and review report PDFs
  • Add OTS software requirements for reviewmark
  • Add a new code-review-agent under .github/agents that can assist in performing reviews.

Alternatives Considered

No response

Usage Examples

Benefits

This will act as a good template for review-enforcement in downstream projects.

Priority

High - Blocking my use case

Willingness to Contribute

Yes, I can submit a pull request

Additional Context

No response

Checklist

  • I have searched existing issues to ensure this is not a duplicate
  • I have provided a clear description of the feature
  • I have explained why this feature would be useful</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Add review evidence using DemaConsulting.ReviewMark feat: Add ReviewMark integration for formal file reviews Mar 11, 2026
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon Malcolmnixon marked this pull request as ready for review March 11, 2026 19:13
Copilot AI review requested due to automatic review settings March 11, 2026 19:13
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

Integrates DemaConsulting.ReviewMark into the Continuous Compliance pipeline to generate and publish formal file-review coverage artifacts (Review Plan/Report) during CI runs.

Changes:

  • Adds ReviewMark as a dotnet tool and captures its version via VersionMark.
  • Introduces .reviewmark.yaml plus new Review Plan/Report document templates under docs/.
  • Extends the build-docs workflow to run ReviewMark self-validation, generate plan/report markdown, and produce PDF artifacts; adds an OTS requirement entry for ReviewMark.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
requirements.yaml Adds an OTS requirement for ReviewMark plan/report generation with linked test IDs.
docs/reviewreport/title.txt Adds Pandoc front-matter for the Review Report PDF.
docs/reviewreport/introduction.md Adds template introduction text for the Review Report.
docs/reviewreport/definition.yaml Adds Pandoc defaults to build the Review Report HTML/PDF.
docs/reviewplan/title.txt Adds Pandoc front-matter for the Review Plan PDF.
docs/reviewplan/introduction.md Adds template introduction text for the Review Plan.
docs/reviewplan/definition.yaml Adds Pandoc defaults to build the Review Plan HTML/PDF.
.versionmark.yaml Updates dotnet-tool version regexes to include prerelease suffixes; adds ReviewMark capture.
.reviewmark.yaml Adds ReviewMark configuration (review patterns, evidence source, review-set).
.github/workflows/build.yaml Runs ReviewMark validate + plan/report generation; builds HTML/PDF and uploads PDFs.
.github/agents/code-review-agent.md Adds a formal review agent guide for elaborating a review-set and producing findings.
.cspell.json Adds ReviewMark-related words to spellchecker allowlist.
.config/dotnet-tools.json Adds demaconsulting.reviewmark tool at 0.1.0-rc.2.

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

You can also share your feedback on Copilot code review. Take the survey.

@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot please update ReviewMark to 0.1.0-rc.3

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

Copilot AI commented Mar 11, 2026

@copilot please update ReviewMark to 0.1.0-rc.3

Done in 3ba132f. Updated demaconsulting.reviewmark to 0.1.0-rc.3 in .config/dotnet-tools.json.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Please add the two new generated markdown files to the gitignore. Additionally please update the .reviewmark.yaml comment about the evidence source to match the URL (fix the blob access comment).

…l comment

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

Copilot AI commented Mar 11, 2026

@copilot Please add the two new generated markdown files to the gitignore. Additionally please update the .reviewmark.yaml comment about the evidence source to match the URL (fix the...

Done in dae251c. Added docs/reviewplan/review-plan.md and docs/reviewreport/review-report.md to .gitignore, and updated the comment in .reviewmark.yaml from "GitHub public HTTPS blob access" to "GitHub public HTTPS raw content access".

@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Can you run the code-review agent to review the Template-Review review-set.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 11, 2026

@copilot Can you run the code-review agent to review the Template-Review review-set.

The code-review agent completed the Template-Review review-set. The AGENT_REPORT_review-Template-Review.md has been written to the repo root (excluded from git via .gitignore).

Files reviewed (fingerprint 66194a21...):

  • src/TemplateDotNetLibrary/DemoClass.cs
  • test/TemplateDotNetLibrary.Tests/AssemblyInfo.cs
  • test/TemplateDotNetLibrary.Tests/DemoClassTests.cs

Checklist results:

Section Outcome
2.1 Requirements Checks N/A — no requirements files in set
2.2 Documentation Checks N/A — no documentation files in set
2.3 Code Checks (6 checks) ✅ All Pass
2.4 Testing Checks (4 checks) ✅ All Pass
2.5–2.8 Cross-section Checks N/A — no requirements/documentation files

Observations (non-failures):

  • OBS-01: DemoClass.cs has three inline comments describing self-evident code — minor style note, no action required.
  • OBS-02: AssemblyInfo.cs has no XML doc comment on the assembly attribute — infrastructure-only file, no action required.

Overall Outcome: ✅ Pass — all applicable checks passed. No failures recorded.

@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot The evidence-source needs to include the index.json

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

Copilot AI commented Mar 11, 2026

@copilot The evidence-source needs to include the index.json

Done in f470eba. Updated evidence-source.location to https://raw.githubusercontent.com/demaconsulting/TemplateDotNetLibrary/reviews/index.json.

@Malcolmnixon Malcolmnixon merged commit 886fbea into main Mar 12, 2026
6 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/add-reviews-feature branch March 12, 2026 00:11
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.

[Feature]: Add Reviews

3 participants