Update repository#183
Open
Malcolmnixon wants to merge 9 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates BuildMark’s connector behavior/tests and substantially restructures/expands the project’s compliance documentation (design + verification + ReqStream mappings), while also updating repository standards/configs to recognize “Shared Package” and adding a template synchronization agent.
Changes:
- Exposed routing-rule state (
HasRules) for connector/test visibility; refactored GitHub label→type mapping; expanded Azure DevOps REST client and mapper test coverage. - Refreshed and standardized design/verification docs (strategy/environment/acceptance criteria/scenarios/coverage) across BuildMark subsystems and OTS tools; added YamlDotNet integration design.
- Updated repo governance artifacts: standards (Shared Package), ReviewMark scopes, agent guidance (incl. new
template-sync), and lint configs.
Reviewed changes
Copilot reviewed 153 out of 153 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| test/DemaConsulting.BuildMark.Tests/RepoConnectors/GitHub/GitHubRepoConnectorTests.cs | Adds assertion for HasRules after configuration. |
| test/DemaConsulting.BuildMark.Tests/RepoConnectors/AzureDevOps/WorkItemMapperTests.cs | Adds mapper tests for Issue and Feature work item types; improves class header docs. |
| test/DemaConsulting.BuildMark.Tests/RepoConnectors/AzureDevOps/AzureDevOpsTests.cs | Renames test for clearer intent. |
| test/DemaConsulting.BuildMark.Tests/RepoConnectors/AzureDevOps/AzureDevOpsRestClientTests.cs | Adds tests for HTTP error handling and empty-input behavior. |
| test/DemaConsulting.BuildMark.Tests/IntegrationTests.cs | Standardizes AAA comments across integration tests. |
| test/DemaConsulting.BuildMark.Tests/AssemblyInfo.cs | Documents why xUnit parallelization is disabled. |
| src/DemaConsulting.BuildMark/RepoConnectors/RepoConnectorBase.cs | Changes HasRules visibility to enable inspection outside subclasses. |
| src/DemaConsulting.BuildMark/RepoConnectors/GitHub/GitHubRepoConnector.cs | Uses config owner/repo when fully specified; deduplicates label-type mapping logic. |
| src/DemaConsulting.BuildMark/RepoConnectors/GitHub/GitHubGraphQLClient.cs | Clarifies intentional “return empty list” error-handling comments. |
| src/DemaConsulting.BuildMark/RepoConnectors/AzureDevOps/WorkItemMapper.cs | Simplifies visibility suppression logic (internal excludes). |
| README.md | Updates documentation references and adds build instructions. |
| docs/verification/ots/xunit.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/weasyprint.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/versionmark.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/sonarmark.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/sarifmark.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/reviewmark.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/reqstream.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/pandoc.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/fileassert.md | Adds explicit OTS test scenarios. |
| docs/verification/ots/buildmark.md | Adds explicit OTS test scenarios. |
| docs/verification/introduction.md | Updates references to compiled artifacts in releases. |
| docs/verification/build-mark/version/version-tag.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/version/version-semantic.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/version/version-interval.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/version/version-interval-set.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/version/version-comparable.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/version/version-commit-tag.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/version.md | Renames “Approach” to “Strategy”; adds environment/acceptance; expands coverage mapping. |
| docs/verification/build-mark/utilities/process-runner.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/utilities/path-helpers.md | Updates verification narrative to reflect dedicated unit tests. |
| docs/verification/build-mark/utilities.md | Updates subsystem strategy and coverage mapping. |
| docs/verification/build-mark/self-test/validation.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/self-test.md | Adds environment/acceptance and clarifies behavior. |
| docs/verification/build-mark/repo-connectors/repo-connector-factory.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/repo-connector-base.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/mock/mock-repo-connector.md | Adds environment/acceptance; fixes section headings. |
| docs/verification/build-mark/repo-connectors/mock.md | Renames “Approach” to “Strategy”; adds environment/acceptance. |
| docs/verification/build-mark/repo-connectors/item-router.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/item-controls-parser.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/item-controls-info.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/i-repo-connector.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/github/git-hub-repo-connector.md | Updates test counts/coverage mapping and adds environment/acceptance. |
| docs/verification/build-mark/repo-connectors/github/git-hub-graph-ql-types.md | Updates requirement IDs + adds environment/acceptance. |
| docs/verification/build-mark/repo-connectors/github/git-hub-graph-ql-client.md | Updates requirement IDs and adds error-handling requirement mapping. |
| docs/verification/build-mark/repo-connectors/github.md | Renames “Approach” to “Strategy”; adds environment/acceptance. |
| docs/verification/build-mark/repo-connectors/azure-devops/work-item-mapper.md | Updates test counts and adds new scenarios. |
| docs/verification/build-mark/repo-connectors/azure-devops/azure-devops-rest-client.md | Updates scenarios/requirements to match expanded REST client tests. |
| docs/verification/build-mark/repo-connectors/azure-devops/azure-devops-repo-connector.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/repo-connectors/azure-devops/azure-devops-api-types.md | Updates requirement IDs and coverage counts. |
| docs/verification/build-mark/repo-connectors/azure-devops.md | Renames “Approach” to “Strategy”; updates scenario names and mappings. |
| docs/verification/build-mark/repo-connectors.md | Renames “Approach” to “Strategy”; adds environment/acceptance. |
| docs/verification/build-mark/program.md | Adds environment/acceptance and a new scenario heading. |
| docs/verification/build-mark/configuration/section-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/rule-match-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/rule-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/report-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/git-hub-connector-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/connector-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/configuration-load-result.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/configuration-issue.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/build-mark-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/build-mark-config-reader.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration/azure-devops-connector-config.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/configuration.md | Renames “Approach” to “Strategy”; adds environment/acceptance. |
| docs/verification/build-mark/cli/context.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/cli.md | Renames “Approach” to “Strategy”; adds environment/acceptance. |
| docs/verification/build-mark/build-notes/web-link.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/build-notes/item-info.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/build-notes/build-information.md | Adds environment + acceptance criteria sections. |
| docs/verification/build-mark/build-notes.md | Renames “Approach” to “Strategy”; adds environment/acceptance. |
| docs/verification/build-mark.md | Major refresh: separates system vs unit testing; expands scenarios and coverage mapping. |
| docs/user_guide/item-controls.md | Removes markdownlint suppression header. |
| docs/user_guide/introduction.md | Adds references section pointing to releases and external resources. |
| docs/user_guide/configuration.md | Removes markdownlint suppression header. |
| docs/user_guide/cli-reference.md | Removes markdownlint suppression header. |
| docs/user_guide/advanced-topics.md | Renames “Complete Changelog” → “Full Changelog”. |
| docs/requirements_report/introduction.md | Adds scope and references section. |
| docs/requirements_doc/introduction.md | Adds references section. |
| docs/reqstream/build-mark/repo-connectors/repo-connector-base.yaml | Updates command-execution requirement statement/justification. |
| docs/reqstream/build-mark/repo-connectors/github/github-graphql-client.yaml | Adds parent/child requirement clarification and error-handling requirement. |
| docs/reqstream/build-mark/repo-connectors/github.yaml | Adds TokenVariable child requirement reference. |
| docs/reqstream/build-mark/repo-connectors/azure-devops/work-item-mapper.yaml | Adds children linkage for suppress-removed requirement. |
| docs/reqstream/build-mark/repo-connectors/azure-devops.yaml | Updates test name and adds TokenVariable reference. |
| docs/reqstream/build-mark/repo-connectors.yaml | Splits connector interface vs process runner requirements; updates children. |
| docs/reqstream/build-mark/program.yaml | Updates test mappings (removes some integration-only tests from requirement lists). |
| docs/reqstream/build-mark.yaml | Removes lint child requirement reference under config generation requirement. |
| docs/design/ots/yaml-dot-net.md | Adds new OTS integration design document for YamlDotNet usage. |
| docs/design/introduction.md | Adds companion artifact structure guidance and updates references. |
| docs/design/build-mark/version/version-tag.md | Expands design sections (data model/methods/error handling/interactions). |
| docs/design/build-mark/version/version-semantic.md | Expands design sections (data model/methods/error handling/interactions). |
| docs/design/build-mark/version/version-interval.md | Renames sections; adds explicit error-handling description. |
| docs/design/build-mark/version/version-interval-set.md | Adds standalone unit design content (previously just a pointer). |
| docs/design/build-mark/version/version-comparable.md | Adds key methods/error handling/interactions. |
| docs/design/build-mark/version/version-commit-tag.md | Renames overview→purpose and adds error-handling notes. |
| docs/design/build-mark/version.md | Clarifies SemVer deviation; adds interfaces/design narrative. |
| docs/design/build-mark/utilities/process-runner.md | Adds purpose/data model/error handling sections. |
| docs/design/build-mark/utilities/path-helpers.md | Adds purpose/data model/error handling sections. |
| docs/design/build-mark/utilities.md | Adds design narrative and clarifies subsystem content. |
| docs/design/build-mark/self-test/validation.md | Renames overview→purpose; adds error-handling section. |
| docs/design/build-mark/self-test.md | Adds design narrative; consolidates error-handling placement. |
| docs/design/build-mark/repo-connectors/repo-connector-factory.md | Adds data model and error-handling details. |
| docs/design/build-mark/repo-connectors/repo-connector-base.md | Adds purpose/data model/key methods/error handling; documents HasRules as protected. |
| docs/design/build-mark/repo-connectors/mock/mock-repo-connector.md | Renames overview→purpose; clarifies error handling section naming. |
| docs/design/build-mark/repo-connectors/mock.md | Adds interfaces/design narrative for mock connector subsystem. |
| docs/design/build-mark/repo-connectors/item-router.md | Renames overview→purpose; standardizes section headings. |
| docs/design/build-mark/repo-connectors/item-controls-parser.md | Renames overview→purpose; adds error-handling description. |
| docs/design/build-mark/repo-connectors/item-controls-info.md | Renames overview→purpose; adds key methods/error handling notes. |
| docs/design/build-mark/repo-connectors/github/github-repo-connector.md | Renames overview→purpose; adds explicit error-handling narrative. |
| docs/design/build-mark/repo-connectors/github/github-graphql-types.md | Renames overview→purpose; adds data model and error-handling notes. |
| docs/design/build-mark/repo-connectors/github/github-graphql-client.md | Clarifies constructors, lifecycle, dependencies, and error handling notes. |
| docs/design/build-mark/repo-connectors/github.md | Adds interfaces/design narrative for GitHub connector subsystem. |
| docs/design/build-mark/repo-connectors/azure-devops/work-item-mapper.md | Renames overview→purpose; clarifies visibility behavior and adds error handling notes. |
| docs/design/build-mark/repo-connectors/azure-devops/azure-devops-rest-client.md | Adds data model + error handling; (includes GetRepositoryAsync behavior statement). |
| docs/design/build-mark/repo-connectors/azure-devops/azure-devops-repo-connector.md | Renames overview→purpose; adds error-handling narrative. |
| docs/design/build-mark/repo-connectors/azure-devops/azure-devops-api-types.md | Renames overview→purpose; adds error object description and notes. |
| docs/design/build-mark/repo-connectors/azure-devops.md | Adds interfaces/design narrative and explicit error-handling section. |
| docs/design/build-mark/repo-connectors.md | Adds subsystem design narrative describing layering and shared utilities. |
| docs/design/build-mark/program.md | Renames overview→purpose; adds explicit error-handling description. |
| docs/design/build-mark/configuration/section-config.md | Renames overview→purpose; adds key methods/error handling notes. |
| docs/design/build-mark/configuration/rule-config.md | Renames overview→purpose; consolidates data model; adds method/error notes. |
| docs/design/build-mark/configuration/report-config.md | Renames overview→purpose; adds key methods/error handling notes. |
| docs/design/build-mark/configuration/connector-config.md | Renames overview→purpose; consolidates data model; adds method/error notes. |
| docs/design/build-mark/configuration/configuration-load-result.md | Renames overview→purpose; clarifies ReportTo behavior and error notes. |
| docs/design/build-mark/configuration/configuration-issue.md | Renames overview→purpose; adds key methods/error handling notes. |
| docs/design/build-mark/configuration/build-mark-config.md | Renames overview→purpose; adds CreateDefault method note. |
| docs/design/build-mark/configuration/build-mark-config-reader.md | Renames overview→purpose; adds data model, error handling notes. |
| docs/design/build-mark/configuration.md | Adds configuration subsystem design narrative. |
| docs/design/build-mark/cli/context.md | Renames overview→purpose; adds error handling and interactions. |
| docs/design/build-mark/cli.md | Adds CLI subsystem design narrative. |
| docs/design/build-mark/build-notes/web-link.md | Renames overview→purpose; adds key methods/error notes. |
| docs/design/build-mark/build-notes/item-info.md | Renames overview→purpose; adds key methods/error notes. |
| docs/design/build-mark/build-notes/build-information.md | Renames overview→purpose; adds error-handling note for rendering. |
| docs/design/build-mark/build-notes.md | Adds interfaces/design narrative for build-notes subsystem. |
| docs/design/build-mark.md | Renames architecture section; adds dependencies and risk-control notes. |
| docs/code_review_report/introduction.md | Adds references section. |
| docs/code_review_plan/introduction.md | Adds references section. |
| docs/code_quality/introduction.md | Adds references section. |
| docs/build_notes/introduction.md | Adds references section. |
| AGENTS.md | Adds template reference URL and standard-selection list format improvements. |
| .yamllint.yaml | Simplifies config, adjusts ignores, disables line-length, tweaks truthy rule. |
| .reviewmark.yaml | Updates review scopes/paths and adds a verification-focused review set. |
| .markdownlint-cli2.yaml | Restructures markdownlint config/ignores and clarifies fragment-markdown approach. |
| .github/standards/verification-documentation.md | Updates verification doc standards for Shared Packages and required sections. |
| .github/standards/technical-documentation.md | Notes generated/ is never committed. |
| .github/standards/software-items.md | Adds “Shared Package” category and updates OTS/design/verification expectations. |
| .github/standards/reviewmark-usage.md | Updates ReviewMark guidance for Shared Packages and verification review sets. |
| .github/standards/reqstream-usage.md | Adds Shared Package requirements structure and introduces design docs for OTS/shared. |
| .github/standards/design-documentation.md | Updates design doc standards to include OTS/shared integration design and required sections. |
| .github/agents/template-sync.agent.md | Adds new agent for auditing/syncing repo structure against a template. |
| .github/agents/software-architect.agent.md | Updates vocabulary to include Shared Package. |
| .github/agents/quality.agent.md | Refactors compliance checklist and adds repository structure compliance checks. |
| .github/agents/developer.agent.md | Adds guidance to start new files from template counterparts when available. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/3d4b5c96-cd57-4172-bdc9-acce48b773be Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
added 2 commits
May 20, 2026 17:00
…/BuildMark into update-repository
Comment on lines
+133
to
+137
| // Fall back to parsing owner and repo from the remote URL | ||
| var (parsedOwner, parsedRepo) = ParseGitHubUrl(repoUrl); | ||
| owner = _config?.Owner ?? parsedOwner; | ||
| repo = _config?.Repo ?? parsedRepo; | ||
| } |
Comment on lines
+51
to
+56
| var effectiveBase = Environment.CurrentDirectory; | ||
| DirectoryPath = PathHelpers.SafePathCombine(effectiveBase, $"tmp-{Guid.NewGuid():N}"); | ||
|
|
||
| // Create the directory and surface any failure as InvalidOperationException so | ||
| // callers receive a consistent, descriptive error without having to handle | ||
| // low-level I/O exceptions from this constructor. |
Comment on lines
+111
to
+116
| if (Directory.Exists(DirectoryPath)) | ||
| { | ||
| Directory.Delete(DirectoryPath, recursive: true); | ||
| } | ||
| } | ||
| catch (Exception ex) when (ex is IOException or UnauthorizedAccessException) |
Comment on lines
+18
to
+21
| Tests create temporary directories and results files (`.trx`, `.xml`) under | ||
| `Path.GetTempPath()`. Write access to the system temporary directory is required. No | ||
| network access or external API calls are made; `MockRepoConnector` provides all | ||
| repository data. |
Comment on lines
14
to
+20
| | File system | Tests create temporary `.buildmark.yaml` files in `Path.GetTempPath` | | ||
|
|
||
| ### Test Environment | ||
|
|
||
| Tests create temporary `.buildmark.yaml` files under `Path.GetTempPath()`. Write access | ||
| to the system temporary directory is required. No network access or external services | ||
| are needed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several important updates to standards, agent definitions, and compliance checklists to support the new "Shared Package" software item category and to strengthen repository structure and template synchronization. The changes ensure that all documentation, requirements, and design artifacts consistently recognize "Shared Packages" alongside Systems, Subsystems, Units, and OTS, and introduce a new agent for template synchronization.
Standards and Structure Updates:
.github/standards/design-documentation.md,.github/standards/reqstream-usage.md, and.github/agents/software-architect.agent.md. [1] [2] [3] [4]Compliance and Checklist Improvements:
Automation and Agent Enhancements:
template-syncagent (.github/agents/template-sync.agent.md) to audit and synchronize repository files against a canonical template, supporting multiple modes (Audit, Sync, Scaffold, Recreate) and providing a structured report format.These changes collectively improve traceability, compliance, and automation for managing software artifacts in regulated environments.