Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1346 commits
Select commit Hold shift + click to select a range
26d234c
Merge branch 'feature/editor-metadata-prefix-existing' into fix/unbou…
devin-ai-integration[bot] Sep 29, 2026
575d3c1
fix(runtime): use effective parameter ranges for writes
devin-ai-integration[bot] Sep 29, 2026
5dac24f
Merge remote-tracking branch 'origin/fix/unbound-in-parameter-evaluat…
devin-ai-integration[bot] Sep 29, 2026
4c1e9f8
fix(runtime): clarify action parameter write ranges
devin-ai-integration[bot] Sep 29, 2026
bfc51cf
Merge commit '4c1e9f8b7ac995e66e35db062b5ddb392669d707' into HEAD
devin-ai-integration[bot] Sep 29, 2026
7aab636
Merge commit 'bfc51cf7de7449003eae56be6b8febebb28624e4' into feature/…
devin-ai-integration[bot] Sep 29, 2026
3b6eb5c
Merge remote-tracking branch 'origin/feature/constraint-holds-questio…
devin-ai-integration[bot] Sep 29, 2026
527160e
feat(convert): convert a model of several documents as one graph (#653)
someshSandbox Sep 29, 2026
af36f8f
fix(export): a dependency's prefix metadata is an owned Annotation (#…
someshSandbox Sep 29, 2026
803bf23
fix(check): distinguish shorthand succession multiplicity
devin-ai-integration[bot] Sep 29, 2026
378690e
Merge remote-tracking branch 'origin/feature/action-body-statement-au…
devin-ai-integration[bot] Sep 29, 2026
294396c
Merge remote-tracking branch 'origin/feature/verification-objective-m…
devin-ai-integration[bot] Sep 29, 2026
9a476a6
Merge remote-tracking branch 'origin/feature/editor-metadata-prefix-e…
devin-ai-integration[bot] Sep 29, 2026
306c057
fix(examples): require single RocketEquation inputs
devin-ai-integration[bot] Sep 29, 2026
a6383d5
fix(export): a flow's payload is a PayloadFeature (#652)
someshSandbox Sep 29, 2026
fb1514f
test(corpus): source positions move with a dropped blank line; lint
someshSandbox Sep 29, 2026
d336f98
fix(export): keep reading a legacy sysx:payload; refuse stray payload…
someshSandbox Sep 29, 2026
6917eda
fix(export): prefix annotations in sync; refuse one annotating anothe…
someshSandbox Sep 29, 2026
af85e09
docs(pilot-diff): refresh baseline figures and narrative
devin-ai-integration[bot] Sep 29, 2026
741b84c
Merge remote-tracking branch 'origin/fix/unbound-in-parameter-evaluat…
devin-ai-integration[bot] Sep 29, 2026
07cbe05
Merge pull request #685 from Open-MBEE/feature/constraint-holds-quest…
HuiJun Sep 29, 2026
d6e3046
fix(export): a source range ends at the declaration's last token
someshSandbox Sep 29, 2026
cd32ab3
Merge remote-tracking branch 'origin/develop' into fix/migrate-access…
devin-ai-integration[bot] Sep 29, 2026
fac47bb
fix(python): keep add_member positional parameters stable
devin-ai-integration[bot] Sep 29, 2026
387aeb6
fix(edit): accept other-language keywords in import targets
devin-ai-integration[bot] Sep 29, 2026
6ada81a
fix(export): a model of several documents is checked as one
someshSandbox Sep 29, 2026
da25717
fix(edit): keep visibility when replacing documentation
devin-ai-integration[bot] Sep 29, 2026
f3970d0
fix(repl): read syntax-backed scopes for recorded files
devin-ai-integration[bot] Sep 29, 2026
2e0fa13
fix(doc): split a metadata column path outside quoted names
devin-ai-integration[bot] Sep 29, 2026
859a4ab
fix(ci): give the CircleCI WebAssembly gate a 30-minute test budget
devin-ai-integration[bot] Sep 29, 2026
7df5850
fix(parser): parse rooted assert references
devin-ai-integration[bot] Sep 29, 2026
fd33f4a
Merge remote-tracking branch 'origin/develop' into feature/action-bod…
devin-ai-integration[bot] Sep 29, 2026
01f42dc
Merge remote-tracking branch 'origin/fix/verification-method-lookup' …
devin-ai-integration[bot] Sep 29, 2026
d3f106f
fix(verify): preserve values in solver questions
devin-ai-integration[bot] Sep 29, 2026
095a335
docs(verify): document satisfaction bindings and evaluation stamping
devin-ai-integration[bot] Sep 29, 2026
2c10779
fix(semantics): a parameter subsetting several features takes the int…
devin-ai-integration[bot] Sep 29, 2026
8cc5f8f
fix(migrate): name the expression argument of a usage-owned document …
devin-ai-integration[bot] Sep 29, 2026
a625e7a
test(edit): cover plain documentation replacement and note the visibi…
devin-ai-integration[bot] Sep 29, 2026
920729c
fix(export): compare a legacy transition trigger by the element it names
devin-ai-integration[bot] Sep 29, 2026
b3d4b06
fix(edit): place metadata prefixes after declaration modifiers
devin-ai-integration[bot] Sep 29, 2026
6fa0253
fix(export): give same-named toolkit roots positional identities
devin-ai-integration[bot] Sep 29, 2026
8eecd62
fix(export): keep the name of a reference to its own scope
devin-ai-integration[bot] Sep 29, 2026
94f6448
chore(pilot-diff): regenerate baseline after merging develop
devin-ai-integration[bot] Sep 29, 2026
5dfc1f1
fix(source): read a lone carriage return in a comment as a line break
devin-ai-integration[bot] Sep 29, 2026
dcde332
fix(migrate): key documentation sorts on the documentation the query …
devin-ai-integration[bot] Sep 29, 2026
16a4fe6
fix(parser): parse source multiplicities before then in nested action…
devin-ai-integration[bot] Sep 29, 2026
8d9ebe4
fix(authoring): resolve sequence references to earlier declarations i…
devin-ai-integration[bot] Sep 29, 2026
c5f6946
fix(authoring): refuse sequencing after a member that cannot be a suc…
devin-ai-integration[bot] Sep 29, 2026
8b03408
chore(diff): keep the parent's differential counts, restating the exa…
devin-ai-integration[bot] Sep 29, 2026
09eff72
fix(check): count a calculation send by its result type, as the runti…
devin-ai-integration[bot] Sep 29, 2026
fceec70
fix(authoring): anchor sequence placement on declarations, not first …
devin-ai-integration[bot] Sep 29, 2026
506adf3
fix(runtime): a performance occurrence holds a parameter at its effec…
devin-ai-integration[bot] Sep 29, 2026
a487720
docs(semantics): tighten the effective parameter range comments
devin-ai-integration[bot] Sep 29, 2026
58691ed
fix(check): exempt only interfaces port-conjugation judges from the p…
devin-ai-integration[bot] Sep 29, 2026
d4963e1
fix(check): warn on non-unit source multiplicities in nested action b…
devin-ai-integration[bot] Sep 29, 2026
b0703f2
Merge branch 'feature/action-body-statement-authoring' into feature/v…
devin-ai-integration[bot] Sep 29, 2026
bd158d2
Merge pull request #704 from Open-MBEE/fix/circleci-race-shard-and-ju…
HuiJun Sep 29, 2026
8322427
Merge pull request #711 from Open-MBEE/fix/satisfy-recorded-scopes
HuiJun Sep 29, 2026
a110d37
test(runtime): drop a duplicated succession from the this-default act…
devin-ai-integration[bot] Sep 29, 2026
9861f67
ci: re-run checks after a transient Go module proxy error
devin-ai-integration[bot] Sep 29, 2026
4652fc1
Merge remote-tracking branch 'origin/feature/verification-objective-m…
devin-ai-integration[bot] Sep 29, 2026
f6691d9
fix(referee): spell a parameter's multiplicity, one being unstated no…
devin-ai-integration[bot] Sep 29, 2026
b497dc8
Merge pull request #675 from Open-MBEE/fix/migrate-accessible-column-…
HuiJun Sep 29, 2026
7bab46a
fix(python): restore develop's add_member positional order
devin-ai-integration[bot] Sep 29, 2026
0d3de73
Merge pull request #703 from Open-MBEE/feature/landing-sponsor-button
HuiJun Sep 29, 2026
6271c09
fix(solve): refuse failed defaults whose cause is a missing dependency
devin-ai-integration[bot] Sep 29, 2026
62a7c87
fix(export): resolve quoted, global and library names in a legacy tri…
devin-ai-integration[bot] Sep 29, 2026
f1e552c
Merge remote-tracking branch 'origin/feature/editor-metadata-prefix-e…
devin-ai-integration[bot] Sep 29, 2026
8772742
Merge remote-tracking branch 'origin/feature/verification-objective-m…
devin-ai-integration[bot] Sep 29, 2026
316abba
chore(ci): re-run checks
devin-ai-integration[bot] Sep 29, 2026
1ccf6f2
fix(export): keep a looked-up trigger name in its written form
devin-ai-integration[bot] Sep 29, 2026
9d3b05a
Merge remote-tracking branch 'origin/feature/editor-metadata-prefix-e…
devin-ai-integration[bot] Sep 29, 2026
7757710
fix(runtime): a write through a chain step holding one value reaches …
devin-ai-integration[bot] Sep 29, 2026
ec63b54
fix(fmi): spell a scalar FMU parameter's multiplicity, one being unst…
devin-ai-integration[bot] Sep 29, 2026
35173aa
Merge remote-tracking branch 'origin/fix/unbound-in-parameter-evaluat…
devin-ai-integration[bot] Sep 29, 2026
85cc145
docs: regenerate documentation counts after merging the parent branch
devin-ai-integration[bot] Sep 29, 2026
ad6172a
Merge remote-tracking branch 'origin/fix/verification-method-lookup' …
devin-ai-integration[bot] Sep 29, 2026
88c630c
chore(diff): restate the examples digest after merging the parent branch
devin-ai-integration[bot] Sep 29, 2026
35845d9
Merge remote-tracking branch 'origin/feature/signal-and-port-lints' i…
devin-ai-integration[bot] Sep 29, 2026
5f34dcd
Merge remote-tracking branch 'origin/fix/unbound-in-parameter-evaluat…
devin-ai-integration[bot] Sep 29, 2026
5844d46
Merge remote-tracking branch 'origin/develop' into HEAD
devin-ai-integration[bot] Sep 29, 2026
035e79f
Merge commit '5844d462a' into HEAD
devin-ai-integration[bot] Sep 29, 2026
1b24536
Merge commit '035e79f6f0c5bc9369a71f5acd0903a4bd645b10' into HEAD
devin-ai-integration[bot] Sep 29, 2026
d1452ed
Merge commit '5f34dcd72c87dd5e27b348ff9f9dacdf494efbfb' into HEAD
devin-ai-integration[bot] Sep 29, 2026
6d77a8a
Merge remote-tracking branch 'origin/feature/editor-metadata-prefix-e…
devin-ai-integration[bot] Sep 29, 2026
a2eaedb
Merge commit '6d77a8ae8' into HEAD
devin-ai-integration[bot] Sep 29, 2026
6ee94ce
Merge commit 'a2eaedb5b668542eaac48fbfc9f0b1f716141e3d' into HEAD
devin-ai-integration[bot] Sep 29, 2026
5b12a97
fix(check): count a literal send's scalar type as the signal it sends
devin-ai-integration[bot] Sep 29, 2026
258b6f9
fix(semantics): judge recorded and redefined ports for port-type-mism…
devin-ai-integration[bot] Sep 29, 2026
75d98c0
Merge commit '6ee94ce33' into HEAD
devin-ai-integration[bot] Sep 29, 2026
f4e7717
Merge commit '75d98c0e6' into HEAD
devin-ai-integration[bot] Sep 29, 2026
a73acc1
fix(check): count computed scalar sends in undeclared-signal
devin-ai-integration[bot] Sep 29, 2026
d12a326
Merge remote-tracking branch 'origin/feature/signal-and-port-lints' i…
devin-ai-integration[bot] Sep 29, 2026
713a4f7
Merge pull request #712 from Open-MBEE/fix/verify-question-review-fin…
HuiJun Sep 29, 2026
6af141b
Merge pull request #713 from Open-MBEE/fix/doc-replace-visibility
HuiJun Sep 29, 2026
8f6c717
Merge pull request #714 from Open-MBEE/fix/rooted-assert-reference
HuiJun Sep 29, 2026
9369cf1
Merge pull request #715 from Open-MBEE/fix/legacy-trigger-qualified-c…
HuiJun Sep 29, 2026
3346394
Merge remote-tracking branch 'origin/feature/signal-and-port-lints' i…
devin-ai-integration[bot] Sep 29, 2026
2c28758
Merge pull request #717 from Open-MBEE/fix/export-self-scope-referenc…
HuiJun Sep 29, 2026
fe5abda
Merge pull request #718 from Open-MBEE/fix/comment-body-line-breaks
HuiJun Sep 29, 2026
5eea41d
fix(check): count the signal type a send's message carries at runtime
devin-ai-integration[bot] Sep 29, 2026
92b5a09
fix(export): order toolkit roots by the root namespace and count root…
devin-ai-integration[bot] Sep 29, 2026
94bf0b2
Merge remote-tracking branch 'origin/feature/signal-and-port-lints' i…
devin-ai-integration[bot] Sep 29, 2026
8d5cc04
fix(export): let a partially indexed root namespace keep its member o…
devin-ai-integration[bot] Sep 29, 2026
7566569
Merge pull request #709 from Open-MBEE/fix/import-target-keywords
HuiJun Sep 29, 2026
a7cfbf9
Merge pull request #700 from Open-MBEE/feature/action-body-statement-…
HuiJun Sep 29, 2026
69bbaf5
fix(export): list the root namespace's members in decoded root order
devin-ai-integration[bot] Sep 29, 2026
3a35dba
Merge pull request #681 from Open-MBEE/feature/verification-objective…
HuiJun Sep 29, 2026
8e8f7b4
Merge pull request #693 from Open-MBEE/feature/editor-metadata-prefix…
HuiJun Sep 29, 2026
01352fc
fix(migrate): keep a v1 parameter's declared multiplicity when redecl…
devin-ai-integration[bot] Sep 29, 2026
8f63193
fix(migrate): keep a parameter's multiplicity and collection modifier…
devin-ai-integration[bot] Sep 29, 2026
427fff7
Merge origin/fix/unbound-in-parameter-evaluation: keep both parameter…
devin-ai-integration[bot] Sep 29, 2026
c4d86e1
fix(export): read a message's ends from standalone parameter memberships
devin-ai-integration[bot] Sep 29, 2026
2606b43
Merge pull request #716 from Open-MBEE/fix/toolkit-duplicate-root-ide…
HuiJun Sep 29, 2026
57756c0
fix(export): order a message's ends by memberIndex or source and targ…
devin-ai-integration[bot] Sep 29, 2026
bfe1b08
Merge pull request #684 from Open-MBEE/fix/unbound-in-parameter-evalu…
HuiJun Sep 29, 2026
e8da312
Merge pull request #688 from Open-MBEE/fix/verification-method-lookup
HuiJun Sep 29, 2026
69dc190
Merge pull request #695 from Open-MBEE/feature/signal-and-port-lints
HuiJun Sep 29, 2026
b5f55cb
Merge remote-tracking branch 'origin/develop' into fix/651-message-ev…
devin-ai-integration[bot] Sep 29, 2026
2f2ccec
Merge remote-tracking branch 'origin/develop' into HEAD
devin-ai-integration[bot] Sep 29, 2026
e366c97
Merge remote-tracking branch 'origin/fix/651-message-events-transitio…
devin-ai-integration[bot] Sep 29, 2026
43b552f
fix(export): order a message's ends by memberIndex only when every in…
devin-ai-integration[bot] Sep 29, 2026
675da50
Merge remote-tracking branch 'origin/fix/651-message-events-transitio…
devin-ai-integration[bot] Sep 29, 2026
6aa3883
test(export): state the malformed memberIndex alone on its membership
devin-ai-integration[bot] Sep 29, 2026
9ddb586
Merge pull request #689 from Open-MBEE/fix/651-message-events-transit…
HuiJun Sep 29, 2026
d019b44
Merge pull request #706 from someshSandbox/feat/653-multi-document-co…
HuiJun Sep 29, 2026
188059e
test(runtime): pin this in a part-owned action to the owning part
devin-ai-integration[bot] Sep 29, 2026
27e0334
Merge branch 'develop' into fix/652-dependency-annotation
HuiJun Sep 29, 2026
7e92532
Merge branch 'develop' into feat/654-source-range
HuiJun Sep 29, 2026
811e570
Merge branch 'develop' into fix/652-flow-payload
HuiJun Sep 29, 2026
7dc7d2d
Fix formatting in then_after_members.golden.ttl
HuiJun Sep 29, 2026
cc98524
Fix missing newline at end of rdf_out.go
HuiJun Sep 29, 2026
d95f9a0
Fix missing newline at end of export_test.go
HuiJun Sep 29, 2026
f0f277c
Fix missing newline at end of names.go
HuiJun Sep 29, 2026
604161f
Fix missing newline at end of rdf_out.go
HuiJun Sep 29, 2026
4bd6770
Fix formatting in payload_declaration_bodies.golden.ttl
HuiJun Sep 29, 2026
835f29f
Merge pull request #721 from Open-MBEE/test/this-part-owned-action
HuiJun Sep 29, 2026
e0547df
fix(export): an end-free flow writes its payload; refuse a payload wi…
someshSandbox Sep 29, 2026
5bce535
Update shadowing_parameters.golden.ttl with source info
HuiJun Sep 29, 2026
65d23f5
Add source line and column metadata to state machine
HuiJun Sep 29, 2026
d9a97d6
Merge pull request #707 from someshSandbox/fix/652-dependency-annotation
HuiJun Sep 29, 2026
85ad45f
fix(export): a source range ends at the body the parser attached
someshSandbox Sep 29, 2026
64be49c
feat(solve): model short-circuit reachability of unreadable reads in …
devin-ai-integration[bot] Sep 29, 2026
40af56a
perf(runtime): memoize the parameter range, chain-host and chain-decl…
devin-ai-integration[bot] Sep 29, 2026
eb34834
Bring the architecture self-model up to date with develop
devin-ai-integration[bot] Sep 29, 2026
8ac7522
test(grpc): lift the held-objects bound for the warm Instantiate benc…
devin-ai-integration[bot] Sep 29, 2026
e884483
perf(runtime): skip aliasing redefined feature values for a type with…
devin-ai-integration[bot] Sep 29, 2026
3020520
docs(examples): refresh the example walkthroughs and transcripts for …
devin-ai-integration[bot] Sep 29, 2026
a2b085a
Resolve SonarCloud code smells outside cognitive complexity
devin-ai-integration[bot] Sep 29, 2026
d217bc6
fix(examples): give the disposal-team verification case its verdict
devin-ai-integration[bot] Sep 29, 2026
e79a91c
chore(ci): rerun checks after the static job hit its time limit
devin-ai-integration[bot] Sep 29, 2026
9db19a4
Keep the sponsor pill's height with the icon wrapped
devin-ai-integration[bot] Sep 29, 2026
2aee5d0
Re-record the pilot differential baseline's examples digest
devin-ai-integration[bot] Sep 29, 2026
da3290f
refactor(export): split toolkit graph normalization into per-pass met…
devin-ai-integration[bot] Sep 29, 2026
0309010
refactor(export): split the remaining high-complexity decoder and enc…
devin-ai-integration[bot] Sep 29, 2026
3fe233d
chore(diff): restate the examples digest for the corrected disposal-t…
devin-ai-integration[bot] Sep 29, 2026
b1734cd
refactor(migrate): split high-complexity view, context, deferral and …
devin-ai-integration[bot] Sep 29, 2026
b00d4df
refactor: split symbol stream reader, FMI notation writer and fUML cl…
devin-ai-integration[bot] Sep 29, 2026
32e0fc8
fix(export): payload identity, ownership, ordering; legacy-end payloads
someshSandbox Sep 29, 2026
650f78a
refactor(analysis): split record shape settling, CSV/regex reply read…
devin-ai-integration[bot] Sep 29, 2026
11cb2a9
fix(export): a transition's trigger action carries its source range
someshSandbox Sep 29, 2026
d9e3520
refactor(runtime): split pin binding, invocation inputs, nested redef…
devin-ai-integration[bot] Sep 29, 2026
8be4ec8
refactor(edit): split add-member checks, trivia scan, layout bindings…
devin-ai-integration[bot] Sep 29, 2026
2f18b30
refactor: split remaining complex Go functions across passes, semanti…
devin-ai-integration[bot] Sep 29, 2026
40d3004
fix(solve): guard a chain's declared value that does not evaluate ins…
devin-ai-integration[bot] Sep 29, 2026
827de3a
refactor: split edit-request building in the Python and Java clients
devin-ai-integration[bot] Sep 29, 2026
43449e6
Match release tags on ASCII digits only
devin-ai-integration[bot] Sep 30, 2026
50a2a8c
Merge pull request #705 from someshSandbox/feat/654-source-range
HuiJun Sep 30, 2026
62f2442
Merge pull request #723 from Open-MBEE/devin/1790721968-self-model-de…
HuiJun Sep 30, 2026
9c7a36c
Merge remote-tracking branch 'origin/develop' into docs/release-0.9.1…
devin-ai-integration[bot] Sep 30, 2026
9e0047f
perf(runtime): bind a calc's this hook once per occurrence and statem…
devin-ai-integration[bot] Sep 30, 2026
f554ceb
perf(semantics): memoize PortFeatures by port type
devin-ai-integration[bot] Sep 30, 2026
0c86080
fix(solve): constrain Query.Reached only by the guards the evaluator …
devin-ai-integration[bot] Sep 30, 2026
16b3e69
perf(runtime): memoize the chain-host check on the model, not the eff…
devin-ai-integration[bot] Sep 30, 2026
58276b6
ci: rerun after a Go module proxy stream error in the static checks
devin-ai-integration[bot] Sep 30, 2026
7933252
fix(export): untyped named payloads, flags before the typing, duplica…
someshSandbox Sep 30, 2026
0a31af8
docs(project): record the 0.9.1 candidate's performance against 0.9.0
devin-ai-integration[bot] Sep 30, 2026
ea0bd39
Merge pull request #722 from Open-MBEE/feat/solve-short-circuit-reads
HuiJun Sep 30, 2026
17f8a80
docs(changelog): performance entry for the 0.9.1 fixes
devin-ai-integration[bot] Sep 30, 2026
ccebed2
Merge remote-tracking branch 'origin/devin/1790721454-perf-0.9.1-regr…
devin-ai-integration[bot] Sep 30, 2026
054863e
ci: rerun after the rest race shard stalled on the runner
devin-ai-integration[bot] Sep 30, 2026
4893a59
docs(performance): re-time the Apollo 11 validation on the 0.9.1 cand…
devin-ai-integration[bot] Sep 30, 2026
7c4e87a
fix(cli): refuse -o naming one of a model's several files
devin-ai-integration[bot] Sep 29, 2026
fb40e6a
docs(changelog): own fragment for the -o overwrite refusal
devin-ai-integration[bot] Sep 30, 2026
6f8edd0
Merge remote-tracking branch 'origin/develop' into fix/652-flow-payload
someshSandbox Sep 30, 2026
819d6a7
feat(python): wrap ParseSources to parse several documents as one model
devin-ai-integration[bot] Sep 30, 2026
b6e47a6
test(export): the payload features carry source ranges
someshSandbox Sep 30, 2026
fe11df9
feat(client-node): rename the package to @openmbee/opensysml
devin-ai-integration[bot] Sep 30, 2026
7b9493b
test(release): check the Node client's version in lockstep
devin-ai-integration[bot] Sep 30, 2026
2fc8cb8
ci(release): publish the Node client to npm from the core tag
devin-ai-integration[bot] Sep 30, 2026
8020877
ci(release): tidy the npm publish job and its verification snippet
devin-ai-integration[bot] Sep 30, 2026
7cd34d0
fix(edit): resolve an ApplyEdits batch's references against the whole…
devin-ai-integration[bot] Sep 30, 2026
6028b67
feat(parser): accept a target-end multiplicity on action-body then su…
devin-ai-integration[bot] Sep 30, 2026
f6f8d75
fix(python): refuse a bare document and non-str fields in parse_sources
devin-ai-integration[bot] Sep 30, 2026
c134132
docs(skills): probes for parse_sources across documents
devin-ai-integration[bot] Sep 30, 2026
2014be0
Merge pull request #708 from someshSandbox/fix/652-flow-payload
HuiJun Sep 30, 2026
dc47412
fix(cli): check -o against every model file before reading any
devin-ai-integration[bot] Sep 30, 2026
8d39ca9
fix(python): generate a typed module from every document of a model
devin-ai-integration[bot] Sep 30, 2026
39c6d58
docs(python): say the typed-class command line takes one source file
devin-ai-integration[bot] Sep 30, 2026
3a97b57
fix(parser): reference a declared node-word member after a bracketed …
devin-ai-integration[bot] Sep 30, 2026
7b202bd
fix(parser): keep a node keyword with a body a node declaration after…
devin-ai-integration[bot] Sep 30, 2026
97762a7
feat(client-java): lock the version to the core and auto-publish to C…
devin-ai-integration[bot] Sep 30, 2026
f4880df
ci(release): publish the Java client to Maven Central from the core tag
devin-ai-integration[bot] Sep 30, 2026
76f7122
docs(release): document the Maven Central publish
devin-ai-integration[bot] Sep 30, 2026
a6d2699
test(release): import ElementTree at module level; tidy the context w…
devin-ai-integration[bot] Sep 30, 2026
797534c
Merge pull request #730 from Open-MBEE/fix/convert-output-over-input
HuiJun Sep 30, 2026
0aa34e3
ci(release): read the Maven Central credentials from project variables
devin-ai-integration[bot] Sep 30, 2026
9fd06d4
Merge pull request #734 from Open-MBEE/feat/python-parse-sources
HuiJun Sep 30, 2026
3775a57
Merge pull request #725 from Open-MBEE/fix/sonar-develop-smells
HuiJun Sep 30, 2026
b46efea
Merge pull request #727 from Open-MBEE/fix/sonar-cognitive-complexity
HuiJun Sep 30, 2026
539b788
Merge pull request #724 from Open-MBEE/docs/release-0.9.1-examples-audit
HuiJun Sep 30, 2026
037227b
fix(edit): follow a batch's deferred references through later renames
devin-ai-integration[bot] Sep 30, 2026
dc07c3b
Merge remote-tracking branch 'origin/develop' into feat/then-target-m…
devin-ai-integration[bot] Sep 30, 2026
4e21682
fix(edit): judge a deferred succession end under its `$::` root
devin-ai-integration[bot] Sep 30, 2026
2716d6d
ci(release): warn against debug output on the Maven publish step
devin-ai-integration[bot] Sep 30, 2026
c9d0bfe
Merge pull request #735 from Open-MBEE/feature/release-node-client-on…
HuiJun Sep 30, 2026
182f97e
Merge pull request #736 from Open-MBEE/feat/then-target-multiplicity
HuiJun Sep 30, 2026
47c737b
feat(client-rust): lock the crate version to the core
devin-ai-integration[bot] Sep 30, 2026
7b78b71
ci(release): publish the Rust client to crates.io from the core tag
devin-ai-integration[bot] Sep 30, 2026
9af39ba
docs(release): document the crates.io publish
devin-ai-integration[bot] Sep 30, 2026
c3192f0
ci(changed-areas): run the lockstep tests when an editor's client ref…
devin-ai-integration[bot] Sep 30, 2026
5f440b7
docs(release): drop --offline from the Cargo.lock refresh
devin-ai-integration[bot] Sep 30, 2026
526b073
fix(client-rust): accept a literal-string crate version
devin-ai-integration[bot] Sep 30, 2026
bb058e3
fix(parser): `then fork F;` declares the node beside a member named fork
devin-ai-integration[bot] Sep 30, 2026
a10662d
refactor: resolve the SonarCloud findings left on develop after the c…
devin-ai-integration[bot] Sep 30, 2026
e48a693
perf(runtime): attribute and fix the 0.9.1 satisfaction, gRPC, migrat…
devin-ai-integration[bot] Sep 30, 2026
8628f2c
ci(release): read the registry credentials from the org contexts
devin-ai-integration[bot] Sep 30, 2026
223d40a
Merge remote-tracking branch 'origin/develop' into HEAD
devin-ai-integration[bot] Sep 30, 2026
82872b1
Merge pull request #737 from Open-MBEE/feat/batch-forward-references
HuiJun Sep 30, 2026
0ec3a02
ci(release): read the Maven Central credentials from its context
devin-ai-integration[bot] Sep 30, 2026
c476156
Merge remote-tracking branch 'origin/feature/release-java-client-on-c…
devin-ai-integration[bot] Sep 30, 2026
8a022e9
Merge pull request #740 from Open-MBEE/fix/then-node-keyword-named-de…
HuiJun Sep 30, 2026
e329008
Merge pull request #742 from Open-MBEE/devin/1790733010-perf-0.9.1-at…
HuiJun Sep 30, 2026
a9487db
Merge pull request #741 from Open-MBEE/fix/sonar-develop-residuals
HuiJun Sep 30, 2026
48c40aa
ci(release): add a no-publish release rehearsal
devin-ai-integration[bot] Sep 30, 2026
0a2ca3b
docs(release): state the rehearsal's limits without overclaiming
devin-ai-integration[bot] Sep 30, 2026
8709482
Merge pull request #738 from Open-MBEE/feature/release-java-client-on…
HuiJun Sep 30, 2026
fe58a48
Merge pull request #739 from Open-MBEE/feature/release-rust-client-on…
HuiJun Sep 30, 2026
a8e5ca8
chore(editors): lock the editor versions to the core version
devin-ai-integration[bot] Sep 30, 2026
a30a010
Merge pull request #745 from Open-MBEE/chore/lock-editor-versions
HuiJun Sep 30, 2026
4a64edc
ci(release): don't print Central's probe response in the rehearsal
devin-ai-integration[bot] Sep 30, 2026
043c929
Merge pull request #743 from Open-MBEE/feature/release-rehearsal
HuiJun Sep 30, 2026
9e6777e
Merge remote-tracking branch 'origin/develop' into release/0.9.1
devin-ai-integration[bot] Sep 30, 2026
926a47e
chore(release): set the client and editor versions to 0.9.1
devin-ai-integration[bot] Sep 30, 2026
dc5240d
chore(release): fold the late fixes into the 0.9.1 changelog
devin-ai-integration[bot] Sep 30, 2026
39ec967
docs(release): point the Java and editor READMEs at 0.9.1
devin-ai-integration[bot] Sep 30, 2026
ca25f75
fix(java): keep the parent's SCM URLs verbatim in the published clien…
devin-ai-integration[bot] Sep 30, 2026
cd37dc9
chore(java): publish the Java client as org.openmbee:opensysml
devin-ai-integration[bot] Sep 30, 2026
60437d5
fix(ci): accept a base64-encoded GPG signing key in publish-maven
devin-ai-integration[bot] Sep 30, 2026
72b64a2
docs(readme): point the Apollo 11 defects at the showcase instead of …
devin-ai-integration[bot] Sep 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .agents/skills/testing-pilot-corpora-gate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ gate's own helpers are package-private but reusable (`pilotCorporaGate.files(t)`

`actionlint`, `shellcheck`, `python3 scripts/check-doc-links.py`, `gofmt`, `go vet`,
`go run -C tools ./cmd/pilot-diff` (validators pre-downloaded; ~4min, prints e.g.
the headline the committed baseline holds — `379 file(s), 347 fully agreeing; 38 agreed
diagnostic(s), 38 only ours, 1582 only the pilot's` at the `2026-08` pin, so read it from
the headline the committed baseline holds — `380 file(s), 345 fully agreeing; 38 agreed
diagnostic(s), 41 only ours, 1614 only the pilot's` at the `2026-08` pin, so read it from
`docs/project/pilot-differential-baseline.json` rather than from this line)
and `make lint` (staticcheck+gosec, ~2min) all work. There is **no** `yamllint` and **no**
`circleci` CLI, so `.circleci/config.yml` can only be parsed as YAML, not schema-validated — say so
Expand Down
38 changes: 23 additions & 15 deletions .agents/skills/testing-pilot-differential/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,16 @@ GNU-format diagnostics **relative to `--root`**. Consequences for testing:
- The pin `tools/referee/diff` reports comes from `build/pilot-sysml-validator/pilot-pin.txt`
(written by the new script), not from the DeciSym `pom.xml`.
- `-validator /nonexistent` now says `run ./scripts/download-pilot-sysml-validator.sh`.
- Measured at the `2026-08` pin, with a fresh library cache: `379 file(s), 347 fully agreeing; 38 agreed,
38 only ours, 1582 only the pilot's`, JSON totals `openSysMLDiagnostics 79 / pilotDiagnostics
1623 / severityMismatch 3`; ~2 min wall, byte-identical across runs *and* after a from-scratch
rebuild of `build/pilot-validator`. The six `kerml-examples` pilot-only rows the `2026-07` run
carried (`The opposite features 'owningType' … do not refer to each other`) are gone: the pilot
fixed its `ownedDisjoining` delegate, and nothing on our side moved. `kerml-examples` carries no `syntax` diagnostic on either
side. Refresh this paragraph with every rebaseline, and treat a stale one as a finding.
- Measured at the `2026-08` pin after bare parameters took their effective range `[0..*]`, removing
the adjudicated `Behaviors.kerml:14` multiplicity warning (the `[1]` `RocketEquation` inputs keep
its warning at `delta-v-budget.sysml:93`): `380 file(s), 345 fully agreeing; 38 agreed, 41 only
ours, 1614 only the pilot's`, JSON totals `openSysMLDiagnostics 82 / pilotDiagnostics 1655 /
severityMismatch 3`; ~2 min wall, byte-identical across runs *and* after a from-scratch rebuild of
`build/pilot-validator`. The six `kerml-examples` pilot-only rows the `2026-07` run carried (`The
opposite features 'owningType' … do not refer to each other`) are gone: the pilot fixed its
`ownedDisjoining` delegate, which did not move our side at that time. `kerml-examples` carries no
`syntax` diagnostic on either side. Refresh this paragraph with every rebaseline, and treat a
stale one as a finding.
- **`tools/referee/diff` has no `-jobs` flag.** Its full flag set is
`-repo -validator -kerml-validator -syside -out -timeout`; passing `-jobs` exits **2** with
`flag provided but not defined: -jobs`. Only `tools/referee/xpect` is job-parallel. So a PR that
Expand Down Expand Up @@ -136,14 +139,19 @@ The harness compares OpenSysML diagnostics against the OMG SysML v2 Pilot Implem
(via two pinned plain-Java bridges over the pilot's own validators) over four corpus roots and writes
`build/pilot-diff/pilot-diff.{txt,json}`. `docs/project/pilot-differential-baseline.json` is the
committed result of the *last refreshed* run, so **the harness is testable by reproduction** —
but only while the baseline is current. Check that first. As of the rebaseline that came when the Legend of the Red Dragon example left for its own repository it **is**
current: a live run gives `379 file(s), 347 fully agreeing; 38 agreed, 38 only ours, 1582 only the
pilot's`, byte-identical to the committed baseline, and `docs/project/pilot-differential.md`'s
"Results" table matches. The rebaseline before it, at the architecture self-model's landing, covered two rounds, because the succession-shorthand
removal before it landed without refreshing the baseline; a control run of its merge commit gives
`32 agreed, 54 only ours, 79 only the pilot's`. When it is stale (it was at `ac4ac4fb`, and again while the F60–F69 fix
PRs were in flight), a non-empty `jq -S` baseline diff is *not* by itself evidence of a
regression — see "Isolating one change's effect" below.
but only while the baseline is current. Check that first. The latest rebaseline, after bare
parameters took their effective range `[0..*]` and removed the adjudicated `Behaviors.kerml:14`
warning (the `[1]` `RocketEquation` inputs still produce the warning at
`delta-v-budget.sysml:93`), is current: a live run gives `380 file(s), 345 fully agreeing; 38
agreed, 41 only ours, 1614 only the pilot's`, byte-identical to the committed baseline, and
`docs/project/pilot-differential.md`'s "Results" table matches. The prior rebaseline, when the
Legend of the Red Dragon example left for its own repository, gave
<!-- doc-count:historical -->`380 file(s), 344 fully agreeing; 38 agreed, 42 only ours, 1614 only the pilot's`.
The rebaseline before that, at the architecture self-model's landing, covered two rounds, because
the succession-shorthand removal before it landed without refreshing the baseline; a control run
of its merge commit gives `32 agreed, 54 only ours, 79 only the pilot's`. When it is stale (it was
at `ac4ac4fb`, and again while the F60–F69 fix PRs were in flight), a non-empty `jq -S` baseline
diff is *not* by itself evidence of a regression — see "Isolating one change's effect" below.

## Prerequisites

Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/testing-pilot-execution-referee/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ pilot answers the representation's own. See
`pilot-exec-diff: <file>:<line>: model no/such/model.sysml: stat <abs>: no
such file or directory`.
- **Additivity.** `go run -C tools ./cmd/pilot-diff` must still print the headline the
committed baseline holds (`379 file(s), 347 fully agreeing; 38 agreed
diagnostic(s), 38 only ours, 1582 only the pilot's` at the `2026-08` pin — read it from the baseline JSON, not from this line, since each
committed baseline holds (`380 file(s), 345 fully agreeing; 38 agreed
diagnostic(s), 41 only ours, 1614 only the pilot's` at the `2026-08` pin — read it from the baseline JSON, not from this line, since each
fix round moves it) and `jq -S` diff clean against
`docs/project/pilot-differential-baseline.json`; `git status --porcelain`
empty at the end.
Expand Down
6 changes: 3 additions & 3 deletions .agents/skills/testing-pilot-rejection/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Sibling of `testing-pilot-differential` and `testing-pilot-xpect` (same pin
`scripts/pilot-pin.sh`, same committed-baseline shape), but pointed the other way: the
differential measures what the reference accepts and we reject; this oracle measures what the
reference **rejects and we accept** — permissiveness gaps. Its corpus is committed under
`tools/referee/reject/testdata/negative/` (306 hand-written invalid models, one violated rule + citation
`tools/referee/reject/testdata/negative/` (310 hand-written invalid models, one violated rule + citation
in each file's mandatory `// Invalid: ...` first line), so no corpus download exists. Method and
findings: `docs/project/pilot-rejection.md`.

Expand All @@ -35,8 +35,8 @@ As of the `semantic/` source (named pilot constraints, KerML and SysML, the cont
succession rules, the feature-value overriding rule, the enumeration-variation rules, the send-action cases,
the metadata typing, annotated-element and body rules, the trigger-argument typing rules, the owning-body member rules, the cross-subsetting rules, the variant port rule, the association arity, binary-link end
count and multiplicity-bound typing rules, the result-expression ownership rules, and the annotation-ownership, binding-arity, feature-chain conformance,
conjugated typing and end-feature rules, the end-multiplicity, return-owner and single-conjugator rules, the keyword-first relationship end kinds, the prefix and body-context cases, and the redefinition name-resolution cases), with a fresh library cache:
`306 case(s): 297 both reject, 0 only the pilot rejects, 9 only we reject, 0 both accept`,
conjugated typing and end-feature rules, the end-multiplicity, return-owner and single-conjugator rules, the keyword-first relationship end kinds, the prefix and body-context cases, the redefinition name-resolution cases, and the transition accept usage-typing rule), with a fresh library cache:
`310 case(s): 301 both reject, 0 only the pilot rejects, 9 only we reject, 0 both accept`,
byte-identical to the committed baseline. Any `both accept` case is a bug in the corpus (the case
is not actually invalid under the loaded standard library) — fix the case, never ignore it. A
candidate the pilot accepts because it does not enforce the named constraint is not a case either:
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/testing-pilot-xpect/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,8 @@ census in `w5c_census_test.go` is live two ways: perturb one pinned triple (e.g.
## Regression neighbour

`go run -C tools ./cmd/pilot-diff` (~1m12s) must still print the headline the *committed* baseline holds —
at the `2026-08` pin that is `379 file(s), 347 fully agreeing; 38 agreed diagnostic(s), 38
only ours, 1582 only the pilot's`. Read the number out of
at the `2026-08` pin that is `380 file(s), 345 fully agreeing; 38 agreed diagnostic(s), 41
only ours, 1614 only the pilot's`. Read the number out of
`docs/project/pilot-differential-baseline.json` rather than trusting this line, since a landing fix
round moves it. When the baseline is itself stale (it was at `19a3ce03`, holding 273 / 281 / 317), a
failing `cmp` against it is *not* evidence of an Xpect regression — compare the summary line, and see
Expand Down
85 changes: 84 additions & 1 deletion .agents/skills/testing-sysml-repl/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -661,6 +661,32 @@ Also note the parser rejects `require constraint <name> { … }` (a *named* nest
`require`/`assume`): `expected '{' after 'require constraint'`. Only the anonymous form and the
`require R { … }` reference form parse, so an export test cannot cover the named variant.

## Python multi-document parsing (`Connection.parse_sources`)

- Drive the public `opensysml.Connection.parse_sources` against a real service
with a library document and a second document that imports it. Assert more
than the absence of diagnostics: the dependent symbol's `specializations`
entry with `kind == "typing"` must have `target_id` naming the library's
definition (`Symbol` has no `.type` property), and `model.documents` must
keep document order, `model.roots` one root per document.
- Use `opensysml.loads` on the dependent document alone as the negative
control: its import must fail. A diagnostic's `.file` is the document's
name as given, including inline names that look like relative paths.
- To prove validation happens before any RPC, attach a delegating
`grpc.UnaryUnaryClientInterceptor` to the connection's channel and stub,
count both GetServerInfo and ParseSources, and follow the invalid input with
a valid call so the instrumentation cannot yield a vacuous pass.
- A conformance fixture containing `choice c;` also needs an outgoing
transition, or it fails on an unrelated semantic error. For an isolated
extension warning use
`package P { state def S { choice c; state a; transition first c then a; } }`;
check the diagnostic goes from warning to error with
`strict_conformance=True`, then that `strict=True` raises `ModelError`.
- The module-level `opensysml.parse_sources` opens the default connection,
which starts a private service unless a port is named; close it afterwards
(`opensysml._default_connection.close()`), or a later test that asserts no
private service is running fails.

## Argument order and the `--` marker

`cmd/sysml/args.go` permutes arguments before `flag.Parse`, so flags may be written **after** the
Expand Down Expand Up @@ -2530,9 +2556,66 @@ its output rather than in an exit code — so assert on the exact rendered text:

## Multi-file projects: `%load <path>...` and positional dirs/globs (PR #146)

### Per-file document isolation probes

- Give only one file a root-level `private import ScalarValues::*;`. A second
file's bare `Real` must stay unresolved, as must a later prompt declaration's
bare `Real`. A qualified expression such as `%eval A::x + 1.0` should still
work, proving isolation did not remove the loaded package from the index.
- Two loaded files declaring the same root package are two root namespaces, not
a duplicate. References select the declaration in the document whose name
sorts first, independent of CLI argument order (see the CLI reference's
Multiple Files section). Put `A::X` in `first.sysml` and `A::Y` in
`second.sysml`, then reverse arguments: `A::X` must resolve and `A::Y` must
remain unresolved in both orders. Do not confuse reference precedence with
document rendering order.
- For rendering order, `%view` takes a **view**, not an ordinary package.
`%render #table` renders the loaded documents without a declared view; reverse
two nonalphabetical package names and assert their member groups reverse.
A declared view with `render asElementTable;` needs `private import Views::*;`
in its scope.
- `%save` passes notation through the formatter. Test source retention separately
from byte equality: tabs can become four spaces even while comments, members,
file order and typed declarations survive. Compare with a `develop` build
before attributing such formatting to a load-path regression.
- Both debugger fixtures in `internal/frontend/repl/testdata/` are load-ready:
`action_debug.sysml` (`%action Debug::tally`, `%step`, type `part def Z;`,
`%continue`) ends at `total = 5`; `state_debug.sysml` (`%state Debug::Cycle`,
`%advance 1`, type `part def Z;`, `%advance 9`, `%advance 5`) reaches working
at t=10 and done at t=15. This tests symbol rebinding across prompt edits.

#### Devin Secrets Needed

None for local multi-file CLI/REPL tests.

### Parallel file-load verification

- The shared concurrency knob is `-jobs N` / `OPENSYSML_JOBS`, also observable
with `%jobs`. It bounds both plan execution and files parsed/validated in one
load. Compare stdout, stderr and exit status at 1, 2 and 8 jobs plus an
environment override; test invalid values against a nonexistent path to
distinguish startup rejection from a load failure. `-workers` is not a
supported replacement flag.
- Generate a small multi-file model from the nested tools module:
`go run -C tools ./cmd/stress-model -planes 4 -satellites 10 -ground-stations 8 -split-planes <scratch-dir>`.
Verify SHA256/name manifest records, then shrink the model: unchanged surplus
output should disappear, while an edited surplus plane and user file survive.
Editing a still-current output should refuse the entire regeneration with
`nothing written`; compare all directory bytes before and after.
- A load containing `part component : Needed::T;` gives a non-vacuous batch
diagnostic. In `%verbosity debug`, declare `package Needed { part def T; }`,
then `package Needed {}`, then restore `T`. Whole-buffer diagnostics must
change 1→0→1→0. An empty package removes its members; a nonempty declaration
merges with existing members and is not a suitable deletion probe.
- For save/reload, retain comments and loaded-file declarations and assert
only the latest prompt redeclaration survives. Re-evaluate a compound
expression after `%clear` and reloading the saved file.

`sysml <dir|glob|file>...` and `%load <path>...` expand to model files via
`internal/workspace/project.Expand`, and every file is accepted before one analysis pass
(`Session.SubmitAll`), so load order does not affect name resolution. Shapes to expect:
(`Session.SubmitAll`), each file a workspace document of its own indexed with the
others. Repeated root names resolve by document-name order, not load order.
Shapes to expect:

- More than one file prints a `loaded N files:` header listing each path (a single file prints no
header — a good tell that the multi-file path was taken).
Expand Down
Loading
Loading