Skip to content

Sync with TemplateDotNetLibrary: workflow section comments, self-validation, artifact naming, OTS requirements, and semantic requirement IDs#112

Merged
Malcolmnixon merged 3 commits intomainfrom
copilot/update-build-workflow-comments
Mar 4, 2026
Merged

Sync with TemplateDotNetLibrary: workflow section comments, self-validation, artifact naming, OTS requirements, and semantic requirement IDs#112
Malcolmnixon merged 3 commits intomainfrom
copilot/update-build-workflow-comments

Conversation

Copy link
Contributor

Copilot AI commented Mar 4, 2026

Pull Request

Description

Brings the repository in line with recent TemplateDotNetLibrary template updates across five areas: workflow structure comments, OTS tool self-validation steps, unified artifact naming, OTS Software requirements traceability, and semantic requirement IDs.

Workflow Section Comments

Added # === SECTION === comment blocks with downstream-project guidance notes to all jobs that were missing them (quality-checks, build, codeql).

Artifact Naming Convention

All job outputs now flow through a single artifacts/ directory per job, uploaded as a single artifact, and downloaded in build-docs with one step using pattern: 'artifacts-*' / merge-multiple: true:

Job Before After
quality-checks version-capture-quality artifacts-quality
build version-capture-{os} + test-results-{os} + artifacts-{os} artifacts-build-{os} + packages-{os}
codeql codeql-sarif (from sarif-results/) artifacts-codeql (from artifacts/)
build-docs download 4 separate steps into 4 dirs 1 step → artifacts/
release download artifacts-ubuntu-latest packages-ubuntu-latest

Downstream path references updated accordingly (--tests, --sarif, --publish globs).

OTS Self-Validation Steps

  • quality-checks and build: added Run VersionMark self-validation (writes TRX to artifacts/)
  • build-docs: added # === CAPTURE OTS SELF-VALIDATION RESULTS === section with self-validation steps for ReqStream, BuildMark, VersionMark, SarifMark, and SonarMark
  • Version capture steps moved earlier (before Restore Dependencies) in build job; all write output to artifacts/ via --output

OTS Software Requirements

Added OTS Software section to requirements.yaml with six [ots]-tagged requirements — one per tool (MSTest, ReqStream, BuildMark, VersionMark, SarifMark, SonarMark) — linked to the TRX test names emitted by each tool's --validate mode. This closes the traceability chain: self-validation steps produce TRX evidence → requirements reference those test names → reqstream --enforce proves all OTS tools are functioning.

ReqStream 1.4.0

Updated demaconsulting.reqstream from 1.3.0 to 1.4.0 in .config/dotnet-tools.json. Version 1.4.0 is required to support OTS Software evidence collection.

Semantic Requirement IDs

Converted all 28 requirement IDs from numeric (REQ-FUNC-xxx, REQ-OTS-xxx) to semantic with 3-character section abbreviations following the TestResults-{Sec}-{Description} pattern:

Section Abbreviation Example
Model Mdl TestResults-Mdl-PassedOutcome
Serialization Ser TestResults-Ser-FormatIdentify
TRX Serialization Trx TestResults-Trx-Serialize
JUnit Serialization Jun TestResults-Jun-Deserialize
Runtime Run TestResults-Run-Net8
OTS Software OTS TestResults-OTS-ReqStream

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

Related Issues

Pre-Submission Checklist

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:

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint .

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)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

All requirement ID changes are non-breaking within the traceability system — the IDs are internal identifiers used only within requirements.yaml and the generated trace matrix documents.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

…rtifact naming, OTS requirements

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Update template project with recent changes and best practices Sync with TemplateDotNetLibrary: workflow section comments, self-validation, artifact naming, OTS requirements Mar 4, 2026
@Malcolmnixon
Copy link
Contributor

@copilot You seem to have skipped numerous updates - you didn't update ReqStream to 1.4.0 required to provide OTS Software evidence - you didn't convert the requirement IDs from numeric-IDs to semantic-IDs. Please follow the repo-consistency agent instructions for going through the pull requests and apply ALL the appropriate changes.

… with 3-char sections

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

Copilot AI commented Mar 4, 2026

@copilot You seem to have skipped numerous updates - you didn't update ReqStream to 1.4.0 required to provide OTS Software evidence - you didn't convert the requirement IDs from nume...

Done in commit 7260fa5:

  • Updated demaconsulting.reqstream from 1.3.0 to 1.4.0 in .config/dotnet-tools.json
  • Converted all 28 requirement IDs from numeric (REQ-FUNC-xxx, REQ-OTS-xxx) to semantic with 3-character section abbreviations:
    • TestResults-Mdl-* (Model)
    • TestResults-Ser-* (Serialization)
    • TestResults-Trx-* (TRX — already 3 chars)
    • TestResults-Jun-* (JUnit)
    • TestResults-Run-* (Runtime)
    • TestResults-OTS-* (OTS — already 3 chars)

Copilot AI changed the title Sync with TemplateDotNetLibrary: workflow section comments, self-validation, artifact naming, OTS requirements Sync with TemplateDotNetLibrary: workflow section comments, self-validation, artifact naming, OTS requirements, and semantic requirement IDs Mar 4, 2026
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