@rune-kit/rune 2.10.0 → 2.12.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.
Files changed (240) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +65 -6
  3. package/commands/rune.md +168 -168
  4. package/compiler/__tests__/detect-invariants.test.js +136 -0
  5. package/compiler/__tests__/doctor-mesh.test.js +229 -0
  6. package/compiler/__tests__/hook-dispatch.test.js +91 -0
  7. package/compiler/__tests__/hooks-antigravity.test.js +118 -0
  8. package/compiler/__tests__/hooks-cursor.test.js +139 -0
  9. package/compiler/__tests__/hooks-install.test.js +305 -0
  10. package/compiler/__tests__/hooks-merge.test.js +204 -0
  11. package/compiler/__tests__/hooks-tiers.test.js +519 -0
  12. package/compiler/__tests__/hooks-windsurf.test.js +115 -0
  13. package/compiler/__tests__/inject-claude-md.test.js +152 -0
  14. package/compiler/__tests__/load-invariants.test.js +408 -0
  15. package/compiler/__tests__/onboard-invariants.test.js +240 -0
  16. package/compiler/adapters/hooks/antigravity.js +140 -0
  17. package/compiler/adapters/hooks/claude.js +166 -0
  18. package/compiler/adapters/hooks/cursor.js +191 -0
  19. package/compiler/adapters/hooks/index.js +82 -0
  20. package/compiler/adapters/hooks/tier-emitter.js +182 -0
  21. package/compiler/adapters/hooks/windsurf.js +202 -0
  22. package/compiler/bin/rune.js +196 -6
  23. package/compiler/commands/hook-dispatch.js +87 -0
  24. package/compiler/commands/hooks/install.js +120 -0
  25. package/compiler/commands/hooks/merge.js +211 -0
  26. package/compiler/commands/hooks/presets.js +116 -0
  27. package/compiler/commands/hooks/status.js +112 -0
  28. package/compiler/commands/hooks/tiers.js +221 -0
  29. package/compiler/commands/hooks/uninstall.js +94 -0
  30. package/compiler/doctor.js +236 -0
  31. package/contexts/dev.md +34 -34
  32. package/contexts/research.md +43 -43
  33. package/contexts/review.md +55 -55
  34. package/extensions/ai-ml/PACK.md +88 -88
  35. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  36. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  37. package/extensions/ai-ml/skills/deep-research.md +146 -146
  38. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  39. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  40. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  41. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  42. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  43. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  44. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  45. package/extensions/analytics/PACK.md +92 -92
  46. package/extensions/analytics/skills/ab-testing.md +72 -72
  47. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  48. package/extensions/analytics/skills/data-validation.md +68 -68
  49. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  50. package/extensions/analytics/skills/sql-patterns.md +57 -57
  51. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  52. package/extensions/analytics/skills/tracking-setup.md +71 -71
  53. package/extensions/backend/PACK.md +104 -104
  54. package/extensions/backend/skills/api-patterns.md +84 -84
  55. package/extensions/backend/skills/async-pipeline.md +193 -193
  56. package/extensions/backend/skills/auth-patterns.md +97 -97
  57. package/extensions/backend/skills/background-jobs.md +133 -133
  58. package/extensions/backend/skills/caching-patterns.md +108 -108
  59. package/extensions/backend/skills/cli-generation.md +133 -133
  60. package/extensions/backend/skills/database-patterns.md +87 -87
  61. package/extensions/backend/skills/middleware-patterns.md +104 -104
  62. package/extensions/chrome-ext/PACK.md +93 -93
  63. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  64. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  65. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  66. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  67. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  68. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  69. package/extensions/content/PACK.md +96 -96
  70. package/extensions/content/skills/blog-patterns.md +88 -88
  71. package/extensions/content/skills/cms-integration.md +131 -131
  72. package/extensions/content/skills/content-scoring.md +107 -107
  73. package/extensions/content/skills/i18n.md +83 -83
  74. package/extensions/content/skills/mdx-authoring.md +137 -137
  75. package/extensions/content/skills/reference.md +1014 -1014
  76. package/extensions/content/skills/seo-patterns.md +67 -67
  77. package/extensions/content/skills/video-repurpose.md +153 -153
  78. package/extensions/devops/PACK.md +101 -101
  79. package/extensions/devops/skills/chaos-testing.md +67 -67
  80. package/extensions/devops/skills/ci-cd.md +75 -75
  81. package/extensions/devops/skills/docker.md +58 -58
  82. package/extensions/devops/skills/edge-serverless.md +163 -163
  83. package/extensions/devops/skills/infra-as-code.md +158 -158
  84. package/extensions/devops/skills/kubernetes.md +110 -110
  85. package/extensions/devops/skills/monitoring.md +57 -57
  86. package/extensions/devops/skills/server-setup.md +64 -64
  87. package/extensions/devops/skills/ssl-domain.md +42 -42
  88. package/extensions/ecommerce/PACK.md +116 -116
  89. package/extensions/ecommerce/skills/cart-system.md +79 -79
  90. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  91. package/extensions/ecommerce/skills/order-management.md +126 -126
  92. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  93. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  94. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  95. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  96. package/extensions/gamedev/PACK.md +142 -142
  97. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  98. package/extensions/gamedev/skills/audio-system.md +129 -129
  99. package/extensions/gamedev/skills/camera-system.md +87 -87
  100. package/extensions/gamedev/skills/ecs.md +98 -98
  101. package/extensions/gamedev/skills/game-loops.md +72 -72
  102. package/extensions/gamedev/skills/input-system.md +199 -199
  103. package/extensions/gamedev/skills/multiplayer.md +180 -180
  104. package/extensions/gamedev/skills/particles.md +105 -105
  105. package/extensions/gamedev/skills/physics-engine.md +89 -89
  106. package/extensions/gamedev/skills/scene-management.md +146 -146
  107. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  108. package/extensions/gamedev/skills/webgl.md +71 -71
  109. package/extensions/mobile/PACK.md +106 -106
  110. package/extensions/mobile/skills/app-store-connect.md +152 -152
  111. package/extensions/mobile/skills/app-store-prep.md +66 -66
  112. package/extensions/mobile/skills/deep-linking.md +109 -109
  113. package/extensions/mobile/skills/flutter.md +60 -60
  114. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  115. package/extensions/mobile/skills/native-bridge.md +66 -66
  116. package/extensions/mobile/skills/ota-updates.md +97 -97
  117. package/extensions/mobile/skills/push-notifications.md +111 -111
  118. package/extensions/mobile/skills/react-native.md +82 -82
  119. package/extensions/saas/PACK.md +116 -116
  120. package/extensions/saas/skills/billing-integration.md +200 -200
  121. package/extensions/saas/skills/feature-flags.md +130 -130
  122. package/extensions/saas/skills/multi-tenant.md +103 -103
  123. package/extensions/saas/skills/onboarding-flow.md +139 -139
  124. package/extensions/saas/skills/subscription-flow.md +95 -95
  125. package/extensions/saas/skills/team-management.md +144 -144
  126. package/extensions/security/PACK.md +99 -99
  127. package/extensions/security/skills/api-security.md +140 -140
  128. package/extensions/security/skills/compliance.md +68 -68
  129. package/extensions/security/skills/owasp-audit.md +64 -64
  130. package/extensions/security/skills/pentest-patterns.md +77 -77
  131. package/extensions/security/skills/secret-mgmt.md +65 -65
  132. package/extensions/security/skills/supply-chain.md +65 -65
  133. package/extensions/trading/PACK.md +80 -80
  134. package/extensions/trading/skills/chart-components.md +55 -55
  135. package/extensions/trading/skills/experiment-loop.md +125 -125
  136. package/extensions/trading/skills/fintech-patterns.md +47 -47
  137. package/extensions/trading/skills/indicator-library.md +58 -58
  138. package/extensions/trading/skills/quant-analysis.md +111 -111
  139. package/extensions/trading/skills/realtime-data.md +58 -58
  140. package/extensions/trading/skills/trade-logic.md +104 -104
  141. package/extensions/ui/PACK.md +130 -130
  142. package/extensions/ui/skills/a11y-audit.md +91 -91
  143. package/extensions/ui/skills/animation-patterns.md +127 -127
  144. package/extensions/ui/skills/component-patterns.md +100 -100
  145. package/extensions/ui/skills/design-decision.md +108 -108
  146. package/extensions/ui/skills/design-system.md +68 -68
  147. package/extensions/ui/skills/landing-patterns.md +155 -155
  148. package/extensions/ui/skills/palette-picker.md +173 -173
  149. package/extensions/ui/skills/react-health.md +90 -90
  150. package/extensions/ui/skills/type-system.md +125 -125
  151. package/extensions/ui/skills/web-vitals.md +153 -153
  152. package/extensions/zalo/PACK.md +145 -145
  153. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  154. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  155. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  156. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  157. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  158. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  159. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  160. package/hooks/auto-format/index.cjs +48 -48
  161. package/hooks/hooks.json +111 -111
  162. package/hooks/post-session-reflect/index.cjs +189 -189
  163. package/hooks/pre-compact/index.cjs +95 -95
  164. package/hooks/run-hook.cmd +1 -1
  165. package/hooks/secrets-scan/index.cjs +100 -100
  166. package/hooks/session-start/index.cjs +71 -71
  167. package/hooks/typecheck/index.cjs +65 -65
  168. package/package.json +63 -63
  169. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  170. package/references/ui-pro-max-data/charts.csv +26 -26
  171. package/references/ui-pro-max-data/colors.csv +161 -161
  172. package/references/ui-pro-max-data/styles.csv +68 -68
  173. package/references/ui-pro-max-data/typography.csv +74 -74
  174. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  175. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  176. package/skills/adversary/SKILL.md +283 -283
  177. package/skills/asset-creator/SKILL.md +157 -157
  178. package/skills/audit/SKILL.md +147 -2
  179. package/skills/autopsy/SKILL.md +335 -335
  180. package/skills/ba/SKILL.md +85 -1
  181. package/skills/brainstorm/SKILL.md +380 -342
  182. package/skills/browser-pilot/SKILL.md +169 -168
  183. package/skills/constraint-check/SKILL.md +165 -165
  184. package/skills/context-engine/SKILL.md +408 -404
  185. package/skills/cook/SKILL.md +917 -863
  186. package/skills/db/SKILL.md +273 -273
  187. package/skills/debug/SKILL.md +465 -465
  188. package/skills/dependency-doctor/SKILL.md +265 -235
  189. package/skills/deploy/SKILL.md +274 -231
  190. package/skills/design/DESIGN-REFERENCE.md +365 -365
  191. package/skills/design/SKILL.md +590 -589
  192. package/skills/doc-processor/SKILL.md +254 -254
  193. package/skills/docs/SKILL.md +374 -374
  194. package/skills/docs-seeker/SKILL.md +178 -177
  195. package/skills/fix/SKILL.md +332 -330
  196. package/skills/git/SKILL.md +339 -339
  197. package/skills/hallucination-guard/SKILL.md +220 -219
  198. package/skills/incident/SKILL.md +254 -253
  199. package/skills/integrity-check/SKILL.md +169 -169
  200. package/skills/journal/SKILL.md +241 -240
  201. package/skills/launch/SKILL.md +344 -344
  202. package/skills/logic-guardian/SKILL.md +269 -251
  203. package/skills/marketing/SKILL.md +351 -289
  204. package/skills/mcp-builder/SKILL.md +425 -425
  205. package/skills/neural-memory/SKILL.md +359 -362
  206. package/skills/onboard/SKILL.md +432 -403
  207. package/skills/onboard/references/invariants-template.md +76 -0
  208. package/skills/onboard/scripts/detect-invariants.js +439 -0
  209. package/skills/onboard/scripts/inject-claude-md.js +150 -0
  210. package/skills/onboard/scripts/onboard-invariants.js +194 -0
  211. package/skills/perf/SKILL.md +347 -346
  212. package/skills/plan/SKILL.md +435 -428
  213. package/skills/preflight/SKILL.md +415 -415
  214. package/skills/problem-solver/SKILL.md +380 -284
  215. package/skills/rescue/SKILL.md +474 -474
  216. package/skills/research/SKILL.md +4 -0
  217. package/skills/retro/SKILL.md +3 -1
  218. package/skills/review/SKILL.md +614 -588
  219. package/skills/review-intake/SKILL.md +249 -249
  220. package/skills/safeguard/SKILL.md +200 -200
  221. package/skills/sast/SKILL.md +190 -190
  222. package/skills/scaffold/SKILL.md +328 -287
  223. package/skills/scope-guard/SKILL.md +183 -180
  224. package/skills/scout/SKILL.md +269 -263
  225. package/skills/sentinel/SKILL.md +384 -381
  226. package/skills/sentinel-env/SKILL.md +254 -254
  227. package/skills/sequential-thinking/SKILL.md +234 -234
  228. package/skills/session-bridge/SKILL.md +595 -543
  229. package/skills/session-bridge/scripts/load-invariants.js +397 -0
  230. package/skills/skill-forge/SKILL.md +581 -581
  231. package/skills/skill-router/SKILL.md +3 -0
  232. package/skills/slides/SKILL.md +19 -0
  233. package/skills/surgeon/SKILL.md +215 -215
  234. package/skills/team/SKILL.md +557 -537
  235. package/skills/test/SKILL.md +620 -614
  236. package/skills/trend-scout/SKILL.md +145 -145
  237. package/skills/verification/SKILL.md +334 -326
  238. package/skills/video-creator/SKILL.md +201 -201
  239. package/skills/watchdog/SKILL.md +168 -168
  240. package/skills/worktree/SKILL.md +140 -140
@@ -1,165 +1,165 @@
1
- ---
2
- name: constraint-check
3
- description: "Meta-validator for HARD-GATEs. Verifies that skills' mandatory constraints were followed during a workflow. Called by cook, team, and audit to audit discipline compliance."
4
- user-invocable: false
5
- metadata:
6
- author: runedev
7
- version: "1.1.0"
8
- layer: L3
9
- model: haiku
10
- group: validation
11
- tools: "Read, Glob, Grep"
12
- ---
13
-
14
- # constraint-check
15
-
16
- ## Purpose
17
-
18
- The internal affairs department for Rune skills. Checks whether HARD-GATEs and mandatory constraints were actually followed during a workflow — not just claimed to be followed. Reads the constraint definitions from skill files and audits the conversation trail for compliance.
19
-
20
- While `completion-gate` checks if claims have evidence, `constraint-check` checks if the PROCESS was followed. Did you actually write tests before code? Did you actually get plan approval? Did you actually run sentinel?
21
-
22
- ## Triggers
23
-
24
- - Called by `cook` (L1) at end of workflow as discipline audit
25
- - Called by `team` (L1) to verify stream agents followed constraints
26
- - Called by `audit` (L2) during quality dimension assessment
27
- - `/rune constraint-check` — manual audit of current session
28
-
29
- ## Calls (outbound)
30
-
31
- None — pure read-only validator.
32
-
33
- ## Called By (inbound)
34
-
35
- - `cook` (L1): end-of-workflow discipline audit
36
- - `team` (L1): verify stream agent compliance
37
- - `audit` (L2): quality dimension
38
- - User: manual session audit
39
-
40
- ## Execution
41
-
42
- ### Step 1 — Identify Active Skills
43
-
44
- Parse the conversation/workflow to identify which skills were invoked:
45
-
46
- ```
47
- Extract from context:
48
- - Skills invoked via Skill tool (exact list)
49
- - Skills referenced in agent narrative
50
- - Phase progression (cook phases completed)
51
- ```
52
-
53
- ### Step 2 — Load Constraint Definitions
54
-
55
- For each invoked skill, extract HARD-GATEs and numbered constraints:
56
-
57
- ```
58
- For each skill in invoked_skills:
59
- Read: skills/<skill>/SKILL.md
60
- Extract:
61
- - <HARD-GATE> blocks → mandatory, violation = BLOCK
62
- - ## Constraints numbered list → required, violation = WARN
63
- - ## Mesh Gates table → required gates
64
- ```
65
-
66
- ### Step 3 — Audit Compliance
67
-
68
- Check each constraint against the conversation evidence:
69
-
70
- | Constraint Type | How to Verify | Evidence Source |
71
- |---|---|---|
72
- | "MUST write tests BEFORE code" | Test file Write/Edit timestamps before implementation Write/Edit | Tool call ordering |
73
- | "MUST get user approval" | User message containing "go"/"yes"/"proceed" after plan | Conversation history |
74
- | "MUST run verification" | Bash command with test/lint/build output | Tool call results |
75
- | "MUST show actual output" | Stdout captured in agent response | Agent messages |
76
- | "MUST NOT modify files outside scope" | Git diff files vs plan file list | Git + plan comparison |
77
- | "Iron Law: delete code before test" | No implementation code exists before test creation | Tool call ordering |
78
-
79
- ### Step 4 — Classify Violations
80
-
81
- | Violation Type | Severity | Meaning |
82
- |---------------|----------|---------|
83
- | HARD-GATE violation | BLOCK | Skill says this is non-negotiable |
84
- | Constraint violation | WARN | Skill says this is required but not fatal |
85
- | Best practice skip | INFO | Recommended but optional |
86
-
87
- ### Step 5 — Report
88
-
89
- ```
90
- ## Constraint Check Report
91
- - **Status**: COMPLIANT | VIOLATIONS_FOUND | CRITICAL_VIOLATION
92
- - **Skills Audited**: [count]
93
- - **Constraints Checked**: [count]
94
- - **Violations**: [count by severity]
95
-
96
- ### HARD-GATE Violations (BLOCK)
97
- - [skill:test] Iron Law: implementation code written at tool_call #12 BEFORE test file created at #15
98
- - [skill:cook] Plan Gate: Phase 4 started without user approval message
99
-
100
- ### Constraint Violations (WARN)
101
- - [skill:verification] Constraint 2: "All tests pass" claimed at message #20 without stdout evidence
102
- - [skill:sentinel] Constraint 3: files scanned list not included in report
103
-
104
- ### Compliance Summary
105
- | Skill | HARD-GATEs | Constraints | Status |
106
- |-------|-----------|-------------|--------|
107
- | cook | 3/3 ✓ | 6/7 (1 WARN) | WARN |
108
- | test | 0/1 ✗ | 8/9 (1 WARN) | BLOCK |
109
- | verification | 1/1 ✓ | 4/6 (2 WARN) | WARN |
110
- | sentinel | 1/1 ✓ | 7/7 ✓ | PASS |
111
-
112
- ### Remediation
113
- - BLOCK: test Iron Law — delete implementation, restart with test-first
114
- - WARN: verification — re-run and capture stdout
115
- ```
116
-
117
- ## Constraint Catalog (Quick Reference)
118
-
119
- Key HARD-GATEs across skills that constraint-check audits:
120
-
121
- | Skill | HARD-GATE | Check Method |
122
- |---|---|---|
123
- | test | Tests BEFORE code (Iron Law) | Tool call ordering |
124
- | cook | Scout before plan, plan before code | Phase progression |
125
- | plan | Every code phase has test entry | Plan content |
126
- | verification | Evidence for every claim | Stdout capture |
127
- | sentinel | BLOCK = halt pipeline | No commit after BLOCK |
128
- | preflight | BLOCK = halt pipeline | No commit after BLOCK |
129
- | debug | No code changes during debug | No Write/Edit in debug |
130
- | debug | 3-fix escalation | Fix attempt counter |
131
- | brainstorm | No implementation before approval | User message check |
132
-
133
- ## Output Format
134
-
135
- Constraint Check Report with status (COMPLIANT/VIOLATIONS_FOUND/CRITICAL_VIOLATION), HARD-GATE violations, constraint violations, compliance summary table, and remediation steps. See Step 5 Report above for full template.
136
-
137
- ## Constraints
138
-
139
- 1. MUST check all HARD-GATEs for every invoked skill — not just the ones that seem relevant
140
- 2. MUST use tool call ordering (not agent narrative) to verify temporal constraints
141
- 3. MUST distinguish HARD-GATE violations (BLOCK) from constraint violations (WARN)
142
- 4. MUST report specific evidence for each violation — not just "violated"
143
- 5. MUST NOT accept agent's self-report as compliance evidence — check independently
144
-
145
- ## Sharp Edges
146
-
147
- | Failure Mode | Severity | Mitigation |
148
- |---|---|---|
149
- | Agent self-reports compliance and constraint-check trusts it | CRITICAL | Constraint 5: check tool calls independently, not agent narrative |
150
- | Only checking cook constraints, missing test/sentinel/etc | HIGH | Constraint 1: audit ALL invoked skills, not just the orchestrator |
151
- | Temporal check wrong (tool calls reordered in context) | MEDIUM | Use tool call sequence numbers, not message ordering |
152
- | Too strict on optional steps (INFO treated as BLOCK) | LOW | Step 4 classification: only HARD-GATE = BLOCK, constraints = WARN |
153
-
154
- ## Done When
155
-
156
- - All invoked skills identified from context
157
- - HARD-GATEs and constraints extracted from each skill's SKILL.md
158
- - Each constraint checked against conversation evidence
159
- - Violations classified as BLOCK/WARN/INFO
160
- - Compliance summary table emitted per skill
161
- - Remediation steps listed for each violation
162
-
163
- ## Cost Profile
164
-
165
- ~1000-2000 tokens input, ~500-1000 tokens output. Haiku for speed — reads skill files and checks tool call ordering.
1
+ ---
2
+ name: constraint-check
3
+ description: "Meta-validator for HARD-GATEs. Verifies that skills' mandatory constraints were followed during a workflow. Called by cook, team, and audit to audit discipline compliance."
4
+ user-invocable: false
5
+ metadata:
6
+ author: runedev
7
+ version: "1.1.0"
8
+ layer: L3
9
+ model: haiku
10
+ group: validation
11
+ tools: "Read, Glob, Grep"
12
+ ---
13
+
14
+ # constraint-check
15
+
16
+ ## Purpose
17
+
18
+ The internal affairs department for Rune skills. Checks whether HARD-GATEs and mandatory constraints were actually followed during a workflow — not just claimed to be followed. Reads the constraint definitions from skill files and audits the conversation trail for compliance.
19
+
20
+ While `completion-gate` checks if claims have evidence, `constraint-check` checks if the PROCESS was followed. Did you actually write tests before code? Did you actually get plan approval? Did you actually run sentinel?
21
+
22
+ ## Triggers
23
+
24
+ - Called by `cook` (L1) at end of workflow as discipline audit
25
+ - Called by `team` (L1) to verify stream agents followed constraints
26
+ - Called by `audit` (L2) during quality dimension assessment
27
+ - `/rune constraint-check` — manual audit of current session
28
+
29
+ ## Calls (outbound)
30
+
31
+ None — pure read-only validator.
32
+
33
+ ## Called By (inbound)
34
+
35
+ - `cook` (L1): end-of-workflow discipline audit
36
+ - `team` (L1): verify stream agent compliance
37
+ - `audit` (L2): quality dimension
38
+ - User: manual session audit
39
+
40
+ ## Execution
41
+
42
+ ### Step 1 — Identify Active Skills
43
+
44
+ Parse the conversation/workflow to identify which skills were invoked:
45
+
46
+ ```
47
+ Extract from context:
48
+ - Skills invoked via Skill tool (exact list)
49
+ - Skills referenced in agent narrative
50
+ - Phase progression (cook phases completed)
51
+ ```
52
+
53
+ ### Step 2 — Load Constraint Definitions
54
+
55
+ For each invoked skill, extract HARD-GATEs and numbered constraints:
56
+
57
+ ```
58
+ For each skill in invoked_skills:
59
+ Read: skills/<skill>/SKILL.md
60
+ Extract:
61
+ - <HARD-GATE> blocks → mandatory, violation = BLOCK
62
+ - ## Constraints numbered list → required, violation = WARN
63
+ - ## Mesh Gates table → required gates
64
+ ```
65
+
66
+ ### Step 3 — Audit Compliance
67
+
68
+ Check each constraint against the conversation evidence:
69
+
70
+ | Constraint Type | How to Verify | Evidence Source |
71
+ |---|---|---|
72
+ | "MUST write tests BEFORE code" | Test file Write/Edit timestamps before implementation Write/Edit | Tool call ordering |
73
+ | "MUST get user approval" | User message containing "go"/"yes"/"proceed" after plan | Conversation history |
74
+ | "MUST run verification" | Bash command with test/lint/build output | Tool call results |
75
+ | "MUST show actual output" | Stdout captured in agent response | Agent messages |
76
+ | "MUST NOT modify files outside scope" | Git diff files vs plan file list | Git + plan comparison |
77
+ | "Iron Law: delete code before test" | No implementation code exists before test creation | Tool call ordering |
78
+
79
+ ### Step 4 — Classify Violations
80
+
81
+ | Violation Type | Severity | Meaning |
82
+ |---------------|----------|---------|
83
+ | HARD-GATE violation | BLOCK | Skill says this is non-negotiable |
84
+ | Constraint violation | WARN | Skill says this is required but not fatal |
85
+ | Best practice skip | INFO | Recommended but optional |
86
+
87
+ ### Step 5 — Report
88
+
89
+ ```
90
+ ## Constraint Check Report
91
+ - **Status**: COMPLIANT | VIOLATIONS_FOUND | CRITICAL_VIOLATION
92
+ - **Skills Audited**: [count]
93
+ - **Constraints Checked**: [count]
94
+ - **Violations**: [count by severity]
95
+
96
+ ### HARD-GATE Violations (BLOCK)
97
+ - [skill:test] Iron Law: implementation code written at tool_call #12 BEFORE test file created at #15
98
+ - [skill:cook] Plan Gate: Phase 4 started without user approval message
99
+
100
+ ### Constraint Violations (WARN)
101
+ - [skill:verification] Constraint 2: "All tests pass" claimed at message #20 without stdout evidence
102
+ - [skill:sentinel] Constraint 3: files scanned list not included in report
103
+
104
+ ### Compliance Summary
105
+ | Skill | HARD-GATEs | Constraints | Status |
106
+ |-------|-----------|-------------|--------|
107
+ | cook | 3/3 ✓ | 6/7 (1 WARN) | WARN |
108
+ | test | 0/1 ✗ | 8/9 (1 WARN) | BLOCK |
109
+ | verification | 1/1 ✓ | 4/6 (2 WARN) | WARN |
110
+ | sentinel | 1/1 ✓ | 7/7 ✓ | PASS |
111
+
112
+ ### Remediation
113
+ - BLOCK: test Iron Law — delete implementation, restart with test-first
114
+ - WARN: verification — re-run and capture stdout
115
+ ```
116
+
117
+ ## Constraint Catalog (Quick Reference)
118
+
119
+ Key HARD-GATEs across skills that constraint-check audits:
120
+
121
+ | Skill | HARD-GATE | Check Method |
122
+ |---|---|---|
123
+ | test | Tests BEFORE code (Iron Law) | Tool call ordering |
124
+ | cook | Scout before plan, plan before code | Phase progression |
125
+ | plan | Every code phase has test entry | Plan content |
126
+ | verification | Evidence for every claim | Stdout capture |
127
+ | sentinel | BLOCK = halt pipeline | No commit after BLOCK |
128
+ | preflight | BLOCK = halt pipeline | No commit after BLOCK |
129
+ | debug | No code changes during debug | No Write/Edit in debug |
130
+ | debug | 3-fix escalation | Fix attempt counter |
131
+ | brainstorm | No implementation before approval | User message check |
132
+
133
+ ## Output Format
134
+
135
+ Constraint Check Report with status (COMPLIANT/VIOLATIONS_FOUND/CRITICAL_VIOLATION), HARD-GATE violations, constraint violations, compliance summary table, and remediation steps. See Step 5 Report above for full template.
136
+
137
+ ## Constraints
138
+
139
+ 1. MUST check all HARD-GATEs for every invoked skill — not just the ones that seem relevant
140
+ 2. MUST use tool call ordering (not agent narrative) to verify temporal constraints
141
+ 3. MUST distinguish HARD-GATE violations (BLOCK) from constraint violations (WARN)
142
+ 4. MUST report specific evidence for each violation — not just "violated"
143
+ 5. MUST NOT accept agent's self-report as compliance evidence — check independently
144
+
145
+ ## Sharp Edges
146
+
147
+ | Failure Mode | Severity | Mitigation |
148
+ |---|---|---|
149
+ | Agent self-reports compliance and constraint-check trusts it | CRITICAL | Constraint 5: check tool calls independently, not agent narrative |
150
+ | Only checking cook constraints, missing test/sentinel/etc | HIGH | Constraint 1: audit ALL invoked skills, not just the orchestrator |
151
+ | Temporal check wrong (tool calls reordered in context) | MEDIUM | Use tool call sequence numbers, not message ordering |
152
+ | Too strict on optional steps (INFO treated as BLOCK) | LOW | Step 4 classification: only HARD-GATE = BLOCK, constraints = WARN |
153
+
154
+ ## Done When
155
+
156
+ - All invoked skills identified from context
157
+ - HARD-GATEs and constraints extracted from each skill's SKILL.md
158
+ - Each constraint checked against conversation evidence
159
+ - Violations classified as BLOCK/WARN/INFO
160
+ - Compliance summary table emitted per skill
161
+ - Remediation steps listed for each violation
162
+
163
+ ## Cost Profile
164
+
165
+ ~1000-2000 tokens input, ~500-1000 tokens output. Haiku for speed — reads skill files and checks tool call ordering.