@hegemonart/get-design-done 1.50.1 → 1.51.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.
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/hegemonart/get-design-done/reference/schemas/instinct.schema.json",
4
+ "title": "Instinct Unit",
5
+ "description": "An atomic, confidence-weighted design instinct learned across cycles. Validates the YAML frontmatter object of an instinct unit (see reference/instinct-format.md). Project-scoped units live at <root>/instincts/instincts.json; promoted global units live at ~/.claude/gdd/global-instincts.json. Persisted + queried by scripts/lib/instinct-store.cjs.",
6
+ "type": "object",
7
+ "required": ["id", "trigger", "confidence", "domain", "scope", "source"],
8
+ "properties": {
9
+ "id": {
10
+ "type": "string",
11
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
12
+ "minLength": 3,
13
+ "maxLength": 80,
14
+ "description": "Kebab-case stable identifier, e.g. \"prefer-token-over-hex\". Lowercase letters, digits, single hyphens."
15
+ },
16
+ "trigger": {
17
+ "type": "string",
18
+ "minLength": 8,
19
+ "maxLength": 280,
20
+ "description": "One sentence naming the situation that fires the instinct, e.g. \"When a color literal appears in a component, reach for a design token first.\""
21
+ },
22
+ "confidence": {
23
+ "type": "number",
24
+ "minimum": 0.3,
25
+ "maximum": 0.9,
26
+ "description": "Posterior trust in the instinct. Floor 0.3 (a fresh instinct is advisory, never directive); ceiling 0.9 (no instinct is ever certain). TTL decay multiplies this by 0.9 when the instinct goes unsurfaced."
27
+ },
28
+ "domain": {
29
+ "type": "string",
30
+ "enum": ["intake", "explore", "decide", "build", "verify", "operate", "utility"],
31
+ "description": "Lifecycle stage the instinct applies to, aligned to the Phase 50 lifecycle stages."
32
+ },
33
+ "scope": {
34
+ "type": "string",
35
+ "enum": ["project", "global"],
36
+ "description": "project = learned from one repository; global = promoted after the K/M gate across distinct projects."
37
+ },
38
+ "project_id": {
39
+ "type": "string",
40
+ "pattern": "^[0-9a-f]{8}$",
41
+ "description": "8-char hex sha of the normalized git origin the instinct was first learned from. Required for project scope; optional for global (a promoted instinct is no longer tied to one origin)."
42
+ },
43
+ "source": {
44
+ "type": "string",
45
+ "enum": ["reflection", "extract-learnings", "user"],
46
+ "description": "Which producer minted the instinct: a reflection pass, the extract-learnings step, or a direct user assertion."
47
+ },
48
+ "cycles_seen": {
49
+ "type": "integer",
50
+ "minimum": 0,
51
+ "description": "How many distinct design cycles have surfaced this instinct. Feeds the K=2 half of the promotion gate."
52
+ },
53
+ "project_ids": {
54
+ "type": "array",
55
+ "items": { "type": "string", "pattern": "^[0-9a-f]{8}$" },
56
+ "uniqueItems": true,
57
+ "description": "Set of distinct project ids that have surfaced this instinct. Its length feeds the M=2 half of the promotion gate."
58
+ },
59
+ "first_seen": {
60
+ "type": "string",
61
+ "format": "date",
62
+ "description": "ISO date (YYYY-MM-DD) the instinct was first recorded."
63
+ },
64
+ "last_seen": {
65
+ "type": "string",
66
+ "format": "date",
67
+ "description": "ISO date (YYYY-MM-DD) the instinct was last surfaced. Resets the TTL decay window."
68
+ },
69
+ "alpha": {
70
+ "type": "number",
71
+ "minimum": 0,
72
+ "description": "Beta posterior success weight. Seeded from the Beta(2,8) prior on promotion."
73
+ },
74
+ "beta": {
75
+ "type": "number",
76
+ "minimum": 0,
77
+ "description": "Beta posterior failure weight. Seeded from the Beta(2,8) prior on promotion."
78
+ },
79
+ "prior_class": {
80
+ "type": "string",
81
+ "description": "Tag recording which prior class seeded the posterior, e.g. \"instinct\"."
82
+ }
83
+ },
84
+ "additionalProperties": false,
85
+ "allOf": [
86
+ {
87
+ "if": { "properties": { "scope": { "const": "project" } } },
88
+ "then": { "required": ["project_id"] }
89
+ }
90
+ ]
91
+ }
@@ -9,7 +9,7 @@ is a `composes_with` edge (the source calls the target as sub-orchestration); a
9
9
  a `next_skills` edge (a pipeline hint for what runs next). Stage grouping is best-effort and
10
10
  inferred from the skill name; skills with no stage keyword fall under Utility.
11
11
 
12
- Skills: 88. Composition edges: 0 composes_with, 6 next_skills.
12
+ Skills: 89. Composition edges: 0 composes_with, 6 next_skills.
13
13
 
14
14
  ```mermaid
15
15
  flowchart TD
@@ -80,6 +80,7 @@ flowchart TD
80
80
  n_graphify["graphify"]
81
81
  n_health["health"]
82
82
  n_help["help"]
83
+ n_instinct["instinct"]
83
84
  n_list_pins["list-pins"]
84
85
  n_locale["locale"]
85
86
  n_new_skill["new-skill"]