Skip to content

Update repository#183

Open
Malcolmnixon wants to merge 9 commits into
mainfrom
update-repository
Open

Update repository#183
Malcolmnixon wants to merge 9 commits into
mainfrom
update-repository

Conversation

@Malcolmnixon
Copy link
Copy Markdown
Member

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:

  • Added "Shared Package" as a first-class software item throughout standards and documentation, ensuring consistent handling in requirements, design, and verification artifacts. This includes updates to folder structures, checklists, and vocabulary in .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:

  • Updated the quality agent's compliance checklist to consolidate and clarify requirements, design, code quality, testing, review management, and documentation checks. Added new sections for repository structure compliance and clarified the need to load reference files before evaluation.

Automation and Agent Enhancements:

  • Introduced a new template-sync agent (.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.
  • Improved developer agent workflow to ensure new files are created from template counterparts when available, with placeholder and heading depth adjustments for consistency.

These changes collectively improve traceability, compliance, and automation for managing software artifacts in regulated environments.

Copilot AI review requested due to automatic review settings May 20, 2026 20:24
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

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.

Comment thread src/DemaConsulting.BuildMark/RepoConnectors/RepoConnectorBase.cs
Comment thread docs/design/build-mark/repo-connectors/repo-connector-base.md
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/3d4b5c96-cd57-4172-bdc9-acce48b773be

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 20, 2026 21:00
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

Copilot reviewed 154 out of 154 changed files in this pull request and generated no new comments.

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

Copilot reviewed 169 out of 169 changed files in this pull request and generated 5 comments.

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