Independent replication wanted: Pilot Implementation on another machine
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 58/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 領域
- testing-qa, tooling
調査の方向性
toolchain/get-pilot-jar.sh とそのヘッダーから始め、文書化された JDK 21 のセットアップに従って、固定された Pilot commit をビルドします。別のマシンで testcase end-feature-redefinition-explicit の svt コマンドを実行し、指示どおりに digest とマシンの詳細を記録します。.ttl ファイルを手動で編集せず、結果の ledger diff を含む PR を開けば完了です。
索引モデルが issue の本文から書いたものです。
説明
Every pilot-implementation run in this ledger was executed on one machine (macOS 15, arm64). Until someone else runs it, the ledger cannot separate "this is how the Pilot behaves" from "this is how it behaves on that laptop".
This is as much an adapter shakedown as a reproduction. The Pilot adapter is the most bespoke of the three — a small Java shim over SysMLInteractive, driven headlessly — and it has the heaviest setup. If it doesn't work on your machine, that is the finding: please open an issue rather than working around it.
Fair warning that this is the highest-friction of the three implementations. If you want the easy one first, see #1.
What to do
git clone https://github.com/Open-MBEE/sysmlv2-testing.git
cd sysmlv2-testing && uv sync
# JDK 21 SPECIFICALLY -- see the script header for why 26 does not work
export JAVA_HOME=/path/to/jdk-21
PILOT_REPO=/path/to/SysML-v2-Pilot-Implementation \
PILOT_COMMIT=692170b71867353b8f90341e61556f49a5beb0e5 \
toolchain/get-pilot-jar.sh # Maven/Tycho reactor build; not quick
export PILOT_GLUE_CLASSPATH=... # the script prints this line
export SYSML_LIBRARY_DIR=/path/to/SysML-v2-Pilot-Implementation/sysml.library
uv run svt party add --id <your-machine-id> --label "<OS, arch>"
You will be refused on the first run, and that is expected here in a way it isn't elsewhere. The Pilot ships no release artifact — everyone builds their own jar, and Maven builds are not byte-reproducible, so every builder's digest differs. svt run prints yours and the command to add it:
uv run svt version add-artifact-digest --implementation pilot-implementation \
--version 692170b71867353b8f90341e61556f49a5beb0e5 --digest <yours>
Worth being honest that this makes the digest pin weak for the Pilot specifically: the set grows by one per builder and cannot distinguish "the same build" from "a build of the same commit". It still tells you two runs used the same jar, which is not nothing. If you have a better idea, that's a welcome issue in itself.
Then:
uv run svt run --testcase end-feature-redefinition-explicit \
--implementation pilot-implementation \
--version 692170b71867353b8f90341e61556f49a5beb0e5 \
--as <your-machine-id>
Open a PR with the resulting ledger diff. Please don't hand-edit any .ttl — svt is the only writer.
Why this test case
end-feature-redefinition-explicit is where the Pilot is the odd one out. On connection l : Link { end :>> source = a; end :>> target = b; } — the spec's own normative example form — OpenSysML and sysml-toolkit both accept it; the Pilot rejects it with "Must have at least two related elements", so it records failed.
We already checked that isn't a harness artifact: the fixture was fed both as separate indexed resources and as one concatenated compilation unit, with the same verdict either way. But that was checked on one machine, by the person who wrote the adapter. An independent run is the thing that would actually settle it.
What should happen
Agreement writes a svt:Reproduction — not a second TestRun. Disagreement is recorded as its own TestRun with a warning naming what it contradicts, and nothing is retracted. A disagreement here would be a genuinely interesting result.
Known rough edges, so you can tell a bug from a papercut
- JDK 21, not "whatever you have." JDK 26 makes
org.omg.sysml's Xtend compilation fail with ~150,000 errors. This is understood, not flaky; retrying will not help. - Without
SYSML_LIBRARY_DIRthe Pilot loads no standard library and still returns verdicts — confidently wrong ones. The adapter refuses in that state now, but unresolvedScalarValues/Parts::Partin captured output is the tell. - The fat jar is ~137 MB; the first Maven run downloads a lot of Eclipse p2 metadata.
- 主要言語
- Python
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Open-MBEE/sysmlv2-testing のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
Open-MBEE/sysmlv2-testing の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mohitmishra786/readprism#322 ·
メンテナーはふだん 1 日以内に返信
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
API-key credentials accept a blank key: empty via the API, spaces-only via the builder's Add API key dialog対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
Significant-Gravitas/AutoGPT#15727 ·
メンテナーはふだん 1 日以内に返信