Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

-strict accepts a namespace with indistinguishable memberships (warning, exit 0)

クローズ
#973 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

関連するプルリクエストがすでにマージされています。

  • #1050 @devin-ai-integration による — マージ済み

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
go
領域
backend

調査の方向性

Start by tracing how -strict and the service’s strict_conformance setting affect validation and how duplicate owned member names are reported. The issue gives a reproducer and expected behavior: under strict mode the warnings should become errors, while default-mode output stays unchanged. Check existing validation tests and add coverage for both modes; the issue does not name specific files or tests.

索引モデルが issue の本文から書いたものです。

説明

The ruling

spec-pilot gap register #13: indistinguishable memberships are reported as a warning, as the pilot reports them, so that duplicated names in the training corpus do not fail its clean gate. The register's own assessment is that "the rule is a validate… constraint — a violating model is not well-formed — so a warning under-reports it".

Model and observed behaviour
package P {
    part def A;
    part def A;
}
$ sysml -validate -strict dup.sysml
dup.sysml:2:14: warning: Duplicate of other owned member name
dup.sysml:3:14: warning: Duplicate of other owned member name
✓ dup.sysml: no errors
$ echo $?
0

develop 1e68ecf2d. Without -strict the output is the same.

Why it is wrong under -strict

KerML §8.3.2.4.5 Namespace, validateNamespaceDistinguishibility (spelt so in the PDF): "All memberships of a Namespace must be distinguishable from each other." The two As have the same name and the same metaclass, so by §8.3.2.4.3 Membership::isDistinguishableFrom they are not distinguishable, and the model is not well-formed. -strict is described as judging "the model as conforming SysML v2", yet it accepts this model with exit 0. So a check run with -strict cannot rely on it to reject a model the specification says is not well-formed.

Proposed behaviour

Only under -strict (and strict_conformance on the service), report indistinguishable memberships as an error. The default stays a warning, so the training corpus, its clean gate and the differential against the pilot are unchanged.

This widens -strict from notation alone to this one well-formedness constraint, which is a change to what the flag means. If that is not wanted, a separate opt-in (a flag, or a lint code that can be raised to an error) would serve the same need.

The case against

The question to the specification's authors in #13 is still open. If they rule that a tool may keep resolving a namespace with indistinguishable memberships, an error would be stricter than the specification intends. Even then, the constraint as published is a validate… constraint, and a strict mode that claims conformance seems the place to apply it as written until that ruling changes it.

🤖 Generated with Claude Code

主要言語
Go
スター
39
フォーク
12
平均マージ
14時間 26分
マージ済み PR(30日)
764

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Open-MBEE/OpenSysML のほかの issue

Open-MBEE/OpenSysML の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。