@hegemonart/get-design-done 1.30.0 → 1.30.5

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.
@@ -5,14 +5,14 @@
5
5
  },
6
6
  "metadata": {
7
7
  "description": "Get Design Done — 5-stage agent-orchestrated design pipeline with 9 connections, handoff-first workflow, bidirectional Figma write-back, 22+ specialized agents, queryable knowledge layer (intel store, dependency analysis, learnings extraction), and a self-improvement loop (reflector, frontmatter + budget feedback, global-skills layer). v1.20.0 ships the SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream, and resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) for rate-limit + 429 + context-overflow recovery. Full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows) and release automation (auto-tag + GitHub Release + release-time smoke test).",
8
- "version": "1.30.0"
8
+ "version": "1.30.5"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "get-design-done",
13
13
  "source": "./",
14
14
  "description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 22+ specialized agents, 9 connections (Figma, Refero, Preview, Storybook, Chromatic, Figma Writer, Graphify, Pinterest, Claude Design), Claude Design handoff, bidirectional Figma write-back, and a queryable intel store (.design/intel/) for dependency and learnings queries. Standalone commands: style, darkmode, compare, figma-write, graphify, handoff, analyze-dependencies, skill-manifest, extract-learnings. Embeds NNG heuristics, WCAG thresholds, typographic systems, motion framework, and anti-pattern catalog. Ships with a full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows) and release automation. Optimization layer (v1.0.4.1, retroactive): gdd-router + gdd-cache-manager skills, PreToolUse budget-enforcer hook, tier-aware agent frontmatter, lazy checker gates, streaming synthesizer, /gdd:warm-cache + /gdd:optimize commands, and cost telemetry at .design/telemetry/costs.jsonl — targeting 50-70% per-task token-cost reduction with no quality-floor regression. v1.20.0 SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream at .design/telemetry/events.jsonl, resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) with rate-limit + 429 + context-overflow recovery, and TypeScript toolchain.",
15
- "version": "1.30.0",
15
+ "version": "1.30.5",
16
16
  "author": {
17
17
  "name": "hegemonart"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "get-design-done",
3
3
  "short_name": "gdd",
4
- "version": "1.30.0",
4
+ "version": "1.30.5",
5
5
  "description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 22+ specialized agents, 9 connections (Figma, Refero, Preview, Storybook, Chromatic, Figma Writer, Graphify, Pinterest, Claude Design), handoff-first workflow via Claude Design bundles, bidirectional Figma write-back (annotations, Code Connect), queryable intel store (`.design/intel/`) for O(1) design surface lookups, and self-improvement loop (reflector agent, frontmatter + budget feedback, global-skills layer at `~/.claude/gdd/global-skills/`). Standalone commands: style, darkmode, compare, figma-write, graphify, handoff, analyze-dependencies, skill-manifest, extract-learnings, reflect, apply-reflections. Embeds NNG heuristics, WCAG thresholds, typographic systems, motion framework, and anti-pattern catalog. Ships with a full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows, lint + schema + frontmatter + stale-ref + shellcheck + gitleaks + injection-scan + blocking size-budget) and release automation (auto-tag + GitHub Release + release-time smoke test). Optimization layer (v1.0.4.1, retroactive): gdd-router + gdd-cache-manager skills, PreToolUse budget-enforcer hook, tier-aware agent frontmatter, lazy checker gates, streaming synthesizer, /gdd:warm-cache + /gdd:optimize commands, and cost telemetry at .design/telemetry/costs.jsonl — targeting 50-70% per-task token-cost reduction with no quality-floor regression. v1.20.0 SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream at .design/telemetry/events.jsonl, resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) with rate-limit + 429 + context-overflow recovery, and TypeScript toolchain. v1.27.7 ships gdd-mcp (Phase 27.7): 12 read-only MCP tools for sub-3s priming. v1.28.0 (Phase 28): Foundational References Tier 2 — 5 new reference files (color-theory, composition, proportion-systems, i18n, contrast-advanced), 2 verifier i18n probes + 1 explore i18n-readiness probe, 12 additive cross-link insertions across 10 existing references, 2 orthogonal audit-scoring lens-tags (composition_alignment + i18n_readiness).",
6
6
  "author": {
7
7
  "name": "hegemonart",
package/CHANGELOG.md CHANGED
@@ -4,6 +4,41 @@ All notable changes to get-design-done are documented here. Versions follow [sem
4
4
 
5
5
  ---
6
6
 
7
+ ## [1.30.5] - 2026-05-21
8
+
9
+ ### Phase 30.5 — Failure-Mode Catalogue
10
+
11
+ Decimal sub-phase building on Phase 30's `/gdd:report-issue` triage gate. Expands the known-failure-modes catalogue, adds a deterministic fuzzy matcher, and wires reflector + authority-watcher proposal flows into a 6th `/gdd:apply-reflections` proposal class. 3 plans ship together at v1.30.5 (D-11 ship-together): catalogue expansion (Wave A), fuzzy matcher (Wave A), reflector/authority-watcher wiring + closeout (Wave B).
12
+
13
+ ### Added
14
+
15
+ - **Failure-mode catalogue expansion** (`reference/known-failure-modes.md`, Plan 30.5-01). Catalogue grows from 10 → 22 entries (KFM-001..KFM-022) — covers EACCES, gh-missing, Node mismatch, npm-ci lockfile drift, webpack chunk collisions, esbuild config errors, vite HMR, TS6133 unused locals, and 14 more long-tail failure modes harvested from closed PRs + reflections cycles + public Node/npm/git failure-mode references. Each entry carries the schema-v2 11-field shape (`id`, `pattern`, `diagnosis`, `remedy`, `severity`, `propose_report`, `symptom`, `root_cause`, `fix`, `related_phases`, `first_observed_cycle`); Phase 30's `triage-matcher.cjs` reads only the original 6 fields (D-02 backward-compat).
16
+ - **Fuzzy failure-mode matcher** (`scripts/lib/failure-mode-matcher.cjs`, Plan 30.5-02). New `match(errorContext, { topN, threshold, cataloguePath })` API returns top-N candidates ranked by cosine similarity over a stop-word-filtered bag-of-words across `symptom + root_cause + un-regexed pattern`. Default `topN=3`, `threshold=0.4`, dominance-collapse delta `0.15`. Pure CommonJS, zero npm dependencies, deterministic (no `Math.random` / `Date.now` / I/O outside catalogue read). Phase 30's exact-match `triage-matcher.cjs` is untouched (D-04 byte-identity guard).
17
+ - **Reflector KFM proposer** (`scripts/lib/reflector-kfm-proposer.cjs`, Plan 30.5-03 D-05). When a Phase 29 `capability_gap` cluster recurs ≥3× with no matching catalogue entry (per `failure-mode-matcher.match()`), the proposer drops a pre-filled draft at `.design/reflections/incubator/kfm-<slug>/CATALOGUE-ENTRY.md`. The draft carries all 11 schema-v2 fields; `pattern` + `fix` are `TODO:` placeholders the user fills via the apply-reflections edit action.
18
+ - **Authority-watcher `kfm-candidate` event class** (`reference/schemas/events.schema.json` + `scripts/lib/authority-watcher/index.cjs`, Plan 30.5-03 D-06). New additive `allOf[1]` branch on the events schema; new 7-field `KfmCandidatePayload` definition. When the authority-watcher pipeline encounters an article whose title matches `/common errors|failure modes|troubleshooting|known issues|pitfalls/i`, it emits a `kfm-candidate` event that the reflector consumes into the SAME incubator draft surface as `capability_gap` clusters (one unified user-review path).
19
+ - **`/gdd:apply-reflections` KFM-CANDIDATE proposal class** (`skills/apply-reflections/SKILL.md` + `apply-reflections-procedure.md`, Plan 30.5-03). 6th proposal class after frontmatter / reference / budget / question / global-skill / incubator-skill. User actions: **accept** (promote draft → `reference/known-failure-modes.md` with next `KFM-NNN`, register in `reference/registry.json` with `origin: 'incubator-kfm'`), **reject** (remove incubator subdir), **defer** (stamp `deferred_until`), **edit** (return path for `$EDITOR`).
20
+ - **Phase 30.5 regression baseline** (`tests/phase-30.5-baseline.test.cjs` + `test-fixture/baselines/phase-30.5/`, Plan 30.5-03). 16 version-agnostic tests covering 6-manifest lockstep, catalogue entry count ≥20, matcher API exports, schema event branch, OFF_CADENCE_VERSIONS membership, fuzzy-matcher accuracy snapshot, registry diff, cross-link integrity, and CHANGELOG top entry.
21
+
22
+ ### Changed
23
+
24
+ - **Reflector capability-gap aggregator** (`scripts/lib/reflector-capability-gap-aggregator.cjs`) — adds lazy-loaded `proposeKfmDraftsForClusters(clusters, options)` export that invokes the KFM proposer as an additional pass after Phase 29 aggregation. Phase 29's existing 5 proposal classes are untouched (additive).
25
+ - **Authority-watcher agent prompt** (`agents/design-authority-watcher.md`) — gains a new `Step 7.5 — Emit kfm-candidate events` section documenting the whitelist patterns + payload shape. Phase 13.2's existing fetch/diff/classify/write loop is unchanged.
26
+ - **OFF_CADENCE_VERSIONS** (`tests/semver-compare.test.cjs`) — registers `'1.30.5'` per Phase 29/30 precedent.
27
+
28
+ ### Documentation
29
+
30
+ - `CHANGELOG.md` — this entry (v1.30.5).
31
+ - `README.md` + 6 translated READMEs (de/fr/it/ja/ko/zh-CN) — single-paragraph mention of v1.30.5's catalogue expansion + fuzzy matcher.
32
+ - `reference/known-failure-modes.md` — schema-v2 header documenting the 11-field shape (Plan 30.5-01).
33
+
34
+ ### Privacy & Safety
35
+
36
+ - **No auto-promotion.** The reflector KFM proposer is strictly proposal-only (Phase 11 SC-8). Drafts live in `.design/reflections/incubator/` until the user accepts them via `/gdd:apply-reflections`. The canonical catalogue feeds Phase 30's pre-consent triage gate, so a bad entry could mute legitimate issue reports — the user-review gate is non-negotiable (D-05).
37
+ - **`kfm-candidate` events are local-only.** No new network surfaces. The authority-watcher's existing whitelist (`reference/authority-feeds.md`) is the sole ingress for `kfm-candidate` events; nothing the reflector emits travels off-machine.
38
+ - **`raw_excerpt` cap.** Authority-derived excerpts are truncated to 500 chars before draft write (schema-enforced).
39
+
40
+ ---
41
+
7
42
  ## [1.30.0] - 2026-05-20
8
43
 
9
44
  ### Phase 30 — Consent-First GitHub Issue Reporter
package/README.de.md CHANGED
@@ -701,6 +701,8 @@ GDD enthält jetzt einen einwilligungsbasierten GitHub-Issue-Reporter über den
701
701
 
702
702
  Siehe die englische [`README.md`](README.md) für die vollständigen Details, [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) für den Regelkatalog (R1..R8) und [`reference/known-failure-modes.md`](reference/known-failure-modes.md) für bekannte Fehlermodi.
703
703
 
704
+ **v1.30.5-Update** — der Katalog umfasst jetzt 22 Einträge (vorher 10 in v1.30.0) und ein neues deterministisches Fuzzy-Matching-Modul (`scripts/lib/failure-mode-matcher.cjs`) liefert Top-N-Kandidaten mit Konfidenzwerten. Reflector + Authority-Watcher können neue Einträge über `/gdd:apply-reflections` vorschlagen (6. Vorschlagsklasse) — strikt nur Vorschläge, jeder Eintrag durchläuft die Nutzerprüfung.
705
+
704
706
  ---
705
707
 
706
708
  ## Lizenz
package/README.fr.md CHANGED
@@ -701,6 +701,8 @@ GDD inclut désormais un rapporteur de problèmes GitHub avec consentement expli
701
701
 
702
702
  Voir [`README.md`](README.md) en anglais pour les détails complets, [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) pour le catalogue de règles (R1..R8) et [`reference/known-failure-modes.md`](reference/known-failure-modes.md) pour les modes d'échec connus.
703
703
 
704
+ **Mise à jour v1.30.5** — le catalogue compte maintenant 22 entrées (10 dans v1.30.0) et un nouveau matcher flou déterministe (`scripts/lib/failure-mode-matcher.cjs`) renvoie des candidats top-N avec score de confiance. Le réflecteur + authority-watcher peuvent proposer de nouvelles entrées via `/gdd:apply-reflections` (6e classe de proposition) — strictement propositionnel, chaque entrée passe par la revue utilisateur.
705
+
704
706
  ---
705
707
 
706
708
  ## Licence
package/README.it.md CHANGED
@@ -701,6 +701,8 @@ GDD ora include un reporter di issue GitHub basato sul consenso esplicito tramit
701
701
 
702
702
  Vedi [`README.md`](README.md) in inglese per i dettagli completi, [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) per il catalogo delle regole (R1..R8) e [`reference/known-failure-modes.md`](reference/known-failure-modes.md) per i modi di fallimento noti.
703
703
 
704
+ **Aggiornamento v1.30.5** — il catalogo ora contiene 22 voci (10 in v1.30.0) e un nuovo matcher fuzzy deterministico (`scripts/lib/failure-mode-matcher.cjs`) restituisce candidati top-N con punteggio di confidenza. Reflector + authority-watcher possono proporre nuove voci tramite `/gdd:apply-reflections` (6a classe di proposta) — strettamente solo proposta, ogni voce passa attraverso la revisione utente.
705
+
704
706
  ---
705
707
 
706
708
  ## Licenza
package/README.ja.md CHANGED
@@ -701,6 +701,8 @@ GDD は、`/gdd:report-issue` スラッシュコマンドによる同意ベー
701
701
 
702
702
  詳細は英語版の [`README.md`](README.md)、ルールカタログ(R1..R8)は [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md)、既知の失敗モードは [`reference/known-failure-modes.md`](reference/known-failure-modes.md) を参照してください。
703
703
 
704
+ **v1.30.5 アップデート** — カタログは22エントリに拡張(v1.30.0は10件)、新しい決定論的ファジーマッチャー(`scripts/lib/failure-mode-matcher.cjs`)が信頼度スコア付きの上位N候補を返します。Reflector + authority-watcher は `/gdd:apply-reflections`(6番目の提案クラス)経由で新エントリを提案できます — 厳密に提案のみ、すべてのエントリはユーザーレビューを通過します。
705
+
704
706
  ---
705
707
 
706
708
  ## ライセンス
package/README.ko.md CHANGED
@@ -701,6 +701,8 @@ GDD에는 이제 `/gdd:report-issue` 슬래시 명령어를 통한 동의 기반
701
701
 
702
702
  전체 세부 사항은 영어 [`README.md`](README.md)를, 규칙 카탈로그(R1..R8)는 [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md)를, 알려진 실패 모드는 [`reference/known-failure-modes.md`](reference/known-failure-modes.md)를 참조하세요.
703
703
 
704
+ **v1.30.5 업데이트** — 카탈로그가 22개 항목(v1.30.0에서는 10개)으로 확장되었고, 새로운 결정론적 퍼지 매처(`scripts/lib/failure-mode-matcher.cjs`)가 신뢰도 점수와 함께 top-N 후보를 반환합니다. Reflector + authority-watcher는 `/gdd:apply-reflections`(6번째 제안 클래스)를 통해 새 항목을 제안할 수 있습니다 — 엄격하게 제안 전용이며 모든 항목은 사용자 검토를 거칩니다.
705
+
704
706
  ---
705
707
 
706
708
  ## 라이선스
package/README.md CHANGED
@@ -769,6 +769,8 @@ GDD now ships a consent-first GitHub issue reporter via the `/gdd:report-issue`
769
769
 
770
770
  See [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) for the R1..R8 rule catalog and [`reference/known-failure-modes.md`](reference/known-failure-modes.md) for known anti-patterns the reporter detects.
771
771
 
772
+ **v1.30.5 update** — the catalogue now ships 22 entries (was 10 in v1.30.0), and a new deterministic fuzzy matcher (`scripts/lib/failure-mode-matcher.cjs`, top-N + threshold + confidence) returns ranked candidates for ambiguous symptoms. The reflector + authority-watcher can propose new entries via `/gdd:apply-reflections` (6th proposal class) — strictly proposal-only, every entry passes through user review.
773
+
772
774
  ---
773
775
 
774
776
  ## License
package/README.zh-CN.md CHANGED
@@ -722,6 +722,8 @@ GDD 现在通过 `/gdd:report-issue` 斜杠命令提供基于明确同意的 Git
722
722
 
723
723
  完整细节请参见英文 [`README.md`](README.md),规则目录(R1..R8)参见 [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md),已知失败模式参见 [`reference/known-failure-modes.md`](reference/known-failure-modes.md)。
724
724
 
725
+ **v1.30.5 更新** — 目录现包含 22 个条目(v1.30.0 为 10 个),新的确定性模糊匹配器(`scripts/lib/failure-mode-matcher.cjs`)返回带置信度评分的 top-N 候选。Reflector + authority-watcher 可通过 `/gdd:apply-reflections`(第 6 个提议类)提议新条目 — 严格仅提议,每个条目都需经过用户审查。
726
+
725
727
  ---
726
728
 
727
729
  ## 许可证
@@ -184,13 +184,54 @@ N entries surfaced across M feeds. K skipped.
184
184
  ```
185
185
  - Entry line format is exact: `- **[Title](url)** — feed: <feed-title> — *<rationale>*`. Em-dash (`—`), italicized rationale, no trailing period unless the rationale itself ends one.
186
186
 
187
+ ## Step 7.5 — Emit `kfm-candidate` events (Phase 30.5-03 D-06)
188
+
189
+ After classifying the new entries (Step 5) but BEFORE writing the snapshot (Step 6), evaluate every NEW entry against the failure-mode-article whitelist. The whitelist patterns (case-insensitive) are:
190
+
191
+ - `/common errors/i`
192
+ - `/failure modes/i`
193
+ - `/troubleshooting/i`
194
+ - `/known issues/i`
195
+ - `/pitfalls/i`
196
+
197
+ For each entry whose `title` matches ANY pattern, emit a single `kfm-candidate` event to the events stream (`.design/telemetry/events.jsonl`) via `scripts/lib/event-stream/writer.ts` (or the Bash equivalent — `printf '%s\n' "<json>" >> .design/telemetry/events.jsonl`).
198
+
199
+ Event payload shape — validates against `reference/schemas/events.schema.json` definitions `KfmCandidatePayload` (allOf[1] branch). Required 7 fields:
200
+
201
+ ```json
202
+ {
203
+ "type": "kfm-candidate",
204
+ "timestamp": "<ISO-8601>",
205
+ "sessionId": "authority-watcher",
206
+ "payload": {
207
+ "event_id": "kfm-cand-<feed-id>-<entry-id>-<unix-ms>",
208
+ "source": "authority_watcher",
209
+ "article_url": "<entry.permalink or entry.link>",
210
+ "article_title": "<entry.title verbatim>",
211
+ "suggested_symptom": "<entry.title sliced to 180 chars>",
212
+ "suggested_pattern_hint": "<best-effort up to 3 ALL-CAPS error tokens joined by |, or empty>",
213
+ "raw_excerpt": "<entry.summary truncated to 500 chars with … suffix>"
214
+ }
215
+ }
216
+ ```
217
+
218
+ **Excerpt cap.** `raw_excerpt` MUST be ≤500 chars (the schema rejects longer). Truncate with a single-char ellipsis when the source summary exceeds 500.
219
+
220
+ **One event per matched entry.** Do NOT emit duplicates within a single run; if `event_id` is already present in the stream from a prior run, the writer's dedup logic handles it (Plan 22 event-chain).
221
+
222
+ **No catalogue writes.** This step ONLY emits events. The Phase 30.5-03 reflector consumes them into `.design/reflections/incubator/kfm-<slug>/CATALOGUE-ENTRY.md` drafts; the user reviews via `/gdd:apply-reflections` and accepts/rejects per Plan 30.5-03 Task 1. Authority-watcher NEVER writes to `reference/known-failure-modes.md` directly (D-06 + Phase 11 SC-8).
223
+
224
+ Programmatic helper available at `scripts/lib/authority-watcher/index.cjs` — `classifyArticles(articles) → events`. Callers in test harnesses use the helper directly; the agent emits events via the Bash equivalent.
225
+
187
226
  ## Step 8 — Output
188
227
 
189
228
  Emit a single-line summary to stdout:
190
229
 
191
- - **Normal mode:** `Surfaced N entries across M feeds. K skipped. See .design/authority-report.md.`
230
+ - **Normal mode:** `Surfaced N entries across M feeds. K skipped. <X kfm-candidate events emitted.> See .design/authority-report.md.`
192
231
  - **First-run / refresh mode:** `Seeded snapshot for N feeds — next run will surface new entries.`
193
232
 
233
+ When `X > 0`, the suffix `X kfm-candidate events emitted` is appended; when `X == 0`, omit the suffix entirely.
234
+
194
235
  ## Do Not
195
236
 
196
237
  - Do NOT modify `agents/design-reflector.md`. Reflector integration is Plan 13.2-03's scope and lives in `skills/reflect/SKILL.md` only.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hegemonart/get-design-done",
3
- "version": "1.30.0",
3
+ "version": "1.30.5",
4
4
  "description": "A design-quality pipeline for AI coding agents: brief, plan, implement, and verify UI work against your design system.",
5
5
  "author": "Hegemon",
6
6
  "homepage": "https://github.com/hegemonart/get-design-done",