Design follow-ups from the pre-OSS audit (7 items, non-blocking)
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- go
- 領域
- documentation, tooling
調査の方向性
まず audits/2026-06-30-pre-oss-audit.md から始め、次に項目を1つ選んで、そこから参照されているファイルを読みます: docs/06-schema-reference.md、internal/schema/v1/modelith.schema.json、internal/lint/lint.go、docs/05-parking-garage/garage.modelith.yaml、または docs/04-reading-the-diagrams.md。何かを変更する前に、メンテナーとスコープおよび設計上の決定を確認してください。完了とは、選択した懸念事項が対応するドキュメント、コード、例、またはテストによって対処されていることを意味します。
索引モデルが issue の本文から書いたものです。
説明
Parked design items from audits/2026-06-30-pre-oss-audit.md — none blocked
the public launch, but they were meant to be tracked as issues rather than
left sitting only in the audit file. Filing as one issue to avoid spawning
seven low-traffic tickets; split any of these out separately if one actually
gets worked.
-
DDD omissions undocumented —
docs/06-schema-reference.md:79. Add a
"What this format deliberately leaves out" section covering aggregates,
value objects, domain events, bounded contexts, with a per-item
out-of-scope/roadmap call. Probably the highest-leverage item here for
credibility with a DDD-literate audience. -
Glossary/entity namespace collision unguarded —
internal/schema/v1/modelith.schema.json:28. A glossary key that promotes
to an entity is silently ambiguous. Add a lint error, next to the existing
duplicate-invariant-id check. -
Completeness check pressures junk invariants —
internal/lint/lint.go:496. The "entity has no invariants" warning +
strict CI + the author skill together teach newcomers to invent
cardinality-restating filler invariants. Soften the message; document that
genuinely rule-free entities are fine. -
Ticket as value object in the flagship example —
docs/05-parking-garage/garage.modelith.yaml:222.Ticketis a textbook
value object modeled as an owned 1:1 entity, since the format has no
first-class value-object concept. The worked example should name this
tension explicitly, turning a hidden limitation into a teaching moment. -
Cardinality optionality foot-gun —
internal/schema/v1/modelith.schema.json:148.1:ncarries no
optionality; minimums live as invariants instead. The Mermaid renderer
always emits||--o{(zero-or-many) even when an invariant says "at
least one." Document this in schema-reference and cross-check
04-reading-the-diagrams.md. -
Example violates its own relationship guidance —
docs/06-schema-reference.md:113. The reference recommends declaring a
relationship from a single side, butexample.modelith.yamldeclares
Project↔Usern:n redundantly from both ends. Either fix the example or
make it the explicit "both ends add clarity" exception, with an
explanation. -
Scenario steps have no stress-test convention —
docs/06-schema-reference.md:188. The reference calls scenarios
"diagnostics," but nothing enforces or teaches the
violation-then-refusal pattern (at least one scenario per invariant that
attempts to violate it and shows the refusal).
Context / priority
All non-urgent — none of these blocked launch, and the audit only flagged
them as design (needs a decision/discussion), not easy. Pick off
individually as time allows; #1 and #3 probably have the best
credibility/clarity payoff for the effort.
- 主要言語
- Go
- スター
- 32
- フォーク
- 5
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
stacklok/modelith のほかの issue
-
enhancement
難易度 2/5 半日 初心者へのやさしさ 68/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
-
documentation
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
stacklok/modelith の issue をすべて見る
似ている issue
-
kind/bug needs-triage
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
matrixorigin/matrixone#29223 ·
-
needs-acceptance wg/data-plane-networking
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
vllm-project/semantic-router#4024 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
alexgorbatchev/dotfiles#107 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100