musubix3 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.github/plugin/marketplace.json +2 -2
  2. package/.github/skills/sdd-formal-codegraph/SKILL.md +6 -6
  3. package/.github/skills/sdd-implementation/SKILL.md +8 -4
  4. package/.github/skills/sdd-quality/SKILL.md +14 -11
  5. package/.github/skills/sdd-traceability/SKILL.md +6 -2
  6. package/CHANGELOG.md +39 -0
  7. package/README-ja.md +85 -24
  8. package/README.md +92 -28
  9. package/dist/packages/analysis/src/adapters.js +128 -5
  10. package/dist/packages/analysis/src/adapters.js.map +1 -1
  11. package/dist/packages/analysis/src/config.d.ts +11 -1
  12. package/dist/packages/analysis/src/config.js +103 -10
  13. package/dist/packages/analysis/src/config.js.map +1 -1
  14. package/dist/packages/analysis/src/files.js +27 -1
  15. package/dist/packages/analysis/src/files.js.map +1 -1
  16. package/dist/packages/analysis/src/graph.d.ts +1 -0
  17. package/dist/packages/analysis/src/graph.js +673 -10
  18. package/dist/packages/analysis/src/graph.js.map +1 -1
  19. package/dist/packages/analysis/src/model-correspondence.js +5 -5
  20. package/dist/packages/analysis/src/model-correspondence.js.map +1 -1
  21. package/dist/packages/analysis/src/mutation.d.ts +15 -1
  22. package/dist/packages/analysis/src/mutation.js +95 -0
  23. package/dist/packages/analysis/src/mutation.js.map +1 -1
  24. package/dist/packages/analysis/src/performance.js +3 -5
  25. package/dist/packages/analysis/src/performance.js.map +1 -1
  26. package/dist/packages/analysis/src/tdd.js +12 -0
  27. package/dist/packages/analysis/src/tdd.js.map +1 -1
  28. package/dist/packages/analysis/src/trace.js +60 -8
  29. package/dist/packages/analysis/src/trace.js.map +1 -1
  30. package/dist/packages/analysis/src/workflow.js +5 -3
  31. package/dist/packages/analysis/src/workflow.js.map +1 -1
  32. package/dist/packages/cli/src/main.js +12 -3
  33. package/dist/packages/cli/src/main.js.map +1 -1
  34. package/dist/packages/domain/src/constitution.d.ts +1 -1
  35. package/dist/packages/domain/src/constitution.js +1 -0
  36. package/dist/packages/domain/src/constitution.js.map +1 -1
  37. package/package.json +1 -1
  38. package/plugin.json +1 -1
@@ -3,13 +3,13 @@
3
3
  "owner": { "name": "nahisaho" },
4
4
  "metadata": {
5
5
  "description": "GitHub Copilot CLI specification-driven development skills",
6
- "version": "0.1.1"
6
+ "version": "0.1.3"
7
7
  },
8
8
  "plugins": [
9
9
  {
10
10
  "name": "musubix3",
11
11
  "source": ".",
12
- "version": "0.1.1",
12
+ "version": "0.1.3",
13
13
  "description": "Evidence-driven SDD without duplicating native Copilot capabilities."
14
14
  }
15
15
  ]
@@ -41,12 +41,12 @@ After the work, run `npx musubix3 workflow-record sdd-formal-codegraph complete
41
41
  JS/TS imports, re-exports, literal require/dynamic imports, manifest
42
42
  entrypoints and local cache-busting URL/templates with a static base are indexed.
43
43
  Set `codeGraph.mode` to `strict` when unresolved computed `import()` or
44
- `require()` calls must block graph gates; the compatible default warns.
45
- Conservative native adapters index Rust modules/`use`, Python imports, Go
46
- module imports, Java package imports, C/C++ includes, C# namespace imports,
47
- PHP namespace/import dependencies, R source/package dependencies and Julia
48
- include/module imports, declarations and direct calls. Other languages are
49
- reported as unsupported.
44
+ `require()` calls, including computed PHP include/require expressions, must
45
+ block graph gates; the compatible default warns.
46
+ Conservative native adapters index JS/TS, Rust, Python, Go, Java, Kotlin,
47
+ C/C++, Objective-C, C#/.NET, Ruby, PHP, Swift, Dart, Scala, Elixir, Haskell,
48
+ Lua, Zig, Solidity, R and Julia dependencies, declarations and direct calls.
49
+ Unrecognized extensions stay outside graph inputs.
50
50
  Statically resolved cache-busting imports remain valid in strict mode.
51
51
  Reflective behavior remains an explicit limitation.
52
52
  4. Use native navigation and review to confirm conservative results; rebuild
@@ -18,8 +18,8 @@ After the work, run `npx musubix3 workflow-record sdd-implementation complete
18
18
  implementation. Configure the selected command with `tddArgs` containing
19
19
  `{testId}` or `{testPath}` and a `tddReport`, or use a built-in runner adapter.
20
20
  Follow its native identity contract: pytest/Cargo use underscore names, Go
21
- uses a `TEST-*` subtest, and JUnit uses an exact `@Tag("TEST-*")` plus an
22
- underscore-form ID in the method name.
21
+ uses a `TEST-*` subtest, JUnit uses an exact `@Tag("TEST-*")`, and xUnit uses
22
+ a `Fact` `DisplayName` containing the exact ID.
23
23
  Run the repository formatter before recording Red. Formatting is part of the
24
24
  test fingerprint: after Red, do not edit or reformat the authoritative test
25
25
  until the matching Green has been recorded.
@@ -46,11 +46,15 @@ After the work, run `npx musubix3 workflow-record sdd-implementation complete
46
46
  Put annotations in the authoritative source and test files, including
47
47
  supported non-JS/TS files; never add a proxy file just to increase coverage.
48
48
  An annotation establishes a link, not proof that code or tests are correct.
49
- 5. Run the project's actual focused tests/typecheck/build; fix failures.
49
+ 5. Before recording Red, run every configured `tdd.redPreflightCommands`
50
+ formatter/check and let musubix3 enforce that preflight. Then run the
51
+ project's actual focused tests/typecheck/build; fix failures.
50
52
  When mutation evidence is required, use the project's existing lightweight
51
53
  mutation mechanism to emit schema-v1 deterministic identities, requirement/
52
54
  test linkage, source/test SHA-256, operator/location, and killed status.
53
- Never fabricate results or add a large mutation dependency.
55
+ Never fabricate results or add a large mutation dependency. Use
56
+ `npx musubix3 mutation doctor --json` to inspect locally available engines
57
+ and configuration recommendations.
54
58
  6. Regenerate `npx musubix3 trace build`, check `trace check --strict`, then
55
59
  `npx musubix3 gate --changed`. Configure real command/argument arrays first.
56
60
  7. Use Copilot's native review and security-review capabilities when appropriate.
@@ -8,27 +8,28 @@ Follow the user's input language (日本語 / English). Use native Copilot revie
8
8
  security review for their specialist reasoning; this skill does not replace them.
9
9
  After the work, run `npx musubix3 workflow-record sdd-quality complete --status
10
10
  completed` exactly once.
11
-
12
11
  1. Inspect `.musubix/config.json` and `.musubix/policy-baseline.json` before
13
12
  running commands. Only execute trusted project configuration. Commands are
14
13
  executable/argument arrays, not shell text. Never edit the baseline without
15
14
  explicit independent approval. Use only the exact `musubix3` CLI; never
16
15
  substitute similarly named npm packages.
17
16
  2. Configure real tests/build/typecheck commands and timeouts. Use an explicit
18
- custom report or a built-in Vitest/Jest, pytest, Go test, Cargo or JUnit
17
+ custom report or a built-in Vitest/Jest, pytest, Go test, Cargo, JUnit or .NET
19
18
  adapter. Require executable native adapter contracts in CI; JUnit targets use
20
19
  an exact `@Tag("TEST-*")`, and pytest requires `pytest-json-report`. Review
21
- `requiredChecks`, coverage thresholds and architecture rules. Use strict
20
+ `requiredChecks`, `qualityProfile`, coverage thresholds and architecture rules.
21
+ Use `recommended` or `release` only when all profile requirements are
22
+ intentionally configured; profile validation never invents missing evidence. Use strict
22
23
  `codeGraph.mode` when unresolved computed module loading must block release,
23
24
  and ensure the trusted baseline prevents downgrading it. Configure a
24
25
  fresh structured `testReport` for `test-identities`. Do not weaken policy.
25
26
  3. Run `npx musubix3 gate --json` or `npx musubix3 gate --changed --json`.
26
- `npx musubix3 evidence refresh --json` is the explicit evidence-regeneration
27
- form of the same fail-closed gate pipeline. If `input-stability` fails,
27
+ `evidence refresh --json` runs the same fail-closed pipeline. If `input-stability` fails,
28
28
  inspect its per-path added/modified/deleted diagnostics and stop generators
29
29
  or formatters before rerunning. Standard dependency/build directories,
30
- including Cargo and Maven `target/`, are excluded; source-like generated
31
- inputs are not silently ignored.
30
+ including manifest-scoped Cargo/Maven `target/`, .NET `bin`/`obj`, project-local
31
+ `.nuget/packages`, and `.venv` or `venv` roots with a regular `pyvenv.cfg`, are excluded; arbitrary source
32
+ directories and source-like generated inputs are not silently ignored.
32
33
  Changed mode reports Git changes and dependent files but conservatively runs
33
34
  all checks, including commands. It never treats unrun checks as successful.
34
35
  When `tdd` is required, confirm every command has test-scoped `tddArgs`, every
@@ -40,8 +41,9 @@ completed` exactly once.
40
41
  Treat workflow records as declarations until `workflow-verify` binds each
41
42
  completed declaration to one distinct completed Copilot Skill tool call.
42
43
  In strict mode require one final successful result, matching session UUID,
43
- causal timestamps, bounded freshness, complete tool lifecycles and canonical
44
- transcript hash. Ensure the baseline protects strict/session/freshness policy.
44
+ causal transcript order, policy-bounded concurrent-event clock skew, bounded
45
+ freshness, complete tool lifecycles and canonical transcript hash. Ensure the
46
+ baseline protects strict/session/freshness/event-skew policy.
45
47
  When `change-history` is required,
46
48
  confirm ordered checkpoints, chained TDD records, requirement-scoped Code
47
49
  Graph changes, exact CHANGE requirement enumeration, measurable Acceptance,
@@ -59,7 +61,8 @@ completed` exactly once.
59
61
  identities bound to must functional requirements, current source/test
60
62
  fingerprints, operator/location, authoritative tests, and killed results.
61
63
  Reject survived, skipped, duplicate, conflicting, stale, or unlinked mutants.
62
- musubix3 validates evidence; it does not bundle a mutation engine.
64
+ Run `mutation doctor` for language-aware local probes and remediation;
65
+ musubix3 validates evidence and does not bundle a mutation engine.
63
66
  Missing required tools, commands, artifacts or evidence block readiness.
64
67
  5. Use native review/security-review as needed, recording their findings
65
68
  separately from machine evidence. Never fabricate review or test results.
@@ -72,4 +75,4 @@ completed` exactly once.
72
75
  Ensure the baseline protects CI-required mode, strict OIDC and key binding.
73
76
  Never store a private key or overstate OIDC as proof of arbitrary runner work.
74
77
  7. Run `npx musubix3 status --json`; stale evidence must be refreshed. Report
75
- limitations and residual risks before handoff. No resident watcher or REPL.
78
+ limitations and residual risks before handoff; no resident watcher or REPL.
@@ -10,8 +10,12 @@ After the work, run `npx musubix3 workflow-record sdd-traceability complete
10
10
  --status completed` exactly once.
11
11
 
12
12
  1. Run `npx musubix3 trace build`. It scans `.musubix` artifacts and comment
13
- annotations in JS/TS, Rust, Python, Go, Java/Kotlin, C/C++, C#, Ruby, PHP and
14
- Swift, then generates feature `trace.json` files plus an ignored cache.
13
+ annotations in every Code Graph language, including JS/TS, Rust, Python, Go,
14
+ JVM, C/C++, .NET, Ruby, PHP, Swift, Dart, BEAM, Haskell, Lua, Zig, Solidity,
15
+ R and Julia, then generates feature `trace.json` files plus an ignored cache.
16
+ Haskell `--`/`{- ... -}`, Lua `--`/`--[[ ... ]]`, and Visual Basic
17
+ apostrophe/XML-documentation comments are scanned without accepting string
18
+ literals as trace annotations.
15
19
  2. Run `npx musubix3 trace check --strict --json`.
16
20
  Distinguish malformed IDs, dangling endpoints, stale inputs, and missing
17
21
  mandatory design/implementation/test coverage. Non-strict coverage warnings
package/CHANGELOG.md CHANGED
@@ -2,6 +2,45 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.1.3 - 2026-09-08
6
+
7
+ - Add a built-in `dotnet` test adapter with xUnit `DisplayName` targeting and
8
+ recursive TRX result normalization.
9
+ - Exclude manifest-scoped .NET `bin/` and `obj/` output plus the conventional
10
+ project-local `.nuget/packages/` cache from snapshots and Code Graph indexing.
11
+ - Exclude Gradle `.gradle/`, Dart `.dart_tool/`, SwiftPM `.build/`, Zig
12
+ `.zig-cache/`/`zig-out/`, and .NET `.dotnet/` CLI homes only when a nearby
13
+ ecosystem manifest identifies them as generated project state.
14
+ - Detect C#/.NET projects in `mutation doctor` and safely probe a pinned local
15
+ Stryker.NET tool manifest without installing or downloading tools.
16
+ - Add conservative Code Graph adapters for Kotlin, Ruby, Swift, Dart, Scala,
17
+ Elixir, Haskell, Lua, Zig, Solidity, Objective-C/Objective-C++, F# and
18
+ Visual Basic .NET, including local dependencies, declarations and direct calls.
19
+ - Add Haskell, Lua, and Visual Basic trace-comment extraction with string
20
+ masking, and expose annotated/executed test identity counts as constitution
21
+ metrics.
22
+ - Reduce native Code Graph false positives and improve Scala, Visual Basic,
23
+ Julia, PHP, Swift, Dart, Haskell, and Objective-C resolution precision.
24
+ - Normalize JUnit identities from `system-out` display names independently of
25
+ XML attribute order, and recognize nested F# `(* ... *)` trace comments.
26
+ - Validate large applications across all 23 supported language groups: 475
27
+ authored implementation files and 345 traced native tests, all gate-ready.
28
+
29
+ ## 0.1.2 - 2026-09-07
30
+
31
+ - Exclude conventional `.venv` and `venv` Python environments identified by a
32
+ regular `pyvenv.cfg` file from project snapshots and Code Graph indexing,
33
+ without allowing the marker to hide arbitrary source directories.
34
+ - Add configurable `tdd.redPreflightCommands` so formatters and other plain
35
+ preflight commands complete before a Red test fingerprint is captured.
36
+ - Add explicit `custom`, `minimal`, `recommended`, and `release` quality
37
+ profiles with fail-closed requirements for stronger profiles.
38
+ - Accept bounded timestamp skew for causally ordered concurrent Copilot tool
39
+ events in strict workflow verification, with a policy-protected
40
+ `workflow.maxEventSkewMs` limit.
41
+ - Add `mutation doctor` with language-aware local engine probes, attempted
42
+ commands, and actionable configuration recommendations.
43
+
5
44
  ## 0.1.1 - 2026-09-07
6
45
 
7
46
  - Preserve fail-closed input-stability checks while reporting every added,
package/README-ja.md CHANGED
@@ -1,34 +1,68 @@
1
1
  # musubix3
2
2
 
3
- **v0.1.1 · GitHub Copilot CLI 専用 · Node.js ≥20 · TypeScript · MIT**
3
+ **最新リリース v0.1.3 · GitHub Copilot CLI 専用 · Node.js ≥20 · TypeScript · MIT**
4
4
 
5
5
  [English](README.md)
6
6
 
7
7
  [musubix2 から musubix3 で変わったこと](MUSUBIX2-TO-MUSUBIX3.md)
8
8
 
9
- 要求 → 憲章 → 設計・ADR → 実装 → 追跡可能性 → 品質根拠、という
10
- 仕様駆動開発(SDD)を、8つの Skills と決定的な検証エンジンで支援します。
11
- 形式的整合性検査、コンパイラによる依存解析、ローカル知識検索も含みます。
9
+ GitHub Copilotは、計画、コード生成、編集、テスト、レビューを実行できます。
10
+ musubix3は、その作業を本当に完了と判断するためのrepository-localな仕様と
11
+ 決定的な証拠を追加します。
12
+ 要求 → 憲章 → 設計・ADR → 実装 → 追跡可能性 → 品質根拠を、
13
+ 8つのSkillsと検証CLIで接続します。
12
14
 
13
15
  [musubix2](https://github.com/nahisaho/musubix2) の考え方を学び、3つの
14
16
  ワークスペースで新規実装しています。成果物の互換性・移行機能はありません。
15
17
  ID の接続や SAT 判定だけで、実装の正しさを保証するものではありません。
16
18
 
19
+ ## GitHub Copilotだけでは足りない理由
20
+
21
+ Copilotは実装を担うエンジンです。要求を理解し、repositoryを調査し、計画を立て、
22
+ ファイルを編集し、toolを実行して結果を説明します。これは不可欠ですが、
23
+ 会話が成功したことだけでは、次を継続的に証明できません。
24
+
25
+ - 実装した振る舞いが、明示的で測定可能な要求と一致しているか
26
+ - すべての要求が設計、コード、正本テストまで接続されているか
27
+ - テストを書き換えず、本当にRedが先に失敗してGreenが成功したか
28
+ - test、graph、formal、qualityの結果が現在のsourceに対して新鮮か
29
+ - 要求変更が影響する成果物へ正しい順序で伝播したか
30
+ - 最終gateを通すためにpolicyを弱めていないか
31
+
32
+ 「テストは成功しました」「実装は完了しました」という会話上の報告は、
33
+ 古くなる、範囲が不足する、repository外で失われる可能性があります。
34
+ 推論と開発はCopilotへ任せたまま、musubix3が完了条件を永続化し、
35
+ 機械検証できる形へ変換します。
36
+
37
+ | GitHub Copilotが提供するもの | musubix3が補完するもの |
38
+ |---|---|
39
+ | 計画、実装、refactor、tool実行 | 明示的な要求、設計判断、実装link、完了条件を要求するrepository-local SDD Skills |
40
+ | テスト生成とtest runner実行 | 構造化TEST ID、native report正規化、検証可能なRed/Green/Refactor証拠 |
41
+ | 変更内容の説明 | 要求 → 設計 → コード → テストの型付きtraceと双方向impact解析 |
42
+ | repository調査 | 決定的なCode Graph、未解決local dependency診断、architecture gate |
43
+ | 制約・不変条件の提案 | 任意のZ3/Lean整合性検査と、形式モデルから成功テストまでの対応検査 |
44
+ | session単位の完了報告 | freshness、fingerprint、input stability、保護されたpolicy baseline、attestation、fail-closedなready判定 |
45
+
46
+ musubix3はCopilotを置き換えず、別のcoding agentも追加しません。
47
+ SATだから実装が正しいとも主張しません。開発はCopilotが実行し、
48
+ musubix3は仕様を残し、証拠を検査し、古い・不完全な完了宣言を拒否して、
49
+ 「なぜこの変更をreadyと判断できるのか」をreview可能な形でrepositoryへ残します。
50
+
17
51
  ## クイックスタート
18
52
 
19
53
  対象プロジェクトで、公開済みパッケージを実行します。
20
54
 
21
55
  ```sh
22
- npx musubix3@0.1.1 --version
23
- npx musubix3@0.1.1 init --dry-run
24
- npx musubix3@0.1.1 init
56
+ npx musubix3@0.1.3 --version
57
+ npx musubix3@0.1.3 init --dry-run
58
+ npx musubix3@0.1.3 init
25
59
  copilot
26
60
  ```
27
61
 
28
62
  バージョンを固定してプロジェクトへインストールする場合は、次を実行します。
29
63
 
30
64
  ```sh
31
- npm install --save-dev --save-exact musubix3@0.1.1
65
+ npm install --save-dev --save-exact musubix3@0.1.3
32
66
  npx --no-install musubix3 --version
33
67
  npx --no-install musubix3 init --dry-run
34
68
  npx --no-install musubix3 init
@@ -176,6 +210,7 @@ npx musubix3 status --json
176
210
  | `knowledge query <text> [--limit 10]` | TF-IDF/cosine のランキングと陳腐化情報 |
177
211
  | `formal generate <file> [--format both\|smt2\|lean]` | SHA-256付きの再現可能なsolver入力生成 |
178
212
  | `formal doctor` | Z3、Lean、`lake env lean` の存在とバージョン確認 |
213
+ | `mutation doctor` | 言語別のローカルmutation engine確認と導入推奨 |
179
214
  | `formal check <file> [--solver auto\|none\|z3\|lean]` | 明示的なBoolean・条件・数値・時間・状態遷移モデルを検査 |
180
215
  | `model-correspondence validate` | Formal JSON→生成trace→正本passing testの証拠を再検証 |
181
216
  | `evidence refresh [--changed]` | 同じfail-closed gate pipelineで派生証拠を再生成 |
@@ -278,10 +313,12 @@ feature: auth
278
313
  `ADRs` / `Depends-On`。ADR には背景・採用案・却下案・結果を記録します。
279
314
  C4-like 図は明示した内容だけを描画し、完全な C4 モデルを推論しません。
280
315
 
281
- JS/TS、Rust、Python、Go、Java/Kotlin、C/C++、C#、Ruby、PHP、Swift の
282
316
  正本となるコード・テストに、エンティティごとに1つのコメントを追加します。
283
- JS/TS では文字列中の記載をリンクとして扱いません。その他の言語では行コメント
284
- またはブロックコメントを使用します。網羅率だけを満たす代理 JS/TS ファイルは作成しません。
317
+ JS/TSはparser-awareなcomment位置を使い、Haskellは`--`と`{- ... -}`、
318
+ Luaは`--`と`--[[ ... ]]`、Visual Basicは`'''` XML documentを含む
319
+ apostrophe commentを扱います。これらは文字列中の記載をリンクとして扱いません。
320
+ その他の言語では対応する行commentまたはblock commentを使用します。
321
+ 網羅率だけを満たす代理JS/TSファイルは作成しません。
285
322
 
286
323
  ```ts
287
324
  /** @id CODE-AUTH-001
@@ -327,6 +364,7 @@ version: 1.0.0
327
364
  {
328
365
  "schemaVersion": 1,
329
366
  "language": "auto",
367
+ "qualityProfile": "custom",
330
368
  "commands": [
331
369
  { "name": "typecheck", "command": "npm", "args": ["run", "typecheck"], "required": true, "timeoutMs": 120000 },
332
370
  {
@@ -342,10 +380,12 @@ version: 1.0.0
342
380
  "thresholds": { "design": 1, "implementation": 1, "tests": 1 },
343
381
  "formal": { "solver": "none", "minModeledFraction": 0, "timeoutMs": 12000 },
344
382
  "mutation": { "mode": "compatible" },
383
+ "tdd": { "redPreflightCommands": [] },
345
384
  "workflow": {
346
385
  "mode": "compatible",
347
386
  "maxAgeSeconds": 3600,
348
- "maxFutureSkewSeconds": 60
387
+ "maxFutureSkewSeconds": 60,
388
+ "maxEventSkewMs": 1000
349
389
  },
350
390
  "attestation": {
351
391
  "mode": "local",
@@ -366,6 +406,17 @@ version: 1.0.0
366
406
 
367
407
  未知の設定キー、不正な閾値、重複コマンドはエラーです。
368
408
  glob は `*` / `**` / `?` に対応し、外部依存は `npm:` 接頭辞で表現します。
409
+ `qualityProfile`の既定値は`custom`です。`minimal`はSDDの基本gate、
410
+ `recommended`はstrict Code Graph、TDD、構造化test identityも要求し、
411
+ `release`はformal、mutation、workflow、変更、performance、CI attestationを
412
+ 含む完全なrelease checkを要求します。不足設定や弱い設定を証拠で補ったことにはしません。
413
+ `tdd.redPreflightCommands`にはformatter等のplain command名を指定でき、
414
+ Redのtest fingerprintを取得する前に成功が必須です。
415
+ 通常ファイルの`pyvenv.cfg`を含む`.venv`と`venv`はsnapshotと
416
+ Code Graphから除外されます。Gradle `.gradle/`、Dart `.dart_tool/`、
417
+ SwiftPM `.build/`、Zig `.zig-cache/`/`zig-out/`、.NET `.dotnet/`は、
418
+ 親directoryに対応manifestがある場合だけ除外されます。同名の任意source
419
+ directoryは追跡対象のままです。
369
420
  `codeGraph.mode` の既定値は `compatible` で、未解決の計算された
370
421
  `import()` / `require()` は警告です。`strict` にするとグラフゲートを阻止する
371
422
  エラーになります。信頼済みbaselineが `strict` の場合、`compatible` への
@@ -386,7 +437,9 @@ command reportでpassしたことを要求します。欠落・改変・stale・
386
437
 
387
438
  `.musubix/policy-baseline.json` は必須チェック、閾値、アーキテクチャ、
388
439
  Formalポリシー、mutation mode、workflow strict/session/freshness、CI必須attestation、
389
- strict OIDC identity/key binding、必須コマンド名の最低条件です。弱体化は拒否され、
440
+ strict OIDC identity/key binding、必須コマンド名の最低条件です。Red preflightを
441
+ 要求するbaselineは正規化済み`commands`定義も保持し、同名formatterへの
442
+ すり替えを拒否します。弱体化は拒否され、
390
443
  変更ゲート中のbaseline変更には独立承認が必要です。CODEOWNERS等で保護してください。
391
444
 
392
445
  **信頼した設定だけを実行してください。** ゲートは環境変数を継承し、シェルを
@@ -396,12 +449,14 @@ strict OIDC identity/key binding、必須コマンド名の最低条件です。
396
449
  コマンド未設定は skipped です。
397
450
 
398
451
  TDD用コマンドには明示的な`tddArgs`と`tddReport`、または組込みの
399
- `vitest`、`jest`、`pytest`、`go-test`、`cargo`、`junit` adapterが必要です。
452
+ `vitest`、`jest`、`pytest`、`go-test`、`cargo`、`junit`、`dotnet` adapterが必要です。
400
453
  明示設定を優先し、adapterは対象引数を導出してnative JSON/JSONL/XMLを正規化します。
401
454
  Vitest/Jestの無関係なskipped結果は対象TDDから除外します。pytestにはJSON pluginと
402
455
  `test_TEST_APP_001`形式、Goには`TEST-*`名のsubtest、Cargoには`test_app_001`形式、
403
- JUnitには正確な`@Tag("TEST-APP-001")`とIDをunderscore形式で含むmethod名が必要で、
404
- launcherのXML report directoryを読み取ります。各フェーズ前に旧レポートを削除し、
456
+ JUnitには正確な`@Tag("TEST-APP-001")`と、IDを含むmethod名または`@DisplayName`を推奨します。
457
+ 正規化処理はtestcase属性とJUnit Platformのdisplay-name出力の両方を読み取り、
458
+ xUnitには`[Fact(DisplayName = "TEST-APP-001 ...")]`が必要です。
459
+ それぞれXMLまたはTRX report directoryを読み取ります。各フェーズ前に旧レポートを削除し、
405
460
  必要なreport親directoryを作成して、対象テストだけを含むfreshな `musubix-json` を要求します。Redは `failed`、
406
461
  Green/Refactorは `passed` のみ有効で、`skipped`、`error`、未生成、不正形式は失敗です。
407
462
  Green前にはテスト以外のプロジェクト入力が変更されている必要があります。
@@ -412,10 +467,11 @@ TDDと変更checkpointは共通の単調order ledgerを持ち、Red/Green境界
412
467
  明示的なmigration診断で失敗します。欠落・並べ替え・改変・孤立レコードは
413
468
  証拠を無効にします。
414
469
 
415
- CIでは6種類すべてについて独立したnative contractを実行します。Vitest、Jest、
470
+ CIではVitest、Jest、
416
471
  `pytest-json-report`付きpytest、Go test、Cargo test、固定版JUnit Platform Consoleの
417
472
  各fixtureに無関係な失敗テストを置き、生成selectorが対象IDだけを実行し、実際のnative
418
- reportを正規化できることを検証します。Jestは開発時依存だけであり、Python、
473
+ reportを正規化できることを検証します。.NET adapterは標準TRXを読み取り、
474
+ C#アプリ実験とunit contractで追加検証します。Jestは開発時依存だけであり、Python、
419
475
  Go/Rust、Java/JUnitのtoolingはCIでのみ準備され、packageのruntime依存には含まれません。
420
476
 
421
477
  変更checkpointは各変更要件にリンクした実装とCode Graph上の依存だけを指紋化するため、
@@ -467,7 +523,8 @@ terminal transcriptの古さと未来方向clock skewも制限します。
467
523
  並行eventはtimestamp順で出力されない場合があるため、全体sortではなくtool/resultの
468
524
  因果順序を検査します。
469
525
  gate実行中に入力が変わった場合、`input-stability`は追加・変更・削除された各pathと
470
- 前後のSHA-256を報告します。Cargo/Mavenの標準`target/`は除外しますが、
526
+ 前後のSHA-256を報告します。Cargo/Mavenの標準`target/`、manifest直下の
527
+ .NET `bin/`と`obj/`、project-local `.nuget/packages/`は除外しますが、
471
528
  source相当の生成入力はfail-closedのままです。組込みadapterは対象test選択とreport引数を
472
529
  所有します。Cargo/Goの既存設定にある先頭`test`は安全に統合し、
473
530
  `--json-report`など競合するreport引数は早期拒否します。
@@ -550,13 +607,17 @@ Ed25519鍵はmusubix3外で生成し、公開PEMだけを`attestation oidc-audie
550
607
  シンボル影響は保守的な**ファイル単位**の逆依存になります。
551
608
  非リテラル読み込みは既定では警告ですが、`codeGraph.mode: "strict"` では
552
609
  グラフゲートを阻止します。未解決外部パッケージは警告、未解決ローカル参照はエラー。
553
- Rust、Python、Go、Java、C/C++、C#、PHP、R、Juliaはローカル
554
- import/module/include/source、宣言、直接呼び出しを保守的に解析します。
555
- その他の言語は未対応として報告します。他言語用の代理 JS/TS ファイルは
556
- 作成しません。
557
- bundler 独自解決、リフレクションは対象外です。
610
+ bundler 独自解決とリフレクションは対象外です。Rust、Python、Go、Java、
611
+ Kotlin、C/C++、Objective-C/Objective-C++、C#、F#、Visual Basic .NET、
612
+ Ruby、PHP、Swift、Dart、Scala、Elixir、Haskell、Lua、Zig、Solidity、R、
613
+ Juliaはローカルimport/module/include/source、宣言、直接呼び出しを
614
+ 保守的に解析します。その他の拡張子はグラフ入力に含めません。他言語用の
615
+ 代理 JS/TS ファイルは作成しません。
558
616
  build/cache/dependency と symlink は除外しますが、任意の `.gitignore` は
559
617
  スキャンフィルターとして読みません。
618
+ - 残るarchitecture改善には、実測根拠を伴うstrict call-resolution ratio policyと、
619
+ より広いnative test-runner adapter対応があります。このreleaseでは推測的に
620
+ 有効化しません。
560
621
  - 検索は **TF-IDF/cosine** であり GraphRAG でも意味推論でもありません。
561
622
  日本語は文字 bigram。Git 根拠は最大100コミット・各30ファイルで、共変更は相関、
562
623
  著者別ディレクトリ件数は貢献の記録であって因果や専門性ではありません。