musubix3 0.1.4 → 0.1.6
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-change/SKILL.md +13 -14
- package/.github/skills/sdd-implementation/SKILL.md +10 -4
- package/.github/skills/sdd-quality/SKILL.md +1 -1
- package/.github/skills/sdd-requirements/SKILL.md +4 -1
- package/CHANGELOG.md +33 -0
- package/README-ja.md +34 -9
- package/README.md +44 -14
- package/dist/packages/analysis/src/adapters.js +6 -3
- package/dist/packages/analysis/src/adapters.js.map +1 -1
- package/dist/packages/analysis/src/config.d.ts +2 -0
- package/dist/packages/analysis/src/config.js +33 -6
- package/dist/packages/analysis/src/config.js.map +1 -1
- package/dist/packages/analysis/src/files.js +1 -1
- package/dist/packages/analysis/src/files.js.map +1 -1
- package/dist/packages/analysis/src/gate.js +82 -22
- package/dist/packages/analysis/src/gate.js.map +1 -1
- package/dist/packages/analysis/src/graph.js +6 -4
- package/dist/packages/analysis/src/graph.js.map +1 -1
- package/dist/packages/analysis/src/mutation.js +41 -11
- package/dist/packages/analysis/src/mutation.js.map +1 -1
- package/dist/packages/analysis/src/tdd.js +3 -3
- package/dist/packages/analysis/src/tdd.js.map +1 -1
- package/dist/packages/analysis/src/trace.js +13 -0
- package/dist/packages/analysis/src/trace.js.map +1 -1
- package/dist/packages/analysis/src/workflow.d.ts +5 -1
- package/dist/packages/analysis/src/workflow.js +136 -33
- package/dist/packages/analysis/src/workflow.js.map +1 -1
- package/dist/packages/cli/src/main.js +6 -3
- package/dist/packages/cli/src/main.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.6"
|
|
7
7
|
},
|
|
8
8
|
"plugins": [
|
|
9
9
|
{
|
|
10
10
|
"name": "musubix3",
|
|
11
11
|
"source": ".",
|
|
12
|
-
"version": "0.1.
|
|
12
|
+
"version": "0.1.6",
|
|
13
13
|
"description": "Evidence-driven SDD without duplicating native Copilot capabilities."
|
|
14
14
|
}
|
|
15
15
|
]
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-change
|
|
3
|
-
description: "Use
|
|
3
|
+
description: "Use as the MANDATORY first Skill for requests to develop, build, create, implement, add, change, or fix software, including 「開発」「作成」「実装」. Start requirements and design before code, then propagate through tests, traceability, and quality evidence. ソフトウェア開発依頼では実装前に必ず要求定義・設計から開始。"
|
|
4
4
|
---
|
|
5
5
|
# Integrated change workflow / 統合変更ワークフロー
|
|
6
|
-
|
|
7
|
-
planning, editing, research, review, security review and subagents
|
|
8
|
-
This skill coordinates SDD artifacts and checks; it is not another agent runtime.
|
|
6
|
+
Mandatory entrypoint: never start implementation for a natural-language development request before eliciting and validating requirements and design; skip only for explicitly requested implementation of verified, approved artifacts.
|
|
7
|
+
Follow the user's input language. Use native Copilot planning, editing, research, review, security review and subagents.
|
|
9
8
|
Record exactly one final invocation outcome with `npx musubix3 workflow-record
|
|
10
9
|
sdd-change complete --status <status>`; `change-record` separately proves phases.
|
|
11
|
-
Run `workflow-sanitize <copilot.jsonl> <safe.jsonl>` before review
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
Run `workflow-sanitize <copilot.jsonl> <safe.jsonl>` before review, then
|
|
11
|
+
`workflow-verify <safe.jsonl>`; it validates source-order lifecycles without
|
|
12
|
+
assuming globally monotonic clocks unless `maxEventSkewMs` is explicitly set.
|
|
13
|
+
For large logs, baseline-protect transcript total/line byte limits; never truncate or edit to bypass them.
|
|
14
|
+
For strict evidence, bind an expected UUID; GitHub origin needs strict OIDC.
|
|
15
15
|
Never record multiple declarations per invocation; use only the configured CLI.
|
|
16
|
+
For broad work, use short stages: initialize, requirements, design, real Red,
|
|
17
|
+
Green, integration, trace/formal, quality. Report each result before the next prompt.
|
|
16
18
|
For a staged change, run `change-record <CHANGE-ID> <phase> --requirement
|
|
17
19
|
<REQ-ID...>` after each phase in this exact order: `impact`, `requirements`,
|
|
18
20
|
`design`, `red`, `implementation`, `green`, `quality`.
|
|
@@ -27,8 +29,7 @@ Persisted monotonic order, not wall-clock time, proves these phase boundaries.
|
|
|
27
29
|
2. Read the constitution and relevant requirements, designs, ADRs, code and tests.
|
|
28
30
|
3. Run `npx musubix3 trace impact <id-or-path> --json` and, when code exists,
|
|
29
31
|
`graph index` plus `graph impact <symbol-or-path> --json`.
|
|
30
|
-
4. Separate confirmed intent, assumptions and open questions.
|
|
31
|
-
that materially affect observable behavior, safety or compatibility.
|
|
32
|
+
4. Separate confirmed intent, assumptions and open questions. When material context is missing, ask exactly one highest-priority question, wait for its answer, then repeat; never batch questions or finalize requirements, design or code while blockers remain.
|
|
32
33
|
|
|
33
34
|
## 2. Update specifications first / 仕様を先に更新
|
|
34
35
|
1. For new or changed observable behavior, add or revise EARS requirements and
|
|
@@ -60,10 +61,8 @@ Persisted monotonic order, not wall-clock time, proves these phase boundaries.
|
|
|
60
61
|
`@verifies` annotations in the authoritative implementation and test files.
|
|
61
62
|
Never create proxy or placeholder source files solely to satisfy trace coverage.
|
|
62
63
|
Links are evidence locations, not proof by themselves.
|
|
63
|
-
5. Run focused tests
|
|
64
|
-
|
|
65
|
-
Documentation, formatting and prototypes may omit TDD unless policy requires it;
|
|
66
|
-
record the reason and never exempt observable behavior changes.
|
|
64
|
+
5. Run focused tests, then configured typecheck, build and complete test commands.
|
|
65
|
+
Documentation/prototypes may omit TDD only when policy allows; record the reason.
|
|
67
66
|
## 4. Rebuild evidence and finish / 根拠更新と完了
|
|
68
67
|
1. Run `trace build`, `trace check --strict`, `graph index`, and `graph gate`.
|
|
69
68
|
2. Run `formal check` when changed requirements fit its documented abstraction;
|
|
@@ -12,8 +12,11 @@ named npm packages; report a blocker if the executable is unavailable.
|
|
|
12
12
|
After the work, run `npx musubix3 workflow-record sdd-implementation complete
|
|
13
13
|
--status completed` exactly once.
|
|
14
14
|
|
|
15
|
-
1.
|
|
16
|
-
|
|
15
|
+
1. Before editing implementation code, verify that approved requirements and
|
|
16
|
+
design artifacts exist and both validators pass. If either is absent or invalid,
|
|
17
|
+
stop and return to `sdd-change`, invoking `sdd-requirements` and `sdd-design`
|
|
18
|
+
as needed. Do not infer approval from a natural-language request such as
|
|
19
|
+
"develop", "build", 「開発」, 「作成」, or 「実装」.
|
|
17
20
|
2. For behavior changes and bug fixes, write a meaningful failing test before
|
|
18
21
|
implementation. Configure the selected command with `tddArgs` containing
|
|
19
22
|
`{testId}` or `{testPath}` and a `tddReport`, or use a built-in runner adapter.
|
|
@@ -46,7 +49,8 @@ After the work, run `npx musubix3 workflow-record sdd-implementation complete
|
|
|
46
49
|
```
|
|
47
50
|
IDs are globally unique. Multiple targets are comma/space-separated.
|
|
48
51
|
Put annotations in the authoritative source and test files, including
|
|
49
|
-
supported non-JS/TS files
|
|
52
|
+
supported non-JS/TS files. In Python, use consecutive `#` comment lines;
|
|
53
|
+
annotations inside docstrings are ignored and diagnosed. Never add a proxy file just to increase coverage.
|
|
50
54
|
An annotation establishes a link, not proof that code or tests are correct.
|
|
51
55
|
5. Before recording Red, run every configured `tdd.redPreflightCommands`
|
|
52
56
|
formatter/check and let musubix3 enforce that preflight. Then run the
|
|
@@ -56,7 +60,9 @@ After the work, run `npx musubix3 workflow-record sdd-implementation complete
|
|
|
56
60
|
test linkage, source/test SHA-256, operator/location, and killed status.
|
|
57
61
|
Never fabricate results or add a large mutation dependency. Use
|
|
58
62
|
`npx musubix3 mutation doctor --json` to inspect locally available engines
|
|
59
|
-
and configuration recommendations.
|
|
63
|
+
and configuration recommendations. Before Python mutation runs, remove
|
|
64
|
+
existing `__pycache__` directories, then use `-B` for mutation and test
|
|
65
|
+
commands so stale bytecode is absent and no new `.pyc` files are created.
|
|
60
66
|
6. Regenerate `npx musubix3 trace build`, check `trace check --strict`, then
|
|
61
67
|
`npx musubix3 gate --changed`. Configure real command/argument arrays first.
|
|
62
68
|
7. Use Copilot's native review and security-review capabilities when appropriate.
|
|
@@ -61,7 +61,7 @@ completed` exactly once.
|
|
|
61
61
|
identities bound to must functional requirements, current source/test
|
|
62
62
|
fingerprints, operator/location, authoritative tests, and killed results.
|
|
63
63
|
Reject survived, skipped, duplicate, conflicting, stale, or unlinked mutants.
|
|
64
|
-
|
|
64
|
+
Treat zero executed or non-passing tests as incomplete evidence after exit zero; run `mutation doctor`;
|
|
65
65
|
musubix3 validates evidence and does not bundle a mutation engine.
|
|
66
66
|
Missing required tools, commands, artifacts or evidence block readiness.
|
|
67
67
|
5. Use native review/security-review as needed, recording their findings
|
|
@@ -13,7 +13,10 @@ After the work, run `npx musubix3 workflow-record sdd-requirements complete
|
|
|
13
13
|
1. Inspect `.musubix/constitution.md` and the feature's existing requirements.
|
|
14
14
|
If absent, preview `npx musubix3 init --dry-run` before installing.
|
|
15
15
|
2. Use native planning to clarify scope, stakeholders, measurable acceptance and
|
|
16
|
-
failure behavior. Separate assumptions from confirmed requirements.
|
|
16
|
+
failure behavior. Separate assumptions from confirmed requirements. If required
|
|
17
|
+
context is missing, use native elicitation to ask exactly one highest-priority
|
|
18
|
+
question and wait for the answer before asking the next. Never batch questions.
|
|
19
|
+
Repeat until no material blocker remains; do not finalize requirements earlier.
|
|
17
20
|
3. Edit `.musubix/features/<slug>/requirements.md` with headings
|
|
18
21
|
`## REQ-FEATURE-001: Title`, `Priority: must|should|may`,
|
|
19
22
|
`Type: functional|non-functional`, and `Statement: ...`. IDs are globally
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.1.6 - 2026-09-08
|
|
6
|
+
|
|
7
|
+
- Make `sdd-change` the mandatory first Skill for natural-language software
|
|
8
|
+
development requests, elicit missing context one question at a time, and
|
|
9
|
+
require validated requirements and design before implementation may edit code.
|
|
10
|
+
- Parse Surefire/Failsafe `<testcase>` elements correctly when a self-closing
|
|
11
|
+
entry precedes one with `<system-out>`/`<system-err>` children, so JUnit
|
|
12
|
+
identities are no longer dropped or given a neighbouring test's status.
|
|
13
|
+
- Stop counting Java, Kotlin and Scala annotations as calls in Code Graph.
|
|
14
|
+
- Report the offending field and mutant index for invalid schema-v1 mutation
|
|
15
|
+
reports instead of a single opaque message.
|
|
16
|
+
- Explain that superseded TDD cycles are still validated and must be archived
|
|
17
|
+
and regenerated rather than replaced by a newer recording.
|
|
18
|
+
- Label `status` artifact counts as requirement and design files, and document
|
|
19
|
+
the `musubix3/analysis` entry point for `mutationIdentity` plus the
|
|
20
|
+
`.musubix/evidence/native/` location for command-generated reports.
|
|
21
|
+
- Name the configuration key that raises a rejected workflow transcript total or
|
|
22
|
+
line size limit instead of only reporting the exceeded bound.
|
|
23
|
+
|
|
24
|
+
## 0.1.5 - 2026-09-08
|
|
25
|
+
|
|
26
|
+
- Accept causally ordered concurrent workflow events whose clocks are not
|
|
27
|
+
monotonic by default, while preserving optional policy-bound timestamp skew.
|
|
28
|
+
- Add policy-protected `workflow.maxTranscriptBytes` and
|
|
29
|
+
`workflow.maxTranscriptLineBytes` so streaming sanitization and verification
|
|
30
|
+
can process large real Copilot transcripts without removing resource bounds.
|
|
31
|
+
- Fail structured required test commands that report zero executed tests or
|
|
32
|
+
skipped tests even when the process exits successfully.
|
|
33
|
+
- Diagnose Python trace annotations hidden in docstrings and recommend
|
|
34
|
+
bytecode-free Python mutation/test execution to prevent stale `.pyc` results.
|
|
35
|
+
- Guide broad SDD changes through short reviewable stages rather than requiring
|
|
36
|
+
a single all-inclusive prompt.
|
|
37
|
+
|
|
5
38
|
## 0.1.4 - 2026-09-08
|
|
6
39
|
|
|
7
40
|
- Measure subprocess durations with a monotonic clock and reject negative or
|
package/README-ja.md
CHANGED
|
@@ -159,8 +159,13 @@ Copilot の提案を記号的検査で制約する構成であり、独自の「
|
|
|
159
159
|
|
|
160
160
|
## 開発ワークフロー
|
|
161
161
|
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
「○○を開発・作成・実装」のような自然言語依頼では、`sdd-change`を必須の
|
|
163
|
+
最初のSkillとして発火させ、コード実装前に要求を確認・検証して設計を確定します。
|
|
164
|
+
承認済みの要求・設計を実装する明示的な依頼だけが`sdd-implementation`へ直接進めます。
|
|
165
|
+
要求または設計が存在しない、あるいは検証に失敗する場合、実装Skillは停止します。
|
|
166
|
+
要求に必要なコンテキストが不足している場合は、優先度が最も高い質問を1問だけ行い、
|
|
167
|
+
回答を待ってから次の1問へ進みます。質問をまとめず、未解決事項がなくなるまで
|
|
168
|
+
要求を確定しません。
|
|
164
169
|
|
|
165
170
|
1. ネイティブ計画・調査で意図と測定可能な受入条件を明確化。
|
|
166
171
|
2. `change-record CHANGE-ID impact` を記録してから要求を編集・検証し、
|
|
@@ -326,6 +331,8 @@ JS/TSはparser-awareなcomment位置を使い、Haskellは`--`と`{- ... -}`、
|
|
|
326
331
|
Luaは`--`と`--[[ ... ]]`、Visual Basicは`'''` XML documentを含む
|
|
327
332
|
apostrophe commentを扱います。これらは文字列中の記載をリンクとして扱いません。
|
|
328
333
|
その他の言語では対応する行commentまたはblock commentを使用します。
|
|
334
|
+
Pythonは連続した`#` commentを使用してください。docstring内のannotationは無視され、
|
|
335
|
+
`TRACE_ANNOTATION_IN_PYTHON_DOCSTRING`で配置変更を案内します。
|
|
329
336
|
網羅率だけを満たす代理JS/TSファイルは作成しません。
|
|
330
337
|
|
|
331
338
|
```ts
|
|
@@ -393,7 +400,9 @@ version: 1.0.0
|
|
|
393
400
|
"mode": "compatible",
|
|
394
401
|
"maxAgeSeconds": 3600,
|
|
395
402
|
"maxFutureSkewSeconds": 60,
|
|
396
|
-
"maxEventSkewMs": 1000
|
|
403
|
+
"maxEventSkewMs": 1000,
|
|
404
|
+
"maxTranscriptBytes": 250000000,
|
|
405
|
+
"maxTranscriptLineBytes": 2000000
|
|
397
406
|
},
|
|
398
407
|
"attestation": {
|
|
399
408
|
"mode": "local",
|
|
@@ -420,8 +429,9 @@ glob は `*` / `**` / `?` に対応し、外部依存は `npm:` 接頭辞で表
|
|
|
420
429
|
含む完全なrelease checkを要求します。不足設定や弱い設定を証拠で補ったことにはしません。
|
|
421
430
|
`tdd.redPreflightCommands`にはformatter等のplain command名を指定でき、
|
|
422
431
|
Redのtest fingerprintを取得する前に成功が必須です。
|
|
423
|
-
通常ファイルの`pyvenv.cfg`を含む`.venv`と`venv
|
|
424
|
-
Code Graphから除外されます。
|
|
432
|
+
通常ファイルの`pyvenv.cfg`を含む`.venv`と`venv`に加え、生成された
|
|
433
|
+
`__pycache__/` directoryはsnapshotとCode Graphから除外されます。
|
|
434
|
+
sourceなしで実行可能な`.pyc`/`.pyo`単体fileは追跡対象のままです。Gradle `.gradle/`、Dart `.dart_tool/`、
|
|
425
435
|
SwiftPM `.build/`、Zig `.zig-cache/`/`zig-out/`、.NET `.dotnet/`は、
|
|
426
436
|
親directoryに対応manifestがある場合だけ除外されます。同名の任意source
|
|
427
437
|
directoryは追跡対象のままです。
|
|
@@ -454,7 +464,9 @@ strict OIDC identity/key binding、必須コマンド名の最低条件です。
|
|
|
454
464
|
介さず、時間と出力サイズを制限して実コマンドを動かします。個別の必須コマンドは
|
|
455
465
|
集約 `commands` の設定に関係なく失敗・未実行で準備不可になります。
|
|
456
466
|
任意コマンドの失敗は非阻止ですが、憲章が失敗件数を制限していれば不合格です。
|
|
457
|
-
コマンド未設定は skipped
|
|
467
|
+
コマンド未設定は skipped です。構造化test commandはprocessがexit 0でも、
|
|
468
|
+
実行testが0件、またはskipped・failed・error testを1件でも報告した場合は
|
|
469
|
+
失敗します。integration suiteが依存service不在のまま暗黙に通ることを防ぎます。
|
|
458
470
|
|
|
459
471
|
TDD用コマンドには明示的な`tddArgs`と`tddReport`、または組込みの
|
|
460
472
|
`vitest`、`jest`、`pytest`、`go-test`、`cargo`、`junit`、`dotnet` adapterが必要です。
|
|
@@ -463,6 +475,8 @@ Vitest/Jestの無関係なskipped結果は対象TDDから除外します。pytes
|
|
|
463
475
|
`test_TEST_APP_001`形式、Goには`TEST-*`名のsubtest、Cargoには`test_app_001`形式、
|
|
464
476
|
JUnitには正確な`@Tag("TEST-APP-001")`と、IDを含むmethod名または`@DisplayName`を推奨します。
|
|
465
477
|
正規化処理はtestcase属性とJUnit Platformのdisplay-name出力の両方を読み取り、
|
|
478
|
+
Surefire/Failsafeのtestcase要素は自己終了形でも`<system-out>`/`<system-err>`を
|
|
479
|
+
含む形でも解析するため、Spring Bootのbanner等のlog出力で合格IDが欠落しません。
|
|
466
480
|
xUnitには`[Fact(DisplayName = "TEST-APP-001 ...")]`が必要です。
|
|
467
481
|
それぞれXMLまたはTRX report directoryを読み取ります。各フェーズ前に旧レポートを削除し、
|
|
468
482
|
必要なreport親directoryを作成して、対象テストだけを含むfreshな `musubix-json` を要求します。Redは `failed`、
|
|
@@ -512,6 +526,9 @@ freshなschema-v1 mutantは、決定的`MUT-<hash>` identity、must functional r
|
|
|
512
526
|
設定driftを拒否します。既定の`compatible`は証拠なしを許容し、releaseでは`strict`と
|
|
513
527
|
mutation commandをpolicy baselineで保護します。大規模mutation engineは同梱しません。
|
|
514
528
|
mutation/model-correspondenceのsemantic headはattestationに含まれ、元のprovenanceも再検査されます。
|
|
529
|
+
Pythonではstaleな`.pyc`によるfalse survivorを防ぐため、`mutation doctor`は
|
|
530
|
+
各run前の`__pycache__`削除と、その後の`python -B -m mutmut`および
|
|
531
|
+
`python -B -m pytest`を推奨します。
|
|
515
532
|
|
|
516
533
|
品質根拠は状態、必須フラグ、終了コード・出力、実測値、日時、入力の指紋を保存します。
|
|
517
534
|
変更ゲートのパス、HEAD、影響範囲は後続の通常ゲートでも保持します。
|
|
@@ -530,12 +547,20 @@ event数、terminal時刻、raw source hash、canonical transcript hashを保存
|
|
|
530
547
|
`workflow.expectedSessionId`または`--session-id`でcaller申告sessionの置換を拒否します。
|
|
531
548
|
strict検証は`workflow.maxAgeSeconds`と`workflow.maxFutureSkewSeconds`で
|
|
532
549
|
terminal transcriptの古さと未来方向clock skewも制限します。
|
|
533
|
-
並行event
|
|
534
|
-
|
|
550
|
+
並行eventや異なる実行clockのtimestampは単調にならない場合があるため、JSONLの
|
|
551
|
+
source順でtool/resultの因果関係を検査し、timestamp sortは行いません。
|
|
552
|
+
pair/terminalのclock skewは`maxEventSkewMs`を明示した場合だけ制限し、
|
|
553
|
+
terminalの古さ・未来skew policyは独立して検査します。検証はstreamingかつresource-boundで、
|
|
554
|
+
既定上限は100,000,000 bytesです。大きな実transcriptには`workflow.maxTranscriptBytes`を
|
|
555
|
+
最大1,000,000,000 bytesまで明示設定できます。1 JSONL行は既定1,000,000 bytesで、
|
|
556
|
+
`workflow.maxTranscriptLineBytes`により最大10,000,000 bytesまで設定できます。
|
|
557
|
+
選択した両上限はpolicy baselineで保護できます。
|
|
535
558
|
gate実行中に入力が変わった場合、`input-stability`は追加・変更・削除された各pathと
|
|
536
559
|
前後のSHA-256を報告します。Cargo/Mavenの標準`target/`、manifest直下の
|
|
537
560
|
.NET `bin/`と`obj/`、project-local `.nuget/packages/`は除外しますが、
|
|
538
|
-
source相当の生成入力はfail-closed
|
|
561
|
+
source相当の生成入力はfail-closedのままです。コマンドが生成するreportは
|
|
562
|
+
追跡対象のsource treeではなく`.musubix/evidence/native/`配下へ出力してください。
|
|
563
|
+
gate中に自身のreportを書き込むとinput stabilityが失敗します。組込みadapterは対象test選択とreport引数を
|
|
539
564
|
所有します。Cargo/Goの既存設定にある先頭`test`は安全に統合し、
|
|
540
565
|
`--json-report`など競合するreport引数は早期拒否します。
|
|
541
566
|
実行中の入力変更は失敗、その後の変更は `status` で stale になります。
|
package/README.md
CHANGED
|
@@ -162,9 +162,14 @@ no separate “neurosymbolic AI” model or claims of learned verification.
|
|
|
162
162
|
|
|
163
163
|
## Workflow
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
implementation
|
|
165
|
+
Natural-language requests such as “develop/build/create/implement X” activate
|
|
166
|
+
`sdd-change` as the mandatory first Skill. It elicits and validates requirements
|
|
167
|
+
and design before implementation; only an explicit request to implement existing
|
|
168
|
+
approved artifacts may enter `sdd-implementation` directly. The implementation
|
|
169
|
+
Skill fails closed when those validated artifacts are absent or invalid. When
|
|
170
|
+
material context is missing, requirements elicitation asks one highest-priority
|
|
171
|
+
question at a time and waits for the answer; it does not batch questions or
|
|
172
|
+
finalize requirements while blockers remain.
|
|
168
173
|
|
|
169
174
|
1. Use native planning/research to establish intent and measurable acceptance.
|
|
170
175
|
2. Record `change-record CHANGE-ID impact`, then edit/validate requirements and
|
|
@@ -324,7 +329,9 @@ Source/test trace annotations are read from language comments. JS/TS uses
|
|
|
324
329
|
parser-aware comment locations; Haskell supports `--` and `{- ... -}`, Lua
|
|
325
330
|
supports `--` and `--[[ ... ]]`, and Visual Basic supports apostrophe comments
|
|
326
331
|
including `'''` XML documentation. These scanners exclude string literals;
|
|
327
|
-
other languages require their supported line or block comments
|
|
332
|
+
other languages require their supported line or block comments. Python annotations
|
|
333
|
+
must use consecutive `#` comments; annotation-like text in docstrings is ignored
|
|
334
|
+
with `TRACE_ANNOTATION_IN_PYTHON_DOCSTRING` guidance:
|
|
328
335
|
|
|
329
336
|
```ts
|
|
330
337
|
/** @id CODE-AUTH-001
|
|
@@ -393,7 +400,9 @@ Example `.musubix/config.json` (adapt command arguments to your own project):
|
|
|
393
400
|
"mode": "compatible",
|
|
394
401
|
"maxAgeSeconds": 3600,
|
|
395
402
|
"maxFutureSkewSeconds": 60,
|
|
396
|
-
"maxEventSkewMs": 1000
|
|
403
|
+
"maxEventSkewMs": 1000,
|
|
404
|
+
"maxTranscriptBytes": 250000000,
|
|
405
|
+
"maxTranscriptLineBytes": 2000000
|
|
397
406
|
},
|
|
398
407
|
"attestation": {
|
|
399
408
|
"mode": "local",
|
|
@@ -422,7 +431,9 @@ or weakened settings rather than silently filling in evidence.
|
|
|
422
431
|
Use `tdd.redPreflightCommands` to reference plain configured formatter commands;
|
|
423
432
|
they must pass before Red captures the authoritative test fingerprint.
|
|
424
433
|
Conventional `.venv` and `venv` Python environments containing a regular
|
|
425
|
-
`pyvenv.cfg` are excluded from
|
|
434
|
+
`pyvenv.cfg`, plus generated `__pycache__/` directories, are excluded from
|
|
435
|
+
source snapshots and Code Graph indexing. Standalone `.pyc`/`.pyo` files remain
|
|
436
|
+
tracked because Python can execute source-less bytecode modules.
|
|
426
437
|
Gradle `.gradle/`, Dart `.dart_tool/`, SwiftPM `.build/`, Zig
|
|
427
438
|
`.zig-cache/`/`zig-out/`, and .NET `.dotnet/` CLI homes are excluded only when
|
|
428
439
|
their parent contains the corresponding project manifest. Arbitrary same-named
|
|
@@ -459,8 +470,11 @@ requires independent approval. Protect the baseline with review/CODEOWNERS.
|
|
|
459
470
|
**Only run trusted configuration**: gates execute its commands with inherited
|
|
460
471
|
environment, no shell interpretation and bounded time/output. Required command
|
|
461
472
|
failure or skip blocks readiness regardless of `requiredChecks.commands`.
|
|
462
|
-
|
|
463
|
-
|
|
473
|
+
A structured test command also fails if it reports no executed tests or any
|
|
474
|
+
skipped, failed, or errored test, even when its process exits zero; this prevents integration suites
|
|
475
|
+
from silently passing without their dependencies. Optional command failures are
|
|
476
|
+
nonblocking unless a constitution rule rejects the measured count. No configured
|
|
477
|
+
commands is skipped, not passed.
|
|
464
478
|
TDD commands require either command-specific `tddArgs` plus a `tddReport`, or a
|
|
465
479
|
built-in `vitest`, `jest`, `pytest`, `go-test`, `cargo`, `junit`, or `dotnet` adapter.
|
|
466
480
|
Explicit custom configuration takes precedence. Adapters derive targeted
|
|
@@ -471,6 +485,9 @@ names such as `test_TEST_APP_001`. Go uses a `TEST-*` subtest name, Cargo uses a
|
|
|
471
485
|
Rust identifier such as `test_app_001`. JUnit methods should carry an exact
|
|
472
486
|
`@Tag("TEST-APP-001")` and an ID-bearing method name or `@DisplayName`; the
|
|
473
487
|
normalizer reads both testcase attributes and JUnit Platform display-name output.
|
|
488
|
+
Surefire/Failsafe testcase elements are parsed whether they are self-closing or
|
|
489
|
+
carry `<system-out>`/`<system-err>` children, so framework logging such as the
|
|
490
|
+
Spring Boot banner does not hide passing identities.
|
|
474
491
|
xUnit tests use
|
|
475
492
|
`[Fact(DisplayName = "TEST-APP-001 ...")]` so TRX preserves the identity.
|
|
476
493
|
Before each phase, musubix3 deletes
|
|
@@ -526,7 +543,7 @@ actually emits the named operation counter can prove the performance budget.
|
|
|
526
543
|
Mutation evidence uses a configured command with
|
|
527
544
|
`"mutationReport":{"format":"musubix-mutation-json","path":"..."}`. Each fresh
|
|
528
545
|
schema-v1 mutant record carries a deterministic `MUT-<hash>` identity (derivable
|
|
529
|
-
with the
|
|
546
|
+
with the `mutationIdentity` helper exported from `musubix3/analysis`), must-functional requirement ID,
|
|
530
547
|
authoritative test ID, source/test paths and SHA-256 fingerprints, operator,
|
|
531
548
|
one-based line/column, and `killed|survived|skipped|error` status. The gate adds
|
|
532
549
|
command, rendered-argument, report, process, and exit provenance to
|
|
@@ -535,9 +552,11 @@ with a current linked killed mutant. Duplicate/conflicting, non-killed, stale,
|
|
|
535
552
|
unlinked, altered-report, and configuration-drift evidence is rejected.
|
|
536
553
|
`mutation.mode` defaults to `compatible` (absence is allowed); set it to
|
|
537
554
|
`strict` and protect it plus the mutation command in the policy baseline for
|
|
538
|
-
release. No mutation engine dependency is bundled.
|
|
539
|
-
|
|
540
|
-
|
|
555
|
+
release. No mutation engine dependency is bundled. For Python, `mutation doctor`
|
|
556
|
+
recommends removing existing `__pycache__` directories before each run, then
|
|
557
|
+
using `python -B -m mutmut` and `python -B -m pytest` to avoid new bytecode. Mutation and model-correspondence
|
|
558
|
+
semantic heads are included in attestations and their underlying provenance is
|
|
559
|
+
revalidated.
|
|
541
560
|
|
|
542
561
|
Quality evidence records required flags, actual exits/output, metrics,
|
|
543
562
|
timestamps and input fingerprints. Changed-run paths, HEAD and impacts survive a
|
|
@@ -558,12 +577,23 @@ hash and canonical transcript hash are persisted. `workflow.expectedSessionId`
|
|
|
558
577
|
or `--session-id` rejects substitution with a different caller-declared session.
|
|
559
578
|
Strict verification also bounds terminal transcript age and future clock skew
|
|
560
579
|
with `workflow.maxAgeSeconds` and `workflow.maxFutureSkewSeconds`.
|
|
561
|
-
Unrelated concurrent events
|
|
562
|
-
|
|
580
|
+
Unrelated concurrent events—and even timestamps produced by different execution
|
|
581
|
+
clocks—may be non-monotonic, so strict mode uses JSONL source order for causal
|
|
582
|
+
tool/result lifecycles rather than imposing a timestamp sort. Pair/terminal clock
|
|
583
|
+
skew is enforced only when `maxEventSkewMs` is explicitly supplied; terminal age
|
|
584
|
+
and future-skew policies remain independently enforced. Verification remains
|
|
585
|
+
streaming and resource-bounded: transcripts default to 100,000,000 bytes, while
|
|
586
|
+
`workflow.maxTranscriptBytes` can explicitly raise the limit up to 1,000,000,000
|
|
587
|
+
bytes. Individual JSONL records default to 1,000,000 bytes and can be bounded up
|
|
588
|
+
to 10,000,000 with `workflow.maxTranscriptLineBytes`. Protect both chosen bounds
|
|
589
|
+
in the policy baseline so they cannot be widened silently.
|
|
563
590
|
If project inputs change while a gate is running, `input-stability` reports each
|
|
564
591
|
added, modified, or deleted path with before/after SHA-256 values. Standard
|
|
565
592
|
Cargo/Maven `target/`, manifest-scoped .NET `bin/` and `obj/`, and project-local
|
|
566
593
|
`.nuget/packages/` output are excluded, but source-like generated inputs remain fail-closed.
|
|
594
|
+
Write command-generated reports under `.musubix/evidence/native/` rather than the
|
|
595
|
+
tracked source tree, otherwise a command that writes its own report during the
|
|
596
|
+
gate invalidates input stability.
|
|
567
597
|
Built-in adapters own their targeting and report arguments. A
|
|
568
598
|
legacy leading Cargo/Go `test` subcommand is merged safely; conflicting report
|
|
569
599
|
flags such as `--json-report` are rejected.
|
|
@@ -206,10 +206,11 @@ function status(value) {
|
|
|
206
206
|
return 'failed';
|
|
207
207
|
}
|
|
208
208
|
function unique(tests) {
|
|
209
|
+
const severity = { passed: 0, skipped: 1, failed: 2, error: 3 };
|
|
209
210
|
const byId = new Map();
|
|
210
211
|
for (const test of tests) {
|
|
211
212
|
const previous = byId.get(test.id);
|
|
212
|
-
if (!previous ||
|
|
213
|
+
if (!previous || severity[test.status] > severity[previous.status])
|
|
213
214
|
byId.set(test.id, test);
|
|
214
215
|
}
|
|
215
216
|
return { schemaVersion: 1, tests: [...byId.values()].sort((a, b) => a.id.localeCompare(b.id)) };
|
|
@@ -354,8 +355,10 @@ export function normalizeAdapterReport(adapter, text, targetTestId) {
|
|
|
354
355
|
tests.push(...dotnetResults(text));
|
|
355
356
|
}
|
|
356
357
|
else {
|
|
357
|
-
|
|
358
|
-
|
|
358
|
+
const attributeText = '(?:[^>"\']|"[^"]*"|\'[^\']*\')*?';
|
|
359
|
+
const testcase = new RegExp(`<testcase\\b(${attributeText})(?:/>|>([\\s\\S]*?)</testcase>)`, 'g');
|
|
360
|
+
for (const match of text.matchAll(testcase)) {
|
|
361
|
+
const attributes = match[1] ?? '';
|
|
359
362
|
const body = match[2] ?? '';
|
|
360
363
|
const identityText = /\bname="([^"]*)"/.exec(attributes)?.[1]
|
|
361
364
|
?? /\bclassname="([^"]*)"/.exec(attributes)?.[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../packages/analysis/src/adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../../packages/analysis/src/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAYpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB;IAC/E,YAAY,EAAE,WAAW;IACzB,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;IACpF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU;IACpE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB;IACvE,MAAM,EAAE,UAAU,EAAE,eAAe;IACnC,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW;IAC1E,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ;IAC1F,MAAM;CACP,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,IAAc;IAMrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,SAA6B,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QACzB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACtG,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClF,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,IAAI,KAAK,IAAI;oBAAE,SAAS,GAAG,KAAK,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAoB,EACpB,cAAwB,EACxB,cAAwB;IAExB,IAAI,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACxF,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC/H,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC3G,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC/H,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAC3G,OAAO;YACL,MAAM;YACN,GAAG,qBAAqB;YACxB,GAAG,qBAAqB;YACxB,GAAG,CAAC,qBAAqB,CAAC,MAAM,IAAI,qBAAqB,CAAC,MAAM;gBAC9D,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,qBAAqB,EAAE,GAAG,qBAAqB,CAAC;gBAC5D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC1F,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/E,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;YACxE,CAAC,CAAC,gBAAgB,CAAC;QACrB,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACnG,OAAO;YACL,MAAM;YACN,GAAG,UAAU,CAAC,KAAK;YACnB,OAAO;YACP,GAAG,QAAQ;YACX,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACzF,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACjG,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC7E,OAAO;YACL,MAAM;YACN,GAAG,WAAW;YACd,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,UAAU,CAAC,WAAmB,EAAE,MAAe,EAAE,OAAqB;IAC7E,MAAM,MAAM,GAAG,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,OAAO,MAAM;QACX,CAAC,CAAC,4BAA4B,WAAW,IAAI,MAAM,GAAG,MAAM,EAAE;QAC9D,CAAC,CAAC,4BAA4B,WAAW,aAAa,MAAM,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAoB,EACpB,WAAmB,EACnB,MAAe,EACf,QAAiB;IAEjB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,IAAI,EAAE,CAAC;YACjH,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,IAAI,EAAE,CAAC;YAC5H,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,sBAAsB,IAAI,EAAE,CAAC;YACjI,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC/H,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnI,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE;gBACJ,MAAM;gBACN,UAAU,EAAE,2BAA2B;gBACvC,qBAAqB,EAAE,IAAI;gBAC3B,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,eAAe,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aACtE;YACD,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,WAAW;SACpB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE;YACJ,mBAAmB;YACnB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE;YAClE,iBAAiB,IAAI,EAAE;SACxB;QACD,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,WAAW;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAA6B,EAAE,YAAoB;IAC1F,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW;YAAE,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;;YAC9E,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAA6B,EAAE,YAAoB,EAAE,MAAc;IACzG,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACxE,KAAK,UAAU,QAAQ,CAAC,SAAiB;QACvC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrH,MAAM,IAAI,GAAG,GAAG,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;iBACxD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,8DAA8D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC;AAChE,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9E,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5G,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,MAAM,CAAC,KAAiC;IAC/C,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8C,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,IAAY;IACpD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,IAAI,4BAA4B,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7F,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM;QACrB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,GAAG,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChF,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,GAAG,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClF,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,GAAG,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpG,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,SAAS,KAAK,KAAK;oBAAE,KAAK,GAAG,EAAE,CAAC;YACtC,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAClD,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,gBAAgB;eACtC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;eAC9B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YACtD,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAoB,EAAE,IAAY,EAAE,YAAqB;IAC9F,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,MAAwC,EAAE,CAAC;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,KAAK,MAAM,SAAS,IAAI,UAA4C,EAAE,CAAC;gBACrE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAmC,EAAE,CAAC;YACrG,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC1D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACzG,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,kCAAkC,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,gBAAgB,aAAa,kCAAkC,EAAE,GAAG,CAAC,CAAC;QAClG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;mBACxD,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5G,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxJ,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,YAAY;QAC3B,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE;QACvF,CAAC,CAAC,UAAU,CAAC;IACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ;YACnC,CAAC,CAAC,yIAAyI;YAC3I,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,oDAAoD,OAAO,WAAW,QAAQ,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -56,6 +56,8 @@ export interface WorkflowConfig {
|
|
|
56
56
|
maxAgeSeconds?: number;
|
|
57
57
|
maxFutureSkewSeconds?: number;
|
|
58
58
|
maxEventSkewMs?: number;
|
|
59
|
+
maxTranscriptBytes?: number;
|
|
60
|
+
maxTranscriptLineBytes?: number;
|
|
59
61
|
}
|
|
60
62
|
export interface CodeGraphConfig {
|
|
61
63
|
mode: 'compatible' | 'strict';
|
|
@@ -13,7 +13,7 @@ export const defaultConfig = {
|
|
|
13
13
|
formal: { solver: 'none', minModeledFraction: 0, timeoutMs: 12_000 },
|
|
14
14
|
mutation: { mode: 'compatible' },
|
|
15
15
|
tdd: { redPreflightCommands: [] },
|
|
16
|
-
workflow: { mode: 'compatible', maxAgeSeconds: 3600, maxFutureSkewSeconds: 60
|
|
16
|
+
workflow: { mode: 'compatible', maxAgeSeconds: 3600, maxFutureSkewSeconds: 60 },
|
|
17
17
|
attestation: {
|
|
18
18
|
mode: 'local',
|
|
19
19
|
maxAgeSeconds: 3600,
|
|
@@ -275,7 +275,7 @@ export function parseConfig(input) {
|
|
|
275
275
|
throw new Error('mutation.mode must be compatible or strict.');
|
|
276
276
|
}
|
|
277
277
|
const rawWorkflow = object(optional(value.workflow, {}), 'workflow');
|
|
278
|
-
keys(rawWorkflow, ['mode', 'expectedSessionId', 'maxAgeSeconds', 'maxFutureSkewSeconds', 'maxEventSkewMs'], 'workflow');
|
|
278
|
+
keys(rawWorkflow, ['mode', 'expectedSessionId', 'maxAgeSeconds', 'maxFutureSkewSeconds', 'maxEventSkewMs', 'maxTranscriptBytes', 'maxTranscriptLineBytes'], 'workflow');
|
|
279
279
|
const workflowMode = optional(rawWorkflow.mode, defaultConfig.workflow.mode);
|
|
280
280
|
if (!['compatible', 'strict'].includes(String(workflowMode))) {
|
|
281
281
|
throw new Error('workflow.mode must be compatible or strict.');
|
|
@@ -299,10 +299,23 @@ export function parseConfig(input) {
|
|
|
299
299
|
throw new Error('workflow.maxFutureSkewSeconds must be 0..600.');
|
|
300
300
|
}
|
|
301
301
|
const workflowMaxEventSkewMs = optional(rawWorkflow.maxEventSkewMs, defaultConfig.workflow.maxEventSkewMs);
|
|
302
|
-
if (
|
|
303
|
-
|
|
302
|
+
if (workflowMaxEventSkewMs !== undefined
|
|
303
|
+
&& (typeof workflowMaxEventSkewMs !== 'number' || !Number.isInteger(workflowMaxEventSkewMs)
|
|
304
|
+
|| workflowMaxEventSkewMs < 0 || workflowMaxEventSkewMs > 60_000)) {
|
|
304
305
|
throw new Error('workflow.maxEventSkewMs must be 0..60000.');
|
|
305
306
|
}
|
|
307
|
+
const workflowMaxTranscriptBytes = optional(rawWorkflow.maxTranscriptBytes, defaultConfig.workflow.maxTranscriptBytes);
|
|
308
|
+
if (workflowMaxTranscriptBytes !== undefined
|
|
309
|
+
&& (typeof workflowMaxTranscriptBytes !== 'number' || !Number.isSafeInteger(workflowMaxTranscriptBytes)
|
|
310
|
+
|| workflowMaxTranscriptBytes < 1 || workflowMaxTranscriptBytes > 1_000_000_000)) {
|
|
311
|
+
throw new Error('workflow.maxTranscriptBytes must be 1..1000000000.');
|
|
312
|
+
}
|
|
313
|
+
const workflowMaxTranscriptLineBytes = optional(rawWorkflow.maxTranscriptLineBytes, defaultConfig.workflow.maxTranscriptLineBytes);
|
|
314
|
+
if (workflowMaxTranscriptLineBytes !== undefined
|
|
315
|
+
&& (typeof workflowMaxTranscriptLineBytes !== 'number' || !Number.isSafeInteger(workflowMaxTranscriptLineBytes)
|
|
316
|
+
|| workflowMaxTranscriptLineBytes < 1 || workflowMaxTranscriptLineBytes > 10_000_000)) {
|
|
317
|
+
throw new Error('workflow.maxTranscriptLineBytes must be 1..10000000.');
|
|
318
|
+
}
|
|
306
319
|
const rawAttestation = object(optional(value.attestation, {}), 'attestation');
|
|
307
320
|
keys(rawAttestation, [
|
|
308
321
|
'mode', 'repository', 'maxAgeSeconds', 'maxFutureSkewSeconds', 'trustedPublicKeys', 'githubOidc',
|
|
@@ -386,7 +399,9 @@ export function parseConfig(input) {
|
|
|
386
399
|
...(typeof rawWorkflow.expectedSessionId === 'string' ? { expectedSessionId: rawWorkflow.expectedSessionId } : {}),
|
|
387
400
|
maxAgeSeconds: workflowMaxAgeSeconds,
|
|
388
401
|
maxFutureSkewSeconds: workflowMaxFutureSkewSeconds,
|
|
389
|
-
maxEventSkewMs: workflowMaxEventSkewMs,
|
|
402
|
+
...(workflowMaxEventSkewMs === undefined ? {} : { maxEventSkewMs: workflowMaxEventSkewMs }),
|
|
403
|
+
...(workflowMaxTranscriptBytes === undefined ? {} : { maxTranscriptBytes: workflowMaxTranscriptBytes }),
|
|
404
|
+
...(workflowMaxTranscriptLineBytes === undefined ? {} : { maxTranscriptLineBytes: workflowMaxTranscriptLineBytes }),
|
|
390
405
|
},
|
|
391
406
|
attestation: {
|
|
392
407
|
mode: mode,
|
|
@@ -503,6 +518,16 @@ export function policyDiagnostics(config, baseline, changed = null) {
|
|
|
503
518
|
diagnostics.push(error('POLICY_TDD_PREFLIGHT', `TDD Red preflight command ${command} differs from the trusted baseline definition.`));
|
|
504
519
|
}
|
|
505
520
|
}
|
|
521
|
+
const configuredTranscriptBytes = config.workflow.maxTranscriptBytes ?? 100_000_000;
|
|
522
|
+
const baselineTranscriptBytes = baseline.workflow.maxTranscriptBytes ?? 100_000_000;
|
|
523
|
+
if (configuredTranscriptBytes > baselineTranscriptBytes) {
|
|
524
|
+
diagnostics.push(error('POLICY_WORKFLOW_TRANSCRIPT_SIZE', 'workflow.maxTranscriptBytes is weaker than the trusted baseline.'));
|
|
525
|
+
}
|
|
526
|
+
const configuredTranscriptLineBytes = config.workflow.maxTranscriptLineBytes ?? 1_000_000;
|
|
527
|
+
const baselineTranscriptLineBytes = baseline.workflow.maxTranscriptLineBytes ?? 1_000_000;
|
|
528
|
+
if (configuredTranscriptLineBytes > baselineTranscriptLineBytes) {
|
|
529
|
+
diagnostics.push(error('POLICY_WORKFLOW_TRANSCRIPT_LINE_SIZE', 'workflow.maxTranscriptLineBytes is weaker than the trusted baseline.'));
|
|
530
|
+
}
|
|
506
531
|
if (baseline.workflow.mode === 'strict') {
|
|
507
532
|
if (config.workflow.mode !== 'strict') {
|
|
508
533
|
diagnostics.push(error('POLICY_WORKFLOW_MODE', 'workflow.mode cannot be weakened below strict as required by the trusted baseline.'));
|
|
@@ -517,7 +542,9 @@ export function policyDiagnostics(config, baseline, changed = null) {
|
|
|
517
542
|
if ((config.workflow.maxFutureSkewSeconds ?? 60) > (baseline.workflow.maxFutureSkewSeconds ?? 60)) {
|
|
518
543
|
diagnostics.push(error('POLICY_WORKFLOW_FUTURE_SKEW', 'workflow.maxFutureSkewSeconds is weaker than the trusted baseline.'));
|
|
519
544
|
}
|
|
520
|
-
|
|
545
|
+
const configuredEventSkew = config.workflow.maxEventSkewMs ?? Number.POSITIVE_INFINITY;
|
|
546
|
+
const baselineEventSkew = baseline.workflow.maxEventSkewMs ?? Number.POSITIVE_INFINITY;
|
|
547
|
+
if (configuredEventSkew > baselineEventSkew) {
|
|
521
548
|
diagnostics.push(error('POLICY_WORKFLOW_EVENT_SKEW', 'workflow.maxEventSkewMs is weaker than the trusted baseline.'));
|
|
522
549
|
}
|
|
523
550
|
}
|