Skip to content

docs(examples): re-record the example walkthroughs against the pinned binaries - #1503

Merged
HuiJun merged 2 commits into
developfrom
docs/audit-examples
Oct 25, 2026
Merged

HuiJun merged 2 commits into
developfrom
docs/audit-examples

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Audit of everything under examples/ against origin/develop at 76c98694c (40 PRs past v0.11.0), with binaries built from that commit by make build. Every tracked model (44 outside examples/self-model/) was run through -validate and -strict; every fenced ./bin/sysml, sysml, python and REPL block in the 20 walkthrough pages was replayed per block and cumulatively and diffed against the transcript that follows it; the inline sysml/kerml snippets were validated standalone, wrapped, cumulatively and as a part-def body. Each mismatch was re-run on the v0.11.0 release binary before being classed as documentation drift. Docs-only edits that keep each page's voice and elisions:

  • Results in their effective multiplicity. A calculation or analysis result prints as a one-element sequence since 0.11.0 (fuelUsed = [120.0], = [6432.955324716369 [SI::'m/s']], result = [VerdictKind::pass], selectedAlternative = [Landers::relay (object #5)], -json "value": "[240.0]", -trace -> (130.0), sweep and explore tables). Re-recorded in analysis-demo, analysis-results-demo, runtime-showcase, disposal-robot-demo, relay-probe-demo, EXPRESSIONS-DEMO.
  • Scheduling output. 1 choice point (1 independent), 592 choice points (591 independent), the (order-dependent; 1 choice point — explore shows the set) marker on sawBraking, and the check engine's 14748 states, 35626 moves (the page said 14664/35546; both binaries print 14748).
  • Rendering. The Mermaid frontmatter now carries themeCSS/themeVariables with subGraphTitleMargin.bottom: 24, container titles are written on one line, the pins notice is gone, interconnection edges are unlabelled, -render-all byte counts moved, and a text state rendering names state def Modes unqualified; the filtered safetyView tree lists part def Thruster / part def Parachute without members (VIEWS-DEMO, disposal-robot-demo).
  • REPL transcripts. %features of a completed state machine lists it under Behaviors: instead of <unknown> state entries, %advance 5 processes 2 events, %check of an unsatisfiable requirement prints its own verdict line before %explain, the %eval headings and the cumulative instance IDs of EXPRESSIONS-DEMO, and three lines -requirement … -satisfy no longer prints in disposal-team-demo.
  • Python demos. lander_demo.py and robot_demo.py crashed on v0.11.0 and develop alike (TypeError: unsupported format string passed to list.__format__): the opensysml 0.11.0 client returns the one-element sequences the service now sends. They index the single element and their transcripts carry the — observed by run / — witnessed by run suffixes. This is the one non-Markdown change; the models are untouched, so the pilot differential baseline does not move.
  • Index and figures. examples/README.md gains the general-views-demo/ row it lacked and names gridview-relationship-matrix.sysml; general-views-demo/README.md names the name-conflict warning vehicle.sysml:102 prints on every command; PARSER_FEATURES_DEMOS.md no longer restates the parser gate's count (it said 96/96, "94 + two extensions"; the gate is at 110/110) and links the roadmap's gate table instead, per CONTRIBUTING's "measured numbers have one home", and drops the development-session and task labels CONTRIBUTING forbids in reader-facing text.

Out of scope and untouched: examples/self-model/ and its tests.

Product gaps found (not papered over)

  1. %instantiate mission / %features mission in relay-probe-demo prints subitems: <error: subsetting feature subparts of subitems: occurrence lifetime does not admit the change: cruise #3 would hold cruise #3, a whole it is a portion of, as a portion of itself> for the timeslice (both binaries); the page elides that region with ....
  2. The Python client formats one-element results as lists (fuel left [130.0] kg): the scripts now unwrap, but a scalar-valued out parameter arriving as a list is worth a client-side decision.

A stale-records regression first listed here (-record-run emptying the Runs that no longer match the model table) did not reproduce on a clean make build of 76c98694c — the renders with and without -record-run both list relayRun; the earlier observation came from a -dirty working-tree binary and is withdrawn.

Overlap

Open PRs touching examples/: #1502 (docs/self-model-surfaces-refresh @ 304df41bb), #1484 (fix/part-usage-part-definition-reading @ 70dae7174), #1477 (feat/document-whole-bodies @ 2672d357c) — all only under examples/self-model/; each dry-merges cleanly against this head, as does origin/develop at 76c98694c.

How it was verified

At a5892bc02:

  • python3 scripts/check-doc-links.py → 0 broken link(s); python3 scripts/check-doc-ids.py → No internal work-item labels…; python3 scripts/check-doc-figures.py → ok; python3 scripts/changelog.py check → rc 0
  • make docs-landing-assets → rc 0; make docs-check → 0 broken link(s), rc 0; python -m mkdocs build --strict → rc 0
  • go test -count=1 ./examples/ ./tests/hygiene/ → ok, ok
  • go test -run TestStdlibConformance ./internal/workspace/libs → 110/110 clean
  • Every edited transcript re-replayed with the harness against ./bin/sysml at 76c98694c; lander_demo.py output is byte-identical to its README block, robot_demo.py differs only in the elided condition text; both run against bin/sysml-grpc via OPENSYSML_BINARY.

Checklist

  • make test and make lint pass locally — docs and example-script change; the gates above ran
  • Tests added or updated for the change — none needed (no code under test changed)
  • Documentation extended where it already covers the surface
  • Changelog entry added as changes/unreleased/docs-audit-examples.fixed.md
  • baselines regenerated and make docs-counts run if a gate count moved — no gate count moved
  • No internal work-item labels in the body, docs, or changelog

… binaries

Calculation and analysis results print in their effective multiplicity,
choice-point counts name the independent ones, the Mermaid frontmatter and
container titles changed, a completed state machine lists under Behaviors,
and the instance IDs, check-engine and -render-all figures moved. The two
Python demo scripts read the one-element sequences the opensysml client
returns. examples/README.md lists general-views-demo/, whose walkthrough
now names the name-conflict warning its model prints, and the parser
feature demos page states the current 110-file conformance figure.

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

…red gate count

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@HuiJun
HuiJun merged commit 8d71239 into develop Oct 25, 2026
30 checks passed
@HuiJun
HuiJun deleted the docs/audit-examples branch October 25, 2026 16:47
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.

1 participant