Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Independent replication wanted: sysml-toolkit v0.6.0 on another machine

未关闭
#3 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
68/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
活跃
技术栈
python, shell
领域
cli, testing-qa

调研方向

克隆仓库,运行 uv sync,并针对你的平台使用 toolchain/get-sysml-toolkit.sh。注册你的机器和平台摘要,然后使用 uv run svt run 运行测试用例 redefinition-ambiguity-2-resolution;检查生成的 ledger diff,并在不手动编辑 .ttl 文件的情况下创建 PR。

由索引模型根据 Issue 内容生成。

描述

Every sysml-toolkit run in this ledger was executed on one machine (macOS 15, arm64). That is a real limitation: the ledger currently cannot separate "this is how sysml-toolkit behaves" from "this is how it behaves on that laptop". An independent run is the only thing that settles it.

This is as much an adapter shakedown as a reproduction. If it doesn't work on your machine, that is the finding — please open an issue rather than working around it. The two bugs found this way so far were both real and both invisible from one machine.

What to do

git clone https://github.com/Open-MBEE/sysmlv2-testing.git
cd sysmlv2-testing
uv sync

# the pinned release binary for YOUR platform (prints the sha256 to pin)
TAG=v0.6.0 PLATFORM=<your-platform> toolchain/get-sysml-toolkit.sh
export SYSMLV2_BIN=...                          # the script prints this line

# the release asset ships no standard library -- verified, not assumed.
# Point this at a SysML-v2-Release checkout, or the Pilot's sysml.library/
export SYSMLV2_LIB_DIR=/path/to/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 correct. The release ships one artifact per platform, so your binary's sha256 differs from the one pinned here (32dcc653…, aarch64-apple-darwin) even though it is the same release. svt run prints both hashes and the command to add yours:

uv run svt version add-artifact-digest --implementation sysml-toolkit \
  --version 3a13c64adb93f1d069ce021c598318587126044a --digest <yours>

Then:

uv run svt run --testcase redefinition-ambiguity-2-resolution \
  --implementation sysml-toolkit \
  --version 3a13c64adb93f1d069ce021c598318587126044a \
  --as <your-machine-id>

Open a PR with the resulting ledger diff. Please don't hand-edit any .ttl — svt is the only writer, and a hand-authored record is exactly what this ledger exists to avoid.

Why this test case

redefinition-ambiguity-2-resolution records failed here: the two anonymous :>> items redefinitions resolve to each other rather than to the inherited base feature (Open-MBEE/sysml-toolkit#2). Confirming a failure independently is worth more than confirming a pass — if it does not reproduce on your machine, then either the bug is environment-specific or our adapter is wrong, and both of those are things we want to know.

If you have appetite for more, the other seven are listed in svt view --implementation sysml-toolkit.

If a newer release lands, run that instead — and I'll reproduce yours

If sysml-toolkit cuts a new release and you'd rather exercise that than
v0.6.0, please do; it's the more useful thing. Register it and run against
it:

uv run svt version add --implementation sysml-toolkit --commit <sha> --label <tag>
uv run svt version add-artifact-digest --implementation sysml-toolkit \
  --version <sha> --digest <your platform's sha256>
uv run svt run --testcase <id> --implementation sysml-toolkit \
  --version <sha> --as <your-machine-id>

Then I'll pull the same release, add the macOS/arm64 digest alongside
yours, and reproduce your run from here — which is the reciprocal half of
this request and the direction that actually matters: a new release
confirmed by two parties on two platforms from the day it ships, rather
than one machine's word for it months later.

Worth being precise about what that produces, since it is not the same as
the v0.6.0 case above. A new release is a new svt:Version, so your
run against it is a new TestRun — not a reproduction of anything, because
nothing has tested that version before. My run of the same version is
then the svt:Reproduction of yours. The ledger keeps the two roles
distinct on purpose: a first observation and an independent confirmation
are different kinds of evidence.

What should happen

Agreement writes a svt:Reproduction — not a second TestRun. Re-running a test confirms a claim; it does not produce new evidence about the tool, and recording it as a new run would be duplication. Disagreement is recorded as its own TestRun with a warning, and nothing is retracted.

Known rough edges, so you can tell a bug from a papercut

  • The v0.6.0 release asset genuinely does not vendor a standard library. Without SYSMLV2_LIB_DIR the tool resolves nothing and still returns a verdict — a confident wrong answer, not an error. The adapter refuses in that state now, but if you see unresolved ScalarValues/Parts::Part in captured output, that's the cause.
  • Two versions are registered: the v0.6.0 release tag, and a local build from main@29d57f4 whose tree is identical. They are separate Versions because they are different binaries. Use the release one above.
主要语言
Python
星标
0
派生
0
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Open-MBEE/sysmlv2-testing 的其他 Issue

查看 Open-MBEE/sysmlv2-testing 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。