Skip to content

Sync template files and restructure docs to updated standards#138

Merged
Malcolmnixon merged 4 commits intomainfrom
copilot/binary-copy-updated-files
Apr 3, 2026
Merged

Sync template files and restructure docs to updated standards#138
Malcolmnixon merged 4 commits intomainfrom
copilot/binary-copy-updated-files

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 3, 2026

Pull Request

Description

Syncs infrastructure files from TemplateDotNetLibrary and restructures docs/reqstream to conform to the updated standards.

Template sync (binary copy from e18b5cf):

  • AGENTS.md, lint.sh, lint.bat
  • .github/agents/developer, implementation, quality agents
  • .github/standards/design-documentation, reqstream-usage, reviewmark-usage, technical-documentation

Design docs (docs/design/) — per updated design-documentation.md:

  • All files moved under docs/design/spdx-model/ system subfolder
  • system.mdspdx-model/spdx-model.md
  • introduction.md folder layout updated

Requirements (docs/reqstream/) — per updated reqstream-usage.md:

  • All files moved under docs/reqstream/spdx-model/ system subfolder
  • system.yamlspdx-model/spdx-model.yaml
  • requirements.yaml include paths updated
  • Added missing requirements yaml files for all software units:
    • spdx-document.yaml, spdx-element.yaml, spdx-helpers.yaml, spdx-license-element.yaml, io/spdx-constants.yaml
  • Fixed yamllint line-length and cspell spelling errors in new requirements files

ReviewMark (.reviewmark.yaml) — per updated reviewmark-usage.md:

  • SpdxModel-System review-set renamed → SpdxModel-Architecture
  • All paths updated to new folder structure
  • Added README.md and docs/user_guide/**/*.md to needs-review patterns
  • All software unit review-sets now include requirements, design, code, and unit-test entries

Pandoc definition.yaml files — already compliant, no changes.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All unit tests pass: dotnet test --configuration Release
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

Please run the following checks before submitting:

  • All linters pass: ./lint.sh (Unix/macOS) or cmd /c lint.bat / ./lint.bat (Windows)

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)
  • Updated XML documentation comments for changed APIs
  • Updated ARCHITECTURE.md (if applicable)

Additional Notes

No source code, tests, or build logic changed. All modifications are confined to documentation, requirements, agent/standard definitions, and lint scripts.

Copilot AI and others added 2 commits April 3, 2026 12:47
Agent-Logs-Url: https://github.com/demaconsulting/SpdxModel/sessions/a6997e72-d38b-4b08-b117-3270985bf9ea

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
- Move design docs under docs/design/spdx-model/ system folder
- Move requirements under docs/reqstream/spdx-model/ system folder
- Rename system.md to spdx-model.md in design folder
- Rename system.yaml to spdx-model.yaml in requirements folder
- Update requirements.yaml root file with new paths
- Update docs/design/introduction.md folder layout section
- Update .reviewmark.yaml with new paths and rename SpdxModel-System to SpdxModel-Architecture
- Add README.md and docs/user_guide/**/*.md to needs-review patterns

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Can you make sure that ALL software units have requirements and design documents; and that ALL software unit review-sets include the requirements, design, code, and unit-tests

Add requirements YAML files for units that were missing them:
- docs/reqstream/spdx-model/spdx-document.yaml
- docs/reqstream/spdx-model/spdx-element.yaml
- docs/reqstream/spdx-model/spdx-helpers.yaml
- docs/reqstream/spdx-model/spdx-license-element.yaml
- docs/reqstream/spdx-model/io/spdx-constants.yaml

Update requirements.yaml to include all new files.

Update .reviewmark.yaml to add the requirements yaml path to the
review-sets for SpdxDocument, SpdxElement, SpdxHelpers,
SpdxLicenseElement, and the IO subsystem (spdx-constants.yaml),
so that every unit review-set now includes requirements, design,
code, and tests (where a dedicated test file exists).

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 3, 2026

@copilot Can you make sure that ALL software units have requirements and design documents; and that ALL software unit review-sets include the requirements, design, code, and unit-tests

Done in commit 62319ee.

Created 5 missing requirements yaml files:

  • docs/reqstream/spdx-model/spdx-document.yaml
  • docs/reqstream/spdx-model/spdx-element.yaml
  • docs/reqstream/spdx-model/spdx-helpers.yaml
  • docs/reqstream/spdx-model/spdx-license-element.yaml
  • docs/reqstream/spdx-model/io/spdx-constants.yaml

Updated requirements.yaml to include the new files, and updated all 5 affected review-sets (SpdxModel-SpdxDocument, SpdxModel-SpdxElement, SpdxModel-SpdxHelpers, SpdxModel-SpdxLicenseElement, SpdxModel-IO) to include their requirements yaml paths alongside the existing design, code, and unit-test entries. For abstract base classes (SpdxElement, SpdxLicenseElement) and internal utilities (SpdxHelpers, SpdxConstants) that have no dedicated test files, their requirements reference tests from the concrete subclass/consumer tests that exercise the relevant behaviour.

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:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh gh auth status (http block)
    • Triggering command: /usr/bin/gh gh repo view --json nameWithOwner (http block)
  • https://api.github.com/user
    • Triggering command: /usr/bin/gh gh api user (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from Malcolmnixon April 3, 2026 13:17
@Malcolmnixon Malcolmnixon marked this pull request as ready for review April 3, 2026 13:17
Copilot AI review requested due to automatic review settings April 3, 2026 13:17
@Malcolmnixon
Copy link
Copy Markdown
Member

@copilot Please fix the issues reported by linting

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 syncs repository template infrastructure from TemplateDotNetLibrary and restructures the design + ReqStream documentation under a system-scoped folder layout (docs/design/spdx-model/ and docs/reqstream/spdx-model/) to match updated Continuous Compliance standards.

Changes:

  • Restructured design and requirements documentation into spdx-model/ system subfolders and updated root requirements.yaml include paths accordingly.
  • Updated ReviewMark configuration to reflect the new documentation paths and expanded needs-review patterns.
  • Updated lint scripts (lint.sh / lint.bat) to run Python/npm linting with skip behavior when tooling setup fails.

Reviewed changes

Copilot reviewed 18 out of 58 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
requirements.yaml Updates includes to point at the new docs/reqstream/spdx-model/** structure.
lint.sh Restructures linting into Python/npm/.NET sections with skip flags on tool setup failure.
lint.bat Same lint restructuring as lint.sh, with section labels for flow control.
docs/reqstream/spdx-model/spdx-model.yaml Adds system-level requirements for SpdxModel (data model + validation).
docs/reqstream/spdx-model/platform-requirements.yaml Adds platform support requirements (macOS, net8/9/10, netstandard2.0 evidence via net481).
docs/reqstream/spdx-model/io/io.yaml Adds IO subsystem requirements container.
docs/reqstream/spdx-model/io/spdx-2-json-deserializer.yaml Adds unit requirements for SPDX JSON deserialization.
docs/reqstream/spdx-model/io/spdx-2-json-serializer.yaml Adds unit requirements for SPDX JSON serialization.
docs/reqstream/spdx-model/io/spdx-constants.yaml Adds unit requirements for centralized JSON field constants.
docs/reqstream/spdx-model/transform/transform.yaml Adds Transform subsystem requirements container.
docs/reqstream/spdx-model/transform/spdx-relationships.yaml Adds unit requirements for relationship utilities.
docs/reqstream/spdx-model/spdx-annotation.yaml Adds unit requirements for annotations.
docs/reqstream/spdx-model/spdx-checksum.yaml Adds unit requirements for checksums.
docs/reqstream/spdx-model/spdx-creation-information.yaml Adds unit requirements for creation information.
docs/reqstream/spdx-model/spdx-document.yaml Adds unit requirements for SpdxDocument (validation, NTIA, querying).
docs/reqstream/spdx-model/spdx-element.yaml Adds unit requirements for base element identity.
docs/reqstream/spdx-model/spdx-external-document-reference.yaml Adds unit requirements for external doc references.
docs/reqstream/spdx-model/spdx-external-reference.yaml Adds unit requirements for external references.
docs/reqstream/spdx-model/spdx-extracted-licensing-info.yaml Adds unit requirements for extracted licensing info.
docs/reqstream/spdx-model/spdx-file.yaml Adds unit requirements for files.
docs/reqstream/spdx-model/spdx-helpers.yaml Adds unit requirements for shared helper utilities.
docs/reqstream/spdx-model/spdx-license-element.yaml Adds unit requirements for license-bearing base element behavior.
docs/reqstream/spdx-model/spdx-package.yaml Adds unit requirements for packages.
docs/reqstream/spdx-model/spdx-package-verification-code.yaml Adds unit requirements for package verification codes.
docs/reqstream/spdx-model/spdx-relationship.yaml Adds unit requirements for relationships.
docs/reqstream/spdx-model/spdx-snippet.yaml Adds unit requirements for snippets.
docs/design/introduction.md Updates design doc folder layout documentation to match the new structure.
docs/design/spdx-model/spdx-model.md Adds system design documentation for DemaConsulting.SpdxModel architecture.
docs/design/spdx-model/io/io.md Adds IO subsystem design documentation.
docs/design/spdx-model/io/spdx-2-json-deserializer.md Adds deserializer unit design documentation.
docs/design/spdx-model/io/spdx-2-json-serializer.md Adds serializer unit design documentation.
docs/design/spdx-model/io/spdx-constants.md Adds constants unit design documentation.
docs/design/spdx-model/transform/transform.md Adds Transform subsystem design documentation.
docs/design/spdx-model/transform/spdx-relationships.md Adds SpdxRelationships unit design documentation.
docs/design/spdx-model/spdx-annotation.md Adds SpdxAnnotation unit design documentation.
docs/design/spdx-model/spdx-checksum.md Adds SpdxChecksum unit design documentation.
docs/design/spdx-model/spdx-creation-information.md Adds SpdxCreationInformation unit design documentation.
docs/design/spdx-model/spdx-document.md Adds SpdxDocument unit design documentation.
docs/design/spdx-model/spdx-element.md Adds SpdxElement unit design documentation.
docs/design/spdx-model/spdx-external-document-reference.md Adds SpdxExternalDocumentReference unit design documentation.
docs/design/spdx-model/spdx-external-reference.md Adds SpdxExternalReference unit design documentation.
docs/design/spdx-model/spdx-extracted-licensing-info.md Adds SpdxExtractedLicensingInfo unit design documentation.
docs/design/spdx-model/spdx-file.md Adds SpdxFile unit design documentation.
docs/design/spdx-model/spdx-helpers.md Adds SpdxHelpers unit design documentation.
docs/design/spdx-model/spdx-license-element.md Adds SpdxLicenseElement unit design documentation.
docs/design/spdx-model/spdx-package.md Adds SpdxPackage unit design documentation.
docs/design/spdx-model/spdx-package-verification-code.md Adds SpdxPackageVerificationCode unit design documentation.
docs/design/spdx-model/spdx-relationship.md Adds SpdxRelationship unit design documentation.
docs/design/spdx-model/spdx-snippet.md Adds SpdxSnippet unit design documentation.
AGENTS.md Updates agent guidance and repository linting/quality-gate instructions to match the template.
.reviewmark.yaml Renames the system review-set and updates paths to the new docs/reqstream + docs/design structure; expands needs-review.
.github/standards/design-documentation.md Updates design documentation standard to require per-system subfolders.
.github/standards/reqstream-usage.md Updates requirements folder standard to require per-system subfolders.
.github/standards/reviewmark-usage.md Updates ReviewMark usage standard content, patterns, and review-set naming conventions.
.github/standards/technical-documentation.md Updates technical documentation standard folder layout to per-system organization.
.github/agents/developer.agent.md Updates developer agent workflow to explicitly include lint-fix process before gates.
.github/agents/implementation.agent.md Updates implementation agent state machine instructions and reporting formatting.
.github/agents/quality.agent.md Updates quality agent report requirements (explicit Result field + completeness checks).

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

…files

Agent-Logs-Url: https://github.com/demaconsulting/SpdxModel/sessions/5604bbc3-1491-4ea1-ae9c-c0a38e01f7b7

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 3, 2026

@copilot Please fix the issues reported by linting

Fixed in commit fd4200c. The linting failures were in the new reqstream yaml files added in the previous commit:

  • yamllint line-length errors in spdx-license-element.yaml (lines 10, 24) and io/spdx-constants.yaml (line 10) — fixed by wrapping long title values using YAML block scalar (>-)
  • cspell unknown word errors for British English "centralise/Centralising" in 4 files — changed to American English "centralize/Centralizing" to match the project's language: en cspell config

All linters now pass cleanly.

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:

  • https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/1108766/chrome-linux.zip
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node install.js (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from Malcolmnixon April 3, 2026 13:30
@Malcolmnixon Malcolmnixon merged commit b918c44 into main Apr 3, 2026
12 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/binary-copy-updated-files branch April 3, 2026 13:43
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