Skip to content

Apply formal review fixes across all groups and review sets#154

Merged
Malcolmnixon merged 12 commits into
mainfrom
template-cleanup
May 28, 2026
Merged

Apply formal review fixes across all groups and review sets#154
Malcolmnixon merged 12 commits into
mainfrom
template-cleanup

Conversation

@Malcolmnixon
Copy link
Copy Markdown
Member

This pull request introduces several improvements and clarifications to repository standards, agent instructions, and coding principles. The main focus is on enhancing compliance checks, refining documentation requirements, and introducing a new template synchronization agent. Additionally, some outdated or redundant files are removed, and terminology is updated for clarity and completeness.

Agent and Compliance Process Improvements:

  • Added a new template-sync.agent.md agent, which orchestrates repository synchronization with the canonical template, supporting Audit, Sync, Scaffold, and Recreate modes, and delegates tasks to sub-agents by work group.
  • Removed the obsolete repo-consistency.agent.md in favor of the new template sync approach.
  • Updated the developer and formal review agent instructions to clarify template usage, preconditions for file creation, and to reference verification documentation standards. [1] [2]

Quality and Compliance Checklist Refinements:

  • Overhauled the quality agent's compliance checklist to consolidate and clarify requirements, design, code, testing, review management, documentation, and process compliance sections. Added new sections for repository structure compliance and software item completeness, and improved checklist language for precision.
  • Updated terminology in the software architect agent to include "Shared Package" as a recognized software item type.

Coding Standards and Documentation Enhancements:

  • Expanded coding principles to require comprehensive documentation for all symbols, not just public interfaces, and introduced a detailed section on API documentation standards (covering contracts, error handling, side effects, and thread safety).
  • Clarified anti-patterns and removed redundant introductory text in the coding principles standard. [1] [2]

Formatting and Spellcheck Updates:

  • Improved markdownlint guidance for handling wide pipe-tables, suggesting conversion to bullet lists or grid tables when necessary.
  • Added "Preconditions" and "Postconditions" to the spellchecker dictionary.

Grouped by Theme:

Agent and Process Changes

  • Introduced template-sync.agent.md for structured template synchronization across repositories, supporting multiple operational modes.
  • Removed repo-consistency.agent.md as it is superseded by the new template sync agent.
  • Clarified agent instructions for file creation, template reference, and verification documentation. [1] [2]

Compliance and Quality Checklist Updates

  • Refined and reorganized the quality and compliance checklist for greater clarity, including new sections for repository structure and software item completeness.
  • Updated software architect vocabulary to include "Shared Package".

Coding Standards and Documentation

  • Strengthened documentation requirements to cover all symbols and added a comprehensive API documentation section.
  • Clarified anti-patterns and streamlined the coding principles introduction. [1] [2]

Formatting and Spellcheck

  • Enhanced markdownlint rules for handling wide tables.
  • Added new technical terms to the spellchecker dictionary.

Copilot AI review requested due to automatic review settings May 27, 2026 00:22
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 primarily tightens repository compliance artifacts (requirements/design/verification docs and standards), improves C# API documentation via expanded XML doc comments, and adds/renames MSTest coverage for IO/model behaviors to better support traceability.

Changes:

  • Added/updated MSTest cases (including new error-path coverage) and renamed many test methods for clearer intent/traceability.
  • Expanded XML documentation across core SPDX model types and enums; strengthened some validation logic (e.g., checksum algorithm validity, package verification code format).
  • Restructured requirements/design/verification documentation trees and updated multiple Pandoc defaults/inputs and ReqStream requirement hierarchies.

Reviewed changes

Copilot reviewed 202 out of 202 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
test/DemaConsulting.SpdxModel.Tests/SpdxElementTests.cs New unit tests covering SPDX element ID validation behavior via a concrete subclass.
test/DemaConsulting.SpdxModel.Tests/IO/SpdxModelIOTests.cs Adds IO integration test for malformed JSON error behavior.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeRelationship.cs Renames serializer relationship tests for clearer intent.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializePackageVerificationCode.cs Renames serializer verification-code test for clearer intent.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializePackage.cs Renames package serializer tests for clearer intent.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeFile.cs Renames file serializer tests and improves inline arrange/act/assert comments.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeExtractedLicensingInfo.cs Renames extracted licensing info serializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeExternalReference.cs Renames external reference serializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeExternalDocumentReference.cs Renames external document reference serializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeDocument.cs Renames document serializer tests and adds additional creationInfo assertions.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeCreationInformation.cs Renames creation-information serializer test.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeChecksum.cs Renames checksum serializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonSerializeAnnotation.cs Renames annotation serializer tests and adds “omit SPDXID when empty” coverage.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeSnippet.cs Adds richer remarks and renames snippet deserializer tests for clearer intent.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializerTests.cs New error-path deserializer test ensuring malformed JSON throws JsonException.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeRelationship.cs Adds richer remarks and renames relationship deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializePackageVerificationCode.cs Adds richer remarks and renames verification-code deserializer test; adjusts assertions.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializePackage.cs Adds richer remarks and renames package deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeFile.cs Adds richer remarks and renames file deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeExtractedLicensingInfo.cs Adds richer remarks and renames extracted licensing info deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeExternalReference.cs Adds richer remarks and renames external reference deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeExternalDocumentReference.cs Adds richer remarks and renames external document reference deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeDocument.cs Adds richer remarks and renames document deserializer test.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeCreationInformation.cs Adds richer remarks and renames creation-information deserializer test.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeChecksum.cs Adds richer remarks and renames checksum deserializer tests.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserializeAnnotation.cs Fixes summary target type and renames annotation deserializer tests; adds richer remarks.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserialize23.cs Improves naming/clarity in SPDX 2.3 deserialization integration test.
test/DemaConsulting.SpdxModel.Tests/IO/Spdx2JsonDeserialize22.cs Improves naming/clarity in SPDX 2.2 deserialization integration test.
src/DemaConsulting.SpdxModel/SpdxReferenceCategory.cs Expands enum and conversion helper documentation; clarifies Missing sentinel semantics.
src/DemaConsulting.SpdxModel/SpdxPackageVerificationCode.cs Strengthens verification code validation and expands documentation.
src/DemaConsulting.SpdxModel/SpdxLicenseElement.cs Adds higher-level remarks describing the purpose of the intermediate base class.
src/DemaConsulting.SpdxModel/SpdxHelpers.cs Adds detailed remarks for regex/AOT rationale and EnhanceString contract.
src/DemaConsulting.SpdxModel/SpdxFile.cs Expands docs around thread-safety, null semantics, deep-copy, enhance, and comparer behavior.
src/DemaConsulting.SpdxModel/SpdxExternalReference.cs Expands docs around null semantics, deep-copy, enhance, validation, and comparer behavior.
src/DemaConsulting.SpdxModel/SpdxExternalDocumentReference.cs Improves documentation accuracy for enhance semantics and deep-copy/validation behavior.
src/DemaConsulting.SpdxModel/SpdxElement.cs Expands core identity and regex timeout documentation; clarifies NoAssertion usage.
src/DemaConsulting.SpdxModel/SpdxCreationInformation.cs Adds regex timeout rationale and expands docs for deep-copy/enhance/validate semantics.
src/DemaConsulting.SpdxModel/SpdxChecksum.cs Adds deep-copy/enhance/validate/comparer documentation; validates unknown numeric algorithms.
src/DemaConsulting.SpdxModel/SpdxAnnotationType.cs Expands enum and conversion helper documentation; clarifies Missing sentinel semantics.
requirements.yaml Adds a new reqstream include for IO SPDX constants.
README.md Updates feature list and examples; expands enumerated core types.
docs/verification/title.txt New verification document front-matter.
docs/verification/spdx-model/transform/transform.md New verification approach/scenario listing for Transform subsystem.
docs/verification/spdx-model/transform/spdx-relationships.md New verification approach/scenario listing for SpdxRelationships unit.
docs/verification/spdx-model/spdx-snippet.md New verification approach/scenario listing for SpdxSnippet unit.
docs/verification/spdx-model/spdx-package.md New verification approach/scenario listing for SpdxPackage unit.
docs/verification/spdx-model/spdx-package-verification-code.md New verification approach/scenario listing for SpdxPackageVerificationCode unit.
docs/verification/spdx-model/spdx-model.md New system-level verification approach and scenario listing.
docs/verification/spdx-model/spdx-license-element.md Verification statement for abstract base class (implicitly verified by subclasses).
docs/verification/spdx-model/spdx-helpers.md New verification approach/scenario listing for SpdxHelpers unit.
docs/verification/spdx-model/spdx-file.md New verification approach/scenario listing for SpdxFile unit.
docs/verification/spdx-model/spdx-extracted-licensing-info.md New verification approach/scenario listing for SpdxExtractedLicensingInfo unit.
docs/verification/spdx-model/spdx-external-reference.md New verification approach/scenario listing for SpdxExternalReference unit.
docs/verification/spdx-model/spdx-external-document-reference.md New verification approach/scenario listing for SpdxExternalDocumentReference unit.
docs/verification/spdx-model/spdx-element.md New verification approach/scenario listing for SpdxElement unit.
docs/verification/spdx-model/spdx-creation-information.md New verification approach/scenario listing for SpdxCreationInformation unit.
docs/verification/spdx-model/spdx-checksum.md New verification approach/scenario listing for SpdxChecksum unit.
docs/verification/spdx-model/spdx-annotation.md New verification approach/scenario listing for SpdxAnnotation unit.
docs/verification/spdx-model/io/spdx-constants.md New verification note for SpdxConstants (implicitly verified via IO tests).
docs/verification/spdx-model/io/io.md New verification approach/scenarios for IO subsystem.
docs/verification/spdx-model.md New top-level verification doc entry.
docs/verification/introduction.md New verification document introduction with scope and references.
docs/verification/definition.yaml New Pandoc defaults for verification doc collection.
docs/user_guide/troubleshooting.md Adds troubleshooting guide with examples.
docs/user_guide/title.txt Improves user guide front-matter metadata.
docs/user_guide/installation.md Adds installation/prerequisites documentation.
docs/user_guide/definition.yaml Updates user guide Pandoc defaults and included pages.
docs/requirements_report/title.txt Updates requirements report front-matter.
docs/requirements_report/introduction.md Updates requirements report intro text.
docs/requirements_report/definition.yaml Switches Pandoc inputs to generated trace matrix location.
docs/requirements_doc/title.txt Updates requirements doc front-matter metadata.
docs/requirements_doc/introduction.md Updates requirements doc intro and references.
docs/requirements_doc/definition.yaml Switches Pandoc inputs to generated requirements/justifications locations.
docs/reqstream/spdx-model/transform/transform.yaml Restructures Transform requirements under new hierarchy and adds child requirements.
docs/reqstream/spdx-model/transform/spdx-relationships.yaml Decomposes SpdxRelationships requirements into atomic child requirements with tests.
docs/reqstream/spdx-model/spdx-snippet.yaml Decomposes snippet requirements into data/deep-copy/enhance/validate with tests.
docs/reqstream/spdx-model/spdx-relationship.yaml Decomposes relationship requirements into compare/deep-copy/enhance/validate/text conversion.
docs/reqstream/spdx-model/spdx-package.yaml Decomposes package requirements into compare/deep-copy/enhance/validate/validate-NTIA.
docs/reqstream/spdx-model/spdx-package-verification-code.yaml Decomposes verification code requirements into compare/deep-copy/enhance/validate.
docs/reqstream/spdx-model/spdx-license-element.yaml Restructures license-element requirements and adds more granular enhance tests.
docs/reqstream/spdx-model/spdx-helpers.yaml Restructures helpers requirements and adds explicit unit tests for helper behavior.
docs/reqstream/spdx-model/spdx-file.yaml Restructures file requirements and updates test IDs referenced.
docs/reqstream/spdx-model/spdx-extracted-licensing-info.yaml Restructures extracted licensing info requirements and test references.
docs/reqstream/spdx-model/spdx-external-reference.yaml Restructures external reference requirements and test references.
docs/reqstream/spdx-model/spdx-external-document-reference.yaml Restructures external document reference requirements and test references.
docs/reqstream/spdx-model/spdx-element.yaml Restructures element requirements and points directly to new element tests.
docs/reqstream/spdx-model/spdx-creation-information.yaml Restructures creation info requirements and test references.
docs/reqstream/spdx-model/spdx-checksum.yaml Restructures checksum requirements and updates test references.
docs/reqstream/spdx-model/spdx-annotation.yaml Restructures annotation requirements; adds Missing-sentinel ToText test reference.
docs/reqstream/spdx-model/io/spdx-constants.yaml Adds new unit requirements file for SpdxConstants.
docs/reqstream/spdx-model/io/io.yaml Restructures IO subsystem requirements and adds SpdxConstants as a child requirement.
docs/reqstream/ots/weasyprint.yaml Simplifies OTS file header comment.
docs/reqstream/ots/versionmark.yaml Simplifies OTS file header comment.
docs/reqstream/ots/sonarmark.yaml Simplifies OTS file header comment.
docs/reqstream/ots/sarifmark.yaml Simplifies OTS file header comment.
docs/reqstream/ots/reviewmark.yaml Simplifies OTS file header comment.
docs/reqstream/ots/reqstream.yaml Simplifies OTS file header comment.
docs/reqstream/ots/pandoc.yaml Simplifies OTS file header comment.
docs/reqstream/ots/mstest.yaml Updates test IDs referenced after renames.
docs/reqstream/ots/fileassert.yaml Simplifies OTS file header comment.
docs/reqstream/ots/buildmark.yaml Simplifies OTS file header comment.
docs/design/title.txt Updates design doc front-matter metadata.
docs/design/spdx-model/transform/transform.md Reworks Transform design doc into interface/contract-oriented structure.
docs/design/spdx-model/transform/spdx-relationships.md Reworks SpdxRelationships design doc with contracts, error handling, and atomicity.
docs/design/spdx-model/spdx-snippet.md Reworks snippet design doc with explicit data model and method contracts.
docs/design/spdx-model/spdx-package-verification-code.md Reworks verification code design doc with explicit method contracts and comparer semantics.
docs/design/spdx-model/spdx-license-element.md Reworks license element design doc with algorithm/fitness rules and method contract.
docs/design/spdx-model/spdx-helpers.md Reworks helpers design doc with explicit method contracts and caller listing.
docs/design/spdx-model/spdx-extracted-licensing-info.md Reworks extracted licensing info design doc with method contracts and callers.
docs/design/spdx-model/spdx-external-document-reference.md Reworks external document reference design doc with method contracts and callers.
docs/design/spdx-model/spdx-element.md Reworks element design doc with explicit contracts and regex/NoAssertion semantics.
docs/design/spdx-model/spdx-creation-information.md Reworks creation info design doc with explicit method contracts and dependencies.
docs/design/spdx-model/io/spdx-constants.md Reworks SpdxConstants design doc; clarifies it’s a name registry without methods.
docs/design/spdx-model/io/spdx-2-json-serializer.md Reworks serializer design doc with method contracts and conditional serialization rules.
docs/design/spdx-model/io/spdx-2-json-deserializer.md Reworks deserializer design doc with method contracts and error handling details.
docs/design/spdx-model/io/io.md Reworks IO subsystem design doc; clarifies interfaces and error handling.
docs/design/definition.yaml Updates design collection inputs to new spdx-model doc location.
docs/code_review_report/title.txt Updates code review report front-matter metadata.
docs/code_review_report/introduction.md Updates code review report intro content.
docs/code_review_report/definition.yaml Switches Pandoc inputs to generated report location.
docs/code_review_plan/title.txt Updates code review plan front-matter metadata.
docs/code_review_plan/introduction.md Updates code review plan intro content.
docs/code_review_plan/definition.yaml Switches Pandoc inputs to generated plan location.
docs/code_quality/title.txt Updates code quality doc front-matter keywords/metadata.
docs/code_quality/introduction.md Updates code quality intro content.
docs/build_notes/title.txt Updates build notes front-matter metadata.
docs/build_notes/introduction.md Updates build notes intro content and scope.
docs/build_notes/definition.yaml Switches Pandoc inputs to generated build_notes/versions locations.
.markdownlint-cli2.yaml Ignores artifacts/** from markdownlint.
.github/standards/testing-principles.md Removes redundant introductory text.
.github/standards/requirements-principles.md Clarifies what constitutes “HOW” vs identity in requirements.
.github/standards/csharp-language.md Reworks API documentation example and guidance.
.github/standards/coding-principles.md Expands documentation expectations (all symbols) and adds API documentation section.
.github/agents/software-architect.agent.md Updates vocabulary to include “Shared Package”.
.github/agents/repo-consistency.agent.md Removes obsolete agent file.
.github/agents/quality.agent.md Reorganizes/streamlines compliance checklist sections.
.github/agents/lint-fix.agent.md Updates markdownlint guidance for wide pipe-tables.
.github/agents/formal-review.agent.md Adds verification-documentation standard to review pre-reading list.
.github/agents/developer.agent.md Adds precondition to check/fetch template counterparts for newly created files.
.cspell.yaml Adds “Preconditions” and “Postconditions” to dictionary.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/requirements_report/definition.yaml
Comment thread docs/requirements_doc/definition.yaml
Comment thread docs/build_notes/definition.yaml
Comment thread docs/code_review_plan/definition.yaml
Comment thread docs/code_review_report/definition.yaml
Comment thread docs/user_guide/troubleshooting.md
Comment thread test/DemaConsulting.SpdxModel.Tests/IO/SpdxModelIOTests.cs
Comment thread src/DemaConsulting.SpdxModel/SpdxPackageVerificationCode.cs
Copilot AI review requested due to automatic review settings May 27, 2026 13:09
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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Malcolm Nixon and others added 6 commits May 27, 2026 09:10
- Add missing <remarks> tags across all production and test source files
- Fix <remarks> ordering (must follow <summary>, before <param>/<returns>)
- Rename test methods to 4-part {Class}_{Method}_{Scenario}_{Behavior} convention
- Update YAML tests: entries and verification doc scenarios to match renamed tests
- Fix ||->&&  logic bug in Spdx2JsonSerializer SerializeSnippet line-range guard
- Decompose compound requirements into atomic requirements across multiple YAML files
- Add missing tests: entries and justification: fields to requirements YAML files
- Fix copy-paste errors in XML doc summaries and inline comments
- Fix design/verification doc parameter name mismatches and inaccuracies
- Add SpdxAnnotationType design section to spdx-annotation.md
- Add structural deviation note to design introduction.md
- Add SpdxHelpersTests.cs to folder inventory in introduction.md
- Add atomicity guarantee documentation and test to SpdxRelationships
- Add missing test coverage (ToText(Missing), unknown algorithm Validate branch,
  null boundary assertions, line-range boundary tests, annotation tests)
- Fix verification scenario descriptions (FromText_Invalid throws, not returns Unknown)
- Split multi-cycle SpdxDocument GetElement test into 4 focused tests
- Add SpdxModel-Data-Helpers and SpdxModel-Data-Elements test links
- Add spdx-constants.yaml to requirements.yaml includes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Groups 1-5 formal reviews completed with issues fixed:

Group 1 (Architecture, Design, AllRequirements, Purpose):
- Add SpdxElementTests.cs, TestHelpers.cs, SpdxJsonHelpers.cs to folder inventory
- Replace stale children refs in spdx-model.yaml and transform.yaml
- Add 8 missing edges to architecture Mermaid diagram
- Replace vague callers entry with 13 named callers in spdx-helpers.md
- Add system-level tests for Helpers and Transform to SpdxModelTests.cs
- Add EnhanceElement N/A justification to spdx-element.md verification doc
- Add SpdxElementTests.cs to SpdxModel-SpdxElement review set in .reviewmark.yaml

Group 2 (IO-Deserializer, IO-Serializer, Transform, Transform-Relationships, Annotation):
- Add remarks to all 14 deserializer test classes and methods
- Fix 3 test names missing underscore separator; rename 19 happy-path to 4-part
- Rename serializer requirement IDs from SpdxModel-Serialization-* to SpdxModel-IO-*
- Fix remarks ordering in EmitOptionalStrings and both Add methods
- Rename 22 serializer tests to 4-part naming; add 4 missing boundary scenarios
- Add remarks to Transform test class and 8 methods
- Add remarks to SpdxAnnotationSame, enum members, test class, 12 test methods
- Fix test isolation in Validate_InvalidComment (Missing -> Review)

Group 3 (SpdxChecksum, SpdxCreationInformation, SpdxDocument, SpdxExternalDocumentReference):
- Add remarks to SpdxChecksumTests class and 15 methods; fix AAA colon
- Rename 6 SpdxCreationInformation tests to 4-part; fix contaminated Arrange
- Add remarks to SpdxDocument class; add remarks to SpdxDocumentTests class and 18 methods
- Rename 14 SpdxDocument tests to 4-part naming
- Add remarks to SpdxExternalDocumentReferenceTests class and 6 methods
- Rename 5 SpdxExternalDocumentReference tests to 4-part naming
- Update all companion YAML and verification docs for renamed tests

Group 4 (SpdxExternalReference, SpdxExtractedLicensingInfo, SpdxFile, SpdxHelpers, SpdxLicenseElement):
- Fix DeepCopy remarks ordering in SpdxExternalReference, SpdxFile, SpdxExtractedLicensingInfo
- Add remarks to SpdxFileSame nested class; add remarks to GetHashCode in SpdxExtractedLicensingInfoSame
- Fix EnhanceString remarks ordering in SpdxHelpers
- Fix stale SpdxSnippet_Enhance test ref in spdx-helpers.yaml
- Fix 2 stale SpdxSnippet test refs in spdx-license-element.yaml
- Add SpdxHelpers dependency to spdx-license-element.md design doc
- Add remarks to test classes and all methods for ExternalReference, File, ExtractedLicensingInfo
- Rename 8 ExternalReference, 11 File, 2 ExtractedLicensingInfo tests to 4-part naming
- Fix Act & Assert -> Act / Assert comments; add Act / Assert label to SameComparer test
- Update all companion YAML and verification docs for renamed tests

Group 5 (SpdxPackage, SpdxSnippet, SpdxRelationship):
- Add ReleaseDate/BuiltDate/ValidUntilDate to spdx-package.md Data Model section
- Fix Validate_InvalidSnippetId test isolation (add ConcludedLicense, CopyrightText)
- Fix two missing AAA colons in SpdxSnippetTests SameComparer test
- Update relationship type count 44 -> 45 in YAML, design doc, and test remarks
- Replace 4 inheritdoc tags with explicit XmlDoc in SpdxRelationship nested classes
- Add SpdxRelationshipTypeExtensions_ToText_MissingSentinel test
- Split 2 multi-scenario SameComparer tests into 6 focused single-scenario tests
- Update companion YAML and verification docs for split and new tests

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Group 1 fixes:
- spdx-model.md (design): Added 7 missing Mermaid edges
- spdx-model.md (verification): Added 2 missing test scenarios
- spdx-annotation/external-document-reference/external-reference/extracted-licensing-info.md: Added/expanded SpdxHelpers dependencies
- spdx-element.md (design): Fixed SpdxRefRegex to protected static readonly
- ots/mstest.yaml: Fixed 3 stale test name references
- spdx-helpers.yaml: Fixed 1 stale test name reference
- spdx-model.yaml: Linked 14 orphaned requirements; fixed 3 semantic misplacements
- io.yaml: Linked SpdxModel-IO-Constants

Group 2 fixes:
- Spdx2JsonDeserializerTests.cs: Fixed missing AAA colons
- Spdx2JsonDeserializeAnnotation.cs: Fixed wrong see-cref reference
- Spdx2JsonDeserialize23.cs: Renamed variable json22Example to json23Example
- Spdx2JsonSerializePackageVerificationCode.cs: Renamed test method to match implementation
- spdx-2-json-serializer.yaml/md: Updated test ref and scenario heading
- transform.yaml: Fixed cross-level test linkage
- SpdxRelationshipsTests.cs: Added remarks to class and all 10 methods

Group 3 fixes:
- spdx-element.md (verification): Removed redundant trailing test-name sentences
- SpdxElementTests.cs: Added remarks; fixed Act comment
- SpdxChecksumTests.cs: Added AAA labels; differentiated duplicate summaries

Group 4 fixes:
- SpdxExtractedLicensingInfo.cs: Fixed remarks ordering on 3 methods
- spdx-extracted-licensing-info.md (verification): Updated 2 stale 3-part scenario names
- SpdxFileType.cs: Improved exception tag descriptions on FromText/ToText
- spdx-file.md (design): Fixed Enhance postcondition fitness semantics; fixed param names
- SpdxHelpers.cs: Improved EnhanceString summary and returns documentation
- spdx-helpers.md (design): Fixed parameter name candidates to values
- SpdxExternalReferenceTests.cs: Renamed 3 ReturnsNull tests to ThrowsInvalidOperationException; renamed 3 tests from 3-part to 4-part names
- spdx-external-reference.yaml/md: Updated all 6 renamed test references
- SpdxLicenseElementTests.cs: New file with 5 tests covering LicenseElement Enhance fitness selection
- spdx-license-element.yaml: Added 5 new test method references

Group 5 fixes:
- SpdxRelationshipType.cs: Updated FromText remarks count from 44 to 45
- spdx-snippet.md (design): Fixed static Enhance parameter names array/others
- SpdxSnippetTests.cs: Fixed assertion style; fixed inaccurate Arrange comment
- spdx-external-reference.md (design): Documented PACKAGE_MANAGER underscore alias

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 27, 2026 14:03
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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Copilot AI review requested due to automatic review settings May 27, 2026 23:52
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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@Malcolmnixon Malcolmnixon merged commit b129c40 into main May 28, 2026
17 of 18 checks passed
@Malcolmnixon Malcolmnixon deleted the template-cleanup branch May 28, 2026 00:16
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.

2 participants