Migrate to SysML2 architecture model and update related documentation#61
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Migrate design documentation to a SysML2 architecture model, mirroring the precedent established in demaconsulting/FileAssert (commit 43f482f). - Add docs/sysml2/ with a system-level part def (NuGetCachingSystem), one part def per unit (NuGetCache, PathHelpers, PackageSourceResolver, PackageDownloader, AuthFailureClassifier, CredentialServiceRegistrar), OTS parts for NuGet and Polyfill (the only genuine runtime dependencies), and design-views.sysml (SoftwareStructureView, NuGetCachingView). - Render Software Structure diagrams and embed them in docs/design/introduction.md, docs/design/nuget-caching.md, and each unit design doc; drop the hand-maintained structure tree from docs/verification/introduction.md. - Rework .reviewmark.yaml per the updated review-set standard: add docs/sysml2/**/*.sysml to needs-review, add context: blocks, slim the Purpose review-set to README/user_guide, add a new Decomposition review-set, and wire the SysML2 model files into the relevant NuGetCaching-Design/unit review-sets. - Document SysML2Tools as a new OTS dependency (requirements, verification doc, review-set) and wire it into lint.ps1, the build workflow, .versionmark.yaml, .config/dotnet-tools.json, and .cspell.yaml. - Fix a pre-existing gap where docs/design/definition.yaml and docs/verification/definition.yaml only listed 2 of 6 unit docs. Documentation/tooling only; no .cs source files changed. All 233 existing tests continue to pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR migrates the repository’s “software structure” source of truth from hand-maintained prose to a SysML2 model under docs/sysml2/, integrates SysML2Tools into the CI/lint toolchain, and updates agent/standards documentation to reflect the new architecture-model-first workflow.
Changes:
- Added a SysML2 architecture model (
docs/sysml2/**) plus a SysML2Tools query skill and modeling standard, and embedded rendered diagrams into the design docs. - Integrated SysML2Tools into compliance tooling: dotnet tool manifest + VersionMark capture +
lint.ps1+ CI render/self-validation steps. - Refined Continuous Compliance standards and agent orchestration/reporting guidance (planning agent, quality agent, ReviewMark context/review-set structure, etc.).
Reviewed changes
Copilot reviewed 50 out of 51 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| requirements.yaml | Includes SysML2Tools OTS requirements file in the ReqStream root include list. |
| lint.ps1 | Adds SysML2Tools model linting to the compliance tools lint pass. |
| docs/verification/ots/sysml2tools.md | Adds OTS verification evidence narrative for SysML2Tools. |
| docs/verification/introduction.md | Updates OTS list to include SysML2Tools; removes the old structure tree section. |
| docs/verification/definition.yaml | Adds additional NuGetCaching verification docs and SysML2Tools verification to the compiled verification collection. |
| docs/sysml2/views/design-views.sysml | Declares rendered views used by the design documentation. |
| docs/sysml2/model/ots.sysml | Models OTS dependencies (NuGet SDK, Polyfill) as SysML2 parts with artifact references. |
| docs/sysml2/model/nuget-caching/path-helpers.sysml | Models PathHelpers unit and links companion artifacts via comments. |
| docs/sysml2/model/nuget-caching/package-source-resolver.sysml | Models PackageSourceResolver unit and links companion artifacts via comments. |
| docs/sysml2/model/nuget-caching/package-downloader.sysml | Models PackageDownloader unit and links companion artifacts via comments. |
| docs/sysml2/model/nuget-caching/nuget-cache.sysml | Models NuGetCache unit and links companion artifacts via comments. |
| docs/sysml2/model/nuget-caching/credential-service-registrar.sysml | Models CredentialServiceRegistrar unit and links companion artifacts (with test omission note). |
| docs/sysml2/model/nuget-caching/auth-failure-classifier.sysml | Models AuthFailureClassifier unit and links companion artifacts via comments. |
| docs/sysml2/model/nuget-caching.sysml | Models the system root (NuGetCachingSystem) and composes units + OTS dependencies. |
| docs/reqstream/ots/sysml2tools.yaml | Defines OTS requirements for SysML2Tools lint/render behaviors. |
| docs/design/nuget-caching/path-helpers.md | Embeds SysML2-rendered structure diagram in the unit design doc. |
| docs/design/nuget-caching/package-source-resolver.md | Embeds SysML2-rendered structure diagram in the unit design doc. |
| docs/design/nuget-caching/package-downloader.md | Embeds SysML2-rendered structure diagram in the unit design doc. |
| docs/design/nuget-caching/nuget-cache.md | Embeds SysML2-rendered structure diagram in the unit design doc. |
| docs/design/nuget-caching/credential-service-registrar.md | Embeds SysML2-rendered structure diagram in the unit design doc. |
| docs/design/nuget-caching/auth-failure-classifier.md | Embeds SysML2-rendered structure diagram in the unit design doc. |
| docs/design/nuget-caching.md | Embeds SysML2-rendered system structure diagram in the system design doc. |
| docs/design/introduction.md | Replaces the prose structure tree with SysML2-derived diagram guidance and embed. |
| docs/design/definition.yaml | Adds more design docs to the compiled design collection. |
| AGENTS.md | Updates repo overview/navigation guidance to prefer SysML2 model querying; adds agent/process clarifications. |
| .versionmark.yaml | Adds SysML2Tools to VersionMark tool-version capture patterns. |
| .reviewmark.yaml | Adds SysML2 files to review scope and refines review-set structure/context. |
| .gitignore | Ignores docs/design/generated/ output folder (rendered diagrams). |
| .github/workflows/build.yaml | Adds SysML2Tools to tool capture and runs SysML2Tools self-validation + render in the design-docs pipeline. |
| .github/standards/verification-documentation.md | Updates verification doc structure/requirements and adds shared package sections. |
| .github/standards/testing-principles.md | Trims/reformats introductory text; keeps testing principle rules. |
| .github/standards/technical-documentation.md | Clarifies generated folder policy and tightens documentation formatting guidance. |
| .github/standards/sysml2-modeling.md | Adds SysML2 modeling conventions, view conventions, and build/lint integration rules. |
| .github/standards/software-items.md | Expands software item taxonomy to include “Shared Package” and refines naming/path conventions. |
| .github/standards/reviewmark-usage.md | Updates ReviewMark configuration guidance (context, decomposition review, shared/OTS patterns). |
| .github/standards/reqstream-usage.md | Updates ReqStream structure guidance (adds shared folder, clarifies section nesting patterns). |
| .github/standards/design-documentation.md | Updates design doc structure rules; ties software structure to SysML2-derived diagrams. |
| .github/standards/csharp-testing.md | Minor formatting cleanup in testing standard. |
| .github/standards/csharp-language.md | Minor formatting cleanup in language standard. |
| .github/standards/coding-principles.md | Minor formatting cleanup and wording refinement. |
| .github/skills/sysml2tools-query/SKILL.md | Adds an agent skill for querying the SysML2 model via SysML2Tools CLI. |
| .github/agents/template-sync.agent.md | Adds a new template-sync orchestrator agent spec. |
| .github/agents/software-architect.agent.md | Updates taxonomy reference to include Shared Package. |
| .github/agents/quality.agent.md | Strengthens quality checks (companion artifact coverage, verification docs, review sets, repository structure). |
| .github/agents/planning.agent.md | Adds a dedicated planning agent spec and report template. |
| .github/agents/lint-fix.agent.md | Unifies lint-fix report metadata format. |
| .github/agents/implementation.agent.md | Switches orchestration to use the planning agent; updates state/report metadata. |
| .github/agents/formal-review.agent.md | Clarifies review workflow and unifies report metadata. |
| .github/agents/developer.agent.md | Strengthens pre-flight artifact planning and unifies report metadata. |
| .cspell.yaml | Adds SysML-related terms to spellchecker allow-list. |
| .config/dotnet-tools.json | Adds SysML2Tools as a pinned local dotnet tool. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Rewrite the Scope section to list Local/OTS software items per the FileAssert reference template (single local-item bullet since there are no subsystems, plus one bullet per OTS item including SysML2Tools). Simplify Folder Layout to just the src/ project folder listing, removing the per-file annotations and the duplicate docs/design mirror tree that the template does not include. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the agent orchestration and reporting process, enhances quality and planning agent standards, and adds a new dedicated planning agent. The changes ensure stricter traceability and artifact coverage, clarify agent responsibilities, and unify reporting formats across agents. Additionally, the
.dotnet-tools.jsonand.cspell.yamlfiles are updated to support the newsysml2toolstool.Agent Orchestration and Reporting Enhancements:
planningagent instead of the genericexploreagent, updating state transitions and clarifying the flow for SUCCEEDED, FAILED, and INCOMPLETE results. The planning agent now produces a structured report file referenced throughout the orchestration process. [1] [2] [3] [4] [5]Planning and Quality Agent Improvements:
.github/agents/planning.agent.md, defining a comprehensive planning process: loading standards, identifying companion artifacts, critiquing assumptions, assessing risks and feasibility, and producing a structured, auditable report and summary.Process and Standards Clarifications:
Tooling and Spellcheck Updates:
demaconsulting.sysml2tools.toolto.config/dotnet-tools.jsonand corresponding terms to.cspell.yamlfor improved toolchain support and spellchecking. [1] [2]Most Important Changes:
Agent Orchestration and Reporting
planningagent, clarifying state transitions and report file handling for SUCCEEDED, FAILED, and INCOMPLETE outcomes. [1] [2] [3] [4] [5]Planning and Quality Process
planning.agent.mddefining a structured planning workflow, including standards loading, artifact identification, assumption analysis, risk and feasibility assessment, and reporting.Process and Standards
Tooling
sysml2toolstool to.dotnet-tools.jsonand updated.cspell.yamlfor new terminology. [1] [2]