Rename TemplateDotNetTool → ReviewMark and add ARCHITECTURE.md#1
Conversation
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR renames the tool and repository identity from TemplateDotNetTool to ReviewMark, updates build/test/CI and docs to match the new name, and adds an ARCHITECTURE.md describing the intended ReviewMark evidence-management workflow.
Changes:
- Renamed namespaces, assembly/package/tool identifiers, solution/test project references, and CLI banner/help text to
ReviewMark. - Updated CI workflow, scripts, requirements IDs, and documentation to reference the new tool/package/command name.
- Added
ARCHITECTURE.mdwith the proposed review-definition, fingerprinting, indexing, and reporting design.
Reviewed changes
Copilot reviewed 46 out of 47 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| test/DemaConsulting.ReviewMark.Tests/Runner.cs | Updates test namespace to DemaConsulting.ReviewMark.Tests. |
| test/DemaConsulting.ReviewMark.Tests/ProgramTests.cs | Updates expected banner/version text to “ReviewMark”. |
| test/DemaConsulting.ReviewMark.Tests/PathHelpersTests.cs | Updates test namespace to DemaConsulting.ReviewMark.Tests. |
| test/DemaConsulting.ReviewMark.Tests/IntegrationTests.cs | Updates test namespace + DLL name + expected log/banner strings. |
| test/DemaConsulting.ReviewMark.Tests/DemaConsulting.ReviewMark.Tests.csproj | Updates project reference to renamed src project. |
| test/DemaConsulting.ReviewMark.Tests/ContextTests.cs | Updates test namespace to DemaConsulting.ReviewMark.Tests. |
| test/DemaConsulting.ReviewMark.Tests/AssemblyInfo.cs | Adds assembly-level MSTest setting to disable parallelization. |
| src/DemaConsulting.ReviewMark/Validation.cs | Renames validation output/test IDs and headings to ReviewMark. |
| src/DemaConsulting.ReviewMark/Program.cs | Renames CLI banner/help/usage strings and namespaces to ReviewMark. |
| src/DemaConsulting.ReviewMark/PathHelpers.cs | Renames namespace to DemaConsulting.ReviewMark. |
| src/DemaConsulting.ReviewMark/DemaConsulting.ReviewMark.csproj | Updates tool/package identity (ToolCommandName/PackageId/URLs/InternalsVisibleTo). |
| src/DemaConsulting.ReviewMark/Context.cs | Renames namespace to DemaConsulting.ReviewMark. |
| requirements.yaml | Renames requirement IDs/section title and self-validation test references. |
| lint.sh | Updates comment header to ReviewMark. |
| lint.bat | Updates comment header to ReviewMark. |
| docs/tracematrix/title.txt | Renames titles/keywords to ReviewMark. |
| docs/tracematrix/introduction.md | Renames project references to ReviewMark. |
| docs/requirements/title.txt | Renames titles/keywords to ReviewMark. |
| docs/requirements/introduction.md | Renames project references to ReviewMark. |
| docs/quality/title.txt | Renames titles/keywords to ReviewMark. |
| docs/quality/introduction.md | Renames project references to ReviewMark. |
| docs/justifications/title.txt | Renames titles/keywords to ReviewMark. |
| docs/justifications/introduction.md | Renames project references to ReviewMark. |
| docs/guide/title.txt | Renames titles/keywords to ReviewMark and updates guide positioning. |
| docs/guide/guide.md | Updates usage examples and descriptive text for ReviewMark. |
| docs/buildnotes/title.txt | Renames titles/keywords to ReviewMark. |
| docs/buildnotes/introduction.md | Renames project references to ReviewMark. |
| build.sh | Updates script text and project path for self-validation run. |
| build.bat | Updates script text and project path for self-validation run. |
| SECURITY.md | Renames project references and GitHub links to ReviewMark. |
| README.md | Renames project and rewrites feature/usage text for ReviewMark. |
| DemaConsulting.TemplateDotNetTool.slnx | Removes old solution file. |
| DemaConsulting.ReviewMark.slnx | Adds new solution file with renamed project paths. |
| CONTRIBUTING.md | Renames project references, commands, and links to ReviewMark. |
| CODE_OF_CONDUCT.md | Updates issues link to ReviewMark repo. |
| ARCHITECTURE.md | Adds architecture/design document for review evidence management workflow. |
| AGENTS.md | Updates agent quick reference text and self-validation naming guidance. |
| .yamllint.yaml | Updates comment header to ReviewMark. |
| .vscode/tasks.json | Updates solution/project paths for VS Code tasks. |
| .github/workflows/build.yaml | Updates Sonar keys, package paths, tool install name, and CLI invocations to ReviewMark. |
| .github/pull_request_template.md | Updates self-validation command path to renamed project. |
| .github/codeql-config.yml | Updates CodeQL exclude paths and config name to ReviewMark. |
| .github/ISSUE_TEMPLATE/question.yml | Updates template text/links/tool name to ReviewMark. |
| .github/ISSUE_TEMPLATE/feature_request.yml | Updates template text/examples to ReviewMark. |
| .github/ISSUE_TEMPLATE/config.yml | Updates contact links to ReviewMark repo/discussions. |
| .github/ISSUE_TEMPLATE/bug_report.yml | Updates template text/tool name to ReviewMark. |
| .cspell.json | Updates dictionary terms to match ReviewMark vocabulary. |
💡 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.
|
@copilot please fix linting issues, also you may want to add an example .reviewmark.yaml to the README.md - see ARCHITECTURE.md for example. |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed in commit Linting fixes in
Spell check fixes in
All linters now pass (markdownlint: 0 errors, cspell: 0 issues, yamllint: clean). |
|
@copilot please switch artefact to artifact and remove from cspell dictionary. |
|
@copilot consider authorisation vs authorization |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Done in commit |
|
@copilot and organization |
|
@copilot essentially use the US rather than English forms |
… from cspell dict Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Done in commit
Done in the same commit |
Already done in commit |
Applies all project-wide renames from
TemplateDotNetTooltoReviewMarkand introducesARCHITECTURE.mddescribing how the ReviewMark file-review evidence management tool works.Description
Structural renames
src/DemaConsulting.TemplateDotNetTool/→src/DemaConsulting.ReviewMark/test/DemaConsulting.TemplateDotNetTool.Tests/→test/DemaConsulting.ReviewMark.Tests/DemaConsulting.TemplateDotNetTool.slnx→DemaConsulting.ReviewMark.slnxPackage / tool identity
PackageId:DemaConsulting.ReviewMarkToolCommandName:reviewmark(wastemplatetool)Description,Title,PackageProjectUrl,RepositoryUrlupdated to ReviewMarkCode
DemaConsulting.ReviewMarkReviewMark version …ReviewMark_VersionDisplay,ReviewMark_HelpDisplayRequirements & config
requirements.yaml: section title, requirement IDs (ReviewMark-*), and test name references.cspell.json: replacedtemplatetool/TMPLwithreviewmark,ReviewMark,PdfSharp,reindex,empira,fileshareDocumentation
README.mdrewritten for ReviewMark; added Review Definition section with an example.reviewmark.yamland a link toARCHITECTURE.mddocs/guide/guide.mdrewritten for ReviewMarkdocs/*/title.txtanddocs/*/introduction.mdupdatedCONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md,AGENTS.mdupdatedARCHITECTURE.mdcreated — covers the review definition file format, SHA256 fingerprinting algorithm, evidence index (index.json), PDF Keywords metadata format,--reindexcommand, enforcement, CI/CD integration, and standards alignment (IEC 62443, ISO 26262, DO-178C)ARCHITECTURE.md: addedtextlanguage specifier to bare fenced code block (MD040) and wrapped a 155-char line to ≤120 chars (MD013)artefact/artefactswithartifact/artifactsthroughoutARCHITECTURE.mdARCHITECTURE.md:authorisation→authorization,organisation→organization; removed both from.cspell.jsonType of Change
Pre-Submission Checklist
Build and Test
dotnet build --configuration Releasedotnet test --configuration Releasedotnet run --project src/DemaConsulting.ReviewMark --configuration Release --framework net10.0--no-build -- --validateCode Quality
dotnet format --verify-no-changesQuality Checks
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint .Testing
Documentation
Additional Notes
39 unit tests pass across net8.0, net9.0, and net10.0. No CodeQL alerts. The
.github/agents/files were intentionally left unmodified (agent instructions are not within scope for direct editing).Original prompt
Please bring in the template, and then apply all appropriate renames from TemplateDotNetTool to ReviewMark (noting that the repo-consistency-agent still needs to keep the ReviewMark repo consistent with the TemplateDotNetTool repo).
Secondarily the documentation of the ReviewMark tool needs to be updated. The rest of this is an overview of how this ReviewMark tool should work - please create an ARCHITECTURE.md file containing the following:
File Review
In regulated environments, software artefacts — source files, configuration, requirements, test code —
must be formally reviewed before release. Tracking which files have been reviewed, whether those reviews
are current, and whether every file in the repository is covered by a review is a significant manual
burden. Without automation, reviews go stale silently and coverage gaps are discovered only at audit time.
ReviewMark automates file-review evidence management. It computes cryptographic fingerprints of
defined file-sets, queries a review evidence store (URL or file-share) for corresponding code-review
PDFs, and produces two compliance documents with every CI/CD run.
How It Works
Review Definition File
Reviews are configured in a '.reviewmark.yaml' definition file at the repository root:
The
needs-reviewsection defines the full set of files in the repository that are subject toreview. ReviewMark uses this to detect any file that is not covered by any review-set — a coverage
gap that would otherwise go unnoticed until an audit.
Each review-set is a named group of ordered glob patterns. Patterns prefixed with
!are exclusionsand are applied in the order they appear, allowing fine-grained control over which files are included.
Fingerprinting
The fingerprint for a review-set is computed as follows:
Sorting by content hash rather than file path means that renaming a file does not invalidate the
review — only actual content changes cause the fingerprint to change. This avoids spurious review
expiry due to refactoring or directory restructuring.
Evidence Source
ReviewMark queries the configured evidence source for review PDFs. Two source types are supported:
urlfileshareEvidence Index
Rather than imposing a file-naming convention on the evidence store, ReviewMark uses an
index file —
index.json— located at the root of the evidence source. The index is amachine-maintained catalogue of all available review PDFs and their metadata. ReviewMark fetches
this index at the start of each run and looks up each review-set by ID and fingerprint.
The index has the following structure:
{ "reviews": [ { "id": "Core-Logic", "fingerprint": "a3f9c2d1e4b5...", "date": "2026-02-14", "result": "pass", "file": "CR-2026-014 Core Logic Review.pdf" }, { "id": "Security-Layer", "fingerprint": "c72b8a3f91e0...", "date": "2025-11-03", "result": "pass", "file": "CR-2025-089 Security Layer Review.pdf" } ] }idfingerprintdateresultpassorfailfileReviewMark determines review status by looking up the current review ID and fingerprint in the
index:
idandfingerprint, withresultofpassid, but none match the currentfingerprint💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.