@autodevjapan/godd-mcp-alpha 2.14.0 → 2.15.0

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/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  <p align="center"><strong>Govern AI development from intent to verified, shippable code.</strong></p>
8
8
 
9
- <p align="center"><a href="https://www.getgodd.dev/">Official site</a> · <a href="https://www.getgodd.dev/pricing">Plans</a> · <a href="https://www.getgodd.dev/godd-admin/register">Get started</a></p>
9
+ <p align="center"><a href="https://www.getgodd.dev/">Official site</a> · <a href="https://www.getgodd.dev/en/docs">Docs</a> · <a href="https://www.getgodd.dev/en/pricing">Plans</a> · <a href="https://www.getgodd.dev/godd-admin/register">Get started</a></p>
10
10
 
11
11
  [🇺🇸 English](#english) | [🇯🇵 日本語](#日本語) | [🇷🇺 Русский](#русский)
12
12
 
@@ -14,94 +14,39 @@
14
14
 
15
15
  ## English
16
16
 
17
- **GoDD turns natural-language intent into specifications, tested code, reviews, documentation, and shippable pull requests.** Its governed workflows run inside Cursor IDE, Claude Code CLI, Codex, Kimi CLI, and Google Antigravity IDE over the Model Context Protocol (MCP).
17
+ **Say what you want in plain language. GoDD runs the whole cycle — plan → implement → test → review → document → ship.** It works inside Cursor, Claude Code, Codex, Kimi CLI, and Antigravity over the Model Context Protocol.
18
18
 
19
- ### Why use GoDD
19
+ ### Why GoDD
20
20
 
21
- - **Ship higher-quality code faster.** Every prompt is built on seven proven xDD methodologies (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), so the AI plans, tests, and documents like a senior engineer instead of guessing.
22
- - **One command per task.** Call `/dev`, `/review`, `/ship`, and more — the AI runs the full plan → implement → test → quality → docs cycle for you.
23
- - **Fewer tokens, lower cost.** Prompts are delivered **on demand** — only the one you invoke enters the AI's context. That is typically ~2,000–5,000 tokens per call versus ~80,000+ for always-on rule files.
24
- - **Works with the clients you already use.** The same server registers with every supported client; project settings are auto-detected.
25
- - **Stays in sync with your stack.** `godd-a init` generates a project profile so delivered prompts match your language, framework, and tooling.
21
+ - **~2,000–5,000 tokens per call instead of ~80,000+.** Prompts are delivered **on demand** — only the one you invoke enters context. Always-on rule files burn your context window before you even type.
22
+ - **Your AI stops guessing.** Every prompt is built on seven proven xDD methodologies (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), so it plans, tests, and documents like a senior engineer.
23
+ - **One command does the whole job.** `/dev`, `/review`, `/ship` each run a complete cycle — not a single step you have to babysit.
24
+ - **It knows your stack.** `godd-a init` profiles your language, framework, and tooling, and delivered prompts adapt to it.
25
+ - **No migration.** One server registers with every client you already use.
26
26
 
27
- ### Requirements
28
-
29
- - **A GoDD license key** (required — see [Getting a license key](#getting-a-license-key))
30
- - Node.js 22+
31
- - An MCP-compatible client: Cursor IDE, Claude Code CLI, Codex, Kimi CLI, or Antigravity IDE
32
-
33
- ### Getting a license key
34
-
35
- A valid license key is required to use GoDD MCP.
36
-
37
- 1. Review plans on the [GoDD official site](https://www.getgodd.dev/pricing)
38
- 2. [Create an account](https://www.getgodd.dev/godd-admin/register) and choose a subscription
39
- 3. Issue a license key from your [dashboard](https://www.getgodd.dev/godd-admin/dashboard)
40
-
41
- ### Startup and offline behavior
42
-
43
- GoDD validates the license online every time the MCP server starts. There is no offline
44
- license grace period: a timeout, connection failure, server error, or rejected license stops
45
- startup. After that online validation succeeds, a temporary lexicon outage can use a
46
- digest- and MAC-verified last-known-good generation within
47
- `GODD_REGISTRY_CACHE_MAX_AGE_DAYS` (30 days by default). Fallback is limited to endpoint
48
- unavailability. Any successful but invalid/oversize response, source mismatch, revision
49
- rollback, bounded HTTP 409 `LEXICON_INTEGRITY_FAILURE`, 401/403, expired or modified
50
- cache, or missing cache stops startup. A mid-stream disconnect is unavailable and may
51
- use LKG; an oversized stream is fatal. The same 15-second deadline covers headers and
52
- the complete bounded body. Revisions are canonical nonzero u64 decimals.
53
- The cache has no independent trusted high-water anchor: CAS rejects concurrent stale
54
- writes, but cannot detect restoration of an older wholly authentic cache file. The
55
- max-age ceiling only bounds that residual replay window.
56
-
57
- ### Installation
27
+ ### Install
58
28
 
59
29
  ```bash
60
30
  npm install -g @autodevjapan/godd-mcp-alpha
31
+ godd-a install # auto-detect your MCP clients and register with each
32
+ godd-a init # generate a project profile
61
33
  ```
62
34
 
63
- ### Setup
64
-
65
- ```bash
66
- # Auto-detect installed MCP clients and register with each of them
67
- godd-a install --license-key=YOUR_LICENSE_KEY
68
-
69
- # Or target one client: cursor / claude-code / codex / kimi / antigravity / all
70
- godd-a install --client=cursor --license-key=YOUR_LICENSE_KEY
71
-
72
- # Generate a project config (interactive; add --auto for CI/CD)
73
- godd-a init
74
- ```
75
-
76
- `godd-a init` and the MCP `config` tool also use the Rust native anchored filesystem boundary to atomically synchronize a marker-scoped block in the project-root `.gitignore` for GoDD's local artifacts. Existing rules outside that block are preserved. If the markers are malformed, the target is a symlink/non-regular file, the lock is busy, I/O fails, or the native process exceeds its 15-second timeout, GoDD leaves the file untouched and fails init/config with a stable error code. Only already tracked files produce a non-fatal `GODD_GITIGNORE_TRACKED_FILES` warning; GoDD never runs `git rm` automatically.
77
-
78
- If `GODD_GITIGNORE_LOCKED` persists, first confirm that no init/config process is running, then remove only `.godd/managed-gitignore.lock` and retry. Do not remove the entire `.godd` directory or change the Git index.
35
+ Then type `/` in your client and pick a GoDD prompt — or just ask ("run dev", "do a review").
79
36
 
80
- > Use `godd-a install` — it configures the startup command, PATH, and license key for you. Restart your client afterward and the GoDD tools appear automatically.
81
-
82
- `godd_files.docs_dir` in `config.godd` selects the single repository-relative root for specs, ADRs, diagrams, and guides (default: `documents`). Always write it as a YAML double-quoted scalar (for example, `docs_dir: "docs"`) so valid names such as `true`, `null`, and `123` remain strings. Use `/` separators; each segment accepts only Unicode letters/numbers and `._-`. Empty values, absolute paths, backslashes, shell-expansion characters, trailing dots, `.` / `..` segments, and Windows reserved device names (including extensions and NFKC-compatible forms such as `COM¹`) are rejected. The configured value is also supplied to Registry-rendered prompts, so GoDD does not create a second documentation root.
83
-
84
- ### Usage
37
+ ### Requirements
85
38
 
86
- Invoke GoDD in whichever way your client supports:
39
+ Node.js 22+ · an MCP client (Cursor / Claude Code / Codex / Kimi CLI / Antigravity) · a license key.
87
40
 
88
- - **Native UI** — type `/` in the chat and pick a GoDD prompt (e.g. `/dev`, `/review`), or in Agent mode just ask ("run dev", "do a review").
89
- - **Slash commands** — `godd-a install` writes `/godd-a-<tool>` command files for clients that support them (Cursor, Claude Code, Codex, Antigravity).
90
- - **Text dispatch** — type `/godd-a/dev <args>` as plain text; the AI routes it to the matching tool.
41
+ The server validates your license online at every startup — there is no offline grace period.
91
42
 
92
- ### Audio adapter contract
43
+ ### Everything else
93
44
 
94
- Adapter implementers can import the side-effect-free, typed npm subpath:
95
-
96
- ```ts
97
- import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
98
- ```
99
-
100
- The contract preserves waveform/mel inputs and PCM16 WAV output. Padding, frame, and trim arithmetic remain Rust-owned and are rejected if duplicated in the Node payload. This validates the adapter boundary only; it does not expose a production inference route.
45
+ The full tool list, CLI reference, and troubleshooting live on the **[documentation site](https://www.getgodd.dev/en/docs)**.
101
46
 
102
47
  ### Media interval adapter contract
103
48
 
104
- Use the typed npm subpath to validate an untrusted adapter envelope, forward its transformation specification unchanged, and verify the calibration snapshot before using its default tolerance:
49
+ For adapter implementers only — this subpath exposes no production media-processing route.
105
50
 
106
51
  ```ts
107
52
  import {
@@ -118,214 +63,49 @@ if (calibration.status === "INCONCLUSIVE") {
118
63
  }
119
64
  ```
120
65
 
121
- The loader verifies the official content-addressed snapshot embedded in this subpath; consumers do not need to locate a separate JSON asset. Node validates and forwards the envelope only. Interval arithmetic, canonical union coverage, coverage decisions, and source-buffer application remain Rust-owned and must not be duplicated in the adapter payload. An unsupported schema, unknown nested field, insufficient sample count, invalid metadata, or digest mismatch returns `INCONCLUSIVE` with no numeric fallback; callers must stop instead of inventing a default tolerance. This subpath does not expose a production media-processing route.
122
-
123
- ### GoDD prompts
124
-
125
- | Prompt | Description |
126
- |---|---|
127
- | `run` | Unified entry point — parses a text command like "/godd-a/<tool> <args>" and runs the matching tool |
128
- | `dev` | Development (plan → implement → test → quality → docs in stages) |
129
- | `check` | Quality gate (verify Spec alignment, tests, types, lint, security) |
130
- | `docs` | Generate/update documentation |
131
- | `ship` | Ship (commit at proper granularity → quality check → push → create PR) |
132
- | `setup` | Environment setup (with recommended stack presets, confirms missing info) |
133
- | `review` | Review (CTO-level review + quality gate) |
134
- | `test` | Run/create tests |
135
- | `impact` | Impact analysis |
136
- | `commit` | Commit changes |
137
- | `push` | Push to remote |
138
- | `pr` | Create PR (template-compliant) |
139
- | `deploy` | Deploy (with verification & rollback plan) |
140
- | `adr` | Create ADR (Architecture Decision Record) |
141
- | `release` | Generate release notes (SemVer-compliant) |
142
- | `github` | GitHub configuration (repository/branch protection, etc.) |
143
- | `config` | Generate/repair config.godd (auto-detect stack + validation) |
144
- | `questions` | Interactive Q&A from question list (質問リスト.md) |
145
- | `e2e` | Browser-based E2E testing (execute & verify critical user flows) |
146
- | `map` | Project knowledge graph (visualize architecture & dependencies with Mermaid) |
147
- | `learn` | Save/recall project-specific patterns, conventions, and pitfalls |
148
- | `scratchpad` | Persistent conversation memory — save/recall/search/list/forget with BM25 vector search (Qdrant or local JSON fallback) |
149
- | `diagram` | Auto-update architecture diagrams (maintain living Mermaid docs in sync with code) |
150
- | `slide` | Generate presentation slides from project docs (Marp Markdown format) |
151
- | `design` | Generate/update visual designs from codebase (Pencil.dev sync) |
152
- | `metrics` | Token efficiency and optional evidence-based quality, budget, learning outcome, and guardrail preflight report |
153
- | `plan` | Run bounded approved plans with durable lifecycle, observable persisted deadlines, two-phase cancellation, and deterministic review |
154
-
155
- The machine-readable version of this table is published at
156
- [getgodd.dev/godd/commands.json](https://getgodd.dev/godd/commands.json); the agent
157
- onboarding guide lives at [getgodd.dev/connect.md](https://getgodd.dev/connect.md).
158
-
159
- ### CLI commands
160
-
161
- | Command | Description |
162
- |---|---|
163
- | `godd-a install [--license-key=KEY] [--client=...]` | Register with MCP clients (auto-detects installed clients when `--client` is omitted) |
164
- | `godd-a init [--force] [--lang=LANG] [--auto]` | Generate the project config |
165
- | `godd-a uninstall [--client=...]` | Remove from MCP clients |
166
- | `godd-a version` (or `--version` / `-v`) | Show the installed version and check for updates |
167
- | `godd-a serve` | Start the MCP stdio server (auto-invoked by the client) |
168
- | `godd-a shard partition <plan|lease|report|expire|abandon|status>` | Manage a Rust-native shard plan that prevents missing or duplicate sequences |
169
- | `godd-a realtime admission --evaluated-at-ms <u64>` | Evaluate one bounded event envelope from stdin with fail-closed ALLOW/DENY/INCONCLUSIVE receipts |
170
- | `godd-a dataset coverage --ledger <path>` | Persist CAS-issued sample attempts and bounded coverage from one strict JSON stdin action using the trusted system clock |
171
-
172
- Start a shard workflow with
173
- `plan --state-dir <dir> --source-root <dir> --selector 1/M`; it creates an immutable
174
- plan for every shard and a fully pre-seeded ledger. A worker calls
175
- `lease --state-dir <dir> --selector N/M --ttl-ms <ms>` and uses the returned
176
- `assigned_ids` and digest instead of enumerating the source root again. Send the worker's
177
- completion report as one JSON document on stdin to `report --state-dir <dir>`. Use
178
- `expire --state-dir <dir>` to sweep expired leases,
179
- `abandon --state-dir <dir> --selector N/M` to abandon one explicitly,
180
- `lease ... --takeover` to reassign it, and `status --state-dir <dir>` to read aggregate state.
181
- The npm CLI only forwards this wire protocol to the packaged Rust command. Each successful
182
- action writes exactly one JSON document to stdout and exits 0; invalid input or state,
183
- persistence failure, and conflicts write only a stable `PARTITION_*` reason code to stderr
184
- and exit 2.
185
-
186
- Plaintext `assigned_ids` appear only in a lease response. Diagnostics never include sequence
187
- IDs or host paths. Lease responses and `status` return the current `ledger_revision`; an
188
- accepted report receipt returns the next revision. Copy `plan_generation`,
189
- `reporting_shard_index`, and `lease_generation` from the lease response into the report JSON,
190
- and set `expected_ledger_revision` from the latest receipt or `status`. Do not convert
191
- `PARTITION_CAS_MISMATCH` into success: fetch `status` again and reevaluate the report.
192
- The strict report body has this shape; `expected_state` is one of `assigned`, `completed`,
193
- `rejected`, or `missing`, while `outcome` is `completed` or `rejected`:
194
-
195
- ```json
196
- {
197
- "plan_generation": {
198
- "source_generation": "<64 lowercase hex>",
199
- "expected_set_digest": "<64 lowercase hex>"
200
- },
201
- "sequence_id": "<one assigned_ids value>",
202
- "reporting_shard_index": 1,
203
- "lease_generation": 1,
204
- "expected_state": "assigned",
205
- "expected_ledger_revision": 0,
206
- "outcome": "completed"
207
- }
208
- ```
209
-
210
- Realtime envelopes accept identifiers only as field-specific lowercase digests:
211
- `principal:sha256:<hex64>`, `resource:sha256:<hex64>`, and `evidence:sha256:<hex64>`.
212
- Raw tokens, cookies, user names, and socket IDs are rejected without being echoed.
213
-
214
- Dataset coverage accepts exactly one strict JSON action: `initialize`, `issue`, `report`,
215
- `sweep`, or `finalize`. `initialize` preregisters the generation, assigned/expected sample
216
- sets, retry policy, coverage thresholds and both declared digests, plus the replacement policy
217
- (`forbidden`; `within_assigned_set` is reserved and rejected in Stage 2). `issue` takes `canonical_sample_id` and
218
- `requested_position`; `report` adds an issued `attempt` and a typed outcome (`Accepted`,
219
- `Rejected`, `TimedOut`, `Cancelled`, or `InfrastructureFailed`); `sweep` has no payload;
220
- `finalize` must repeat the preregistered thresholds, digests, and replacement policy exactly.
221
- Retry exhaustion atomically appends a `TerminalDecision`; load rejects any missing, duplicate, or
222
- tampered terminal-event projection.
223
- The usual flow is initialize → issue → report (repeat) → sweep/finalize. Success writes one JSON
224
- receipt and exits 0. Invalid JSON/state, persistence failure, or a conflict writes only a stable
225
- reason-code envelope to stderr and exits 2. Coverage receipts bind the generation source,
226
- threshold/expected-set, ledger/event-head, and full durable-snapshot digests, finalized event sequence,
227
- failure-attempt counts by class, and at most 32 stable opaque terminal-failure fingerprints;
228
- raw sample IDs are never returned.
229
- The parent directory of `--ledger` must already exist; the command never creates path components.
230
-
231
- ### Troubleshooting
232
-
233
- **"0 tools available" in your client** — this means the server was started without the required `serve` argument. Re-run `godd-a install` to regenerate the client config correctly, then restart the client.
66
+ Node validates and forwards the envelope only. Interval arithmetic, canonical union coverage, coverage decisions, and source-buffer application remain Rust-owned and must not be duplicated in the adapter payload. An unsupported schema, unknown nested field, insufficient sample count, invalid metadata, or digest mismatch returns `INCONCLUSIVE` with no numeric fallback — stop instead of inventing a default tolerance.
234
67
 
235
68
  ### License
236
69
 
237
- Proprietary. Use requires a valid GoDD license key. See the [official site](https://www.getgodd.dev/) for terms and support.
70
+ Proprietary. A valid license key is required — [see plans](https://www.getgodd.dev/en/pricing).
238
71
 
239
72
  ---
240
73
 
241
74
  ## 日本語
242
75
 
243
- **GoDD は自然言語の依頼を、仕様・テスト済みコード・レビュー・ドキュメント・出荷可能な Pull Request へ変換します。** 統制されたワークフローを Cursor IDE / Claude Code CLI / Codex / Kimi CLI / Google Antigravity IDE へ、MCP(Model Context Protocol)経由で届けます。
244
-
245
- ### GoDD を使うメリット
246
-
247
- - **より高品質なコードを、より速く。** すべてのプロンプトは実証済みの 7 つの xDD 手法(Spec / 受入テスト / テスト / ドメイン / Neo-Model / ドキュメント / Issue 駆動開発)に基づいており、AI が推測ではなくシニアエンジニアのように計画・テスト・文書化します。
248
- - **1 タスク = 1 コマンド。** `/dev` `/review` `/ship` などを呼ぶだけで、計画 → 実装 → テスト → 品質 → ドキュメントの一連のサイクルを AI が実行します。
249
- - **トークン削減でコストも低減。** プロンプトは**オンデマンド配信** — 呼び出したものだけが AI のコンテキストに入ります。常時読み込み型のルールファイルが 1 タスク ~80,000 トークン以上かかるのに対し、GoDD は 1 呼び出しあたり ~2,000〜5,000 トークン程度です。
250
- - **今お使いのクライアントでそのまま。** 同じサーバーが対応クライアントすべてに登録でき、プロジェクト設定は自動検出されます。
251
- - **スタックに追従。** `godd-a init` がプロジェクトプロファイルを生成し、配信されるプロンプトが言語・フレームワーク・ツールに合わせて最適化されます。
252
-
253
- ### 動作要件
254
-
255
- - **GoDD ライセンスキー**(必須 — [ライセンスキーの取得](#ライセンスキーの取得)を参照)
256
- - Node.js 22 以上
257
- - MCP 対応クライアント: Cursor IDE / Claude Code CLI / Codex / Kimi CLI / Antigravity IDE のいずれか
76
+ **やりたいことを自然言語で言うだけ。GoDD が 設計 → 実装 → テスト → レビュー → ドキュメント → 出荷 まで一気通貫で回します。** Cursor / Claude Code / Codex / Kimi CLI / Antigravity の中で、MCP 経由で動きます。
258
77
 
259
- ### ライセンスキーの取得
78
+ ### GoDD の強み
260
79
 
261
- GoDD MCP の利用には有効なライセンスキーが必要です。
262
-
263
- 1. [GoDD 公式サイト](https://www.getgodd.dev/pricing)でプランを確認
264
- 2. [アカウント登録](https://www.getgodd.dev/godd-admin/register)してサブスクリプションを選択
265
- 3. [ダッシュボード](https://www.getgodd.dev/godd-admin/dashboard)からライセンスキーを発行
266
-
267
- ### 起動とオフライン時の動作
268
-
269
- MCP server は起動のたびに license をオンライン検証します。offline の猶予期間はなく、
270
- timeout、接続失敗、server error、license 拒否では起動しません。今回のオンライン検証が
271
- 成功した後に限り、lexicon の一時障害では digest/MAC 検証済みの最終正常世代を
272
- `GODD_REGISTRY_CACHE_MAX_AGE_DAYS`(既定30日)以内で利用します。縮退はendpoint
273
- unavailable時だけです。成功応答の不正・oversize、source不一致、revision rollback、
274
- HTTP 409 `LEXICON_INTEGRITY_FAILURE`、401/403、期限切れ・改ざんcache、cache不在では
275
- 起動を拒否します。stream途中切断はunavailable、上限超過はfatalです。revisionは
276
- nonzero u64 decimalに限定し、同じ15秒deadlineをheadersからbody完読まで強制します。
277
- 独立したtrusted high-water anchorはないため、CASは
278
- 同時stale writeを拒否しても過去の正規cache file全体の復元を検出できません。
279
- max-age ceilingはこの残存replay windowを上限化するだけです。
80
+ - **1 回あたり約 2,000〜5,000 トークン。常時読み込み型なら約 80,000 以上。** プロンプトは**オンデマンド配信**で、呼び出したものだけがコンテキストに入ります。常時適用のルールファイルは、入力する前からコンテキストを食い潰します。
81
+ - **AI が「当てずっぽう」をやめます。** すべてのプロンプトが 7 つの xDD(Spec / ATDD / Test / DDD / Neo-MDD / Docs / Issue Driven Development)を土台にしており、シニアエンジニアと同じ順序で設計・テスト・文書化します。
82
+ - **1 コマンドで一通り終わります。** `/dev`・`/review`・`/ship` はそれぞれが完結したサイクルで、逐一面倒を見る必要がありません。
83
+ - **あなたのスタックを理解します。** `godd-a init` が言語・フレームワーク・ツールチェーンを判定し、配信されるプロンプトがそれに合わせて変わります。
84
+ - **乗り換え不要。** 1 つのサーバーが、今使っているクライアント全てに登録されます。
280
85
 
281
86
  ### インストール
282
87
 
283
88
  ```bash
284
89
  npm install -g @autodevjapan/godd-mcp-alpha
90
+ godd-a install # インストール済みの MCP クライアントを自動検出して登録
91
+ godd-a init # プロジェクト設定を生成
285
92
  ```
286
93
 
287
- ### セットアップ
288
-
289
- ```bash
290
- # インストール済みの MCP クライアントを自動検出し、全てに登録
291
- godd-a install --license-key=YOUR_LICENSE_KEY
292
-
293
- # 特定のクライアントを指定: cursor / claude-code / codex / kimi / antigravity / all
294
- godd-a install --client=cursor --license-key=YOUR_LICENSE_KEY
295
-
296
- # プロジェクト設定を生成(インタラクティブ。CI/CD 用は --auto)
297
- godd-a init
298
- ```
299
-
300
- `godd-a init` と MCP の `config` ツールは、Rust native の anchored filesystem 境界を使って、プロジェクトルートの `.gitignore` に GoDD のローカル成果物用マーカーブロックも atomic に同期します。ブロック外の既存ルールは保持されます。マーカー不正、symlink/非通常ファイル、lock競合、I/O 失敗、native process の15秒 timeout時はファイルを変更せず、安定したエラーコードで init/config を失敗させます。すでに追跡済みのファイルだけは非致命的な `GODD_GITIGNORE_TRACKED_FILES` 警告となり、GoDD が自動で `git rm` を実行することはありません。
94
+ あとはクライアントで `/` を打って GoDD のプロンプトを選ぶだけ。「dev して」「レビューして」と話しかけても動きます。
301
95
 
302
- `GODD_GITIGNORE_LOCKED` が継続する場合は、実行中の init/config がないことを確認してから `.godd/managed-gitignore.lock` だけを削除して再実行してください。`.godd` 全体や Git index は変更しないでください。
303
-
304
- > `godd-a install` を使ってください — 起動コマンド・PATH・ライセンスキーを自動で設定します。実行後にクライアントを再起動すると、GoDD ツールが自動的に表示されます。
305
-
306
- `config.godd` の `godd_files.docs_dir` で、仕様・ADR・図・ガイドを置く単一のリポジトリ相対ルートを選択できます(既定: `documents`)。`true`、`null`、`123`のような合法名も文字列のまま保持するため、必ずYAMLの二重引用符で囲んでください(例: `docs_dir: "docs"`)。`/` 区切りで指定し、各セグメントには Unicode の文字・数字と `._-` だけを使用します。空値、絶対パス、バックスラッシュ、shell 展開文字、末尾の`.`、`.` / `..` セグメント、Windows予約device名(拡張子付きや`COM¹`のようなNFKC互換形も含む)は拒否されます。この設定は Registry で描画されるプロンプトにも渡るため、GoDD が別のドキュメントルートを作ることはありません。
307
-
308
- ### 使い方
309
-
310
- クライアントが対応している方法で GoDD を呼び出せます。
311
-
312
- - **ネイティブ UI** — チャットで `/` を入力して GoDD プロンプト(`/dev`, `/review` など)を選択、または Agent モードで自然文で依頼(「dev を実行」「レビューして」)。
313
- - **スラッシュコマンド** — `godd-a install` が対応クライアント(Cursor / Claude Code / Codex / Antigravity)に `/godd-a-<tool>` コマンドファイルを生成します。
314
- - **テキストディスパッチ** — チャットに `/godd-a/dev <args>` と入力すると、AI が対応ツールに振り分けます。
96
+ ### 動作要件
315
97
 
316
- ### Audio adapter contract
98
+ Node.js 22+ ・ MCP クライアント(Cursor / Claude Code / Codex / Kimi CLI / Antigravity)・ライセンスキー。
317
99
 
318
- adapter実装者は、副作用のない型付きnpm subpathを利用できます。
100
+ ライセンスは MCP サーバー起動のたびにオンラインで検証します。オフライン猶予期間はありません。
319
101
 
320
- ```ts
321
- import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
322
- ```
102
+ ### その他
323
103
 
324
- このcontractはwaveform/mel入力とPCM16 WAV出力を固定します。padding・frame・trimの算術はRustだけが所有し、Node payloadへの複製を拒否します。これはadapter境界の検証用であり、production inference routeを公開するものではありません。
104
+ ツール一覧・CLI リファレンス・トラブルシューティングは **[ドキュメントサイト](https://www.getgodd.dev/docs)** にまとまっています。
325
105
 
326
106
  ### Media interval adapter contract
327
107
 
328
- 型付きnpm subpathで未信頼のadapter envelopeを検証し、変換指定を変更せず転送します。既定の許容値を使う前にcalibration snapshotも検証してください。
108
+ アダプター実装者向けの契約です(本 subpath は本番の media 処理経路を公開しません)。
329
109
 
330
110
  ```ts
331
111
  import {
@@ -338,217 +118,53 @@ const contract = validateMediaIntervalAdapterContract(adapterPayload);
338
118
  const transformation = forwardMediaIntervalTransformation(contract);
339
119
  const calibration = loadMediaIntervalCalibrationSnapshot();
340
120
  if (calibration.status === "INCONCLUSIVE") {
341
- throw new Error("Media interval calibrationを検証できませんでした");
342
- }
343
- ```
344
-
345
- loaderはこのsubpathへ埋め込まれた公式content-addressed snapshotを検証するため、consumerが別のJSON assetを探す必要はありません。Nodeが所有するのはenvelopeの検証と透過転送だけです。区間算術、canonical union coverage、coverage判定、source bufferへの適用はRustだけが所有し、adapter payloadへ複製してはいけません。未対応schema、未知のnested field、標本数不足、不正なmetadata、digest不一致では数値へfallbackせず`INCONCLUSIVE`を返すため、callerは既定値を推測せず処理を停止してください。このsubpathはproduction media-processing routeを公開しません。
346
-
347
- ### GoDD プロンプト
348
-
349
- | プロンプト | 説明 |
350
- |---|---|
351
- | `run` | 統一エントリポイント — "/godd-a/<tool> <args>" 形式のテキストコマンドをパースして対応ツールを実行 |
352
- | `dev` | 開発(段階的に計画→実装→テスト→品質→ドキュメントを実行) |
353
- | `check` | 品質ゲート(Spec整合・テスト・型・Lint・セキュリティを検証) |
354
- | `docs` | ドキュメント生成/更新 |
355
- | `ship` | 提出(適切な粒度でコミット → 品質チェック → プッシュ → PR 作成) |
356
- | `setup` | 環境構築(推奨スタックプリセット付き・不足情報は確認) |
357
- | `review` | レビュー(CTO レベルのレビュー + 品質ゲート) |
358
- | `test` | テスト実行/作成 |
359
- | `impact` | 影響分析 |
360
- | `commit` | 変更をコミット |
361
- | `push` | リモートにプッシュ |
362
- | `pr` | PR 作成(テンプレート準拠) |
363
- | `deploy` | デプロイ(検証・ロールバック計画付き) |
364
- | `adr` | ADR(Architecture Decision Record)作成 |
365
- | `release` | リリースノート生成(SemVer 準拠) |
366
- | `github` | GitHub 設定(リポジトリ/ブランチ保護等) |
367
- | `config` | config.godd を正確に生成・修正する(スタック自動検出 + バリデーション) |
368
- | `questions` | 質問リスト(質問リスト.md)からインタラクティブに質問を管理 |
369
- | `e2e` | ブラウザベース E2E テスト(重要ユーザーフローの実行・検証) |
370
- | `map` | プロジェクトナレッジグラフ(Mermaid でアーキテクチャ・依存関係を可視化) |
371
- | `learn` | プロジェクト固有のパターン・慣例・落とし穴を保存/参照 |
372
- | `scratchpad` | 会話記憶の永続化 — BM25 ベクター検索で save/recall/search/list/forget(Qdrant またはローカル JSON フォールバック) |
373
- | `diagram` | アーキテクチャ図の自動更新(コードと同期した Mermaid ドキュメントを維持) |
374
- | `slide` | プロジェクトドキュメントからプレゼンスライドを生成(Marp Markdown 形式) |
375
- | `design` | コードベースからビジュアルデザインを生成/更新(Pencil.dev 同期) |
376
- | `metrics` | トークン効率と、任意の証拠に基づく品質・予算・学習成果・guardrail preflightレポート |
377
- | `plan` | 承認済み計画を有界な永続 lifecycle、観測可能な永続 deadline、二相 cancel、決定的 review 付きで実行する |
378
-
379
- この表の機械可読版は
380
- [getgodd.dev/godd/commands.json](https://getgodd.dev/godd/commands.json) に公開しています。
381
- エージェント向けの接続手順は [getgodd.dev/connect.md](https://getgodd.dev/connect.md) を参照してください。
382
-
383
- ### CLI コマンド
384
-
385
- | コマンド | 説明 |
386
- |---|---|
387
- | `godd-a install [--license-key=KEY] [--client=...]` | MCP クライアントに登録(`--client` 省略時はインストール済みを自動検出) |
388
- | `godd-a init [--force] [--lang=LANG] [--auto]` | プロジェクト設定を生成 |
389
- | `godd-a uninstall [--client=...]` | MCP クライアントから削除 |
390
- | `godd-a version`(または `--version` / `-v`) | インストール済みバージョンの表示と更新確認 |
391
- | `godd-a serve` | MCP stdio サーバーを起動(クライアントが自動呼び出し) |
392
- | `godd-a shard partition <plan|lease|report|expire|abandon|status>` | sequence集合の欠落・重複を防ぐRust native shard planを管理 |
393
- | `godd-a realtime admission --evaluated-at-ms <u64>` | stdinのbounded event envelopeをfail-closedな3値receiptとして評価 |
394
- | `godd-a dataset coverage --ledger <path>` | trusted system clockとstrict JSON action 1件からCAS払い出しsample attemptとbounded coverageを永続化 |
395
-
396
- Shard plan は、最初に `plan --state-dir <dir> --source-root <dir> --selector 1/M`
397
- で全 shard の immutable plan と全件 pre-seed ledger を作成します。worker は
398
- `lease --state-dir <dir> --selector N/M --ttl-ms <ms>` の応答に含まれる
399
- `assigned_ids` と digest を使用し、source root を再列挙しません。worker の完了報告は
400
- `report --state-dir <dir>` の stdin に JSON で渡します。期限監視は
401
- `expire --state-dir <dir>`、明示的放棄は
402
- `abandon --state-dir <dir> --selector N/M`、再割当は `lease ... --takeover`、集約状態は
403
- `status --state-dir <dir>` で確認します。npm CLI はこの wire protocol を packaged Rust
404
- command へ中継するだけです。成功した各 action は stdout へ JSON 1件を出して exit 0、
405
- 不正な入力・状態、永続化失敗、競合は stderr へ安定した `PARTITION_*` reason codeだけを
406
- 出して exit 2 です。
407
-
408
- 平文の `assigned_ids` は lease response だけに含まれます。診断には sequence ID や
409
- host path は出力されません。
410
- lease応答と`status`は現在の`ledger_revision`を返し、accepted report receiptは次の
411
- revisionを返します。report JSONの`plan_generation`、`reporting_shard_index`、
412
- `lease_generation`はlease応答から、`expected_ledger_revision`は直前のreceiptまたは
413
- `status`から渡します。競合時は`PARTITION_CAS_MISMATCH`を成功へ変換せず、statusを
414
- 再取得して再評価してください。
415
- strict report body は次の形です。`expected_state` は `assigned` / `completed` /
416
- `rejected` / `missing`、`outcome` は `completed` / `rejected` のいずれかです。
417
-
418
- ```json
419
- {
420
- "plan_generation": {
421
- "source_generation": "<64 lowercase hex>",
422
- "expected_set_digest": "<64 lowercase hex>"
423
- },
424
- "sequence_id": "<one assigned_ids value>",
425
- "reporting_shard_index": 1,
426
- "lease_generation": 1,
427
- "expected_state": "assigned",
428
- "expected_ledger_revision": 0,
429
- "outcome": "completed"
121
+ throw new Error("Media interval calibration could not be verified");
430
122
  }
431
123
  ```
432
124
 
433
- Realtime envelopeの識別子はfield別lowercase digest
434
- (`principal:sha256:<hex64>`、`resource:sha256:<hex64>`、`evidence:sha256:<hex64>`)
435
- だけを受理します。生token、cookie、ユーザー名、socket IDは表示せず拒否します。
436
-
437
- Dataset coverage は strict JSON の `initialize` / `issue` / `report` / `sweep` /
438
- `finalize` のいずれか1 actionだけを受理します。`initialize` で generation、割当/期待sample集合、
439
- retry policy、coverage thresholds、両declared digest、replacement policy
440
- (Stage 2は`forbidden`のみ。`within_assigned_set`は予約済みで拒否)を事前固定します。`issue` は
441
- `canonical_sample_id` と `requested_position`、`report` は発行済み `attempt` と型付きoutcome
442
- (`Accepted` / `Rejected` / `TimedOut` / `Cancelled` / `InfrastructureFailed`)を受け取り、
443
- `sweep` はpayloadなし、`finalize` は事前固定したthresholds・digests・policyとの完全一致を要求します。
444
- retry exhaustion時は`TerminalDecision`を原子的にappendし、欠落・重複・改変されたterminal projectionはloadで拒否します。
445
- 典型フローは initialize → issue → report(反復)→ sweep/finalize です。成功はJSON receiptを
446
- stdoutへ1件出してexit 0、不正JSON/state・永続化失敗・conflictは秘密値を含まない安定reason codeを
447
- stderrへ出してexit 2です。Coverage receiptはgeneration source、threshold/expected-set digest、
448
- ledger/event-head/full durable-snapshot digest、finalized event sequence、failure class別attempt件数、最大32件の安定した
449
- 終局failure fingerprintを束縛し、raw sample IDは返しません。
450
- `--ledger`の親directoryは事前作成が必要で、command自身はpath componentを作成しません。
451
-
452
- ### トラブルシューティング
453
-
454
- **クライアントに「0 tools available」と表示される** — サーバーが必須の `serve` 引数なしで起動されています。`godd-a install` を再実行してクライアント設定を正しく再生成し、クライアントを再起動してください。
125
+ Node は envelope の検証と転送のみを行います。区間算術、canonical union coverage、coverage判定、source bufferへの適用はRustだけが所有し、アダプター payload 側で再実装してはいけません。未対応スキーマ・未知のネストフィールド・サンプル数不足・不正なメタデータ・digest 不一致は `INCONCLUSIVE` を返し、数値のフォールバックは行いません。既定の許容値を捏造せず、処理を停止してください。
455
126
 
456
127
  ### ライセンス
457
128
 
458
- 商用(プロプライエタリ)。利用には有効な GoDD ライセンスキーが必要です。利用条件・サポートは[公式サイト](https://www.getgodd.dev/)をご覧ください。
129
+ 商用ライセンス。利用にはライセンスキーが必要です — [プランを見る](https://www.getgodd.dev/pricing)。
459
130
 
460
131
  ---
461
132
 
462
133
  ## Русский
463
134
 
464
- **GoDD превращает запрос на естественном языке в спецификации, протестированный код, ревью, документацию и готовые к выпуску pull request.** Управляемые рабочие процессы доступны в Cursor IDE, Claude Code CLI, Codex, Kimi CLI и Google Antigravity IDE через MCP (Model Context Protocol).
465
-
466
- ### Зачем использовать GoDD
467
-
468
- - **Более качественный код быстрее.** Каждый промпт построен на семи проверенных методологиях xDD (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), поэтому AI планирует, тестирует и документирует как senior-инженер, а не гадает.
469
- - **Одна команда на задачу.** Вызовите `/dev`, `/review`, `/ship` и другие — AI выполнит полный цикл: план → реализация → тесты → качество → документация.
470
- - **Меньше токенов, ниже стоимость.** Промпты доставляются **по требованию** — в контекст AI попадает только вызванный. Обычно это ~2 000–5 000 токенов на вызов против ~80 000+ у постоянно загружаемых файлов правил.
471
- - **Работает с вашими клиентами.** Один и тот же сервер регистрируется во всех поддерживаемых клиентах; настройки проекта определяются автоматически.
472
- - **Синхронизирован с вашим стеком.** `godd-a init` создаёт профиль проекта, чтобы доставляемые промпты соответствовали вашему языку, фреймворку и инструментам.
473
-
474
- ### Требования
475
-
476
- - **Лицензионный ключ GoDD** (обязателен — см. [Получение лицензионного ключа](#получение-лицензионного-ключа))
477
- - Node.js 22+
478
- - MCP-совместимый клиент: Cursor IDE, Claude Code CLI, Codex, Kimi CLI или Antigravity IDE
479
-
480
- ### Получение лицензионного ключа
481
-
482
- Для использования GoDD MCP требуется действующий лицензионный ключ.
135
+ **Скажите, что нужно, обычными словами. GoDD проходит весь цикл — план → реализация → тесты → ревью → документация → поставка.** Работает внутри Cursor, Claude Code, Codex, Kimi CLI и Antigravity по протоколу MCP.
483
136
 
484
- 1. Ознакомьтесь с тарифами на [официальном сайте GoDD](https://www.getgodd.dev/pricing)
485
- 2. [Создайте аккаунт](https://www.getgodd.dev/godd-admin/register) и выберите подписку
486
- 3. Выпустите лицензионный ключ в [панели управления](https://www.getgodd.dev/godd-admin/dashboard)
137
+ ### Почему GoDD
487
138
 
488
- ### Запуск и работа без сети
489
-
490
- При каждом запуске MCP-сервера лицензия проверяется онлайн. Периода автономной
491
- отсрочки нет: тайм-аут, ошибка подключения или сервера, а также отклонённая лицензия
492
- останавливают запуск. Только после успешной онлайн-проверки временный сбой словаря
493
- может использовать проверенное последнее исправное поколение в пределах
494
- `GODD_REGISTRY_CACHE_MAX_AGE_DAYS` (по умолчанию 30 дней), но только при недоступности
495
- endpoint. Некорректный успешный ответ, подмена источника, откат revision, ответ 401/403,
496
- HTTP 409 `LEXICON_INTEGRITY_FAILURE`, просроченный или изменённый кэш и отсутствие кэша
497
- останавливают запуск. Обрыв потока считается недоступностью, а превышение лимита —
498
- фатальной ошибкой; revision — каноническое ненулевое десятичное u64.
499
- 15-секундный deadline охватывает заголовки и полное bounded body. Независимого
500
- доверенного high-water anchor нет: CAS отклоняет одновременную устаревшую запись, но не
501
- обнаруживает восстановление старого целиком подлинного файла кэша. Max-age лишь
502
- ограничивает это остаточное окно replay.
139
+ - **~2 000–5 000 токенов на вызов вместо ~80 000+.** Промпты доставляются **по требованию** — в контекст попадает только вызванный. Постоянно загруженные файлы правил съедают контекст ещё до первого сообщения.
140
+ - **ИИ перестаёт угадывать.** Каждый промпт построен на семи методологиях xDD (Spec / Acceptance-Test / Test / Domain / Neo-Model / Docs / Issue-Driven Development), поэтому он планирует, тестирует и документирует как старший инженер.
141
+ - **Одна команда делает всю работу.** `/dev`, `/review`, `/ship` — каждая запускает полный цикл, а не отдельный шаг.
142
+ - **Он знает ваш стек.** `godd-a init` определяет язык, фреймворк и инструменты, и промпты подстраиваются под них.
143
+ - **Ничего не нужно менять.** Один сервер регистрируется во всех клиентах, которыми вы уже пользуетесь.
503
144
 
504
145
  ### Установка
505
146
 
506
147
  ```bash
507
148
  npm install -g @autodevjapan/godd-mcp-alpha
149
+ godd-a install # автообнаружение MCP-клиентов и регистрация в каждом
150
+ godd-a init # создать профиль проекта
508
151
  ```
509
152
 
510
- ### Настройка
511
-
512
- ```bash
513
- # Автообнаружение установленных MCP-клиентов и регистрация в каждом
514
- godd-a install --license-key=YOUR_LICENSE_KEY
515
-
516
- # Или конкретный клиент: cursor / claude-code / codex / kimi / antigravity / all
517
- godd-a install --client=cursor --license-key=YOUR_LICENSE_KEY
518
-
519
- # Сгенерировать конфигурацию проекта (интерактивно; для CI/CD добавьте --auto)
520
- godd-a init
521
- ```
522
-
523
- `godd-a init` и MCP-инструмент `config` используют закреплённую границу файловой системы Rust native и атомарно синхронизируют ограниченный маркерами блок в корневом `.gitignore` для локальных артефактов GoDD. Правила вне блока сохраняются. При повреждённых маркерах, symlink/необычном файле, занятой блокировке, ошибке ввода-вывода или 15-секундном тайм-ауте native-процесса файл не изменяется, а init/config завершается ошибкой со стабильным кодом. Только уже отслеживаемые файлы дают некритичное предупреждение `GODD_GITIGNORE_TRACKED_FILES`; GoDD никогда не запускает `git rm` автоматически.
524
-
525
- Если `GODD_GITIGNORE_LOCKED` повторяется, сначала убедитесь, что init/config не запущен, затем удалите только `.godd/managed-gitignore.lock` и повторите команду. Не удаляйте весь каталог `.godd` и не изменяйте индекс Git.
526
-
527
- > Используйте `godd-a install` — он настроит команду запуска, PATH и лицензионный ключ. После этого перезапустите клиент, и инструменты GoDD появятся автоматически.
528
-
529
- Параметр `godd_files.docs_dir` в `config.godd` задаёт единый относительный к репозиторию корень для спецификаций, ADR, диаграмм и руководств (по умолчанию `documents`). Всегда записывайте его как строку YAML в двойных кавычках (например, `docs_dir: "docs"`), чтобы допустимые имена `true`, `null` и `123` оставались строками. Используйте разделитель `/`; каждый сегмент допускает только буквы/цифры Unicode и `._-`. Пустые значения, абсолютные пути, обратная косая черта, символы раскрытия shell, завершающие точки, сегменты `.` / `..` и зарезервированные имена устройств Windows (включая расширения и NFKC-совместимые формы вроде `COM¹`) отклоняются. Это значение также передаётся шаблонам Registry, поэтому GoDD не создаёт второй корень документации.
153
+ Затем введите `/` в клиенте и выберите промпт GoDD — или просто попросите словами.
530
154
 
531
- ### Использование
532
-
533
- Вызывайте GoDD тем способом, который поддерживает ваш клиент:
534
-
535
- - **Нативный UI** — введите `/` в чате и выберите промпт GoDD (`/dev`, `/review`), либо в режиме Agent просто попросите («запусти dev», «сделай ревью»).
536
- - **Slash-команды** — `godd-a install` создаёт файлы команд `/godd-a-<tool>` для клиентов, которые их поддерживают (Cursor, Claude Code, Codex, Antigravity).
537
- - **Текстовый диспетчер** — введите `/godd-a/dev <args>` как обычный текст; AI направит запрос нужному инструменту.
155
+ ### Требования
538
156
 
539
- ### Контракт audio adapter
157
+ Node.js 22+ · MCP-клиент (Cursor / Claude Code / Codex / Kimi CLI / Antigravity) · лицензионный ключ.
540
158
 
541
- Разработчики адаптеров могут импортировать типизированный npm subpath без побочных эффектов:
159
+ Сервер проверяет лицензию онлайн при каждом запуске; офлайн-периода нет.
542
160
 
543
- ```ts
544
- import { validateAudioLengthAdapterContract } from "@autodevjapan/godd-mcp-alpha/audio-length-adapter-contract";
545
- ```
161
+ ### Остальное
546
162
 
547
- Контракт фиксирует входы waveform/mel и выход PCM16 WAV. Расчёты padding, frame и trim остаются только в Rust; их дублирование в Node payload отклоняется. Это проверка границы адаптера, а не production inference route.
163
+ Полный список инструментов, справочник CLI и устранение неполадок — на **[сайте документации](https://www.getgodd.dev/ru/docs)**.
548
164
 
549
165
  ### Контракт media interval adapter
550
166
 
551
- Используйте типизированный npm subpath, чтобы проверить недоверенный envelope адаптера, передать спецификацию преобразования без изменений и проверить calibration snapshot до применения допуска по умолчанию:
167
+ Только для разработчиков адаптеров — этот subpath не открывает production-маршрут обработки медиа.
552
168
 
553
169
  ```ts
554
170
  import {
@@ -561,122 +177,12 @@ const contract = validateMediaIntervalAdapterContract(adapterPayload);
561
177
  const transformation = forwardMediaIntervalTransformation(contract);
562
178
  const calibration = loadMediaIntervalCalibrationSnapshot();
563
179
  if (calibration.status === "INCONCLUSIVE") {
564
- throw new Error("Не удалось проверить calibration media interval");
565
- }
566
- ```
567
-
568
- Loader проверяет официальный content-addressed snapshot, встроенный в этот subpath, поэтому consumer не требуется искать отдельный JSON asset. Node только проверяет envelope и передаёт его дальше. Расчёт интервалов, canonical union coverage, решение по coverage и применение к source buffer остаются исключительно в Rust и не должны дублироваться в payload адаптера. Неподдерживаемая schema, неизвестное вложенное поле, недостаточный размер выборки, некорректные metadata или несовпадение digest возвращают `INCONCLUSIVE` без числового fallback; вызывающая сторона должна остановиться, а не придумывать допуск по умолчанию. Этот subpath не открывает production route обработки media.
569
-
570
- ### Промпты GoDD
571
-
572
- | Промпт | Описание |
573
- |---|---|
574
- | `run` | Единая точка входа — разбирает текстовую команду "/godd-a/<tool> <args>" и запускает соответствующий инструмент |
575
- | `dev` | Разработка (план → реализация → тесты → качество → документация поэтапно) |
576
- | `check` | Контроль качества (Spec, тесты, типы, линтер, безопасность) |
577
- | `docs` | Генерация/обновление документации |
578
- | `ship` | Отправка (коммит → проверка качества → пуш → создание PR) |
579
- | `setup` | Настройка среды (с рекомендуемыми пресетами стека) |
580
- | `review` | Ревью (CTO-уровень + контроль качества) |
581
- | `test` | Запуск/создание тестов |
582
- | `impact` | Анализ влияния |
583
- | `commit` | Зафиксировать изменения |
584
- | `push` | Отправить в удалённый репозиторий |
585
- | `pr` | Создать PR (по шаблону) |
586
- | `deploy` | Развернуть (с проверкой и планом отката) |
587
- | `adr` | Создать ADR (запись архитектурного решения) |
588
- | `release` | Сгенерировать заметки к релизу (SemVer) |
589
- | `github` | Настройка GitHub (репозиторий/защита веток и т.д.) |
590
- | `config` | Генерация/исправление config.godd (автодетект стека + валидация) |
591
- | `questions` | Интерактивный Q&A из списка вопросов (質問リスト.md) |
592
- | `e2e` | E2E-тестирование в браузере (выполнение и проверка критических пользовательских потоков) |
593
- | `map` | Граф знаний проекта (визуализация архитектуры и зависимостей через Mermaid) |
594
- | `learn` | Сохранение/вызов специфичных для проекта паттернов, соглашений и подводных камней |
595
- | `scratchpad` | Постоянная память диалога — save/recall/search/list/forget с BM25 векторным поиском (Qdrant или локальный JSON фоллбэк) |
596
- | `diagram` | Автообновление архитектурных диаграмм (поддержка актуальных Mermaid-документов) |
597
- | `slide` | Генерация слайдов из документов проекта (формат Marp Markdown) |
598
- | `design` | Генерация/обновление визуального дизайна из кодовой базы (синхронизация Pencil.dev) |
599
- | `metrics` | Эффективность токенов и необязательная оценка качества, бюджета, обучения и предварительной проверки guardrail по доказательствам |
600
- | `plan` | Ограниченное выполнение утверждённых планов с устойчивым жизненным циклом, наблюдаемыми сохранёнными сроками, двухфазной отменой и детерминированным обзором |
601
-
602
- Машиночитаемая версия этой таблицы опубликована по адресу
603
- [getgodd.dev/godd/commands.json](https://getgodd.dev/godd/commands.json); руководство
604
- по подключению агента — [getgodd.dev/connect.md](https://getgodd.dev/connect.md).
605
-
606
- ### Команды CLI
607
-
608
- | Команда | Описание |
609
- |---|---|
610
- | `godd-a install [--license-key=KEY] [--client=...]` | Регистрация в MCP-клиентах (без `--client` — автообнаружение установленных) |
611
- | `godd-a init [--force] [--lang=LANG] [--auto]` | Генерация конфигурации проекта |
612
- | `godd-a uninstall [--client=...]` | Удаление из MCP-клиентов |
613
- | `godd-a version` (или `--version` / `-v`) | Показать установленную версию и проверить обновления |
614
- | `godd-a serve` | Запустить MCP stdio-сервер (вызывается клиентом автоматически) |
615
- | `godd-a shard partition <plan|lease|report|expire|abandon|status>` | Управлять Rust-native планом shard без пропусков и дубликатов sequence |
616
- | `godd-a realtime admission --evaluated-at-ms <u64>` | Проверить bounded event envelope из stdin и вернуть fail-closed решение из трёх состояний |
617
- | `godd-a dataset coverage --ledger <path>` | Сохранить CAS-выданные попытки sample и bounded coverage из одного strict JSON action с доверенными системными часами |
618
-
619
- Рабочий процесс shard начинается с
620
- `plan --state-dir <dir> --source-root <dir> --selector 1/M`: команда создаёт immutable plan
621
- для всех shard и полностью предварительно заполненный ledger. Worker вызывает
622
- `lease --state-dir <dir> --selector N/M --ttl-ms <ms>` и использует возвращённые
623
- `assigned_ids` и digest, не перечисляя source root повторно. Отчёт worker о завершении
624
- передаётся как один JSON-документ через stdin в `report --state-dir <dir>`. Для просроченных
625
- lease используется `expire --state-dir <dir>`, для явного отказа —
626
- `abandon --state-dir <dir> --selector N/M`, для повторного назначения —
627
- `lease ... --takeover`, а агрегированное состояние возвращает `status --state-dir <dir>`.
628
- Npm CLI только передаёт этот wire protocol упакованной Rust-команде. Каждое успешное действие
629
- выводит ровно один JSON-документ в stdout и завершается с кодом 0; неверные входные данные или
630
- состояние, ошибка сохранения и конфликт выводят в stderr только стабильный reason code
631
- `PARTITION_*` и завершаются с кодом 2.
632
-
633
- Открытые `assigned_ids` присутствуют только в ответе lease. Диагностика никогда не содержит
634
- sequence ID или host path. Ответы lease и `status` возвращают текущий `ledger_revision`, а
635
- receipt принятого report — следующую revision. Поля `plan_generation`,
636
- `reporting_shard_index` и `lease_generation` для report JSON берутся из ответа lease, а
637
- `expected_ledger_revision` — из последнего receipt или `status`. Не преобразуйте
638
- `PARTITION_CAS_MISMATCH` в успех: повторно получите `status` и переоцените report.
639
- Strict body отчёта имеет следующую форму. `expected_state` принимает `assigned`, `completed`,
640
- `rejected` или `missing`, а `outcome` — `completed` или `rejected`:
641
-
642
- ```json
643
- {
644
- "plan_generation": {
645
- "source_generation": "<64 lowercase hex>",
646
- "expected_set_digest": "<64 lowercase hex>"
647
- },
648
- "sequence_id": "<one assigned_ids value>",
649
- "reporting_shard_index": 1,
650
- "lease_generation": 1,
651
- "expected_state": "assigned",
652
- "expected_ledger_revision": 0,
653
- "outcome": "completed"
180
+ throw new Error("Media interval calibration could not be verified");
654
181
  }
655
182
  ```
656
183
 
657
- Идентификаторы realtime envelope принимаются только как lowercase digest с доменом поля:
658
- `principal:sha256:<hex64>`, `resource:sha256:<hex64>` и `evidence:sha256:<hex64>`.
659
- Необработанные токены, cookie, имена пользователей и socket ID отклоняются без вывода значения.
660
-
661
- Dataset coverage принимает ровно одно strict JSON-действие: `initialize`, `issue`, `report`,
662
- `sweep` или `finalize`. `initialize` заранее фиксирует generation, assigned/expected sample sets,
663
- retry policy, coverage thresholds, оба declared digest и replacement policy (`forbidden`;
664
- `within_assigned_set` зарезервирован и отклоняется в Stage 2). `issue` принимает `canonical_sample_id` и `requested_position`, `report` —
665
- выданный `attempt` и типизированный outcome (`Accepted`, `Rejected`, `TimedOut`, `Cancelled` или
666
- `InfrastructureFailed`), `sweep` не имеет payload, а `finalize` требует точного совпадения с
667
- заранее зарегистрированными thresholds, digest и policy. Обычный поток: initialize → issue →
668
- report (повтор) → sweep/finalize. Успех возвращает один JSON receipt и код 0; invalid JSON/state,
669
- ошибка сохранения или conflict возвращает в stderr только стабильный reason code и код 2.
670
- При исчерпании retry атомарно добавляется `TerminalDecision`; отсутствующая, повторная или изменённая terminal projection отклоняется при load.
671
- Coverage receipt связывает generation source, threshold/expected-set digest, ledger/event-head
672
- и full durable-snapshot digest, finalized event sequence, число failure-attempt по классам и не более 32 стабильных
673
- opaque fingerprint терминальных failures; raw sample ID не возвращаются.
674
- Родительский каталог `--ledger` должен существовать заранее; команда не создаёт компоненты пути.
675
-
676
- ### Устранение неполадок
677
-
678
- **«0 tools available» в клиенте** — сервер запущен без обязательного аргумента `serve`. Повторно выполните `godd-a install`, чтобы корректно пересоздать конфигурацию клиента, затем перезапустите клиент.
184
+ Node только проверяет и передаёт envelope. Расчёт интервалов, canonical union coverage, решение по coverage и применение к source buffer остаются исключительно в Rust и не должны дублироваться в payload адаптера. Неподдерживаемая схема, неизвестное вложенное поле, недостаточное число выборок, некорректные метаданные или несовпадение digest возвращают `INCONCLUSIVE` без числового запасного значения — остановитесь, а не придумывайте допуск по умолчанию.
679
185
 
680
186
  ### Лицензия
681
187
 
682
- Проприетарное ПО. Для использования требуется действующий лицензионный ключ GoDD. Условия и поддержка — на [официальном сайте](https://www.getgodd.dev/).
188
+ Проприетарная. Требуется действующий лицензионный ключ — [посмотреть тарифы](https://www.getgodd.dev/ru/pricing).