Align implementation with redesigned structure, configuration support, and compliance metadata#132
Conversation
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/858cd828-c75b-40cc-92d4-9cfd5856f27b Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/858cd828-c75b-40cc-92d4-9cfd5856f27b Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot Do all the tests match the testing standards (see csharp-testing.md)? |
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/ddd0e69e-a38d-4a78-a289-042f6155f2f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/ddd0e69e-a38d-4a78-a289-042f6155f2f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/ddd0e69e-a38d-4a78-a289-042f6155f2f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Updated in fbf30e3. The touched tests now follow the naming/assertion guidance more closely, the relevant ReqStream test/child links were corrected for the changed configuration/routing/version work, and .reviewmark.yaml was refreshed to match the restructured source/test paths. ReqStream still reports unrelated pre-existing gaps in platform/OTS and VersionInterval contains coverage that were not introduced by this PR. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot I'm still getting build failures: |
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/d1523915-186e-4576-a80e-45ed09df6862 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/d1523915-186e-4576-a80e-45ed09df6862 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/d1523915-186e-4576-a80e-45ed09df6862 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
... Fixed in e0207f8. I added the missing VersionInterval/VersionIntervalSet contains coverage and updated the interval comparison logic so those two requirements are now satisfied. I re-ran the tests and ReqStream locally, and the remaining ReqStream gaps are only the unrelated pre-existing platform/OTS requirements. |
…ed documentation (#131) * docs: introduce .buildmark.yaml configuration file documentation - Add '## Configuration File' section to README.md after Usage - Add '# Configuration File' section to docs/user_guide/introduction.md covering connector settings, report sections, and item routing rules - Add BuildMark-Config-* requirements to build-mark.yaml requirements file Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: fix American English spelling in requirements justifications Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: add Configuration subsystem design documentation - Update docs/design/introduction.md: - Add Configuration subsystem to Scope section - Add Configuration subsystem (5 units) to Software Structure tree - Add Configuration/ folder and files to Folder Layout - Update docs/design/build-mark/build-mark.md: - Add Configuration row to System Architecture table - Add .buildmark.yaml row to External Interfaces table - Update Data Flow diagram to show BuildMarkConfigReader - Update Self-contained constraint to mention optional config file - Add Configuration File section to Integration Patterns - Create docs/design/build-mark/configuration/configuration.md: - New Configuration subsystem design document - Covers BuildMarkConfig, BuildMarkConfigReader, ConnectorConfig, SectionConfig, and RuleConfig units - Documents interfaces and interactions Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: add GitHubConnectorConfig and AzureDevOpsConnectorConfig to configuration design - Fix MD060 table alignment issues in build-mark.md (ItemControls row) and configuration.md (BuildMarkConfig, SectionConfig, ReadAsync rows) - Expand ConnectorConfig interface table with GitHub and AzureDevOps properties - Add GitHubConnectorConfig unit with Owner, Repo, BaseUrl properties - Add AzureDevOpsConnectorConfig placeholder unit (reserved for future use) - Update Interactions section in configuration.md: GitHubRepoConnector reads GitHubConnectorConfig from result.Config.Connector.GitHub - Update repo-connectors.md Interactions: note GitHubConnectorConfig passed from Program via result.Config.Connector.GitHub - Update build-mark.md Configuration File pattern to describe GitHub property carrying GitHubConnectorConfig passed to GitHubRepoConnector - Add new units to Software Structure tree in introduction.md - Add GitHubConnectorConfig.cs and AzureDevOpsConnectorConfig.cs to Folder Layout Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: flow GitHubConnectorConfig through design docs and requirements Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/18d8f83e-9584-40ef-92c9-fb55c24cd753 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: update design documentation for new architecture - Add BuildNotes subsystem docs (build-notes.md, build-information.md, item-info.md, version.md, version-tag.md, web-link.md) - Move ProcessRunner docs to Utilities subsystem - Add ItemRouter unit doc to RepoConnectors - Add GitHub sub-subsystem docs (github.md, github-repo-connector.md) - Add Mock sub-subsystem docs (mock.md, mock-repo-connector.md) - Update build-mark.md, introduction.md, utilities.md, repo-connectors.md - Update repo-connector-base.md, repo-connector-factory.md, self-test.md, validation.md - Delete old process-runner.md, github-repo-connector.md, mock-repo-connector.md from repo-connectors root Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: plan finalised - dissolve ItemControls subsystem, move VersionInterval to Utilities Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/10baf5c8-912f-4c4a-ab60-5f7b6188be9f Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: dissolve ItemControls subsystem; move VersionInterval to Utilities; fix Sub-Subsystem terminology Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/10baf5c8-912f-4c4a-ab60-5f7b6188be9f Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * docs: add version interval contains methods to design and reqstream Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/0a083296-4a84-48f3-9a58-7e5f590e78a3 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Update design and requirements docs for Version utility Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/13e650c8-bbc4-46b6-bf67-77c012332566 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix markdown formatting for Version docs Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/13e650c8-bbc4-46b6-bf67-77c012332566 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Align docs structure and requirement links Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/e3b700a3-fd4d-4746-8b4b-c368d7a39c5b Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix documentation lint issues Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/7b0f7878-636b-4089-a672-dcc491c46664 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Align implementation with redesigned structure, configuration support, and compliance metadata (#132) * Progress on restructure and configuration support Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/858cd828-c75b-40cc-92d4-9cfd5856f27b Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Align structure and add configuration modules Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/858cd828-c75b-40cc-92d4-9cfd5856f27b Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Align tests traceability and review sets Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/ddd0e69e-a38d-4a78-a289-042f6155f2f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Avoid reflection in standards tests Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/ddd0e69e-a38d-4a78-a289-042f6155f2f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Tighten malformed config assertion Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/ddd0e69e-a38d-4a78-a289-042f6155f2f6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Add version interval contains coverage Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/d1523915-186e-4576-a80e-45ed09df6862 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Handle semantic version interval comparisons Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/d1523915-186e-4576-a80e-45ed09df6862 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Clarify interval version parsing docs Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/d1523915-186e-4576-a80e-45ed09df6862 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Align documentation, fix requirement ID contractions, and enforce requirements linkage hierarchy (#133) * Update documentation to address formal review findings Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/0b9f2610-ecc2-4b8b-8c5f-72c6db62a443 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Finish documentation review fixes Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/0b9f2610-ecc2-4b8b-8c5f-72c6db62a443 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Rename contraction IDs in system-level requirements Replace abbreviated requirement ID prefixes with proper words: - BuildMark-Cmd- → BuildMark-Command- (9 IDs) - BuildMark-GH- → BuildMark-GitHub- (3 IDs) - BuildMark-Rpt- → BuildMark-Report- (9 IDs) - BuildMark-Ctrl- → BuildMark-Controls- (10 IDs) - BuildMark-Val- → BuildMark-Validation- (4 IDs) BuildMark-Cli- IDs are left unchanged as they refer to the Cli subsystem. These IDs only appear in the system-level requirements file and are not referenced as children from any other files. Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix system-level children links in build-mark.yaml Replace unit-level children references with subsystem-level references in system requirements to comply with reqstream-usage.md standard that system requirements should only link to direct descendants. Replacements made: - BuildMark-RepoConnectorFactory-ConnectorConfig → BuildMark-RepoConnectors-Factory - BuildMark-GitHub-ConnectorConfig → BuildMark-RepoConnectors-GitHub - BuildMark-ItemRouter-Route → BuildMark-RepoConnectors-ItemRouter - BuildMark-GitHub-ItemControls → BuildMark-RepoConnectors-GitHub - BuildMark-ItemControlsParser-Parse → BuildMark-RepoConnectors-ItemControls Affected requirements: - BuildMark-Config-Connector - BuildMark-Config-Rules - BuildMark-Controls-Visibility - BuildMark-Controls-VisibilityPublic - BuildMark-Controls-VisibilityInternal - BuildMark-Controls-Type - BuildMark-Controls-TypeBug - BuildMark-Controls-TypeFeature Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Add integration tests for Config and Controls system requirements Add 15 new integration tests covering all system requirements that previously had no tests: Configuration File (BuildMark-Config-*): - IntegrationTest_LintFlag_IsAccepted - IntegrationTest_Report_ConsumesConfigurationFileDuringGeneration - IntegrationTest_Report_UsesConnectorForBuildData - IntegrationTest_Report_ContainsSectionDefinitions - IntegrationTest_Report_RoutesItemsToCorrectSections Extended Item Controls (BuildMark-Controls-*): - IntegrationTest_Report_RecognizesBuildmarkCodeBlock - IntegrationTest_Report_VisibilityFieldControlsInclusion - IntegrationTest_Report_PublicVisibility_IncludesItem - IntegrationTest_Report_InternalVisibility_ExcludesItem - IntegrationTest_Report_TypeFieldOverridesClassification - IntegrationTest_Report_TypeBug_PlacesItemInBugsFixed - IntegrationTest_Report_TypeFeature_PlacesItemInChanges - IntegrationTest_Report_AffectedVersionsField_ProcessesSuccessfully - IntegrationTest_Report_AffectedVersionsInterval_ParsesNotation - IntegrationTest_Report_HiddenBuildmarkBlock_IsRecognized Add ControlsMockConnector that exercises ItemControlsParser to test item controls end-to-end through the tool pipeline. Update build-mark.yaml to link all 15 system requirements to their corresponding integration tests. Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Create subsystem test suites and fix test linkage in requirements YAML - Create 5 new subsystem test files following {Subsystem}_{Functionality}_{Scenario}_{ExpectedBehavior} naming: - CliTests.cs (15 tests): exercises Context through Cli subsystem perspective - BuildNotesTests.cs (3 tests): exercises BuildInformation rendering via MockRepoConnector - SelfTestTests.cs (4 tests): exercises Validation.Run with TRX and JUnit output - UtilitiesTests.cs (13 tests): exercises PathHelpers, ProcessRunner, VersionInfo, VersionInterval, VersionIntervalSet - ConfigurationSubsystemTests.cs (5 tests): exercises BuildMarkConfigReader and ConfigurationLoadResult - Add 9 new tests to RepoConnectorsTests.cs: - 7 RepoConnectors_ItemControls_* tests for BuildMark-RepoConnectors-ItemControls - 2 RepoConnectors_ItemRouter_* tests for BuildMark-RepoConnectors-ItemRouter - Update 6 subsystem YAML files to reference subsystem-level test names: - cli.yaml: replace Context_* with Cli_* tests - build-notes.yaml: replace BuildInformation_* with BuildNotes_* tests - self-test.yaml: replace Validation_* with SelfTest_* tests - utilities.yaml: replace unit tests with Utilities_* tests - configuration.yaml: add Configuration_* tests to 3 previously empty requirements - repo-connectors.yaml: add RepoConnectors_* tests for ItemControls and ItemRouter Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix empty children sequences in configuration and repo-connectors YAML files Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/8b741086-3b0a-4007-8e3a-6ce33b7b707a Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Wire rules/sections through RepoConnectorBase so all connectors benefit (#134) * feat: implement rules/sections routing integration - Add Configure and ApplyRules methods to RepoConnectorBase for centralized routing - Add HasRules protected property to detect when rules are configured - Add RoutedSections property to BuildInformation record - Update ToMarkdown to render custom sections when RoutedSections is set - Update MockRepoConnector to apply routing rules when configured - Update GitHubRepoConnector to apply routing rules when configured - Update Program.cs to call Configure on connectors created from config (not factory) - Add RunRulesRouting self-validation test to Validation.cs - Add unit tests: RepoConnectorBaseTests, extended MockRepoConnectorTests, BuildInformationTests, and GitHubRepoConnectorTests - Update design docs and reqstream yaml files Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * fix: address code review feedback - Fix TestableRepoConnector.GetBuildInformationAsync to return minimal valid BuildInformation instead of null, preventing potential NullReferenceException - Improve comment on extra sections in ApplyRules to explain the scenario - Add comment explaining tuple discard in AppendRoutedSections loop Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Add rules routing docs, requirement, and end-to-end test for GitHubRepoConnector Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/14d76d1d-b9ef-4070-b14f-fa9dd3426801 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * fix: resolve all lint failures (YAML line-length and markdown table alignment) Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/16b84817-c0a6-4fb9-a425-8242a9745659 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix review findings across 20 unit review-sets (#135) * Fix all review issues: requirements linkage, README, design docs, test coverage Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/3918c333-4f67-42c8-9a1c-ee892f1a0db6 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix inverted assertion in BuildInformation ordering test Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/a37c8d0b-2277-4135-bca0-802186087981 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix review findings: TrimEnd in TryRunAsync, VersionInfo test AAA and property assertions, program.md and validation.md design docs Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/1960a6a1-8eb2-465d-9852-38a659d1eb30 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix review findings: correct MockRepoConnector hash lookup, ItemControlsParser empty set, ItemRouter tests and docs, RepoConnectorFactory async Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix ordering assertion: replace IsLessThanOrEqualTo with Assert.IsTrue for unambiguous ascending check Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/36222094-6d73-4faa-b11c-6bb4a2b7af7a Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Fix ordering assertion: use IsLessThanOrEqualTo(upperBound, value) with correct argument order Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/64c1829e-933a-47ec-893f-ce8d8483fe38 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Update self-validation to expect explicit build version hash Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/b612f886-71a8-4870-b5ef-b22e576547cf Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> * Major project refactoring * Move version units to a new Version subsystem. * Linting cleanups * Improve testing for requirements coverage. * Lint fixes. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> Co-authored-by: Malcolm Nixon <Malcolm.Nixon@hiarc.inc> * Apply review thread fixes Agent-Logs-Url: https://github.com/demaconsulting/BuildMark/sessions/fc411fd4-e97d-4512-980c-3447d83b1554 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> Co-authored-by: Malcolm Nixon <Malcolm.Nixon@hiarc.inc>
Uh oh!
There was an error while loading. Please reload this page.