Clean up and sync templates based on review feedback#87
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refines repository configuration, test coverage, and compliance documentation to improve consistency and traceability across VersionMark’s CLI/configuration/self-test/utilities workflows, while also normalizing lint/build tooling inputs.
Changes:
- Expanded and reorganized test coverage across utilities (GlobMatcher/PathHelpers), configuration loading/validation, CLI parsing, capture error-handling, publishing depth validation, and self-validation traceability tests.
- Restructured requirements/design/verification documentation trees (including new OTS integration + verification pages) to better align with the project’s compliance and traceability model.
- Normalized tooling/config files and scripts (lint/fix/build, yamllint/markdownlint/cspell, default constants in Program) for clearer, more maintainable standards enforcement.
Reviewed changes
Copilot reviewed 148 out of 150 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test/DemaConsulting.VersionMark.Tests/Utilities/PathHelpersTests.cs | Adds PathHelpers traversal/multi-segment and base-directory DLL existence tests. |
| test/DemaConsulting.VersionMark.Tests/Utilities/GlobMatcherTests.cs | Adds deduplication test and notes about CurrentDirectory mutation constraints. |
| test/DemaConsulting.VersionMark.Tests/SelfTest/SelfTestTests.cs | Removes PathHelpers tests from SelfTest and adds traceability-style validation tests. |
| test/DemaConsulting.VersionMark.Tests/Publishing/PublishingTests.cs | Adds reportDepth <= 0 exception test for MarkdownFormatter. |
| test/DemaConsulting.VersionMark.Tests/Publishing/MarkdownFormatterTests.cs | Renames tests for consistency with MarkdownFormatter.Format and clarifies single-job semantics. |
| test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigTests.cs | Normalizes file header (copyright year/formatting). |
| test/DemaConsulting.VersionMark.Tests/Configuration/VersionMarkConfigLoadTests.cs | Adds non-mapping YAML root load test. |
| test/DemaConsulting.VersionMark.Tests/Configuration/LintIssueTests.cs | Adds null-context guard test for ReportIssues. |
| test/DemaConsulting.VersionMark.Tests/Configuration/ConfigurationTests.cs | Adds more invalid-config coverage (root type, missing tools, invalid regex, empty command/regex, missing version group). |
| test/DemaConsulting.VersionMark.Tests/Cli/ContextTests.cs | Improves assertions for silent-mode stderr behavior and adds parsing error tests (--depth missing value, -- misuse). |
| test/DemaConsulting.VersionMark.Tests/Capture/CaptureTests.cs | Adds capture pipeline failure-mode coverage (invalid command, regex no match, missing job-id). |
| src/DemaConsulting.VersionMark/Utilities/PathHelpers.cs | Adds security-focused remarks clarifying traversal-prevention behavior. |
| src/DemaConsulting.VersionMark/Program.cs | Introduces constants for default config file and default publish glob pattern. |
| src/DemaConsulting.VersionMark/Configuration/VersionMarkConfig.cs | Normalizes file header (copyright year/formatting). |
| src/DemaConsulting.VersionMark/Cli/Context.cs | Adds thread-safety remark, documents exceptions, and enforces -- separator validity only in capture/publish modes. |
| requirements.yaml | Adds lint-issue requirements file include and wraps long comment. |
| lint.ps1 | Simplifies section headings/comments for lint phases. |
| fix.ps1 | Excludes generated/ from YAML line-ending normalization. |
| docs/verification/version-mark/self-test/validation.md | Reworks validation verification narrative/structure and expands acceptance criteria + scenarios. |
| docs/verification/version-mark/self-test.md | Reworks subsystem verification structure and adds explicit scenario blocks. |
| docs/verification/version-mark/publishing.md | Rewrites publishing verification doc into scenario blocks and adds absolute-glob scenario mention. |
| docs/verification/version-mark/configuration/tool-config.md | Rewrites ToolConfig verification as scenario blocks with environment/criteria sections. |
| docs/verification/version-mark/configuration/lint-issue.md | Rewrites LintIssue verification as scenario blocks with environment/criteria sections. |
| docs/verification/version-mark/configuration.md | Rewrites configuration verification as scenario blocks with environment/criteria sections. |
| docs/verification/version-mark/cli.md | Rewrites CLI verification as scenario blocks with environment/criteria sections. |
| docs/verification/version-mark/capture/version-info.md | Rewrites VersionInfo verification as scenario blocks with environment/criteria sections. |
| docs/verification/version-mark.md | Rewrites system verification intro into approach/environment/criteria/scenarios format. |
| docs/verification/title.txt | Quotes YAML front matter fields and updates metadata. |
| docs/verification/ots/yaml-dot-net.md | Adds OTS verification entry for YamlDotNet. |
| docs/verification/ots/xunit.md | Restructures xUnit verification and adds explicit CI scenario evidence. |
| docs/verification/ots/weasyprint.md | Expands WeasyPrint verification into explicit scenarios. |
| docs/verification/ots/sonarmark.md | Expands SonarMark verification into self-validation + functional evidence scenarios. |
| docs/verification/ots/sarifmark.md | Expands SarifMark verification into self-validation + functional evidence scenarios. |
| docs/verification/ots/reviewmark.md | Expands ReviewMark verification into self-validation + report/plan generation scenarios. |
| docs/verification/ots/reqstream.md | Expands ReqStream verification into self-validation + enforcement-mode evidence. |
| docs/verification/ots/pandoc.md | Expands Pandoc verification into explicit document-generation scenarios. |
| docs/verification/ots/microsoft-extensions-file-system-globbing.md | Adds OTS verification entry for FileSystemGlobbing tied to GlobMatcher tests. |
| docs/verification/ots/fileassert.md | Expands FileAssert verification into self-validation + functional evidence scenarios with artifact references. |
| docs/verification/ots/dema-consulting-test-results.md | Adds OTS verification entry for DemaConsulting.TestResults. |
| docs/verification/ots/buildmark.md | Expands BuildMark verification into self-validation + report-generation scenarios. |
| docs/verification/ots.md | Rewrites OTS verification overview into strategy/evidence/regression structure. |
| docs/verification/introduction.md | Updates scope to six subsystems and adds OTS components list + clarified artifact mapping. |
| docs/user_guide/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/user_guide/definition.yaml | Condenses resource-path into inline list. |
| docs/requirements_report/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/requirements_report/introduction.md | Rewrites intro for trace-matrix purpose/scope and adds references section. |
| docs/requirements_report/definition.yaml | Condenses resource-path and annotates generated file input. |
| docs/requirements_doc/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/requirements_doc/introduction.md | Rewrites intro for traceability purpose/scope and adds references section. |
| docs/requirements_doc/definition.yaml | Condenses resource-path and annotates generated file inputs. |
| docs/reqstream/version-mark/utilities/path-helpers.yaml | Nests PathHelpers requirement under system/subsystem/unit section hierarchy. |
| docs/reqstream/version-mark/utilities/glob-matcher.yaml | Nests requirements and adds dedup/sorted output requirement referencing new test. |
| docs/reqstream/version-mark/utilities.yaml | Renames “Utilities” section title and adds tests list for subsystem requirement. |
| docs/reqstream/version-mark/self-test/validation.yaml | Nests requirements and splits lint requirement into lint-valid and lint-invalid. |
| docs/reqstream/version-mark/self-test.yaml | Renames section and adds children/tests for capture/publish/lint-valid/lint-invalid requirements. |
| docs/reqstream/version-mark/publishing/markdown-formatter.yaml | Renames section, wraps titles, and updates test IDs to new names. |
| docs/reqstream/version-mark/publishing.yaml | Renames publish section, wraps long titles, and adds children + more tests. |
| docs/reqstream/version-mark/platform-requirements.yaml | Renames platform support section for consistency. |
| docs/reqstream/version-mark/configuration/tool-config.yaml | Nests tool-config requirements under configuration hierarchy and expands titles. |
| docs/reqstream/version-mark/configuration/lint-issue.yaml | Adds lint-issue requirements file under configuration hierarchy. |
| docs/reqstream/version-mark/configuration.yaml | Renames section and adds children links to unit requirements. |
| docs/reqstream/version-mark/cli/program.yaml | Nests program requirements under CLI hierarchy and wraps titles. |
| docs/reqstream/version-mark/cli.yaml | Renames CLI section and wraps titles for consistency. |
| docs/reqstream/version-mark/capture/version-info.yaml | Nests version-info requirements under capture hierarchy and adds explicit write-error requirement. |
| docs/reqstream/version-mark.yaml | Renames top-level title, adds new children requirements and updates naming consistency. |
| docs/reqstream/ots/weasyprint.yaml | Adds Verification PDF test ID. |
| docs/reqstream/ots/reviewmark.yaml | Splits ReviewMark requirement into plan/report generation requirements. |
| docs/reqstream/ots/reqstream.yaml | Wraps ReqStream requirement title. |
| docs/reqstream/ots/pandoc.yaml | Adds Verification HTML test ID. |
| docs/reqstream/ots/fileassert.yaml | Adds functional evidence test IDs for all generated docs (Pandoc/WeasyPrint). |
| docs/reqstream/ots/buildmark.yaml | Wraps BuildMark requirement title. |
| docs/design/version-mark/utilities/path-helpers.md | Restructures PathHelpers unit design into purpose/methods/error-handling format. |
| docs/design/version-mark/utilities/glob-matcher.md | Restructures GlobMatcher unit design and documents dedup/sorting behavior. |
| docs/design/version-mark/utilities.md | Rewrites subsystem design into “interfaces + design” format. |
| docs/design/version-mark/self-test.md | Rewrites SelfTest design into interface/contract and enumerated internal tests. |
| docs/design/version-mark/publishing/markdown-formatter.md | Rewrites MarkdownFormatter design into purpose/data model/methods/error-handling format. |
| docs/design/version-mark/publishing.md | Rewrites Publishing subsystem design into interface/contract and implementation pipeline. |
| docs/design/version-mark/configuration/tool-config.md | Rewrites ToolConfig design into purpose/data model/methods/error-handling format. |
| docs/design/version-mark/configuration/lint-issue.md | Rewrites LintIssue/VersionMarkLoadResult design into purpose/data model/methods format. |
| docs/design/version-mark/configuration.md | Adds explicit interface contracts for VersionMarkConfig and related types. |
| docs/design/version-mark/capture/version-info.md | Rewrites VersionInfo design into purpose/data model/methods/error-handling format. |
| docs/design/version-mark/capture.md | Rewrites Capture subsystem design into interface/contract + dependency statement. |
| docs/design/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/design/ots/yaml-dot-net.md | Adds OTS integration design entry for YamlDotNet. |
| docs/design/ots/microsoft-extensions-file-system-globbing.md | Adds OTS integration design entry for FileSystemGlobbing. |
| docs/design/ots/dema-consulting-test-results.md | Adds OTS integration design entry for DemaConsulting.TestResults. |
| docs/design/ots.md | Adds OTS integration boundary overview and adapter ownership table. |
| docs/design/definition.yaml | Reorders/places configuration lint-issue design doc in the input list. |
| docs/code_review_report/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/code_review_report/introduction.md | Rewrites intro to emphasize compliance evidence purpose/scope and adds reference link. |
| docs/code_review_report/definition.yaml | Condenses resource-path and annotates generated report input. |
| docs/code_review_plan/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/code_review_plan/introduction.md | Rewrites intro to emphasize compliance evidence purpose/scope and adds references section. |
| docs/code_review_plan/definition.yaml | Condenses resource-path and annotates generated plan input. |
| docs/code_quality/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/code_quality/introduction.md | Rewrites intro to clarify scope and evidence intent and adds references section. |
| docs/code_quality/definition.yaml | Condenses resource-path into inline list. |
| docs/build_notes/title.txt | Quotes YAML front matter and updates metadata/keywords. |
| docs/build_notes/introduction.md | Clarifies scope and purpose to include tool-version traceability and adds references section. |
| docs/build_notes/definition.yaml | Condenses resource-path and annotates generated inputs (BuildMark/VersionMark). |
| build.ps1 | Changes build script to restore/build/test with TRX output and consolidated exit code. |
| AGENTS.md | Adds US English mandate, template reference section, and standard-selection formatting cleanup. |
| .yamllint.yaml | Updates truthy/line-length handling (disables line-length, configures truthy checking). |
| .yamlfix.toml | Removes line length setting and updates policy comments to match yamllint changes. |
| .versionmark.yaml | Normalizes regex scalar formatting (removes quotes) across tool definitions. |
| .markdownlint-cli2.yaml | Disables MD013, adds MD004, clarifies MD041 rationale, and normalizes ignore globs quoting. |
| .gitignore | Reorganizes ignore rules and adds/clarifies artifacts, tool outputs, and OS/editor patterns. |
| .github/workflows/build.yaml | Wraps artifact upload name: for formatting (multiline scalar). |
| .github/standards/testing-principles.md | Removes redundant heading block to reduce duplication. |
| .github/standards/technical-documentation.md | Updates guidance (including generated-folder note and formatting section). |
| .github/standards/csharp-testing.md | Removes redundant “Before submitting…” lead-in. |
| .github/standards/csharp-language.md | Removes redundant prose before example block. |
| .github/standards/coding-principles.md | Removes redundant heading block and tightens prose formatting. |
| .github/ISSUE_TEMPLATE/feature_request.yml | Wraps long placeholder/description values for readability. |
| .github/ISSUE_TEMPLATE/bug_report.yml | Wraps long description values for readability. |
| .github/agents/template-sync.agent.md | Adds a new agent spec for auditing/syncing repo against the canonical template. |
| .github/agents/software-architect.agent.md | Updates standards vocabulary list to include Shared Package. |
| .github/agents/quality.agent.md | Simplifies and rephrases compliance checklists. |
| .github/agents/developer.agent.md | Adds explicit instruction to check template counterparts when creating new files. |
| .editorconfig | Removes redundant/unset naming fields and drops an unused-parameters rule to avoid breaking existing code. |
| .cspell.yaml | Normalizes YAML style, tightens spelling guidance, adds words, and adjusts ignorePaths. |
| .config/dotnet-tools.json | Fixes EOF formatting (final newline/indent). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot Still getting a massive number of lint failures - did you lint-fix? |
Yes — I investigated the failing runs, reproduced locally with |
Uh oh!
There was an error while loading. Please reload this page.