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.
- package/.github/plugin/marketplace.json +2 -2
- package/.github/skills/sdd-formal-codegraph/SKILL.md +6 -6
- package/.github/skills/sdd-implementation/SKILL.md +8 -4
- package/.github/skills/sdd-quality/SKILL.md +14 -11
- package/.github/skills/sdd-traceability/SKILL.md +6 -2
- package/CHANGELOG.md +39 -0
- package/README-ja.md +85 -24
- package/README.md +92 -28
- package/dist/packages/analysis/src/adapters.js +128 -5
- package/dist/packages/analysis/src/adapters.js.map +1 -1
- package/dist/packages/analysis/src/config.d.ts +11 -1
- package/dist/packages/analysis/src/config.js +103 -10
- package/dist/packages/analysis/src/config.js.map +1 -1
- package/dist/packages/analysis/src/files.js +27 -1
- package/dist/packages/analysis/src/files.js.map +1 -1
- package/dist/packages/analysis/src/graph.d.ts +1 -0
- package/dist/packages/analysis/src/graph.js +673 -10
- package/dist/packages/analysis/src/graph.js.map +1 -1
- package/dist/packages/analysis/src/model-correspondence.js +5 -5
- package/dist/packages/analysis/src/model-correspondence.js.map +1 -1
- package/dist/packages/analysis/src/mutation.d.ts +15 -1
- package/dist/packages/analysis/src/mutation.js +95 -0
- package/dist/packages/analysis/src/mutation.js.map +1 -1
- package/dist/packages/analysis/src/performance.js +3 -5
- package/dist/packages/analysis/src/performance.js.map +1 -1
- package/dist/packages/analysis/src/tdd.js +12 -0
- package/dist/packages/analysis/src/tdd.js.map +1 -1
- package/dist/packages/analysis/src/trace.js +60 -8
- package/dist/packages/analysis/src/trace.js.map +1 -1
- package/dist/packages/analysis/src/workflow.js +5 -3
- package/dist/packages/analysis/src/workflow.js.map +1 -1
- package/dist/packages/cli/src/main.js +12 -3
- package/dist/packages/cli/src/main.js.map +1 -1
- package/dist/packages/domain/src/constitution.d.ts +1 -1
- package/dist/packages/domain/src/constitution.js +1 -0
- package/dist/packages/domain/src/constitution.js.map +1 -1
- package/package.json +1 -1
- 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.
|
|
6
|
+
"version": "0.1.3"
|
|
7
7
|
},
|
|
8
8
|
"plugins": [
|
|
9
9
|
{
|
|
10
10
|
"name": "musubix3",
|
|
11
11
|
"source": ".",
|
|
12
|
-
"version": "0.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
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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,
|
|
22
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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
|
-
`
|
|
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
|
|
31
|
-
|
|
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
|
|
44
|
-
transcript hash. Ensure the
|
|
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
|
-
|
|
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
|
|
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,
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
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.
|
|
23
|
-
npx musubix3@0.1.
|
|
24
|
-
npx musubix3@0.1.
|
|
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.
|
|
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
|
-
|
|
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")
|
|
404
|
-
|
|
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では
|
|
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
|
|
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、
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
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
|
著者別ディレクトリ件数は貢献の記録であって因果や専門性ではありません。
|