docs: document SysML v1 migration on the API, guide and roadmap - #327
Open
devin-ai-integration[bot] wants to merge 19 commits into
Open
devin-ai-integration[bot] wants to merge 19 commits into
devin-ai-integration[bot] wants to merge 19 commits into
Conversation
The gRPC Convert contract, the Go and Python clients' documentation, and the wire-contract and API references now name xmi, uml and mdzip as input-only formats, how they are inferred, and that a migration marks the response experimental. Guide chapter 11 walks one migration through with its report, and the roadmap records the migration's open items. The Go client gains FormatXMI so a Conversion from a v1 source can be named, with a test that a migration answers it and that writing it is refused. Co-Authored-By: jason.han <hanhuijun@gmail.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
…t comments Co-Authored-By: jason.han <hanhuijun@gmail.com>
Co-Authored-By: jason.han <hanhuijun@gmail.com>
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # docs/project/spec-compliance.md
HuiJun
marked this pull request as ready for review
September 16, 2026 03:20
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # client/opensysml/surface_test.go # clients/rust/conformance/sysml.descriptor.binpb # docs/project/spec-compliance.md # docs/reference/api.md
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # docs/project/spec-compliance.md
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…pping Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # clients/rust/conformance/sysml.descriptor.binpb # docs/project/spec-compliance.md
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # docs/project/spec-compliance.md
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # docs/project/spec-compliance.md
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…surfaces Co-Authored-By: jason.han <hanhuijun@gmail.com> # Conflicts: # README.md # docs/project/spec-compliance.md
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.
What and why
sysml -convertmigrates a SysML v1 model (UML XMI, Eclipse UML2.uml,.mdzip) to v2, anddocs/reference/sysml-v1-migration.mdstates the mapping — but the other surfaces that reach it did not say so.ConvertRequest.from_formatlisted only the notation and RDF names,ConvertResponse.experimentalsaid "either format is RDF", and neitherwire-contract.md,api.mdnor the Pythonconvertdocstrings mentioned XMI; there was no worked example of a migration; and the roadmap had no entry for the follow-ups the reference names.sysml.protocomments onfrom_format,to_formatandexperimental(Go and Java stubs regenerated withmake proto-buf); aConversion: Convertsection inwire-contract.md(sourceoneof, all nine format names, extension inference, canonicalxmi/sysml/ttlin the response, the experimental fields, that the report is CLI-only, and which refusals are Connect-level vs in-body);api.md,python-api.md, guide chapter 9 and the Python docstrings say the same. The Go client gainsopensysml.FormatXMI, the format aConversionanswers whenConvertFileread a v1 source, so the Go documentation can name it;Conversion.Experimentalis documented as set for a migration too.docs/guide/11-migrating-from-sysml-v1.md: the.xmi/.uml/.mdzip/-frominvocations,-migration-reportin text and JSON, the four verdicts with the fixture's real report, the placeholder comments in the notation, how to finish units (ISQ/SI), behaviors, operations and opaque expressions by hand, checking the result with-eval, the gRPC/client path, and that v2 → v1 is refused. Linked from the guide index, chapter 7, chapter 9 andmkdocs.yml.One thing the walkthrough surfaces rather than hides: the migrated fixture warns
End feature must have multiplicity 1onend driver : Driver[0..1]— the mapping writes a v1 association end's multiplicity after the type rather than before the name (end [0..1] driver : Driver). The chapter shows the warning as it is; fixing the mapping is a separate change.How it was verified
python3 scripts/check-doc-links.py(0 broken),python3 scripts/check-doc-ids.py,python -m mkdocs build --strict,python3 scripts/changelog.py check— all pass.make proto-lint,make proto-buf,make proto-ts,make proto-rust; the regenerated Go, Java, TypeScript and Rust stubs and the Rust descriptor are committed (comment-only changes).go build ./...,go vet ./...,gofmt -l .(empty);go test ./client/opensysml ./internal/grpc/...pass, including the newTestConvertFileMigratesSysMLv1(a.xmimigrates through the Go client, answersFormatXMI, isExperimentalwith the migration notice, andFormatXMIas an output isCodeInvalidArgument).bin/sysmloninternal/core/migrate/testdata/xmi/vehicle.xmi; theISQ::MassValue/[SI::kg]form the units bullet recommends was checked to evaluate.Checklist
make testandmake lintpass locally (targeted packages and the docs/proto gates; the fullmake testwas not run for a docs change)changes/unreleased/<slug>.<section>.md, not as an edit toCHANGELOG.mdmake docs-countsrun if a gate count moved (the test-suite figure moved by one for the new Go client test)F4,K5) in the body, docs, or changelog