Skip to content

plan(strategy): North Star + positioning as rivet artifacts (12 proposed, release-scoped) - #441

Open
avrabe wants to merge 3 commits into
mainfrom
plan/north-star-and-positioning
Open

plan(strategy): North Star + positioning as rivet artifacts (12 proposed, release-scoped)#441
avrabe wants to merge 3 commits into
mainfrom
plan/north-star-and-positioning

Conversation

@avrabe

@avrabe avrabe commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The plan made queryable rather than narrated. Twelve artifacts, all
proposed, nothing implemented and nothing claiming to be — a starting point
to fill in and recheck, not a finished roadmap.

Full audit behind it: https://claude.ai/code/artifact/a3753bd6-c1f3-415f-a1db-d35a0add16c9
Reproduced against f395518 (v0.40.0) on 2026-08-26; every requirement carries
the measurement that motivated it, with the command beside it.

Why this shape

release: is set on every requirement, so release readiness becomes a filter:

v0.41.0  REQ-CLAIM-LEDGER-001 · REQ-CLI-SURFACE-001 · REQ-SYSML2-CONFORMANCE-001
v0.42.0  REQ-HIR-FEATUREGROUP-PATH-001 · REQ-SYSML2-VISIBILITY-001   (+ existing WASM-GATES)
v0.43.0  REQ-FINDINGS-LAYER-001
v0.44.0  REQ-RENDER-COMPOUND-001 · REQ-RENDER-GOLDEN-001 · REQ-RENDER-METRICS-001
v0.45.0  REQ-SYSML2-FLOWS-MODES-001

That is the release-planning premise this repo already subscribes to and could
not previously exercise: 803 of 914 artifacts carry no release: at all, so
"is v0.X ready?" has not been answerable as a query.

The two decisions

DEC-NORTHSTAR-001 — the analysis engine for the SysML v2 + AADL world.

The ground moved in March 2026: Galois, with Ellidiss, CMU/SEI and Collins
Aerospace, released Systems-Modeling/SysML-v2-AADL-Release — a domain
extension library carrying most of AADLv2 core into SysML v2, inside the OMG
RTESC working group. That is the institutional core of AADL moving the language
into the SysML v2 ecosystem, on the back of OMG final adoption (July 2025) and
an official certification programme (June 2026).

Its stated exclusions are AADL flows and modes. Those are exactly what
latency, flow_rules, mode_reachability, modal and the whole
network-calculus arm consume. The standards track is carrying AADL structure
across and explicitly not the behaviour that makes it analysable — a narrow
opening nobody is contesting and one spar is already built for.

Reconciled explicitly with DEC-TSN-OSS-001, which names AADL as the
front-end/IR: this does not overturn it. That decision's own argument is that
the timing/NC math is a fabric-agnostic substrate paying for itself through
internal demand; this extends the same logic one layer up — the substrate is
formalism-agnostic too, so a SysML v2 front door adds an ingest path without
invalidating a single Tier-1 or Tier-3 requirement. Tier 2 keeps its kill-gates.

DEC-POSITIONING-001 — lead with the verdict, not the pipeline.

a compiler for system-architecture modelsworst-case answers for real-time architectures. The compiler framing is kept, one level down: it
is an accurate answer to how this is built and it is why the codebase is as
good as it is. It fails as a headline for four measured reasons — a compiler is
judged on back-end fidelity and that is the weakest organ; it points at
translation when the value is judgement; its load-bearing word
"multi-formalism" is carried by the one front end with no outside oracle; and
it aims at a target that is receding now that formalisms are converging.

Also scoped there: drop the SysML v2 — KerML badge until the gate exists,
bound "replaces the Eclipse/Java OSATE2 toolchain" to what is measured (not
diagrams), and stop advertising SVG (Sugiyama layout) in the component
diagram — the README currently prints the renderer's root cause as a feature.

The evidence that drove the ordering

v0.41 buys nothing except the ability to know, which is why it is first:

$ cargo test -p spar-sysml2 --test conformance_tests
test parse_annex_a_simple_vehicle ... ok
test parse_package_example ... ok
… 8 passed; 0 failed

$ spar sysml2 parse test-data/sysml2/Package_Example.sysml
3 parse errors        # the same file the test above just passed

The assertion is assert!(!result.syntax_node().text().is_empty()) — it checks
the input source text is non-empty. Zero of the eight call errors().
The official corpus directories are empty, and grep sysml .github/workflows/*.yaml returns nothing.

That is the defect class REQ-GUARD-GATE-EVIDENCE-002 names, sitting in the
crate the strategy documents lean on hardest — four releases of that discipline
went to the CI guardrails and never to the tool's own interop claim.

Deliberately NOT in this PR

  • No status demotions. REQ-SYSML2-PARSE is implemented and the audit
    contradicts it for the official corpus, but changing another artifact's status
    is a maintainer call, not a side effect of a planning PR. Flagged, not touched.
  • No verification artifacts. Nothing here is built, so the right side of the
    V stays open. check_evidence_steps' stepless floor is unchanged at 78
    proposed requirements claim no evidence, which is the point.
  • No README edit. DEC-POSITIONING-001 records the decision; executing it
    belongs with REQ-CLAIM-LEDGER-001 so the new wording lands already gated.
  • The build-or-delegate call on the renderer is left open inside
    REQ-RENDER-COMPOUND-001 — it deserves its own decision once someone has
    costed extending etch against adopting an ELK-class engine.

Local verification

both files parse                                        OK
926 ids · 1255 links · 0 broken · 0 duplicates          OK
check_release_plane.py    exit 0   (status/release nested: 0)
check_human_scoped.py     exit 0
check_evidence_steps.py   exit 0   (floor 78, unchanged)

rivet validate is the CI gate; the local rivet is version-skewed and is not
trusted for a verdict here.

🤖 Generated with Claude Code

avrabe and others added 2 commits August 26, 2026 07:27
…et artifacts

Ten requirements and two maintainer decisions, all `proposed`, none
implemented and none claiming to be. This is the plan made queryable rather
than narrated: `release:` is set on every requirement, so "what is left for
v0.41" becomes a filter instead of an opinion.

Everything here rests on an audit reproduced against f395518 (v0.40.0) on
2026-08-26, and every requirement carries the measurement that motivated it so
the scope can be argued with rather than inherited.

DEC-NORTHSTAR-001 — the analysis engine for the SysML v2 + AADL world, owning
flows and modes. In March 2026 Galois, with Ellidiss, CMU/SEI and Collins,
released Systems-Modeling/SysML-v2-AADL-Release, carrying most of AADLv2 core
into SysML v2 inside the OMG RTESC group; its stated exclusions are flows and
modes. Those are exactly what spar's latency, mode-reachability, modal
scheduling and network-calculus passes consume. Reconciled explicitly with
DEC-TSN-OSS-001: that decision names AADL as the front-end/IR and argues the
timing math is a fabric-agnostic substrate — this extends the same argument one
layer up rather than overturning it, and no Tier-1 or Tier-3 requirement is
invalidated.

DEC-POSITIONING-001 — retire "a compiler for system-architecture models" from
the masthead in favour of "worst-case answers for real-time architectures". The
compiler framing is kept as an architecture note, where it is accurate; it
fails as a headline because a compiler is judged on back-end fidelity and that
is the weakest organ (3 of 11 components rendered), because it points at
translation when the value is judgement, and because its load-bearing word
"multi-formalism" is carried by the one front end with no outside oracle.

The requirements, by release:

  v0.41.0  SYSML2-CONFORMANCE / CLI-SURFACE / CLAIM-LEDGER
           Buy the ability to know anything. All 8 SysML v2 conformance tests
           pass while the files they name fail to parse — the assertion checks
           that the INPUT TEXT is non-empty, and zero of the 8 call errors().
           The official corpus dirs are empty and no workflow mentions sysml.
  v0.42.0  SYSML2-VISIBILITY / HIR-FEATUREGROUP-PATH
           `public import` does not parse, which is why the spec's own Annex A
           model dies on line 3. A feature-group member path in a connection
           does not resolve, on the repo's own showcase model.
  v0.43.0  FINDINGS-LAYER
           54 diagnostics on an 11-component model; one missing
           Actual_Processor_Binding reported 9 times across 3 passes and 3
           severities. SARIF must not regress — it is already correct.
  v0.44.0  RENDER-METRICS / RENDER-COMPOUND / RENDER-GOLDEN
           etch 0.2.0 is a flat layered DAG layout applied to a compound graph,
           with no text measurement anywhere. Split deliberately: metrics are
           cheap, compound layout is the largest item in this plan and its
           build-or-delegate shape is left open.
  v0.45.0  SYSML2-FLOWS-MODES
           The North Star's first executable mile. Carries the CC-BY-ND
           constraint on the official library: vendor verbatim, never fork.

Validated locally: both files parse; 926 ids with 0 broken links and no
duplicates; check_release_plane, check_human_scoped and check_evidence_steps
all exit 0 with the stepless floor unchanged at 78 (proposed requirements
claim no evidence yet, which is the point). `rivet validate` runs in CI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… spent on

v0.41.0 and v0.42.0 were bumped and merged to main while this PR sat open —
#436 carries #435 (the three SPAR-DEFECT parser gaps of #434, MAX_SPAR_DEFECT
walked 3 -> 0) and #438 carries #437 (reject a feature named `in`/`out`, #420).
Both are real work out of this plan's own audit, landed by the autonomous loop.

Neither is tagged. The version numbers are consumed regardless: Cargo.toml on
main reads 0.42.0, so 0.41.0 and 0.42.0 cannot be reused whether they end up
signed or collapsed. The scope shifts by two and nothing else changes:

  v0.41.0 -> v0.43.0   CLAIM-LEDGER · CLI-SURFACE · SYSML2-CONFORMANCE
  v0.42.0 -> v0.44.0   HIR-FEATUREGROUP-PATH · SYSML2-VISIBILITY
  v0.43.0 -> v0.45.0   FINDINGS-LAYER
  v0.44.0 -> v0.46.0   RENDER-METRICS · RENDER-COMPOUND · RENDER-GOLDEN
  v0.45.0 -> v0.47.0   SYSML2-FLOWS-MODES

Re-verified on main at 138a693 that the scope itself is untouched: the eight
SysML v2 conformance tests still contain zero `errors()` calls, the official
corpus directories still hold zero files, no workflow mentions sysml, five
commands still dispatch without appearing in `--help`, and the
"production-grade" claim plus the SysML v2 capability badge are both still
live. Only the numbers were spent.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The requirement said no workflow mentions sysml "so none of it executes in CI".
The grep was right; the inference was not. `cargo nextest run --workspace` has
been running the SysML v2 tests on every PR — the Test job's log names
`conformance_tests` seventeen times.

That makes the finding worse rather than better: the vacuous suite was not
dormant code nobody ran, it was a green REQUIRED check reporting on a parser
that rejects the SysML v2 specification's own examples. It also means the
requirement needs no CI wiring at all — only tests capable of failing, which is
what #442 lands.

Found while implementing the requirement, which is the point of implementing it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Rivet verification gate

20/20 passed

count
Passed 20
Failed 0
Skipped (no steps) 0

Filter: (and (= type "feature") (or (has-tag "v093") (has-tag "v0100")))

Failed artifacts

(none)

Updated automatically by tools/post_verification_comment.py. Source of truth: artifacts/verification.yaml.

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