Skip to content

Refactor SysML2 model structure and enhance artifact metadata - #22

Merged
Malcolmnixon merged 2 commits into
mainfrom
feature/sysml2-model-split
Jul 8, 2026
Merged

Refactor SysML2 model structure and enhance artifact metadata#22
Malcolmnixon merged 2 commits into
mainfrom
feature/sysml2-model-split

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

This pull request updates the SysML2 modeling conventions and related documentation to support a more modular, scalable file structure and improved artifact traceability, leveraging new features in sysml2tools 0.1.0-beta.5. The main changes include reorganizing model files into a nested directory structure, updating documentation and workflows to use recursive globs, introducing standardized artifact-location metadata in model files, and removing the old monolithic dictionary-mark.sysml in favor of the new structure.

SysML2 Model Structure and Tooling Improvements:

  • Migrated the SysML2 model file structure from flat files in docs/sysml2/ to a nested, modular hierarchy under docs/sysml2/model/, with one file per System, Subsystem, and Unit, matching the folder structure of companion artifacts (design, requirements, verification). This enables smaller, more maintainable model files and reduces unrelated diffs in PRs. (.github/skills/sysml2tools-query/SKILL.md, .github/standards/sysml2-modeling.md, docs/sysml2/dictionary-mark.sysml [1] [2] [3]
  • Updated all documentation, workflows, and code snippets to use recursive quoted globs (e.g. 'docs/sysml2/model/**/*.sysml') for all sysml2tools commands, reflecting new internal glob expansion and recursion support in sysml2tools 0.1.0-beta.5. This ensures consistent behavior across shells and simplifies CI/CD scripts. (.github/skills/sysml2tools-query/SKILL.md, .github/standards/sysml2-modeling.md, .github/workflows/build.yaml [1] [2] [3]

Artifact Traceability and Metadata:

  • Introduced standardized artifact-location comments (sourceRef, testRef, designRef, verificationRef, reqRef) in every System/Subsystem/Unit part def. These comments point to the corresponding source, test, design, verification, and requirements files, enabling agents and tools to query artifact locations directly from the model. Documentation now describes how to use these comments and the conventions for when each is present. (.github/standards/sysml2-modeling.md, .github/standards/software-items.md, .github/skills/sysml2tools-query/SKILL.md [1] [2] [3]

Documentation and Workflow Updates:

  • Updated all workflow and documentation examples to use the new file structure and artifact-location conventions, including recommended query workflows, model update requirements, and CI integration for linting and rendering diagrams. (.github/skills/sysml2tools-query/SKILL.md, .github/standards/sysml2-modeling.md, .github/workflows/build.yaml [1] [2] [3]
  • Removed the old monolithic docs/sysml2/dictionary-mark.sysml file, as the model is now split into modular files per the new convention.

Tooling Version Update:

  • Upgraded demaconsulting.sysml2tools.tool to version 0.1.0-beta.5 in .config/dotnet-tools.json to enable new features such as internal glob expansion and recursive directory processing.

…-location metadata

- Split docs/sysml2/{system}.sysml into docs/sysml2/model/ mirroring the folder
  depth of docs/design/, docs/reqstream/, and docs/verification/ (one file per
  System/Subsystem/Unit); docs/sysml2/views/ remains a sibling of model/.
- Added named comment metadata (sourceRef/testRef/designRef/verificationRef/
  reqRef) to each part def so agents can query companion-artifact locations via
  'sysml2tools query describe' without grepping the source tree.
- Bumped demaconsulting.sysml2tools.tool to 0.1.0-beta.5, which added native
  recursive glob expansion to lint/render/query. Simplified build.yaml's render
  step (plain PowerShell, no shell: bash/globstar workaround) and lint.ps1's
  sysml2 lint step (single quoted glob, no Get-ChildItem/content-filter).
- Rewrote sysml2-modeling.md (repository structure, model content, artifact-
  location comments, build/lint integration, diagram embedding) and the
  sysml2tools-query skill (new paths, artifact-location metadata section,
  beta.5 quoted-glob examples) to document the new approach.
- Added a one-sentence cross-reference in software-items.md's Software Item
  Artifact Model section pointing at the new SysML2 comment metadata.

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

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 pull request refactors the repository’s SysML2 architecture model to a modular, nested file structure under docs/sysml2/model/, and updates linting/build automation plus documentation to use recursive quoted globs and standardized artifact-location metadata for better traceability.

Changes:

  • Split the monolithic SysML2 model into many smaller System/Subsystem/Unit files under docs/sysml2/model/** and removed the old flat files.
  • Standardized artifact-location metadata on part def elements via comment fields (sourceRef, testRef, designRef, verificationRef, reqRef).
  • Updated scripts/workflows/docs to use quoted recursive globs and upgraded demaconsulting.sysml2tools.tool to 0.1.0-beta.5.

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
lint.ps1 Simplifies SysML2 lint invocation to a single quoted recursive glob.
docs/sysml2/ots.sysml Removes old flat OTS model file (replaced by modular structure).
docs/sysml2/model/ots.sysml Adds OTS dependencies model with artifact-location comment metadata.
docs/sysml2/model/dictionary-mark/utilities/temporary-directory.sysml Adds unit model + artifact refs for TemporaryDirectory.
docs/sysml2/model/dictionary-mark/utilities/path-helpers.sysml Adds unit model + artifact refs for PathHelpers.
docs/sysml2/model/dictionary-mark/utilities/glob-matcher.sysml Adds unit model + artifact refs for GlobMatcher.
docs/sysml2/model/dictionary-mark/utilities.sysml Adds UtilitiesSubsystem model and its contained parts + refs.
docs/sysml2/model/dictionary-mark/self-test/validation.sysml Adds unit model + artifact refs for Validation.
docs/sysml2/model/dictionary-mark/self-test.sysml Adds SelfTestSubsystem model and child part usage + refs.
docs/sysml2/model/dictionary-mark/program.sysml Adds unit model + artifact refs for Program.
docs/sysml2/model/dictionary-mark/dictionary/yaml-loader.sysml Adds unit model + artifact refs for YamlDictionaryLoader.
docs/sysml2/model/dictionary-mark/dictionary/markdown-formatter.sysml Adds unit model + artifact refs for MarkdownFormatter.
docs/sysml2/model/dictionary-mark/dictionary/dictionary-generator.sysml Adds unit model + artifact refs for DictionaryGenerator.
docs/sysml2/model/dictionary-mark/dictionary/conflict-detector.sysml Adds unit model + artifact refs for ConflictDetector.
docs/sysml2/model/dictionary-mark/dictionary.sysml Adds DictionarySubsystem plus value-type part defs and refs.
docs/sysml2/model/dictionary-mark/cli/context.sysml Adds unit model + artifact refs for CLI Context.
docs/sysml2/model/dictionary-mark/cli.sysml Adds CliSubsystem model and child part usage + refs.
docs/sysml2/model/dictionary-mark.sysml Adds top-level DictionaryMarkSystem model using modular parts + refs.
docs/sysml2/dictionary-mark.sysml Removes old monolithic system model file (replaced by modular structure).
.github/workflows/build.yaml Updates SysML2Tools render step to use recursive model glob and new paths.
.github/standards/sysml2-modeling.md Documents the new SysML2 layout, glob usage, and artifact-location comment conventions.
.github/standards/software-items.md Notes SysML2 part def comment metadata as a discovery aid for artifacts.
.github/skills/sysml2tools-query/SKILL.md Updates query workflow guidance for new layout, globs, and artifact-location metadata.
.config/dotnet-tools.json Upgrades demaconsulting.sysml2tools.tool to 0.1.0-beta.5.

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

Comment thread .github/workflows/build.yaml Outdated
… continuations

The render invocation is a single logical command, so PowerShell's backtick
line-continuation was unnecessary and fragile (it silently depends on the
run step defaulting to pwsh on windows-latest, with no shell: declared).
Switched to shell: pwsh (explicit, matching every other step's explicit
shell: bash in this job) and the > folded block scalar, which joins the
multi-line YAML into one space-separated command with no continuation
characters needed at all.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Malcolmnixon
Malcolmnixon merged commit fa57eda into main Jul 8, 2026
21 of 30 checks passed
@Malcolmnixon
Malcolmnixon deleted the feature/sysml2-model-split branch July 8, 2026 01:11
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