@hegemonart/get-design-done 1.57.1 → 1.57.2
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/.claude-plugin/marketplace.json +26 -41
- package/.claude-plugin/plugin.json +23 -48
- package/CHANGELOG.md +91 -0
- package/README.md +166 -511
- package/SKILL.md +2 -0
- package/agents/README.md +33 -36
- package/agents/a11y-mapper.md +3 -3
- package/agents/component-benchmark-harvester.md +6 -6
- package/agents/component-benchmark-synthesizer.md +3 -3
- package/agents/compose-executor.md +3 -3
- package/agents/cost-forecaster.md +2 -2
- package/agents/design-auditor.md +7 -7
- package/agents/design-authority-watcher.md +15 -15
- package/agents/design-context-builder.md +4 -4
- package/agents/design-context-checker-gate.md +1 -1
- package/agents/design-discussant.md +2 -2
- package/agents/design-doc-writer.md +1 -1
- package/agents/design-executor.md +2 -2
- package/agents/design-figma-writer.md +2 -2
- package/agents/design-fixer.md +7 -7
- package/agents/design-integration-checker-gate.md +1 -1
- package/agents/design-integration-checker.md +1 -1
- package/agents/design-paper-writer.md +3 -3
- package/agents/design-pencil-writer.md +1 -1
- package/agents/design-planner.md +21 -0
- package/agents/design-reflector.md +39 -39
- package/agents/design-research-synthesizer.md +1 -0
- package/agents/design-start-writer.md +1 -1
- package/agents/design-update-checker.md +5 -5
- package/agents/design-verifier-gate.md +1 -1
- package/agents/design-verifier.md +52 -48
- package/agents/ds-generator.md +2 -2
- package/agents/ds-migration-planner.md +4 -4
- package/agents/email-executor.md +9 -9
- package/agents/experiment-result-ingester.md +3 -3
- package/agents/flutter-executor.md +5 -5
- package/agents/gdd-graph-refresh.md +3 -3
- package/agents/gdd-intel-updater.md +2 -2
- package/agents/motion-mapper.md +2 -2
- package/agents/motion-verifier.md +4 -4
- package/agents/pdf-executor.md +8 -8
- package/agents/perf-analyzer.md +17 -17
- package/agents/pr-commenter.md +9 -9
- package/agents/prototype-gate.md +2 -2
- package/agents/quality-gate-runner.md +1 -1
- package/agents/rollout-coordinator.md +3 -3
- package/agents/swift-executor.md +4 -4
- package/agents/ticket-sync-agent.md +6 -6
- package/agents/user-research-synthesizer.md +2 -2
- package/connections/connections.md +44 -45
- package/connections/cursor.md +73 -0
- package/connections/preview.md +3 -3
- package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +1 -1
- package/dist/claude-code/.claude/skills/design/SKILL.md +19 -0
- package/dist/claude-code/.claude/skills/explore/SKILL.md +11 -0
- package/dist/claude-code/.claude/skills/figma-write/SKILL.md +13 -2
- package/dist/claude-code/.claude/skills/paper-write/SKILL.md +54 -0
- package/dist/claude-code/.claude/skills/pencil-write/SKILL.md +54 -0
- package/dist/claude-code/.claude/skills/report-issue/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/router/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +10 -11
- package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +1 -1
- package/hooks/first-run-nudge.cjs +171 -0
- package/hooks/gdd-intel-trigger.js +243 -0
- package/hooks/gdd-mcp-circuit-breaker.js +62 -7
- package/hooks/gdd-precompact-snapshot.js +50 -29
- package/hooks/gdd-protected-paths.js +150 -18
- package/hooks/gdd-risk-gate.js +93 -1
- package/hooks/gdd-sessionstart-recap.js +59 -24
- package/hooks/hooks.json +13 -4
- package/hooks/inject-using-gdd.cjs +188 -0
- package/hooks/update-check.cjs +511 -0
- package/package.json +9 -2
- package/reference/STATE-TEMPLATE.md +10 -13
- package/reference/audit-scoring.md +1 -1
- package/reference/cache-tier-doctrine.md +46 -0
- package/reference/config-schema.md +9 -9
- package/reference/i18n.md +1 -1
- package/reference/intel-schema.md +37 -2
- package/reference/meta-rules.md +4 -4
- package/reference/model-tiers.md +2 -2
- package/reference/registry.json +101 -94
- package/reference/runtime-models.md +11 -1
- package/reference/shared-preamble.md +13 -14
- package/reference/skill-graph.md +24 -1
- package/scripts/bootstrap.cjs +373 -0
- package/scripts/injection-patterns.cjs +58 -0
- package/scripts/lib/apply-reflections/incubator-proposals.cjs +57 -26
- package/scripts/lib/install/converters/codex-plugin.cjs +5 -2
- package/scripts/lib/install/converters/cursor.cjs +20 -0
- package/scripts/lib/issue-reporter/report-flow.cjs +1 -1
- package/scripts/lib/manifest/skills.json +80 -13
- package/scripts/lib/state/query-surface.cjs +67 -9
- package/scripts/lib/state/state-store.cjs +68 -26
- package/sdk/cli/commands/stage.ts +17 -0
- package/sdk/cli/index.js +14 -0
- package/skills/cache-manager/SKILL.md +3 -3
- package/skills/cache-manager/cache-policy.md +1 -1
- package/skills/design/SKILL.md +19 -0
- package/skills/explore/SKILL.md +11 -0
- package/skills/figma-write/SKILL.md +13 -2
- package/skills/paper-write/SKILL.md +54 -0
- package/skills/pencil-write/SKILL.md +54 -0
- package/skills/report-issue/SKILL.md +2 -2
- package/skills/router/SKILL.md +2 -2
- package/skills/verify/verify-procedure.md +10 -11
- package/skills/warm-cache/SKILL.md +1 -1
- package/hooks/first-run-nudge.sh +0 -82
- package/hooks/inject-using-gdd.sh +0 -72
- package/hooks/update-check.sh +0 -251
- package/scripts/lib/audit-aggregator/index.cjs +0 -219
- package/scripts/lib/hedge-ensemble.cjs +0 -217
|
@@ -122,7 +122,7 @@ Agents never read config directly - the profile is always injected at spawn time
|
|
|
122
122
|
|
|
123
123
|
## .design/budget.json Schema (Phase 10.1)
|
|
124
124
|
|
|
125
|
-
Governs the optimization layer introduced in Phase 10.1. Read by every `Agent` tool spawn via `hooks/budget-enforcer.
|
|
125
|
+
Governs the optimization layer introduced in Phase 10.1. Read by every `Agent` tool spawn via `hooks/budget-enforcer.ts` (PreToolUse). Bootstrap writes defaults if the file is missing.
|
|
126
126
|
|
|
127
127
|
## Full Schema
|
|
128
128
|
|
|
@@ -215,11 +215,11 @@ If `.design/budget.json` is missing when any `/gdd:*` command runs, `scripts/boo
|
|
|
215
215
|
|
|
216
216
|
## .design/telemetry/costs.jsonl + .design/agent-metrics.json (Phase 10.1)
|
|
217
217
|
|
|
218
|
-
Phase 10.1 introduces two measurement artifacts written by `hooks/budget-enforcer.
|
|
218
|
+
Phase 10.1 introduces two measurement artifacts written by `hooks/budget-enforcer.ts` (PreToolUse on `Agent` spawns) and `scripts/aggregate-agent-metrics.ts` (detached child of the hook + refresh step of `/gdd:optimize`). Both files live under the gitignored `.design/` directory - they are local session state, not committed.
|
|
219
219
|
|
|
220
220
|
### .design/telemetry/costs.jsonl
|
|
221
221
|
|
|
222
|
-
Append-only ledger. One JSON object per line. Written by `hooks/budget-enforcer.
|
|
222
|
+
Append-only ledger. One JSON object per line. Written by `hooks/budget-enforcer.ts` on every PreToolUse decision: spawn allowed, spawn blocked by cap, tier downgraded, cache-hit short-circuit, lazy-gate skip. Consumed by the Phase 11 reflector (`agents/design-reflector.md`) and by `/gdd:optimize`.
|
|
223
223
|
|
|
224
224
|
**Row schema** (verbatim from ROADMAP criterion 7):
|
|
225
225
|
|
|
@@ -292,11 +292,11 @@ Both files sit inside `.design/`, which is already `.gitignore`d at the project
|
|
|
292
292
|
|
|
293
293
|
### Refresh cadence
|
|
294
294
|
|
|
295
|
-
The aggregator is invoked as a detached child process by `hooks/budget-enforcer.
|
|
295
|
+
The aggregator is invoked as a detached child process by `hooks/budget-enforcer.ts` after every telemetry row write. It is also invoked directly by `/gdd:optimize` before analysis. There is no cron, no daemon, and no scheduled task - metrics are always at most one spawn stale.
|
|
296
296
|
|
|
297
297
|
## .design/cache-manifest.json Schema (Phase 10.1)
|
|
298
298
|
|
|
299
|
-
Authored and maintained by `skills/cache-manager/SKILL.md`. Read by `hooks/budget-enforcer.
|
|
299
|
+
Authored and maintained by `skills/cache-manager/SKILL.md`. Read by `hooks/budget-enforcer.ts` (PreToolUse on Agent spawns) for short-circuiting cached spawns per D-05. Layer B of the D-08 two-layer cache. Flat KV shape - keys are SHA-256 hex of the deterministic input-hash, values are entry objects. Schema version 1.
|
|
300
300
|
|
|
301
301
|
## Full Schema
|
|
302
302
|
|
|
@@ -357,22 +357,22 @@ String - ISO-8601 UTC timestamp equal to `written_at + ttl_seconds`. Precomputed
|
|
|
357
357
|
- TTL is copied into each entry at write time - **not** recomputed on read. Budget.json changes do not retroactively affect existing entries.
|
|
358
358
|
- `expires_at` = `written_at + ttl_seconds`, computed once, stored in the entry.
|
|
359
359
|
- Stale entries are **not** actively purged (lazy cleanup): they remain in the file until overwritten by a new write with the same key, or pruned manually. A proactive reaper is out of v1 scope.
|
|
360
|
-
- Readers (`hooks/budget-enforcer.
|
|
360
|
+
- Readers (`hooks/budget-enforcer.ts`) check `Date.now() / 1000 > Date.parse(expires_at) / 1000`; if true, return miss.
|
|
361
361
|
|
|
362
362
|
## Read/Write contract
|
|
363
363
|
|
|
364
364
|
- **Single writer**: `skills/cache-manager/SKILL.md` Phase 4 (`write-result-on-completion`). Other code must not write this file directly.
|
|
365
|
-
- **Multiple readers**: `hooks/budget-enforcer.
|
|
365
|
+
- **Multiple readers**: `hooks/budget-enforcer.ts`, any orchestrator that runs Phase 2 (`lookup`) for dry-run planning. Readers treat malformed JSON as "manifest absent" (empty cache) - do not throw.
|
|
366
366
|
- **Concurrency**: Claude Code agent spawns are serialized at the hook level (PreToolUse is synchronous). No file locking is needed at v1 scale. Concurrent writes from parallel orchestrators are theoretically possible but exceedingly rare; last-writer-wins is acceptable (cache miss on next read re-populates).
|
|
367
367
|
|
|
368
368
|
## Bootstrap behavior
|
|
369
369
|
|
|
370
|
-
If `.design/cache-manifest.json` is missing when `hooks/budget-enforcer.
|
|
370
|
+
If `.design/cache-manifest.json` is missing when `hooks/budget-enforcer.ts` reads it, the hook treats every lookup as a miss and the spawn proceeds normally. No bootstrap action is required - the manifest is created lazily on first successful spawn when `skills/cache-manager/SKILL.md` Phase 4 fires. Unlike `.design/budget.json`, missing cache-manifest.json is the **correct** initial state on a fresh repo.
|
|
371
371
|
|
|
372
372
|
## Cross-references
|
|
373
373
|
|
|
374
374
|
- `skills/cache-manager/SKILL.md` - producer; documents the four-phase contract.
|
|
375
|
-
- `hooks/budget-enforcer.
|
|
375
|
+
- `hooks/budget-enforcer.ts` (Plan 10.1-01) - reader; short-circuits spawns on hit.
|
|
376
376
|
- `.design/budget.json` - provides `cache_ttl_seconds` default.
|
|
377
377
|
- `.design/telemetry/costs.jsonl` (Plan 10.1-05) - records `cache_hit: true` rows with zero tokens and zero cost when the short-circuit fires.
|
|
378
378
|
- D-05, D-08, D-09 in `.planning/phases/10.1-optimization-layer-cost-governance/10.1-CONTEXT.md` - decision lineage.
|
package/reference/i18n.md
CHANGED
|
@@ -465,7 +465,7 @@ The auditor catches a missed 3.1.2 by scanning for untranslated quotes, proper n
|
|
|
465
465
|
|
|
466
466
|
## Verifier Integration Spec
|
|
467
467
|
|
|
468
|
-
This section specifies two probes for [agents/design-verifier.md](../agents/design-verifier.md).
|
|
468
|
+
This section specifies two probes for [agents/design-verifier.md](../agents/design-verifier.md). The verifier agent implements; this file owns the spec. Both probes attach to a new `### i18n probes` subsection at the end of Stage 1 - Re-Audit + Category Scoring (after the existing `### Category Scores` subsection), and both classify findings under the orthogonal lens-tag `i18n_readiness` (no new pillar, no audit-format change).
|
|
469
469
|
|
|
470
470
|
### Probe 1: Hardcoded-string scan
|
|
471
471
|
|
|
@@ -8,8 +8,11 @@ Path: `.design/intel/` (gitignored - runtime data only)
|
|
|
8
8
|
The intel store is a set of flat JSON files (slices) that index the design surface.
|
|
9
9
|
Each slice is an independent file. Agents read slices they need; the updater rewrites only changed slices.
|
|
10
10
|
|
|
11
|
-
Slices are rebuilt by `scripts/build-intel.cjs` (full initial build) and
|
|
12
|
-
`gdd-intel-updater` agent (incremental updates
|
|
11
|
+
Slices are rebuilt by `scripts/build-intel.cjs` (full initial build) and refreshed on-demand
|
|
12
|
+
by the `gdd-intel-updater` agent (incremental updates when run by the user or a skill that
|
|
13
|
+
spawns it). The store is **not auto-current**: it reflects the last invocation of build-intel
|
|
14
|
+
or the updater. Skills that depend on fresh intel should invoke the updater first or treat
|
|
15
|
+
slice timestamps as best-effort.
|
|
13
16
|
|
|
14
17
|
## Slice Definitions
|
|
15
18
|
|
|
@@ -244,6 +247,38 @@ Cross-reference graph: nodes are files, edges are dependency relationships from
|
|
|
244
247
|
}
|
|
245
248
|
```
|
|
246
249
|
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
### agent-tiers.json
|
|
253
|
+
|
|
254
|
+
Runtime-neutral tier index per agent; populated by `gdd-intel-updater` so downstream
|
|
255
|
+
tooling reads tier information without re-parsing every agent's markdown frontmatter.
|
|
256
|
+
Both the model-tier (`opus|sonnet|haiku`) and the equivalent runtime-neutral
|
|
257
|
+
reasoning class (`high|medium|low`) are emitted side-by-side using the locked
|
|
258
|
+
equivalence map (opus↔high, sonnet↔medium, haiku↔low).
|
|
259
|
+
|
|
260
|
+
```json
|
|
261
|
+
{
|
|
262
|
+
"generated": "<ISO-8601>",
|
|
263
|
+
"agents": [
|
|
264
|
+
{
|
|
265
|
+
"name": "design-planner",
|
|
266
|
+
"default_tier": "opus",
|
|
267
|
+
"reasoning_class": "high"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"name": "design-verifier-gate",
|
|
271
|
+
"default_tier": "haiku",
|
|
272
|
+
"reasoning_class": "low"
|
|
273
|
+
}
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Consumers: router, budget enforcer, multi-runtime tier resolver.
|
|
279
|
+
Validation: every agent in `agents/*.md` (except README.md) MUST appear exactly once.
|
|
280
|
+
Written atomically (.tmp + rename) when the updater runs; absent on a fresh checkout.
|
|
281
|
+
|
|
247
282
|
## Incremental Update Rules
|
|
248
283
|
|
|
249
284
|
1. On each run, compare current file `mtime` and `git_hash` against `files.json` entries.
|
package/reference/meta-rules.md
CHANGED
|
@@ -14,7 +14,7 @@ When the orchestrator's prompt contains a `<required_reading>` block, you MUST r
|
|
|
14
14
|
|
|
15
15
|
Only write files declared in your frontmatter `writes:` list. Agents with `reads-only: true` must never call `Write` or `Edit` on any file. If the task appears to require writing outside your declared scope, stop and return a `<blocker>` in STATE.md rather than expanding your write surface.
|
|
16
16
|
|
|
17
|
-
If your agent runs in a
|
|
17
|
+
If your agent runs in a context that enforces atomic commits (most do), commit only files in your declared `writes:` list. Use the repo's conventional-commit convention: `feat(<scope>): ...` for new capability, `fix(<scope>): ...` for bug fixes, `docs(<scope>): ...` for documentation. The `<scope>` should match a recognisable subsystem in the downstream project (e.g. `feat(verify): ...`, `fix(planner): ...`); do not propagate any internal plugin-development numbering.
|
|
18
18
|
|
|
19
19
|
## Deviation Handling
|
|
20
20
|
|
|
@@ -43,7 +43,7 @@ The orchestrator detects failure by reading STATE.md for a `<blocker>`, not by t
|
|
|
43
43
|
|
|
44
44
|
## Context-Exhaustion & Budget Awareness
|
|
45
45
|
|
|
46
|
-
A PostToolUse hook at `hooks/context-exhaustion.
|
|
46
|
+
A PostToolUse hook at `hooks/context-exhaustion.ts` watches your tool output for the string `<context-exhaustion>` in your response. If you determine you cannot finish the task in the remaining context, emit:
|
|
47
47
|
|
|
48
48
|
```xml
|
|
49
49
|
<context-exhaustion>
|
|
@@ -54,12 +54,12 @@ resume-hint: <one-sentence instruction for a resumption spawn>
|
|
|
54
54
|
|
|
55
55
|
…before your completion marker. The hook captures this into STATE.md so the orchestrator can re-spawn you with a narrower scope. Do not guess when you're near exhaustion - only emit when a concrete obstacle (file too large to read, required diff too wide) forced the call.
|
|
56
56
|
|
|
57
|
-
A PreToolUse hook at `hooks/budget-enforcer.
|
|
57
|
+
A PreToolUse hook at `hooks/budget-enforcer.ts` intercepts every `Task` spawn (including the one that invoked you). The hook may:
|
|
58
58
|
- **Short-circuit** your spawn with a cached result from `.design/cache-manifest.json` (transparent - you never run).
|
|
59
59
|
- **Downgrade** your tier to Haiku at the 80% per-task cap soft-threshold, silently (`auto_downgrade_on_cap: true` in `.design/budget.json`, D-03).
|
|
60
60
|
- **Hard-block** your spawn at the 100% per-task or per-phase cap with an actionable error (D-02).
|
|
61
61
|
|
|
62
|
-
Implication for you as the agent: **do not assume a specific model tier is live.** Your output must be correct whether you run on Haiku, Sonnet, or Opus. If a task genuinely requires reasoning density beyond Haiku, the `size_budget` + `default-tier` combination should have been set at authoring time so the router routes it correctly - the remedy is a frontmatter update
|
|
62
|
+
Implication for you as the agent: **do not assume a specific model tier is live.** Your output must be correct whether you run on Haiku, Sonnet, or Opus. If a task genuinely requires reasoning density beyond Haiku, the `size_budget` + `default-tier` combination should have been set at authoring time so the router routes it correctly - the remedy is a frontmatter update via the reflector loop, not a mid-run assumption.
|
|
63
63
|
|
|
64
64
|
---
|
|
65
65
|
|
package/reference/model-tiers.md
CHANGED
|
@@ -82,7 +82,7 @@ When the budget-enforcer hook resolves which tier to spawn an agent at, it walks
|
|
|
82
82
|
|
|
83
83
|
1. **`.design/budget.json.tier_overrides[{agent_name}]`** - per-project configuration. Wins over frontmatter. Use this knob when the project has budget constraints that differ from the plugin defaults.
|
|
84
84
|
2. **Agent frontmatter `default-tier`** (this file's per-agent map) - plugin default. Set at authoring time.
|
|
85
|
-
3. **Hardcoded fallback `"sonnet"`** - belt-and-suspenders in `hooks/budget-enforcer.
|
|
85
|
+
3. **Hardcoded fallback `"sonnet"`** - belt-and-suspenders in `hooks/budget-enforcer.ts` for agents that somehow lack the frontmatter field. Should never fire in practice after Phase 10.1.
|
|
86
86
|
|
|
87
87
|
Plus two modifiers that can override the above at spawn time:
|
|
88
88
|
|
|
@@ -108,7 +108,7 @@ Phase 11's reflector encodes these heuristics. This section documents the philos
|
|
|
108
108
|
|
|
109
109
|
## Integration Points
|
|
110
110
|
|
|
111
|
-
- **`hooks/budget-enforcer.
|
|
111
|
+
- **`hooks/budget-enforcer.ts`** (Plan 10.1-01 Task 04) - implements the precedence chain above. `resolveTier(agent, agentDefaultTier, overrides)` is the concrete function.
|
|
112
112
|
- **`skills/router/SKILL.md`** (Plan 10.1-01 Task 03) - consults this file's tier map + `reference/model-prices.md` to produce `estimated_cost_usd` pre-spawn.
|
|
113
113
|
- **`skills/optimize/SKILL.md`** (Plan 10.1-04) - advisory command; may suggest tier moves based on telemetry + this doc's heuristics.
|
|
114
114
|
- **`agents/design-reflector.md`** (Phase 11, already merged) - may propose edits to this file + paired frontmatter updates. Proposals land in `.design/reflections/` for user review.
|