Skip to content

Add SysML2 architecture model support and update documentation#63

Merged
Malcolmnixon merged 3 commits into
mainfrom
feature/sysml2-support
Jul 9, 2026
Merged

Add SysML2 architecture model support and update documentation#63
Malcolmnixon merged 3 commits into
mainfrom
feature/sysml2-support

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

This pull request introduces comprehensive improvements to the repository's formal review, design documentation, and SysML2 modeling workflows. The main focus is on integrating SysML2 models into review processes, clarifying documentation standards, and enhancing review set configuration with context and structure. It also adds a new skill for querying SysML2 models and updates spell-checking and tooling configuration.

Key changes:

SysML2 Model Integration and Tooling

  • Added a new skill documentation file (.github/skills/sysml2tools-query/SKILL.md) describing how to query the SysML2 architecture model for understanding software structure, relationships, and artifact locations, including recommended workflows and validation steps.
  • Added demaconsulting.sysml2tools.tool as a pinned .NET tool in .config/dotnet-tools.json for SysML2 model querying and validation.
  • Updated .cspell.yaml to recognize SysML2-related terms and dependencies for spell-checking. [1] [2] [3]

Review Process and ReviewMark Configuration

  • Overhauled .github/standards/reviewmark-usage.md to:
    • Include SysML2 model files in review coverage and clarify review set scoping.
    • Add explicit context files for each review set, ensuring reviewers have the necessary orientation without overloading the review scope.
    • Provide detailed review set design principles and naming conventions, including new sections on context management and review-set organization. [1] [2] [3] [4] [5]

Design Documentation Standards

  • Updated .github/standards/design-documentation.md to:
    • Reference the new sysml2-modeling.md standard and require SysML2-rendered diagrams for the Software Structure section.
    • Clarify rules about version numbers in design docs, specifying what is and isn't allowed. [1] [2] [3]

Agent and Workflow Updates

  • Clarified review agent instructions in .github/agents/formal-review.agent.md to distinguish between context/reference files and files under review, and to reflect the new review artifact workflow.
  • Updated .github/agents/template-sync.agent.md to add a work group for SysML2 model files and rendered views.

These changes align the repository's review and documentation workflows with modern model-based engineering practices, streamline reviewer orientation, and ensure that all formal artifacts remain consistent and traceable.

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

- Scaffold docs/sysml2/ model and design-views with sysml2tools wired into
  lint.ps1, build.yaml, .config/dotnet-tools.json, .versionmark.yaml
- Recreate docs/design/introduction.md to reference the generated
  SoftwareStructureView diagram instead of a hand-maintained tree
- Embed per-subsystem/unit diagrams across docs/design/file-assert/**
- Rework .reviewmark.yaml to match the updated reviewmark-usage standard
  (Purpose/Decomposition review-sets, OTS-*/Shared-* naming, context blocks)
- Fix AGENTS.md escaped heading
- Fix formal-review findings: missing files in design/verification Pandoc
  manifests, incomplete OTS item count/table in ots.md (10 -> 13 items),
  remove legacy docs/design/file-assert/ots-dependencies.md duplicate,
  correct stale zip.entries[] schema to zip.files[] in user guide, drop
  hand-maintained software structure tree from verification/introduction.md
- Add yamldotnet/pdfpig/htmlagilitypack/filesystemglobbing to cspell words

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 9, 2026 14:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 integrates a SysML2 architecture model into FileAssert’s documentation/review workflows and wires SysML2Tools into CI so software-structure diagrams are rendered from the model (rather than maintained as prose).

Changes:

  • Added a SysML2 model under docs/sysml2/ (system/subsystem/unit/OTS parts) plus view definitions for rendered design diagrams.
  • Integrated SysML2Tools into linting/version capture and CI document generation (rendering SVG views before Pandoc runs).
  • Updated standards/agent guidance and refreshed design/verification/user-guide docs to reference the SysML2-driven structure.

Reviewed changes

Copilot reviewed 79 out of 80 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
lint.ps1 Adds SysML2Tools linting to the compliance-tool lint step when docs/sysml2 exists.
docs/verification/ots.md Expands OTS verification narrative to include additional production libraries.
docs/verification/introduction.md Removes the hand-maintained software-structure tree from verification intro.
docs/verification/definition.yaml Adds additional verification inputs (more unit/OTS verification docs).
docs/user_guide/introduction.md Updates ZIP assertion schema documentation (zip.files[] and nested assertions).
docs/sysml2/views/design-views.sysml Defines named SysML2 views to render into design-document SVGs.
docs/sysml2/model/shared.sysml Adds Shared Package modeling and artifact-location comments.
docs/sysml2/model/ots.sysml Adds OTS dependency modeling and artifact-location comments.
docs/sysml2/model/file-assert/utilities/zip-file-container.sysml Models ZipFileContainer with source/test/design/verification/req references.
docs/sysml2/model/file-assert/utilities/temporary-directory.sysml Models TemporaryDirectory with artifact references.
docs/sysml2/model/file-assert/utilities/path-helpers.sysml Models PathHelpers with artifact references.
docs/sysml2/model/file-assert/utilities/i-file-container.sysml Models IFileContainer with artifact references.
docs/sysml2/model/file-assert/utilities/directory-file-container.sysml Models DirectoryFileContainer with artifact references.
docs/sysml2/model/file-assert/utilities.sysml Models Utilities subsystem composition (parts for helpers/containers).
docs/sysml2/model/file-assert/selftest/validation.sysml Models Validation unit with artifact references.
docs/sysml2/model/file-assert/selftest.sysml Models SelfTest subsystem and its child unit.
docs/sysml2/model/file-assert/program.sysml Models Program unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-zip-assert.sysml Models FileAssertZipAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-yaml-assert.sysml Models FileAssertYamlAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-xml-assert.sysml Models FileAssertXmlAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-text-assert.sysml Models FileAssertTextAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-test.sysml Models FileAssertTest unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-rule.sysml Models FileAssertRule unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-pdf-assert.sysml Models FileAssertPdfAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-json-assert.sysml Models FileAssertJsonAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-html-assert.sysml Models FileAssertHtmlAssert unit with artifact references.
docs/sysml2/model/file-assert/modeling/file-assert-file.sysml Models FileAssertFile unit with artifact references.
docs/sysml2/model/file-assert/modeling.sysml Models Modeling subsystem composition (parts for assertion units).
docs/sysml2/model/file-assert/configuration/file-assert-data.sysml Models FileAssertData unit with artifact references.
docs/sysml2/model/file-assert/configuration/file-assert-config.sysml Models FileAssertConfig unit with artifact references.
docs/sysml2/model/file-assert/configuration.sysml Models Configuration subsystem composition.
docs/sysml2/model/file-assert/cli/i-context.sysml Models IContext unit with artifact references.
docs/sysml2/model/file-assert/cli/context.sysml Models Context unit with artifact references.
docs/sysml2/model/file-assert/cli.sysml Models Cli subsystem composition.
docs/sysml2/model/file-assert.sysml Adds top-level FileAssertSystem model tying together subsystems, OTS, and shared package.
docs/design/ots.md Expands OTS design to include production libraries and updates OTS categorization text.
docs/design/introduction.md Replaces prose software-structure tree with SysML2-rendered diagram embedding and updated narrative.
docs/design/file-assert/utilities/zip-file-container.md Embeds Utilities view diagram in unit design doc.
docs/design/file-assert/utilities/temporary-directory.md Embeds Utilities view diagram in unit design doc.
docs/design/file-assert/utilities/path-helpers.md Embeds Utilities view diagram in unit design doc.
docs/design/file-assert/utilities/i-file-container.md Embeds Utilities view diagram in unit design doc.
docs/design/file-assert/utilities/directory-file-container.md Embeds Utilities view diagram in unit design doc.
docs/design/file-assert/utilities.md Embeds Utilities view diagram in subsystem design doc.
docs/design/file-assert/selftest/validation.md Embeds SelfTest view diagram in unit design doc.
docs/design/file-assert/selftest.md Embeds SelfTest view diagram in subsystem design doc.
docs/design/file-assert/program.md Embeds system-level view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-zip-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-yaml-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-xml-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-text-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-test.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-rule.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-pdf-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-json-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-html-assert.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling/file-assert-file.md Embeds Modeling view diagram in unit design doc.
docs/design/file-assert/modeling.md Embeds Modeling view diagram in subsystem design doc.
docs/design/file-assert/configuration/file-assert-data.md Embeds Configuration view diagram in unit design doc.
docs/design/file-assert/configuration/file-assert-config.md Embeds Configuration view diagram in unit design doc.
docs/design/file-assert/configuration.md Embeds Configuration view diagram in subsystem design doc.
docs/design/file-assert/cli/i-context.md Embeds Cli view diagram in unit design doc.
docs/design/file-assert/cli/context.md Embeds Cli view diagram in unit design doc.
docs/design/file-assert/cli.md Embeds Cli view diagram in subsystem design doc.
docs/design/file-assert.md Embeds system-level view diagram in system design doc.
docs/design/definition.yaml Updates design-collection input list (new docs included; OTS-dependencies doc removed).
docs/design/file-assert/ots-dependencies.md Removes the older OTS dependencies design document (superseded by new OTS structure).
AGENTS.md Updates agent navigation guidance to prefer querying the SysML2 model first.
.versionmark.yaml Adds SysML2Tools to version capture rules.
.reviewmark.yaml Adds SysML2 model files to review coverage and refactors review-set context/scoping.
.gitignore Ignores docs/design/generated/ (rendered SVG outputs).
.github/workflows/build.yaml Adds SysML2Tools to version capture list and renders SysML2 views before Pandoc design build.
.github/standards/sysml2-modeling.md Introduces modeling/view/rendering standards for SysML2 structure.
.github/standards/software-items.md Notes SysML2 comment metadata as a discoverability aid for artifact locations.
.github/standards/reviewmark-usage.md Updates ReviewMark guidance to include SysML2 model files and contextual review-set design.
.github/standards/design-documentation.md Requires SysML2-rendered diagrams for the Software Structure section; clarifies version-number rules.
.github/skills/sysml2tools-query/SKILL.md Adds a skill doc describing SysML2Tools query workflows for agents/reviewers.
.github/agents/template-sync.agent.md Adds docs/sysml2/ as a template-sync work group.
.github/agents/formal-review.agent.md Clarifies how to treat ReviewMark “context” vs “files under review”.
.cspell.yaml Adds SysML2-related terms and dependency names to the spell-check dictionary.
.config/dotnet-tools.json Pins SysML2Tools (demaconsulting.sysml2tools.tool) as a local .NET tool.
Comments suppressed due to low confidence (1)

docs/verification/ots.md:21

  • SysML2Tools is now part of the CI pipeline (diagram rendering) and lint process, but it is not listed in the OTS verification strategy/items here. As written, the document suggests the pipeline is verified without accounting for the SysML2 model lint/render step that feeds into Pandoc inputs.

Please add SysML2Tools to the OTS lists and provide per-item verification evidence/docs (and requirements/design companions if you treat it as an OTS item like the other dotnet tools).


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

Comment thread docs/design/definition.yaml
Comment thread docs/design/ots.md Outdated
SysML2Tools was wired into lint.ps1/build.yaml but was missing its OTS
requirements/design/verification documentation. Add the full companion
artifact set and wire it into every OTS index:

- docs/reqstream/ots/sysml2tools.yaml (lint/render requirements)
- docs/design/ots/sysml2tools.md (integration design)
- docs/verification/ots/sysml2tools.md (verification evidence)
- requirements.yaml include, .reviewmark.yaml OTS-SysML2Tools review-set
- docs/design/definition.yaml and docs/verification/definition.yaml
  Pandoc manifests
- docs/design/ots.md and docs/verification/ots.md summary tables/lists
  (OTS count 13 -> 14)
- docs/design/introduction.md and docs/verification/introduction.md
  OTS scope lists

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 9, 2026 14:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 83 out of 84 changed files in this pull request and generated 5 comments.

Comments suppressed due to low confidence (1)

docs/verification/ots.md:41

  • Use US English spelling: change “artefacts” to “artifacts” in the qualification-evidence section.

Comment thread docs/verification/ots.md Outdated
Comment thread docs/verification/ots.md Outdated
Comment thread docs/design/ots.md Outdated
Comment thread docs/sysml2/model/ots.sysml Outdated
Comment thread docs/sysml2/model/file-assert.sysml Outdated
- Fix US spelling: behaviour->behavior, artefacts->artifacts, initialisation->initialization
- Correct reqstream test links to actual SysML2Tools self-validation tests
  (SysML2Tools_LintSelfTest, SysML2Tools_RenderSvgSelfTest) that specifically
  prove the lint and SVG render functionality FileAssert depends on
- Add SysML2Tools self-validation step to build.yaml to satisfy reqstream
  enforcement for the new OTS-SysML2Tools requirements
- Remove pipeline/build-tool OTS items (BuildMark, Pandoc, ReqStream,
  ReviewMark, SarifMark, SonarMark, SysML2Tools, VersionMark, WeasyPrint,
  XUnit) from the SysML2 model's structural parts. These remain fully
  documented as OTS dependencies (design/verification/reqstream docs and
  reviewmark review-sets), but are not modeled as system parts since the
  SysML2 model represents the shipped system's runtime composition, not
  its build tooling - matching the BuildMark/DictionaryMark precedent

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 9, 2026 15:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 83 out of 84 changed files in this pull request and generated 3 comments.

Comment thread docs/design/definition.yaml
Comment thread docs/design/introduction.md
Comment thread docs/design/ots/sysml2tools.md
@Malcolmnixon
Malcolmnixon merged commit 43f482f into main Jul 9, 2026
16 checks passed
@Malcolmnixon
Malcolmnixon deleted the feature/sysml2-support branch July 9, 2026 15:44
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