@aria_asi/cli 0.2.39 → 0.2.41

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 (802) hide show
  1. package/bin/aria.js +236 -34
  2. package/dist/aria-connector/src/action-ledger-core.d.ts +387 -0
  3. package/dist/aria-connector/src/action-ledger-core.d.ts.map +1 -0
  4. package/dist/aria-connector/src/action-ledger-core.js +638 -0
  5. package/dist/aria-connector/src/action-ledger-core.js.map +1 -0
  6. package/dist/aria-connector/src/chat.d.ts.map +1 -1
  7. package/dist/aria-connector/src/chat.js +5 -6
  8. package/dist/aria-connector/src/chat.js.map +1 -1
  9. package/dist/aria-connector/src/codebase-scanner.d.ts +1 -1
  10. package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
  11. package/dist/aria-connector/src/connectors/claude-code.d.ts +1 -0
  12. package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
  13. package/dist/aria-connector/src/connectors/claude-code.js +152 -14
  14. package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
  15. package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +10 -0
  16. package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -1
  17. package/dist/aria-connector/src/connectors/codebase-awareness.js +276 -27
  18. package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -1
  19. package/dist/aria-connector/src/connectors/codex.d.ts +3 -1
  20. package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
  21. package/dist/aria-connector/src/connectors/codex.js +1271 -40
  22. package/dist/aria-connector/src/connectors/codex.js.map +1 -1
  23. package/dist/aria-connector/src/connectors/cursor.d.ts.map +1 -1
  24. package/dist/aria-connector/src/connectors/cursor.js +7 -0
  25. package/dist/aria-connector/src/connectors/cursor.js.map +1 -1
  26. package/dist/aria-connector/src/connectors/governed-adapter.d.ts +30 -0
  27. package/dist/aria-connector/src/connectors/governed-adapter.d.ts.map +1 -0
  28. package/dist/aria-connector/src/connectors/governed-adapter.js +132 -0
  29. package/dist/aria-connector/src/connectors/governed-adapter.js.map +1 -0
  30. package/dist/aria-connector/src/connectors/opencode.d.ts +3 -1
  31. package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
  32. package/dist/aria-connector/src/connectors/opencode.js +18 -2
  33. package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
  34. package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -1
  35. package/dist/aria-connector/src/connectors/repo-guard.js +25 -14
  36. package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -1
  37. package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
  38. package/dist/aria-connector/src/connectors/runtime.js +92 -2
  39. package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
  40. package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
  41. package/dist/aria-connector/src/connectors/shell.js +123 -7
  42. package/dist/aria-connector/src/connectors/shell.js.map +1 -1
  43. package/dist/aria-connector/src/cross-cli-hive-binding.d.ts +63 -0
  44. package/dist/aria-connector/src/cross-cli-hive-binding.d.ts.map +1 -0
  45. package/dist/aria-connector/src/cross-cli-hive-binding.js +205 -0
  46. package/dist/aria-connector/src/cross-cli-hive-binding.js.map +1 -0
  47. package/dist/aria-connector/src/garden-control-plane.d.ts +6 -1
  48. package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
  49. package/dist/aria-connector/src/garden-control-plane.js +8 -2
  50. package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
  51. package/dist/aria-connector/src/governed-surface-runner.d.ts +189 -0
  52. package/dist/aria-connector/src/governed-surface-runner.d.ts.map +1 -0
  53. package/dist/aria-connector/src/governed-surface-runner.js +1022 -0
  54. package/dist/aria-connector/src/governed-surface-runner.js.map +1 -0
  55. package/dist/aria-connector/src/index.d.ts +10 -1
  56. package/dist/aria-connector/src/index.d.ts.map +1 -1
  57. package/dist/aria-connector/src/index.js +5 -0
  58. package/dist/aria-connector/src/index.js.map +1 -1
  59. package/dist/aria-connector/src/task-runner.d.ts +3 -0
  60. package/dist/aria-connector/src/task-runner.d.ts.map +1 -0
  61. package/dist/aria-connector/src/task-runner.js +3526 -0
  62. package/dist/aria-connector/src/task-runner.js.map +1 -0
  63. package/dist/aria-web/src/lib/codebase-scanner.d.ts +21 -2
  64. package/dist/aria-web/src/lib/codebase-scanner.d.ts.map +1 -1
  65. package/dist/aria-web/src/lib/codebase-scanner.js +59 -14
  66. package/dist/aria-web/src/lib/codebase-scanner.js.map +1 -1
  67. package/dist/assets/hooks/README.md +58 -0
  68. package/dist/assets/hooks/aria-agent-handoff.mjs +147 -2
  69. package/dist/assets/hooks/aria-agent-ledger-merge.mjs +31 -7
  70. package/dist/assets/hooks/aria-architect-fallback.mjs +10 -2
  71. package/dist/assets/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
  72. package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +84 -10
  73. package/dist/assets/hooks/aria-first-class-coach.mjs +305 -10
  74. package/dist/assets/hooks/aria-harness-via-sdk.mjs +93 -16
  75. package/dist/assets/hooks/aria-import-resolution-gate.mjs +106 -20
  76. package/dist/assets/hooks/aria-outcome-record.mjs +56 -20
  77. package/dist/assets/hooks/aria-pre-emit-autoload.mjs +1809 -0
  78. package/dist/assets/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
  79. package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +22 -3
  80. package/dist/assets/hooks/aria-pre-text-gate.mjs +11 -2
  81. package/dist/assets/hooks/aria-pre-tool-gate.mjs +516 -92
  82. package/dist/assets/hooks/aria-pre-tool-use.mjs +70 -6
  83. package/dist/assets/hooks/aria-preprompt-consult.mjs +23 -4
  84. package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +29 -3
  85. package/dist/assets/hooks/aria-stop-gate.mjs +585 -76
  86. package/dist/assets/hooks/aria-trigger-autolearn.mjs +17 -3
  87. package/dist/assets/hooks/aria-universal-turn-packet.mjs +1165 -0
  88. package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +9 -1
  89. package/dist/assets/hooks/canonical-settings-block.json +172 -0
  90. package/dist/assets/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
  91. package/dist/assets/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
  92. package/dist/assets/hooks/codex-native/aria-live-ticker.mjs +38 -0
  93. package/dist/assets/hooks/codex-native/aria-post-tool-use.mjs +236 -0
  94. package/dist/assets/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
  95. package/dist/assets/hooks/codex-native/aria-stop.mjs +691 -0
  96. package/dist/assets/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
  97. package/dist/assets/hooks/codex-native/atlas-session-context.mjs +121 -0
  98. package/dist/assets/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
  99. package/dist/assets/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
  100. package/dist/assets/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
  101. package/dist/assets/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
  102. package/dist/assets/hooks/codex-native/lib/runtime-client.mjs +3567 -0
  103. package/dist/assets/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
  104. package/dist/assets/hooks/doctrine_trigger_map.json +236 -25
  105. package/dist/assets/hooks/doctrine_trigger_map.schema.json +46 -0
  106. package/dist/assets/hooks/install.sh +84 -0
  107. package/dist/assets/hooks/lib/action-ledger-core.mjs +269 -0
  108. package/dist/assets/hooks/lib/aria-gate-ledger.mjs +143 -0
  109. package/dist/assets/hooks/lib/ast-stub-shape-detector.mjs +107 -0
  110. package/dist/assets/hooks/lib/atlas-dossier-client.mjs +151 -0
  111. package/dist/assets/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
  112. package/dist/assets/hooks/lib/canonical-lenses.mjs +83 -6
  113. package/dist/assets/hooks/lib/coach-intent-classifier.mjs +248 -0
  114. package/dist/assets/hooks/lib/cognitive-block-parser.mjs +111 -0
  115. package/dist/assets/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
  116. package/dist/assets/hooks/lib/domain-output-quality.mjs +132 -3
  117. package/dist/assets/hooks/lib/empty-catch-scanner.mjs +91 -0
  118. package/dist/assets/hooks/lib/end-phase-qa-autofire.mjs +426 -0
  119. package/dist/assets/hooks/lib/evaluate-with-kernel.mjs +133 -0
  120. package/dist/assets/hooks/lib/first-class-coach.mjs +454 -19
  121. package/dist/assets/hooks/lib/gate-audit.mjs +12 -2
  122. package/dist/assets/hooks/lib/gate-loop-state.mjs +11 -2
  123. package/dist/assets/hooks/lib/goal-contract-quality.mjs +302 -0
  124. package/dist/assets/hooks/lib/hook-message-window.mjs +101 -9
  125. package/dist/assets/hooks/lib/invocation-required-verifier.mjs +184 -0
  126. package/dist/assets/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
  127. package/dist/assets/hooks/lib/obligation-ledger.mjs +147 -0
  128. package/dist/assets/hooks/lib/orchestration-manifest-extract.mjs +217 -0
  129. package/dist/assets/hooks/lib/owner-authorizations.mjs +269 -0
  130. package/dist/assets/hooks/lib/probe-discipline-scanner.mjs +142 -0
  131. package/dist/assets/hooks/lib/project-boundary-cognition.mjs +143 -0
  132. package/dist/assets/hooks/lib/recovery-context.mjs +151 -0
  133. package/dist/assets/hooks/lib/recovery-template-loader.mjs +154 -0
  134. package/dist/assets/hooks/lib/self-doctrine-check.mjs +321 -0
  135. package/dist/assets/hooks/lib/sensitive-shape-detector.mjs +64 -0
  136. package/dist/assets/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
  137. package/dist/assets/hooks/lib/stop-hook-protocol.mjs +166 -0
  138. package/dist/assets/hooks/lib/surface-caught.mjs +94 -0
  139. package/dist/assets/hooks/recovery-templates/force-reauthor.md +67 -0
  140. package/dist/assets/hooks/recovery-templates/handoff-recovery.md +25 -0
  141. package/dist/assets/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
  142. package/dist/assets/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
  143. package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +2 -2
  144. package/dist/assets/hooks/test-tier-lens-labeling.mjs +14 -3
  145. package/dist/assets/opencode-plugins/harness-context/index.js +39 -6
  146. package/dist/assets/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
  147. package/dist/assets/opencode-plugins/harness-gate/index.js +36 -0
  148. package/dist/assets/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
  149. package/dist/assets/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
  150. package/dist/assets/opencode-plugins/harness-outcome/index.js +12 -0
  151. package/dist/assets/opencode-plugins/harness-stop/index.js +97 -2
  152. package/dist/assets/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
  153. package/dist/assets/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
  154. package/dist/assets/opencode-plugins/lib/coach.js +148 -0
  155. package/dist/runtime/coach-kernel.mjs +144 -7
  156. package/dist/runtime/codex-bridge.mjs +254 -8
  157. package/dist/runtime/discipline/doctrine_trigger_map.json +236 -25
  158. package/dist/runtime/discipline/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
  159. package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
  160. package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
  161. package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
  162. package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
  163. package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
  164. package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
  165. package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
  166. package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
  167. package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
  168. package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
  169. package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
  170. package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
  171. package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
  172. package/dist/runtime/discipline/skills/aria-cognition/aria-chat/SKILL.md +84 -0
  173. package/dist/runtime/discipline/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
  174. package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
  175. package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
  176. package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
  177. package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
  178. package/dist/runtime/discipline/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
  179. package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
  180. package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
  181. package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
  182. package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
  183. package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
  184. package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
  185. package/dist/runtime/discipline/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
  186. package/dist/runtime/discipline/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
  187. package/dist/runtime/discipline/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
  188. package/dist/runtime/discipline/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
  189. package/dist/runtime/discipline/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
  190. package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
  191. package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
  192. package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
  193. package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
  194. package/dist/runtime/discipline/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
  195. package/dist/runtime/discipline/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
  196. package/dist/runtime/discipline/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
  197. package/dist/runtime/discipline/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
  198. package/dist/runtime/discipline/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
  199. package/dist/runtime/discipline/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
  200. package/dist/runtime/discipline/skills/aria-cognition/aria-ops/SKILL.md +60 -0
  201. package/dist/runtime/discipline/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
  202. package/dist/runtime/discipline/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
  203. package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
  204. package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
  205. package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
  206. package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
  207. package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
  208. package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
  209. package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
  210. package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
  211. package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
  212. package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
  213. package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
  214. package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
  215. package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
  216. package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
  217. package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
  218. package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
  219. package/dist/runtime/discipline/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
  220. package/dist/runtime/discipline/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
  221. package/dist/runtime/discipline/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
  222. package/dist/runtime/discipline/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
  223. package/dist/runtime/discipline/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
  224. package/dist/runtime/discipline/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
  225. package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
  226. package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
  227. package/dist/runtime/discipline/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
  228. package/dist/runtime/discipline/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
  229. package/dist/runtime/discipline/skills/aria-cognition/never-guess/SKILL.md +77 -0
  230. package/dist/runtime/discipline/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
  231. package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
  232. package/dist/runtime/discipline/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
  233. package/dist/runtime/discipline/skills/aria-cognition/tadabbur/SKILL.md +506 -0
  234. package/dist/runtime/discipline/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
  235. package/dist/runtime/discipline/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
  236. package/dist/runtime/discipline/skills/aria-cognition/tafakkur/SKILL.md +104 -0
  237. package/dist/runtime/doctrine_trigger_map.json +236 -25
  238. package/dist/runtime/embedded-public-key.mjs +27 -0
  239. package/dist/runtime/gated-ledger.mjs +41 -14
  240. package/dist/runtime/harness-daemon.mjs +85 -10
  241. package/dist/runtime/hive-wal-publisher.mjs +292 -0
  242. package/dist/runtime/hooks/README.md +58 -0
  243. package/dist/runtime/hooks/aria-agent-handoff.mjs +147 -2
  244. package/dist/runtime/hooks/aria-agent-ledger-merge.mjs +31 -7
  245. package/dist/runtime/hooks/aria-architect-fallback.mjs +10 -2
  246. package/dist/runtime/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
  247. package/dist/runtime/hooks/aria-cognition-substrate-binding.mjs +84 -10
  248. package/dist/runtime/hooks/aria-first-class-coach.mjs +305 -10
  249. package/dist/runtime/hooks/aria-harness-via-sdk.mjs +93 -16
  250. package/dist/runtime/hooks/aria-import-resolution-gate.mjs +106 -20
  251. package/dist/runtime/hooks/aria-outcome-record.mjs +56 -20
  252. package/dist/runtime/hooks/aria-pre-emit-autoload.mjs +1809 -0
  253. package/dist/runtime/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
  254. package/dist/runtime/hooks/aria-pre-emit-dryrun.mjs +22 -3
  255. package/dist/runtime/hooks/aria-pre-text-gate.mjs +11 -2
  256. package/dist/runtime/hooks/aria-pre-tool-gate.mjs +516 -92
  257. package/dist/runtime/hooks/aria-pre-tool-use.mjs +70 -6
  258. package/dist/runtime/hooks/aria-preprompt-consult.mjs +23 -4
  259. package/dist/runtime/hooks/aria-repo-doctrine-gate.mjs +29 -3
  260. package/dist/runtime/hooks/aria-stop-gate.mjs +585 -76
  261. package/dist/runtime/hooks/aria-trigger-autolearn.mjs +17 -3
  262. package/dist/runtime/hooks/aria-universal-turn-packet.mjs +1165 -0
  263. package/dist/runtime/hooks/aria-userprompt-abandon-detect.mjs +9 -1
  264. package/dist/runtime/hooks/canonical-settings-block.json +172 -0
  265. package/dist/runtime/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
  266. package/dist/runtime/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
  267. package/dist/runtime/hooks/codex-native/aria-live-ticker.mjs +38 -0
  268. package/dist/runtime/hooks/codex-native/aria-post-tool-use.mjs +236 -0
  269. package/dist/runtime/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
  270. package/dist/runtime/hooks/codex-native/aria-stop.mjs +691 -0
  271. package/dist/runtime/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
  272. package/dist/runtime/hooks/codex-native/atlas-session-context.mjs +121 -0
  273. package/dist/runtime/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
  274. package/dist/runtime/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
  275. package/dist/runtime/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
  276. package/dist/runtime/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
  277. package/dist/runtime/hooks/codex-native/lib/runtime-client.mjs +3567 -0
  278. package/dist/runtime/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
  279. package/dist/runtime/hooks/doctrine_trigger_map.json +236 -25
  280. package/dist/runtime/hooks/doctrine_trigger_map.schema.json +46 -0
  281. package/dist/runtime/hooks/install.sh +84 -0
  282. package/dist/runtime/hooks/lib/action-ledger-core.mjs +269 -0
  283. package/dist/runtime/hooks/lib/aria-gate-ledger.mjs +143 -0
  284. package/dist/runtime/hooks/lib/ast-stub-shape-detector.mjs +107 -0
  285. package/dist/runtime/hooks/lib/atlas-dossier-client.mjs +151 -0
  286. package/dist/runtime/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
  287. package/dist/runtime/hooks/lib/canonical-lenses.mjs +83 -6
  288. package/dist/runtime/hooks/lib/coach-intent-classifier.mjs +248 -0
  289. package/dist/runtime/hooks/lib/cognitive-block-parser.mjs +111 -0
  290. package/dist/runtime/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
  291. package/dist/runtime/hooks/lib/domain-output-quality.mjs +132 -3
  292. package/dist/runtime/hooks/lib/empty-catch-scanner.mjs +91 -0
  293. package/dist/runtime/hooks/lib/end-phase-qa-autofire.mjs +426 -0
  294. package/dist/runtime/hooks/lib/evaluate-with-kernel.mjs +133 -0
  295. package/dist/runtime/hooks/lib/first-class-coach.mjs +454 -19
  296. package/dist/runtime/hooks/lib/gate-audit.mjs +12 -2
  297. package/dist/runtime/hooks/lib/gate-loop-state.mjs +11 -2
  298. package/dist/runtime/hooks/lib/goal-contract-quality.mjs +302 -0
  299. package/dist/runtime/hooks/lib/hook-message-window.mjs +101 -9
  300. package/dist/runtime/hooks/lib/invocation-required-verifier.mjs +184 -0
  301. package/dist/runtime/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
  302. package/dist/runtime/hooks/lib/obligation-ledger.mjs +147 -0
  303. package/dist/runtime/hooks/lib/orchestration-manifest-extract.mjs +217 -0
  304. package/dist/runtime/hooks/lib/owner-authorizations.mjs +269 -0
  305. package/dist/runtime/hooks/lib/probe-discipline-scanner.mjs +142 -0
  306. package/dist/runtime/hooks/lib/project-boundary-cognition.mjs +143 -0
  307. package/dist/runtime/hooks/lib/recovery-context.mjs +151 -0
  308. package/dist/runtime/hooks/lib/recovery-template-loader.mjs +154 -0
  309. package/dist/runtime/hooks/lib/self-doctrine-check.mjs +321 -0
  310. package/dist/runtime/hooks/lib/sensitive-shape-detector.mjs +64 -0
  311. package/dist/runtime/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
  312. package/dist/runtime/hooks/lib/stop-hook-protocol.mjs +166 -0
  313. package/dist/runtime/hooks/lib/surface-caught.mjs +94 -0
  314. package/dist/runtime/hooks/recovery-templates/force-reauthor.md +67 -0
  315. package/dist/runtime/hooks/recovery-templates/handoff-recovery.md +25 -0
  316. package/dist/runtime/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
  317. package/dist/runtime/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
  318. package/dist/runtime/hooks/test-aria-preturn-memory-gate.mjs +2 -2
  319. package/dist/runtime/hooks/test-tier-lens-labeling.mjs +14 -3
  320. package/dist/runtime/lib/evaluate-with-kernel.mjs +133 -0
  321. package/dist/runtime/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
  322. package/dist/runtime/local-phase.mjs +10 -5
  323. package/dist/runtime/manifest.json +8 -8
  324. package/dist/runtime/packet-verifier.mjs +166 -0
  325. package/dist/runtime/provider-proxy.mjs +13 -0
  326. package/dist/runtime/quality-enforcer.mjs +40 -23
  327. package/dist/runtime/runtime-rails/registry.mjs +252 -0
  328. package/dist/runtime/sdk/BUNDLED.json +2 -2
  329. package/dist/runtime/sdk/index.d.ts +119 -4
  330. package/dist/runtime/sdk/index.js +138 -12
  331. package/dist/runtime/sdk/index.js.map +1 -1
  332. package/dist/runtime/service.mjs +8036 -764
  333. package/dist/runtime/sub-agent-enforcer.mjs +201 -0
  334. package/dist/runtime/task-project-ledger.mjs +5 -1
  335. package/dist/sdk/BUNDLED.json +2 -2
  336. package/dist/sdk/index.d.ts +119 -4
  337. package/dist/sdk/index.js +138 -12
  338. package/dist/sdk/index.js.map +1 -1
  339. package/hooks/README.md +58 -0
  340. package/hooks/aria-agent-handoff.mjs +147 -2
  341. package/hooks/aria-agent-ledger-merge.mjs +31 -7
  342. package/hooks/aria-architect-fallback.mjs +10 -2
  343. package/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
  344. package/hooks/aria-cognition-substrate-binding.mjs +84 -10
  345. package/hooks/aria-first-class-coach.mjs +305 -10
  346. package/hooks/aria-harness-via-sdk.mjs +93 -16
  347. package/hooks/aria-import-resolution-gate.mjs +106 -20
  348. package/hooks/aria-outcome-record.mjs +56 -20
  349. package/hooks/aria-pre-emit-autoload.mjs +1809 -0
  350. package/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
  351. package/hooks/aria-pre-emit-dryrun.mjs +22 -3
  352. package/hooks/aria-pre-text-gate.mjs +11 -2
  353. package/hooks/aria-pre-tool-gate.mjs +516 -92
  354. package/hooks/aria-pre-tool-use.mjs +70 -6
  355. package/hooks/aria-preprompt-consult.mjs +23 -4
  356. package/hooks/aria-repo-doctrine-gate.mjs +29 -3
  357. package/hooks/aria-stop-gate.mjs +585 -76
  358. package/hooks/aria-trigger-autolearn.mjs +17 -3
  359. package/hooks/aria-universal-turn-packet.mjs +1165 -0
  360. package/hooks/aria-userprompt-abandon-detect.mjs +9 -1
  361. package/hooks/canonical-settings-block.json +172 -0
  362. package/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
  363. package/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
  364. package/hooks/codex-native/aria-live-ticker.mjs +38 -0
  365. package/hooks/codex-native/aria-post-tool-use.mjs +236 -0
  366. package/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
  367. package/hooks/codex-native/aria-stop.mjs +691 -0
  368. package/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
  369. package/hooks/codex-native/atlas-session-context.mjs +121 -0
  370. package/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
  371. package/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
  372. package/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
  373. package/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
  374. package/hooks/codex-native/lib/runtime-client.mjs +3567 -0
  375. package/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
  376. package/hooks/doctrine_trigger_map.json +236 -25
  377. package/hooks/doctrine_trigger_map.schema.json +46 -0
  378. package/hooks/install.sh +84 -0
  379. package/hooks/lib/action-ledger-core.mjs +269 -0
  380. package/hooks/lib/aria-gate-ledger.mjs +143 -0
  381. package/hooks/lib/ast-stub-shape-detector.mjs +107 -0
  382. package/hooks/lib/atlas-dossier-client.mjs +151 -0
  383. package/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
  384. package/hooks/lib/canonical-lenses.mjs +83 -6
  385. package/hooks/lib/coach-intent-classifier.mjs +248 -0
  386. package/hooks/lib/cognitive-block-parser.mjs +111 -0
  387. package/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
  388. package/hooks/lib/domain-output-quality.mjs +132 -3
  389. package/hooks/lib/empty-catch-scanner.mjs +91 -0
  390. package/hooks/lib/end-phase-qa-autofire.mjs +426 -0
  391. package/hooks/lib/evaluate-with-kernel.mjs +133 -0
  392. package/hooks/lib/first-class-coach.mjs +454 -19
  393. package/hooks/lib/gate-audit.mjs +12 -2
  394. package/hooks/lib/gate-loop-state.mjs +11 -2
  395. package/hooks/lib/goal-contract-quality.mjs +302 -0
  396. package/hooks/lib/hook-message-window.mjs +101 -9
  397. package/hooks/lib/invocation-required-verifier.mjs +184 -0
  398. package/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
  399. package/hooks/lib/obligation-ledger.mjs +147 -0
  400. package/hooks/lib/orchestration-manifest-extract.mjs +217 -0
  401. package/hooks/lib/owner-authorizations.mjs +269 -0
  402. package/hooks/lib/probe-discipline-scanner.mjs +142 -0
  403. package/hooks/lib/project-boundary-cognition.mjs +143 -0
  404. package/hooks/lib/recovery-context.mjs +151 -0
  405. package/hooks/lib/recovery-template-loader.mjs +154 -0
  406. package/hooks/lib/self-doctrine-check.mjs +321 -0
  407. package/hooks/lib/sensitive-shape-detector.mjs +64 -0
  408. package/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
  409. package/hooks/lib/stop-hook-protocol.mjs +166 -0
  410. package/hooks/lib/surface-caught.mjs +94 -0
  411. package/hooks/recovery-templates/force-reauthor.md +67 -0
  412. package/hooks/recovery-templates/handoff-recovery.md +25 -0
  413. package/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
  414. package/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
  415. package/hooks/test-aria-preturn-memory-gate.mjs +2 -2
  416. package/hooks/test-tier-lens-labeling.mjs +14 -3
  417. package/opencode-plugins/harness-context/index.js +39 -6
  418. package/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
  419. package/opencode-plugins/harness-gate/index.js +36 -0
  420. package/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
  421. package/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
  422. package/opencode-plugins/harness-outcome/index.js +12 -0
  423. package/opencode-plugins/harness-stop/index.js +97 -2
  424. package/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
  425. package/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
  426. package/opencode-plugins/lib/coach.js +148 -0
  427. package/package.json +71 -5
  428. package/runtime-src/coach-kernel.mjs +144 -7
  429. package/runtime-src/codex-bridge.mjs +254 -8
  430. package/runtime-src/embedded-public-key.mjs +27 -0
  431. package/runtime-src/gated-ledger.mjs +41 -14
  432. package/runtime-src/harness-daemon.mjs +85 -10
  433. package/runtime-src/hive-wal-publisher.mjs +292 -0
  434. package/runtime-src/lib/evaluate-with-kernel.mjs +133 -0
  435. package/runtime-src/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
  436. package/runtime-src/local-phase.mjs +10 -5
  437. package/runtime-src/packet-verifier.mjs +166 -0
  438. package/runtime-src/provider-proxy.mjs +13 -0
  439. package/runtime-src/quality-enforcer.mjs +40 -23
  440. package/runtime-src/runtime-rails/registry.mjs +252 -0
  441. package/runtime-src/service.mjs +8036 -764
  442. package/runtime-src/sub-agent-enforcer.mjs +201 -0
  443. package/scripts/aria-ledger-append.mjs +337 -0
  444. package/scripts/aria-task-cheap-worker-dispatch.mjs +234 -0
  445. package/scripts/audit-of-audit-prior-tasks.mjs +194 -0
  446. package/scripts/audit-of-audit-this-turn.mjs +116 -0
  447. package/scripts/bundle-sdk.mjs +31 -5
  448. package/scripts/check-cli-wrapper-provider-contract.mjs +160 -0
  449. package/scripts/check-client-compatibility.mjs +15 -5
  450. package/scripts/check-client-smoke.mjs +297 -0
  451. package/scripts/check-codex-orchestrator-adoption.mjs +150 -0
  452. package/scripts/check-glm-env-wired.mjs +131 -0
  453. package/scripts/check-hive-local-storage-contract.mjs +91 -0
  454. package/scripts/check-hook-mirror.mjs +150 -0
  455. package/scripts/check-install-sh-drift.mjs +152 -0
  456. package/scripts/check-kernel-sync.mjs +101 -0
  457. package/scripts/check-package-artifact.mjs +152 -0
  458. package/scripts/check-registry-mirror.mjs +71 -0
  459. package/scripts/drain-owner-airtable-sync-queue.mjs +287 -0
  460. package/scripts/export-owner-status-sheets.mjs +589 -0
  461. package/scripts/live-sidecar-receipt-canary.mjs +347 -0
  462. package/scripts/qiyas-tadabbur-model-matrix.mjs +970 -0
  463. package/scripts/quality-ab-live-provider.mjs +913 -0
  464. package/scripts/self-test-action-ledger-core.mjs +190 -0
  465. package/scripts/self-test-approval-receipt-binding.mjs +122 -0
  466. package/scripts/self-test-autofire-quality-output.mjs +110 -0
  467. package/scripts/self-test-claude-code-action-ledger.mjs +132 -0
  468. package/scripts/self-test-claude-code-mechanical-autofire-hive.mjs +138 -0
  469. package/scripts/self-test-claude-code-mechanical-autofire.mjs +234 -0
  470. package/scripts/self-test-codebase-awareness-atlas-delta.mjs +159 -0
  471. package/scripts/self-test-codebase-awareness-delta-ingest.mjs +179 -0
  472. package/scripts/self-test-codex-live-hook-parity.mjs +84 -0
  473. package/scripts/self-test-codex-native-action-ledger.mjs +167 -0
  474. package/scripts/self-test-codex-native-hook-json-contract.mjs +74 -0
  475. package/scripts/self-test-codex-orchestrator-continuity.mjs +113 -0
  476. package/scripts/self-test-codex-readable-recovery.mjs +94 -0
  477. package/scripts/self-test-codex-self-harness.mjs +538 -0
  478. package/scripts/self-test-compiled-workunit.mjs +214 -0
  479. package/scripts/self-test-continuation-output-smoke.mjs +101 -0
  480. package/scripts/self-test-cross-cli-fleet-ticker.mjs +85 -0
  481. package/scripts/self-test-cross-cli-hive-adoption.mjs +125 -0
  482. package/scripts/self-test-cross-cli-hive-learning.mjs +146 -0
  483. package/scripts/self-test-cross-phase-tool-failure.mjs +110 -0
  484. package/scripts/self-test-cross-surface-action-ledger.mjs +149 -0
  485. package/scripts/self-test-end-of-phase-qa-court.mjs +616 -0
  486. package/scripts/self-test-evaluate-with-kernel.mjs +111 -0
  487. package/scripts/self-test-first-class-output-delta-proof.mjs +307 -0
  488. package/scripts/self-test-goal-contract-output-qa.mjs +73 -0
  489. package/scripts/self-test-goal-contract.mjs +35 -0
  490. package/scripts/self-test-governed-adapters.mjs +105 -0
  491. package/scripts/self-test-governed-surface-runner.mjs +198 -0
  492. package/scripts/self-test-harness-gates.mjs +15 -12
  493. package/scripts/self-test-harness-ticker-sidecar.mjs +153 -0
  494. package/scripts/self-test-hive-org-kernel.mjs +233 -0
  495. package/scripts/self-test-hive-session-coordination.mjs +156 -0
  496. package/scripts/self-test-hive-wal-consumer.mjs +111 -0
  497. package/scripts/self-test-kernel-a3-a4-selection.mjs +179 -0
  498. package/scripts/self-test-ledger-append.mjs +175 -0
  499. package/scripts/self-test-live-codex-posttool-packet-smoke.mjs +111 -0
  500. package/scripts/self-test-live-codex-pretool-packet-smoke.mjs +101 -0
  501. package/scripts/self-test-live-codex-stop-qa-kernel-smoke.mjs +43 -0
  502. package/scripts/self-test-live-wrapper-substrate-inventory.mjs +149 -0
  503. package/scripts/self-test-local-main-sync-script.mjs +47 -0
  504. package/scripts/self-test-mechanical-autofire-resolver.mjs +296 -0
  505. package/scripts/self-test-no-consult-cognitive-skills-output.mjs +135 -0
  506. package/scripts/self-test-owner-airtable-sync-queue.mjs +196 -0
  507. package/scripts/self-test-owner-airtable-sync.mjs +181 -0
  508. package/scripts/self-test-owner-sheets-action-ledger.mjs +100 -0
  509. package/scripts/self-test-production-preflight.mjs +78 -0
  510. package/scripts/self-test-project-boundary-cognition.mjs +79 -0
  511. package/scripts/self-test-qa-exec-kernel.mjs +34 -0
  512. package/scripts/self-test-qa-recovery-learning-loop.mjs +113 -0
  513. package/scripts/self-test-qiyas-label-alignment.mjs +94 -0
  514. package/scripts/self-test-recovery-context.mjs +110 -0
  515. package/scripts/self-test-repo-guard.mjs +10 -0
  516. package/scripts/self-test-runtime-health-self-heal.mjs +161 -0
  517. package/scripts/self-test-runtime-postcondition.mjs +70 -0
  518. package/scripts/self-test-soul-precommit-hook.mjs +39 -0
  519. package/scripts/self-test-stop-gate-kernel-guards.mjs +185 -0
  520. package/scripts/self-test-stop-gate.mjs +128 -0
  521. package/scripts/self-test-substrate-kernel-execution-receipt.mjs +130 -0
  522. package/scripts/self-test-substrate-open-skill-floor.mjs +87 -0
  523. package/scripts/self-test-substrate-output-quality-eval.mjs +171 -0
  524. package/scripts/self-test-task-closeout-drift.mjs +97 -0
  525. package/scripts/self-test-task-project-ledger-readiness.mjs +43 -0
  526. package/scripts/self-test-task-runner-phase-consumer.mjs +134 -0
  527. package/scripts/self-test-task-worker-lane.mjs +256 -0
  528. package/scripts/self-test-turn-substrate-qa-kernel.mjs +188 -0
  529. package/scripts/self-test-universal-action-capture.mjs +153 -0
  530. package/scripts/self-test-universal-turn-packet-entrypoints.mjs +252 -0
  531. package/scripts/self-test-universal-turn-packet.mjs +320 -0
  532. package/scripts/session-quality-backfill.mjs +253 -0
  533. package/scripts/smoke-autofire-100-prompts.mjs +481 -0
  534. package/scripts/sync-local-main-on-task-complete.mjs +278 -0
  535. package/scripts/sync-owner-status-airtable.mjs +1158 -0
  536. package/scripts/validate-skill-prompts.mjs +12 -1
  537. package/scripts/verify-codex-native-mirror.mjs +262 -0
  538. package/skills/34-frameworks-unified/SKILL.md +42 -0
  539. package/skills/api-design/SKILL.md +123 -0
  540. package/skills/architecture-decision/SKILL.md +105 -0
  541. package/skills/aria-aristotle-cognitives/SKILL.md +128 -0
  542. package/skills/aria-aristotle-intra-phase/SKILL.md +99 -0
  543. package/skills/aria-aristotle-post-phase/SKILL.md +116 -0
  544. package/skills/aria-aristotle-pre-phase/SKILL.md +117 -0
  545. package/skills/aria-axioms-first-principles/SKILL.md +202 -0
  546. package/skills/aria-axioms-first-principles/agents/openai.yaml +4 -0
  547. package/skills/aria-axioms-first-principles/references/source-map.md +130 -0
  548. package/skills/aria-chat/SKILL.md +84 -0
  549. package/skills/aria-chat/scripts/aria-chat.sh +57 -0
  550. package/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
  551. package/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
  552. package/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
  553. package/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
  554. package/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
  555. package/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
  556. package/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
  557. package/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
  558. package/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
  559. package/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
  560. package/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
  561. package/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
  562. package/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
  563. package/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
  564. package/skills/aria-cognition/aria-chat/SKILL.md +84 -0
  565. package/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
  566. package/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
  567. package/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
  568. package/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
  569. package/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
  570. package/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
  571. package/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
  572. package/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
  573. package/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
  574. package/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
  575. package/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
  576. package/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
  577. package/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
  578. package/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
  579. package/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
  580. package/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
  581. package/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
  582. package/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
  583. package/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
  584. package/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
  585. package/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
  586. package/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
  587. package/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
  588. package/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
  589. package/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
  590. package/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
  591. package/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
  592. package/skills/aria-cognition/aria-ops/SKILL.md +60 -0
  593. package/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
  594. package/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
  595. package/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
  596. package/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
  597. package/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
  598. package/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
  599. package/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
  600. package/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
  601. package/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
  602. package/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
  603. package/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
  604. package/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
  605. package/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
  606. package/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
  607. package/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
  608. package/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
  609. package/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
  610. package/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
  611. package/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
  612. package/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
  613. package/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
  614. package/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
  615. package/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
  616. package/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
  617. package/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
  618. package/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
  619. package/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
  620. package/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
  621. package/skills/aria-cognition/never-guess/SKILL.md +77 -0
  622. package/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
  623. package/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
  624. package/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
  625. package/skills/aria-cognition/tadabbur/SKILL.md +506 -0
  626. package/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
  627. package/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
  628. package/skills/aria-cognition/tafakkur/SKILL.md +104 -0
  629. package/skills/aria-cognition-autofire/SKILL.md +109 -0
  630. package/skills/aria-cognition-batch/SKILL.md +264 -0
  631. package/skills/aria-conversational-doctrine-discipline/SKILL.md +125 -0
  632. package/skills/aria-essence/SKILL.md +81 -0
  633. package/skills/aria-essence/references/domain-matrix.md +80 -0
  634. package/skills/aria-essence/references/evolution-loop.md +30 -0
  635. package/skills/aria-essence/references/readable-cognition.md +27 -0
  636. package/skills/aria-first-class-operating-contract/SKILL.md +104 -0
  637. package/skills/aria-forge-guardrails/SKILL.md +53 -0
  638. package/skills/aria-forge-guardrails/references/checklist.md +31 -0
  639. package/skills/aria-harness-deploy/SKILL.md +145 -0
  640. package/skills/aria-harness-no-stripping/SKILL.md +135 -0
  641. package/skills/aria-harness-onboarding/SKILL.md +130 -0
  642. package/skills/aria-harness-output-discipline/SKILL.md +120 -0
  643. package/skills/aria-harness-substrate-binding/SKILL.md +139 -0
  644. package/skills/aria-http-harness-client/SKILL.md +85 -0
  645. package/skills/aria-http-harness-client/scripts/smoke.mjs +47 -0
  646. package/skills/aria-k8s-deploy/SKILL.md +174 -0
  647. package/skills/aria-k8s-deploy/agents/openai.yaml +3 -0
  648. package/skills/aria-ladduniframe/SKILL.md +60 -0
  649. package/skills/aria-ledger-fleet-execution/SKILL.md +126 -0
  650. package/skills/aria-live-ops/SKILL.md +54 -0
  651. package/skills/aria-mac-ssh-ops/SKILL.md +100 -0
  652. package/skills/aria-memory-index/SKILL.md +42 -0
  653. package/skills/aria-noor-cognitives/SKILL.md +120 -0
  654. package/skills/aria-ops/SKILL.md +60 -0
  655. package/skills/aria-ops/references/live-endpoints.md +59 -0
  656. package/skills/aria-quality-audit/SKILL.md +133 -0
  657. package/skills/aria-reasoning/SKILL.md +67 -0
  658. package/skills/aria-reasoning/references/core-principles.md +42 -0
  659. package/skills/aria-repo-doctrine/SKILL.md +57 -0
  660. package/skills/aria-soul-principles/SKILL.md +42 -0
  661. package/skills/aria-task-codex-executor/SKILL.md +86 -0
  662. package/skills/aristotle-engine/SKILL.md +42 -0
  663. package/skills/ci-cd-pipeline/SKILL.md +116 -0
  664. package/skills/code-review/SKILL.md +131 -0
  665. package/skills/cross-domain-24/SKILL.md +42 -0
  666. package/skills/database-design/SKILL.md +124 -0
  667. package/skills/deepsoul-emotional/SKILL.md +42 -0
  668. package/skills/deno-kv-raft-pubsub/SKILL.md +561 -0
  669. package/skills/deno-kv-raft-pubsub/reference/maelstrom-integration.md +393 -0
  670. package/skills/deno-kv-raft-pubsub/reference/pubsub-api.md +376 -0
  671. package/skills/deno-kv-raft-pubsub/reference/raft-spec.md +402 -0
  672. package/skills/deno-kv-raft-pubsub/reference/state-machine.md +182 -0
  673. package/skills/error-handling/SKILL.md +159 -0
  674. package/skills/firecrawl/SKILL.md +165 -0
  675. package/skills/firecrawl/rules/install.md +82 -0
  676. package/skills/firecrawl/rules/security.md +26 -0
  677. package/skills/firecrawl-agent/SKILL.md +86 -0
  678. package/skills/firecrawl-build-interact/SKILL.md +96 -0
  679. package/skills/firecrawl-build-onboarding/SKILL.md +131 -0
  680. package/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
  681. package/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
  682. package/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
  683. package/skills/firecrawl-build-scrape/SKILL.md +97 -0
  684. package/skills/firecrawl-build-search/SKILL.md +97 -0
  685. package/skills/firecrawl-clone/SKILL.md +419 -0
  686. package/skills/firecrawl-crawl/SKILL.md +87 -0
  687. package/skills/firecrawl-download/SKILL.md +98 -0
  688. package/skills/firecrawl-interact/SKILL.md +112 -0
  689. package/skills/firecrawl-map/SKILL.md +79 -0
  690. package/skills/firecrawl-scrape/SKILL.md +97 -0
  691. package/skills/firecrawl-search/SKILL.md +88 -0
  692. package/skills/fitrah-guard/SKILL.md +78 -0
  693. package/skills/forge-quality-rules/SKILL.md +61 -0
  694. package/skills/ghazali-8lens/SKILL.md +56 -0
  695. package/skills/ijtihad-novel/SKILL.md +42 -0
  696. package/skills/ilham-intuition/SKILL.md +42 -0
  697. package/skills/imagegen/LICENSE.txt +201 -0
  698. package/skills/imagegen/SKILL.md +374 -0
  699. package/skills/imagegen/agents/openai.yaml +6 -0
  700. package/skills/imagegen/assets/imagegen-small.svg +5 -0
  701. package/skills/imagegen/assets/imagegen.png +0 -0
  702. package/skills/imagegen/references/cli.md +242 -0
  703. package/skills/imagegen/references/codex-network.md +33 -0
  704. package/skills/imagegen/references/image-api.md +90 -0
  705. package/skills/imagegen/references/prompting.md +118 -0
  706. package/skills/imagegen/references/sample-prompts.md +433 -0
  707. package/skills/imagegen/scripts/image_gen.py +995 -0
  708. package/skills/imagegen/scripts/remove_chroma_key.py +440 -0
  709. package/skills/istiqra-induction/SKILL.md +44 -0
  710. package/skills/ladunni-22/SKILL.md +53 -0
  711. package/skills/mizan/SKILL.md +90 -0
  712. package/skills/nadia/SKILL.md +56 -0
  713. package/skills/nadia-psi/SKILL.md +56 -0
  714. package/skills/never-guess/SKILL.md +75 -0
  715. package/skills/noor-recognition/SKILL.md +45 -0
  716. package/skills/observability/SKILL.md +133 -0
  717. package/skills/openai-docs/LICENSE.txt +201 -0
  718. package/skills/openai-docs/SKILL.md +100 -0
  719. package/skills/openai-docs/agents/openai.yaml +14 -0
  720. package/skills/openai-docs/assets/openai-small.svg +3 -0
  721. package/skills/openai-docs/assets/openai.png +0 -0
  722. package/skills/openai-docs/references/latest-model.md +37 -0
  723. package/skills/openai-docs/references/prompting-guide.md +244 -0
  724. package/skills/openai-docs/references/upgrade-guide.md +181 -0
  725. package/skills/openai-docs/scripts/resolve-latest-model-info.js +147 -0
  726. package/skills/pdf/LICENSE.txt +201 -0
  727. package/skills/pdf/SKILL.md +85 -0
  728. package/skills/pdf/agents/openai.yaml +5 -0
  729. package/skills/pdf/assets/pdf.png +0 -0
  730. package/skills/playwright/LICENSE.txt +201 -0
  731. package/skills/playwright/NOTICE.txt +14 -0
  732. package/skills/playwright/SKILL.md +165 -0
  733. package/skills/playwright/agents/openai.yaml +6 -0
  734. package/skills/playwright/assets/playwright-small.svg +3 -0
  735. package/skills/playwright/assets/playwright.png +0 -0
  736. package/skills/playwright/references/cli.md +116 -0
  737. package/skills/playwright/references/workflows.md +95 -0
  738. package/skills/playwright/scripts/playwright_cli.sh +25 -0
  739. package/skills/plugin-creator/SKILL.md +178 -0
  740. package/skills/plugin-creator/agents/openai.yaml +6 -0
  741. package/skills/plugin-creator/assets/plugin-creator-small.svg +3 -0
  742. package/skills/plugin-creator/assets/plugin-creator.png +0 -0
  743. package/skills/plugin-creator/references/plugin-json-spec.md +170 -0
  744. package/skills/plugin-creator/scripts/create_basic_plugin.py +301 -0
  745. package/skills/predictor/SKILL.md +43 -0
  746. package/skills/qiyas-analogy/SKILL.md +204 -0
  747. package/skills/refactoring/SKILL.md +137 -0
  748. package/skills/ruh-basis/SKILL.md +42 -0
  749. package/skills/security-review/SKILL.md +129 -0
  750. package/skills/skill-creator/SKILL.md +434 -0
  751. package/skills/skill-creator/agents/openai.yaml +5 -0
  752. package/skills/skill-creator/assets/skill-creator-small.svg +3 -0
  753. package/skills/skill-creator/assets/skill-creator.png +0 -0
  754. package/skills/skill-creator/license.txt +202 -0
  755. package/skills/skill-creator/references/openai_yaml.md +49 -0
  756. package/skills/skill-creator/scripts/generate_openai_yaml.py +226 -0
  757. package/skills/skill-creator/scripts/init_skill.py +400 -0
  758. package/skills/skill-creator/scripts/quick_validate.py +101 -0
  759. package/skills/skill-installer/LICENSE.txt +202 -0
  760. package/skills/skill-installer/SKILL.md +76 -0
  761. package/skills/skill-installer/agents/openai.yaml +5 -0
  762. package/skills/skill-installer/assets/skill-installer-small.svg +3 -0
  763. package/skills/skill-installer/assets/skill-installer.png +0 -0
  764. package/skills/skill-installer/scripts/github_utils.py +21 -0
  765. package/skills/skill-installer/scripts/install-skill-from-github.py +308 -0
  766. package/skills/skill-installer/scripts/list-skills.py +107 -0
  767. package/skills/skills-and-hooks-reference/SKILL.md +196 -0
  768. package/skills/soul-domains/SKILL.md +43 -0
  769. package/skills/tadabbur/SKILL.md +232 -0
  770. package/skills/tadabbur-ops/SKILL.md +42 -0
  771. package/skills/tafakkur/SKILL.md +104 -0
  772. package/skills/testing-strategy/SKILL.md +122 -0
  773. package/src/action-ledger-core.ts +1054 -0
  774. package/src/chat.ts +5 -6
  775. package/src/codebase-scanner.ts +2 -0
  776. package/src/connectors/claude-code.ts +149 -12
  777. package/src/connectors/codebase-awareness.ts +325 -25
  778. package/src/connectors/codex.ts +1273 -40
  779. package/src/connectors/cursor.ts +8 -0
  780. package/src/connectors/governed-adapter.ts +174 -0
  781. package/src/connectors/opencode.ts +18 -2
  782. package/src/connectors/repo-guard.ts +24 -12
  783. package/src/connectors/runtime.ts +99 -2
  784. package/src/connectors/shell.ts +125 -7
  785. package/src/cross-cli-hive-binding.ts +290 -0
  786. package/src/garden-control-plane.ts +24 -1
  787. package/src/governed-surface-runner.ts +1227 -0
  788. package/src/index.ts +104 -1
  789. package/src/task-runner.ts +3794 -0
  790. package/dist/aria-connector/src/install-hooks.d.ts +0 -18
  791. package/dist/aria-connector/src/install-hooks.d.ts.map +0 -1
  792. package/dist/aria-connector/src/install-hooks.js +0 -224
  793. package/dist/aria-connector/src/install-hooks.js.map +0 -1
  794. package/dist/aria-connector/src/onboarding-wizard.d.ts +0 -5
  795. package/dist/aria-connector/src/onboarding-wizard.d.ts.map +0 -1
  796. package/dist/aria-connector/src/onboarding-wizard.js +0 -188
  797. package/dist/aria-connector/src/onboarding-wizard.js.map +0 -1
  798. package/dist/cli-0.2.38.tgz +0 -0
  799. package/dist/install.sh +0 -13
  800. package/src/__tests__/anthropic-oauth.test.ts +0 -186
  801. package/src/__tests__/auth-commands.test.ts +0 -132
  802. package/src/__tests__/owner-login.test.ts +0 -311
@@ -0,0 +1,270 @@
1
+ # Research Orchestrator Cookbook — Decomposition, Sourcing, Synthesis Patterns
2
+
3
+ > Loaded by `aria-research-orchestrator` for external evidence acquisition.
4
+
5
+ ## 1. The Question Decomposition Frame
6
+
7
+ Before any fetch, decompose the research request into 2-5 sub-questions, each with:
8
+ - A specific source class (primary / secondary / tertiary)
9
+ - A freshness window (how recent does the source need to be)
10
+ - A success criterion (what answer would resolve this)
11
+
12
+ ### Example decomposition
13
+ **Vague request:** "Research Linear vs Asana vs Jira"
14
+
15
+ **Decomposed:**
16
+ 1. **Pricing at 10-50 seats** — primary (vendor pricing pages), freshness 30 days, success: dollar amount per seat per month at each tier
17
+ 2. **Reviews mentioning onboarding friction** — secondary (G2, Capterra, Reddit), freshness 90 days, success: 5+ recent reviews with onboarding-specific content
18
+ 3. **Market share / dominant choice for SMB SaaS** — secondary/tertiary (industry reports, LinkedIn polls, podcast mentions), freshness 6 months, success: aggregated signal from ≥3 sources
19
+ 4. **Public roadmap signals** — primary (vendor blogs, changelog), freshness 60 days, success: feature direction known
20
+
21
+ Now each can be fetched with the right tool and verified.
22
+
23
+ ## 2. The Source Class Hierarchy
24
+
25
+ ### Primary sources (highest authority)
26
+ - Official docs, specs, RFCs (e.g., MCP spec, WCAG 2.2)
27
+ - SEC filings, financial filings (10-K, 10-Q, S-1)
28
+ - Vendor pricing pages, official changelog
29
+ - First-party blog posts (vendor's own engineering / product blog)
30
+ - Source code itself (GitHub repos, package READMEs)
31
+
32
+ **When to use**: facts, contracts, specifications. Authoritative on what something IS.
33
+
34
+ ### Authoritative-secondary sources
35
+ - Industry analyst reports (Gartner, Forrester, ARK Invest, Bessemer)
36
+ - Peer-reviewed academic research (use `search_vertical(vertical='academic')`)
37
+ - Named-author technical blog posts (the author's reputation is the warrant)
38
+ - Industry benchmark reports (KeyBanc SaaS, OpenView PLG, Battery Ventures)
39
+
40
+ **When to use**: synthesis, trends, benchmarks. Authoritative on aggregated patterns.
41
+
42
+ ### Aggregated-secondary sources
43
+ - Review sites (G2, Capterra, TrustRadius)
44
+ - Comparison sites (sites that systematically compare vendors)
45
+ - Well-curated awesome-lists on GitHub (community-vetted)
46
+
47
+ **When to use**: comparative info, customer-voice signals. Authoritative on aggregated user opinion.
48
+
49
+ ### Tertiary / signal sources
50
+ - Social media (X, LinkedIn, Reddit)
51
+ - Forum threads (Hacker News, dev forums)
52
+ - Podcast transcripts
53
+ - Discord / Slack community archives
54
+
55
+ **When to use**: customer-language harvesting (what words do users use), sentiment direction, early-signal trends. NOT authoritative for facts.
56
+
57
+ ## 3. The Freshness Match
58
+
59
+ Different research questions have different freshness requirements:
60
+
61
+ | Question type | Freshness window | Why |
62
+ |---|---|---|
63
+ | Pricing | 30 days | Vendors change pricing frequently |
64
+ | Market data / SaaS metrics | 90-180 days | Quarterly reports common; older data still relevant |
65
+ | Regulatory / legal | 6 months | Slower-moving but checks every 6 months |
66
+ | Tech specs / RFCs | Indefinite if canonical | Older spec is the spec; check version |
67
+ | Competitive feature comparison | 60 days | Roadmaps move quickly |
68
+ | News / current events | 7 days max | News by definition |
69
+ | Academic research | Indefinite if cited | Citation count > recency for foundational |
70
+ | Customer reviews | 90 days | Older reviews may not reflect current product |
71
+
72
+ ### The freshness check primitive
73
+ ```typescript
74
+ function isStillFresh(source: Source, question: QuestionType): boolean {
75
+ const limit = FRESHNESS_WINDOWS[question];
76
+ const ageDays = (Date.now() - source.publishedAt) / (1000 * 60 * 60 * 24);
77
+ return limit === Infinity || ageDays <= limit;
78
+ }
79
+ ```
80
+
81
+ If the freshest available source is past the window, EITHER expand the search OR explicitly mark as "no current data; using closest available" with the date.
82
+
83
+ ## 4. The Tool Mapping
84
+
85
+ | Sub-question shape | Tool | When |
86
+ |---|---|---|
87
+ | "What does this URL say?" | `fetch_url` with prompt | Need extracted info from a known page |
88
+ | "What's currently true about X?" (broad) | `search_web` with 2-3 keyword queries | Need ranked results across the web |
89
+ | "Find papers / specs on X" | `search_vertical(vertical='academic')` | First-party technical/scientific sources |
90
+ | "Find product / pricing for X" | `search_vertical(vertical='shopping')` | Comparison + pricing |
91
+ | "Find people who do X at Y" | `search_vertical(vertical='people')` | Hiring / partnership / interview research |
92
+ | "Show me images / videos of X" | `search_vertical(vertical='image' or 'video')` | Design research, demo research |
93
+ | "I need to actually USE this site" | `browser_task` | Login, fill form, multi-step interaction |
94
+ | "Compare 10+ entities" | `wide_research` or `wide_browse` | Batch processing (cost gate at 20+) |
95
+
96
+ ### Query writing rules
97
+ - **Natural phrases, not keyword lists**: "INP optimization 2025 production" beats "INP perf web vital fast 2025"
98
+ - **Time-sensitive queries include date**: "OWASP Top 10 2025" not "OWASP Top 10 latest"
99
+ - **Multi-entity queries split parallel**: 3 separate queries about 3 vendors beats 1 query mentioning all 3
100
+ - **No quotes** unless exact-match required (fuzzy matching usually better)
101
+ - **Max 3 queries per call** (efficiency)
102
+
103
+ ## 5. The Verification Cycle
104
+
105
+ For each non-trivial claim, verify with ≥2 independent sources OR explicitly mark as single-sourced.
106
+
107
+ ### Verification levels
108
+ - **Cross-verified** (2+ independent sources agree) — confident; cite both
109
+ - **Authoritative-single** (one primary source) — confident; cite the primary
110
+ - **Single-secondary** (one secondary source) — flag uncertainty; cite the source
111
+ - **Triangulated** (multiple sources directionally agree but specifics differ) — cite range
112
+
113
+ ### Anti-patterns
114
+ - Citing 3 secondary sources that all reference the same primary (still single-sourced)
115
+ - Citing tertiary as if primary
116
+ - Burying single-sourced claims in a list of cited claims (mark them explicitly)
117
+
118
+ ## 6. The Synthesis Back-to-Caller Pattern
119
+
120
+ Research output is NOT the final answer. Hand verified evidence back to the calling skill in its native format.
121
+
122
+ ### For aria-revenue-engine
123
+ ```markdown
124
+ ## Research synthesis — feeding to aria-revenue-engine
125
+
126
+ **Sub-question 1: Linear pricing at 10-50 seats**
127
+ - $8/seat/month (Standard), $14/seat/month (Plus) — [Linear pricing page](https://linear.app/pricing), 2026-05
128
+ - 10% annual prepay discount
129
+
130
+ **Sub-question 2: Asana pricing**
131
+ - $10.99/seat/month (Premium), $24.99/seat/month (Business) — [Asana pricing](https://asana.com/pricing), 2026-05
132
+
133
+ **Sub-question 3: SMB market share signal**
134
+ - Linear dominant in startup / dev-team segments per multiple 2024-2025 podcast transcripts
135
+ - Asana dominant in non-engineering teams per G2 2025 review aggregation
136
+
137
+ **Confidence:** sub-questions 1+2 high (primary sources, current); sub-question 3 medium (secondary signal, directional)
138
+
139
+ **Hand-off note for aria-revenue-engine:** Linear's $8 entry point sets the SMB ceiling for direct competitors. If our PM-tool product targets startup engineering teams, pricing above Linear's Plus tier ($14) requires explicit feature differentiation, not parity-with-premium positioning.
140
+ ```
141
+
142
+ ### For aria-gtm-architect
143
+ Pass the buyer-language samples + competitive positioning data:
144
+ ```markdown
145
+ ## Buyer language samples (for message-fit work)
146
+
147
+ From G2 reviews of Linear (last 90 days, 5 highest-rated):
148
+ - "I lose less time switching contexts between PRs and tasks"
149
+ - "My team finally agrees on what 'in progress' means"
150
+ - "We stopped having Slack-only updates that nobody could find later"
151
+
152
+ From Reddit r/startups thread on PM tools (Apr 2026):
153
+ - "Notion is for docs; Linear is for actually shipping"
154
+ - "Stopped using Asana when our eng team revolted"
155
+
156
+ **Pattern**: buyer language emphasizes shipping speed + clarity + cross-functional alignment, NOT feature lists.
157
+ ```
158
+
159
+ ## 7. The Memory-First Discipline (Noor recognition)
160
+
161
+ Research is expensive; memory is free.
162
+
163
+ ### Before any external fetch
164
+ 1. Check `noor-recognition` for prior research on the same question
165
+ 2. Check coach-kernel ledger for prior decisions referencing this domain
166
+ 3. Check user memory (via `memory_search`) for owner statements on this topic
167
+ 4. ONLY fetch externally if memory is genuinely insufficient
168
+
169
+ ### When memory + new fetch combine
170
+ - Lead with what we already know (cite memory)
171
+ - Add what's new (cite fresh sources with dates)
172
+ - Note where memory and fresh fetch disagree (surface the contradiction)
173
+
174
+ ## 8. Wide-Research Patterns (when ≥10 entities)
175
+
176
+ For batch research:
177
+ - ≤9 entities: individual `fetch_url` / `search_web` calls
178
+ - 10-19 entities: `wide_research` or `wide_browse` (no confirmation gate)
179
+ - 20+ entities: `confirm_action` first, then `wide_research`/`wide_browse`
180
+
181
+ ### Schema design for wide_research
182
+ ```typescript
183
+ // Schema file passed to wide_research
184
+ {
185
+ type: 'object',
186
+ properties: {
187
+ company_name: { type: 'string', title: 'Company' },
188
+ pricing_tier_1: { type: 'string', title: 'Starter Price' },
189
+ pricing_tier_2: { type: 'string', title: 'Pro Price' },
190
+ activation_signal: { type: 'string', title: 'Activation Signal' },
191
+ sources: { type: 'string', title: 'Sources' }, // markdown links
192
+ }
193
+ }
194
+ ```
195
+
196
+ Output: CSV with one row per entity. Use the CSV in subsequent synthesis.
197
+
198
+ ## 9. Source Citation Discipline
199
+
200
+ ### Inline citation format (per main doctrine)
201
+ - ✅ "Linear charges $8/seat ([Linear pricing page](https://linear.app/pricing))"
202
+ - ❌ "Linear charges $8/seat (source 1)"
203
+ - ❌ "Linear charges $8/seat" (no citation)
204
+
205
+ Anchor text MUST be the source name, never "source" / "link" / "click here". Every fact-claim has its citation.
206
+
207
+ ### Per-skill citation styles
208
+ - **For owner-facing summary**: inline markdown links (above)
209
+ - **For gate-block JSON**: structured sources array
210
+ - **For artifact files (PDFs / docs)**: footnote with full URL + accessed-date
211
+ - **For cookbook references**: prose URL inline ([source name](url))
212
+
213
+ ## 10. Anti-Patterns
214
+
215
+ ### Running research before checking memory (Noor)
216
+ Wasted cost; slower turn. Memory first; fetch on gap.
217
+
218
+ ### Vague research requests not decomposed
219
+ "Research X" returns vague answers. Decompose to 2-5 specific sub-questions.
220
+
221
+ ### Quoting tertiary as if primary
222
+ A Reddit thread is signal, not evidence. Use tertiary for sentiment direction, not facts.
223
+
224
+ ### Single-sourcing time-sensitive claims without flagging
225
+ Pricing on one vendor page is single-sourced. Mark it explicitly. Don't bury.
226
+
227
+ ### Burying conclusion in bibliography
228
+ Lead with the answer. Sources support; they don't substitute.
229
+
230
+ ### Failing to hand synthesis back to calling skill
231
+ Research is dead context if not consumed. Always synthesize back to the requester in their format.
232
+
233
+ ### Live-fetching when memory is sufficient
234
+ Aria's garden + pulse + hive substrate already contains relevant prior research. Check before fetching.
235
+
236
+ ## 11. Research checklist (paste-ready)
237
+
238
+ ```markdown
239
+ ## Decomposition
240
+ - [ ] Request decomposed into 2-5 specific sub-questions
241
+ - [ ] Source class declared per sub-question (primary / secondary / tertiary)
242
+ - [ ] Freshness window matched to question type
243
+ - [ ] Success criterion named per sub-question
244
+
245
+ ## Memory-first
246
+ - [ ] Noor checked for prior research
247
+ - [ ] Coach-kernel ledger checked for prior decisions
248
+ - [ ] User memory checked for owner statements
249
+
250
+ ## Fetching
251
+ - [ ] Right tool per sub-question (fetch_url / search_web / vertical / browser_task / wide_*)
252
+ - [ ] Queries written natural-phrase
253
+ - [ ] Parallel where independent
254
+
255
+ ## Verification
256
+ - [ ] Each non-trivial claim cross-verified OR flagged single-sourced
257
+ - [ ] Freshness check passed; stale sources noted
258
+ - [ ] Source-class hierarchy respected (primary > secondary > tertiary)
259
+
260
+ ## Synthesis
261
+ - [ ] Conclusion leads (headline first per readable-output)
262
+ - [ ] Sub-questions answered with citation each
263
+ - [ ] Caveats flagged (single-sourced, partial freshness, contradictions)
264
+ - [ ] Synthesis handed back to calling skill in calling-skill-native format
265
+
266
+ ## Coach kernel
267
+ - [ ] Research event recorded with `risk_class: 'research_action'`
268
+ - [ ] Freshness + source-quality predicate recorded
269
+ - [ ] Recovery contract gateType: advisory (research is teach-not-block)
270
+ ```
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: aria-retention-engine
3
+ description: TRIGGER for any churn, retention, renewal, expansion, NPS, CSAT, onboarding, activation, escalation, refund-save, win-back, account-health, customer-success, or post-sale lifecycle decision. Composes the cognitive substrate with a churn-cause + retention-leverage + cohort-decay frame.
4
+ ---
5
+
6
+ # Aria Retention Engine
7
+
8
+ Cognition skill for the post-sale lifecycle. Most net revenue retention dies in the first 30 days; most expansion is invisible until you measure it cohort-by-cohort. This skill exists to make those signals visible before the renewal call.
9
+
10
+ ## Prime Doctrine
11
+
12
+ Retention is upstream of every other metric. A 90% NRR business at any growth rate is in trouble; a 130% NRR business at any growth rate is compounding. Optimize retention before optimizing acquisition.
13
+
14
+ - **Churn is rarely about price.** It's about expected vs delivered value, friction, and life-cycle moments. Pricing as a churn explanation is usually a stand-in for a deeper truth.
15
+ - **The first 7 days set the next 12 months.** Activation depth in week 1 predicts month-12 retention more than any single feature.
16
+ - **Renewals are won 90 days before the renewal date.** A renewal won in the renewal week is a coin flip; one won in the prior quarter is structural.
17
+ - **Expansion is the silent revenue lever.** A 110% gross retention business with 130% net retention has 2× the LTV of a 110% gross / 110% net business at the same cost.
18
+
19
+ ## Trigger Detection
20
+
21
+ Fire on:
22
+
23
+ - Churn analysis / churn-cause investigation
24
+ - Renewal forecast / renewal at-risk identification
25
+ - Expansion / upsell / cross-sell strategy (post-sale)
26
+ - NPS / CSAT / health-score design or interpretation
27
+ - Onboarding / activation flow design
28
+ - Customer escalation / refund-save / make-good
29
+ - Win-back campaign for churned cohort
30
+ - Account-health scoring or QBR design
31
+
32
+ ## Required Workflow (cause-leverage-decay)
33
+
34
+ Every retention decision must answer:
35
+
36
+ 1. **Churn-cause decomposition.** Split current churn into: (a) wrong-fit (should have been disqualified at sale), (b) un-activated (signed but never adopted), (c) life-cycle (changed jobs, sunset use case), (d) competitor-loss (real comparison loss), (e) price (validated, not assumed). Each has a different fix.
37
+ 2. **Retention-leverage map.** For the dominant churn cause, what is the highest-leverage intervention? Onboarding redesign helps cause (b) but does nothing for (a). Sales qualification changes help (a) but don't help (b).
38
+ 3. **Cohort-decay curve.** Plot survival by cohort (acquisition month). Is the curve flattening (good — fixes are landing), steepening (bad — recent cohorts are worse), or unchanged (no signal yet)?
39
+
40
+ ## Retention-Mapped Lenses
41
+
42
+ `ghazali-8lens` under retention:
43
+
44
+ - **truth** — is the churn data complete? Are paused / downgraded / silent-departed customers counted?
45
+ - **harm** — does the retention intervention create resentment (e.g., aggressive save calls)?
46
+ - **trust** — does the win-back offer respect the original commitment, or feel manipulative?
47
+ - **power** — is the customer locked-in by data export friction, or genuinely choosing to stay?
48
+ - **reflection** — would the saved customer recommend us 6 months later, or is this a save that becomes a detractor?
49
+ - **context** — is this churn driven by something external (industry shift) or internal (product gap)?
50
+ - **impact** — NRR / GRR delta at the cohort level, with confidence
51
+ - **beauty** — does the renewal experience feel earned, or transactional?
52
+
53
+ ## User-Facing Layout
54
+
55
+ ```
56
+ ## [Decision: name the churn cause + leverage point + intervention in one line]
57
+
58
+ - [Cohort decomposition — split by month or segment, real numbers]
59
+ - [Dominant churn cause — named with evidence]
60
+ - [Highest-leverage intervention — concrete, scoped]
61
+ - [Predictor predicate — NRR / GRR / activation rate target]
62
+
63
+ **Next:** [first concrete action with measurable check at 30/60/90 days]
64
+ ```
65
+
66
+ ## Composition Rule
67
+
68
+ - Composes with `aria-business-frame`
69
+ - Calls `aria-customer-truth` for churn-reason interviews (the only reliable source for cause attribution)
70
+ - Calls `aria-revenue-engine` if the churn cause genuinely is price (rare but real)
71
+ - Calls `mizan`, `tadabbur`, `ghazali-8lens` per business-frame defaults
72
+ - Calls `predictor` for the cohort-survival predicate
73
+ - Calls `noor-recognition` for prior retention experiments and their actual cohort impact
74
+
75
+ ## Recovery Contract
76
+
77
+ - If churn-cause data is missing: do NOT recommend an intervention. Recommend a 10-customer churn-interview sprint via `aria-customer-truth`, or surface 3 hypotheses with explicit confidence weights.
78
+ - If the cohort sample is too small (< 30 churned in the relevant cohort): say so explicitly. "We don't have enough cohort data to recommend a structural change; here's a non-structural pilot."
79
+ - If the retention intervention will burn customer trust (e.g., aggressive save calls, dark-pattern downgrade flows): hard NO via `ghazali-8lens` trust lens. Surface alternatives.
80
+ - Log retention decisions to coach kernel with `risk_class: 'retention_action'` and the cohort-survival predicate.
81
+
82
+ ## Anti-Patterns
83
+
84
+ - Treating overall churn rate as if it were homogeneous (always decompose by cohort + cause)
85
+ - Recommending feature work as a churn fix when the dominant cause is wrong-fit at sale
86
+ - Aggressive saves that win the dollar and lose the referral
87
+ - Win-back campaigns to churned customers without fixing the original churn cause
88
+ - NPS as a churn predictor (it's noisier than usage data; use both, not just NPS)
89
+
90
+ ## First-Class Production Contract
91
+
92
+ This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
93
+
94
+ - no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
95
+ - real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
96
+ - a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
97
+ - architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
98
+ - owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
99
+
100
+ ## Self-Executing Recovery Contract
101
+
102
+ When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
103
+
104
+ - Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
105
+ - If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
106
+ - If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
107
+ - Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
108
+
109
+
110
+ ## Self-Executing Recovery Contract
111
+
112
+ If retention recommendation cannot be made:
113
+
114
+ - One re-run with the missing decomposition or interview evidence
115
+ - If still insufficient, recommend the smallest cohort-isolated test (e.g., A/B activation flow on the next 50 signups) with stop-criteria
116
+ - Never present a retention recommendation as confident without cohort evidence supporting it
117
+
118
+ ## Why This Exists
119
+
120
+ Most owners over-invest in acquisition and under-invest in retention because retention is harder to measure and slower to compound. This skill makes the cognition explicit so the lever doesn't get ignored.
@@ -0,0 +1,271 @@
1
+ # Retention Engine Cookbook — Churn, Onboarding, Expansion Patterns
2
+
3
+ > Loaded by `aria-retention-engine` for churn analysis, renewal forecasting, expansion strategy, escalation handling.
4
+ > See also: [`../../aria-business-frame/references/business-cookbook.md`](../../aria-business-frame/references/business-cookbook.md) (constraint categories, NRR benchmarks)
5
+ > See also: [`../../aria-revenue-engine/references/revenue-cookbook.md`](../../aria-revenue-engine/references/revenue-cookbook.md) (NRR/GRR math, cohort patterns)
6
+
7
+ ## 1. The 5 Churn Causes (decompose before intervening)
8
+
9
+ Most churn analyses are wrong because they assume churn is one thing. It's five.
10
+
11
+ ### 1. Wrong-fit at sale
12
+ - Customer signed up for the wrong reason; never had a real fit
13
+ - **Signal**: short-tenure churn (months 1-3); cohort-decomposed by acquisition channel often shows one channel concentrating wrong-fit
14
+ - **Fix**: sales qualification criteria; ICP definition tightening; channel mix adjustment
15
+ - **Wrong fix**: onboarding redesign (won't help — they never had a problem to solve here)
16
+
17
+ ### 2. Un-activated
18
+ - Signed up but never reached the aha moment
19
+ - **Signal**: usage data shows no key actions in first 7-14 days; logins drop after week 2
20
+ - **Fix**: onboarding redesign; activation moment redefinition; in-product nudges
21
+ - **Wrong fix**: more emails (the unactivated cohort isn't reading)
22
+
23
+ ### 3. Life-cycle
24
+ - Their use case sunset; they changed roles; their company got acquired
25
+ - **Signal**: long-tenure churn (year 2+); usage was healthy until end
26
+ - **Fix**: adjacent product expansion; champion-departure-triggered playbooks; accept some as natural
27
+ - **Wrong fix**: pricing changes (the price isn't the problem)
28
+
29
+ ### 4. Competitor-loss
30
+ - Real comparison loss to another vendor
31
+ - **Signal**: explicit competitor mentioned in churn interview; usage steady until cancel
32
+ - **Fix**: feature gap closure; positioning sharpening; pricing recalibration
33
+ - **Wrong fix**: discount-to-save (you're buying churn — the relationship is already lost)
34
+
35
+ ### 5. Price (validated, not assumed)
36
+ - Genuinely a budget issue; would have stayed at lower price
37
+ - **Signal**: explicit budget cite; downgrade attempt before churn
38
+ - **Fix**: lower-priced tier; usage-based component; annual prepay discount
39
+ - **Wrong fix**: discount the existing price (creates discount cohort drag — see revenue cookbook §3)
40
+
41
+ ### The diagnostic
42
+ Each cause needs a different fix. Misdiagnosis is the most common retention-engine failure. Decompose churn into cause categories BEFORE recommending intervention.
43
+
44
+ ## 2. Cohort-decay curves (replace flat churn for runway)
45
+
46
+ **Source:** [Fiscallion — SaaS Cohort Analysis](https://www.fiscallion.io/blog/saas-cohort-analysis-how-to-turn-retention-data-into-decisions)
47
+
48
+ ### The pattern
49
+ Most SaaS lose more customers in months 1-3 than 9-12. A flat churn assumption:
50
+ - Overstates near-term revenue (churn is higher early than the average)
51
+ - Understates long-term retention (survivors are stickier than the average)
52
+
53
+ ### The fix
54
+ Replace flat churn with cohort decay curves for runway forecasts:
55
+ - Compute survival % at month 1, 3, 6, 12, 18, 24 for each acquisition cohort
56
+ - Fit a power-law or Weibull decay curve
57
+ - Project forward; compare to flat-churn projection
58
+ - Differential is real revenue — often the difference between "raise now" and "extend runway"
59
+
60
+ ### Reference SQL (cohort survival)
61
+ ```sql
62
+ WITH cohort_signups AS (
63
+ SELECT customer_id, DATE_TRUNC('month', signup_date) as cohort_month
64
+ FROM customers
65
+ ),
66
+ cohort_survival AS (
67
+ SELECT
68
+ cs.cohort_month,
69
+ DATE_TRUNC('month', s.subscription_active_date) as period_month,
70
+ COUNT(DISTINCT s.customer_id) as active_customers,
71
+ DATEDIFF('month', cs.cohort_month, DATE_TRUNC('month', s.subscription_active_date)) as months_since_signup
72
+ FROM cohort_signups cs
73
+ JOIN subscriptions s ON s.customer_id = cs.customer_id
74
+ GROUP BY 1, 2
75
+ ),
76
+ cohort_size AS (
77
+ SELECT cohort_month, COUNT(DISTINCT customer_id) as initial_size
78
+ FROM cohort_signups
79
+ GROUP BY 1
80
+ )
81
+ SELECT
82
+ cs.cohort_month,
83
+ cs.months_since_signup,
84
+ cs.active_customers,
85
+ cz.initial_size,
86
+ cs.active_customers::float / cz.initial_size as survival_rate
87
+ FROM cohort_survival cs
88
+ JOIN cohort_size cz USING (cohort_month)
89
+ ORDER BY cs.cohort_month, cs.months_since_signup;
90
+ ```
91
+
92
+ ## 3. PLG Onboarding Pattern — activation as the leading indicator
93
+
94
+ **Source:** [Lumi Studio — PLG Onboarding](https://www.lumi.studio/blog/a-guide-to-plg-onboarding) · [productled.org](https://www.productled.org/foundations/product-led-growth-metrics)
95
+
96
+ ### Activation rate benchmarks
97
+ - **20-40% = OK** (depending on onboarding complexity)
98
+ - **>50% = excellent**
99
+ - Activation = % of signups who reach the aha moment (first valuable action)
100
+
101
+ ### Day-7 retention is the leading indicator
102
+ - Do users who hit the aha moment come back?
103
+ - Day-7 retention is more predictive of month-12 retention than any single feature
104
+ - If aha-moment users don't return, the aha moment isn't actually valuable — it's a proxy metric
105
+
106
+ ### The PLG funnel (defining each stage by behavior, not assumption)
107
+
108
+ | Stage | Definition | Benchmark |
109
+ |---|---|---|
110
+ | Stranger | Hasn't found us | — |
111
+ | Explorer | Visited landing | Website→signup 6-9% (freemium), 3-4% (trial) |
112
+ | Beginner | Signed up | — |
113
+ | Activated | Hit aha moment | 20-40% of signups |
114
+ | Regular | Habitual use | 60%+ of activated users by day 30 |
115
+ | Champion | Refers others | NPS ≥ 50 + 1+ referral |
116
+
117
+ ### The activation playbook
118
+ 1. **Define the aha moment behaviorally** — single action, measurable, time-bounded
119
+ 2. **Measure baseline activation** for last 90-day cohort
120
+ 3. **Identify drop-off points** before the aha moment (each is a fix candidate)
121
+ 4. **Design ONE intervention** at the highest-drop step; A/B test
122
+ 5. **Measure activation lift + day-7 retention lift** (both, not just activation)
123
+ 6. **Iterate**
124
+
125
+ ### Common aha-moment definitions
126
+ - Slack: 2,000 messages sent in a workspace
127
+ - Dropbox: 1 file uploaded + 1 device installed
128
+ - Hubspot: First contact imported + first email sent
129
+ - Stripe: First successful charge processed
130
+
131
+ ## 4. PQL (Product Qualified Lead) — the PLG sales-handoff signal
132
+
133
+ ### Three PQL metrics
134
+ 1. **PQL count** over time
135
+ 2. **PQL rate** (% of signups becoming PQL)
136
+ 3. **PQL-to-paid conversion**
137
+
138
+ ### PQL trigger criteria
139
+ - Feature adoption thresholds (e.g., used feature X ≥ 5 times)
140
+ - Usage caps approached (signals expansion need)
141
+ - Team expansion (multiple seats activated)
142
+ - Use-case depth signals (configured key integrations)
143
+
144
+ ### When to hand off to sales
145
+ - PQL with team-expansion signal (multi-seat product) → expansion-focused outreach
146
+ - PQL approaching usage cap (usage-based pricing) → upgrade-focused outreach
147
+ - Free-tier user with enterprise-shaped usage pattern (compliance, audit needs) → upmarket-conversion outreach
148
+
149
+ ## 5. NPS / CSAT / Health Score (signal weights)
150
+
151
+ ### NPS (Net Promoter Score) — limited as churn predictor
152
+ - Asks "how likely to recommend, 0-10"
153
+ - Promoters (9-10) − Detractors (0-6) = NPS (range -100 to 100)
154
+ - **NPS is noisier than usage data** — use both, not just NPS
155
+ - Useful for: brand health, expansion potential
156
+ - Less useful for: churn prediction (a 9 today churns next month if usage drops)
157
+
158
+ ### CSAT (Customer Satisfaction)
159
+ - Specific to interactions ("how satisfied with this support response, 1-5")
160
+ - Better signal than NPS for operational quality
161
+
162
+ ### Health Score (composite)
163
+ The right model: weighted combination of:
164
+ - **Product usage** (depth, breadth, frequency) — 40% weight
165
+ - **Engagement** (logins, sessions, time-on-task) — 20% weight
166
+ - **Outcome metrics** (customer's KPI achievement, where measurable) — 20% weight
167
+ - **Survey signal** (NPS, CSAT, support sentiment) — 10% weight
168
+ - **Account context** (champion changes, executive sponsor, contract status) — 10% weight
169
+
170
+ ### Health score thresholds
171
+ - **Green** (≥70) — expansion candidate
172
+ - **Yellow** (40-69) — standard cadence; monitor
173
+ - **Red** (<40) — escalate; CSM intervention; pre-renewal preparation
174
+ - **Auto-escalate** triggers: champion departure, usage drop >50% in 30 days, support escalation pattern
175
+
176
+ ## 6. Renewal cycle (90-day window pattern)
177
+
178
+ ### The discipline
179
+ **Renewals are won 90 days BEFORE the renewal date.** A renewal won in the renewal week is a coin flip; one won in the prior quarter is structural.
180
+
181
+ ### 90-day pre-renewal playbook
182
+ - **T-90**: account review with CSM + AE; map champion + decision-maker; verify health score; identify expansion vector
183
+ - **T-60**: explicit value-recap with the champion; quantify outcomes; introduce expansion conversation if green
184
+ - **T-30**: contract redline conversation with decision-maker; pricing locked or escalation defined
185
+ - **T-14**: signature on renewal + expansion (if applicable)
186
+ - **T-0**: renewal lands; QBR scheduled for post-renewal
187
+
188
+ ### Anti-patterns
189
+ - Starting renewal conversation in the renewal week (signals scramble)
190
+ - Discount-to-save (you're buying churn; structurally the relationship is already lost)
191
+ - Multi-stakeholder mismatch (champion sold us; finance kills us at renewal because never met them)
192
+ - Auto-renewal without explicit conversation (signals you're not paying attention; gives competitors entry)
193
+
194
+ ## 7. Expansion / upsell / cross-sell (the silent revenue lever)
195
+
196
+ ### Expansion shapes
197
+ - **Seat expansion** — same product, more users
198
+ - **Tier upgrade** — same users, more features (Pro → Enterprise)
199
+ - **Module / cross-sell** — adjacent product (Sales Cloud → Service Cloud)
200
+ - **Usage growth** — usage-based pricing tier crossing
201
+
202
+ ### The math
203
+ A 110% gross retention business with 130% net retention has **2× the LTV** of a 110% gross / 110% net business at the same cost.
204
+
205
+ ### Expansion playbook
206
+ 1. **Identify expansion vector per cohort** — what does each ICP segment expand into?
207
+ 2. **Trigger criteria** — usage-cap approach, team growth, champion promotion, integration adoption
208
+ 3. **Pricing design** — make the expansion path visible in the product (paywall hints, lock icons, "request access")
209
+ 4. **CSM compensation** — % of NRR > 100% = healthy comp design; flat $ on save = wrong incentive
210
+
211
+ ### When NOT to push expansion
212
+ - Health score < 40 (you'll burn the relationship)
213
+ - Champion departed in last 30 days (rebuild trust first)
214
+ - Active escalation open (don't compound friction)
215
+ - Customer hasn't reached aha moment in current tier (premature)
216
+
217
+ ## 8. Win-back campaigns (only fix the cause first)
218
+
219
+ ### The win-back paradox
220
+ Win-back campaigns that don't fix the original churn cause produce churn-back — they re-acquire the same wrong-fit customer who churns again at higher cost.
221
+
222
+ ### The win-back checklist
223
+ ```markdown
224
+ - [ ] Original churn cause identified per §1 (wrong-fit / un-activated / life-cycle / competitor / price)
225
+ - [ ] Original cause fixed in product / pricing / onboarding (verified by current-cohort data)
226
+ - [ ] Time elapsed since churn ≥ 6 months (cooling-off)
227
+ - [ ] Customer was healthy before they churned (don't win-back wrong-fit)
228
+ - [ ] Win-back offer is value-based (new feature, new pricing tier, new use case) — NOT just discount
229
+ - [ ] Predictor: win-back cohort retention ≥ original cohort retention at same tenure
230
+ ```
231
+
232
+ ### Anti-patterns
233
+ - "We miss you" emails with discount — wrong-fit customers re-churn
234
+ - Win-back to churned competitor-loss customers without addressing why they left
235
+ - Bulk win-back to all churned (segment by cause first)
236
+
237
+ ## 9. Escalation handling (turn detractors into advocates)
238
+
239
+ ### The Sweet&Sour pattern (Reflexion-style for retention)
240
+
241
+ When a customer escalates:
242
+ 1. **Sour first** — acknowledge the specific failure: "X happened, Y was the cost to you, here's what went wrong on our side"
243
+ 2. **Investigate fully** — root cause; not just the symptom
244
+ 3. **Make it right disproportionately** — refund + future credit + named owner of fix + commitment to update them
245
+ 4. **Sweet** — once resolved, follow up to verify resolution + invite them to be a reference
246
+
247
+ ### The data
248
+ A customer whose escalation is handled well becomes more loyal than one who never had an issue (the "service recovery paradox"). But only if handled well — half-handled escalations create permanent detractors.
249
+
250
+ ### Anti-patterns
251
+ - Defensive responses that explain why we did the right thing
252
+ - Half-refunds that signal "we're admitting partial fault"
253
+ - Generic "thank you for your feedback" with no concrete fix
254
+ - No follow-up after resolution
255
+
256
+ ## 10. Retention audit checklist (paste-ready)
257
+
258
+ ```markdown
259
+ - [ ] Churn decomposed by cause (not lumped as one number)
260
+ - [ ] Cohort decay curves computed (not flat churn assumption)
261
+ - [ ] NRR + GRR computed at cohort level
262
+ - [ ] Activation rate measured + benchmarked (20-40% OK, 50%+ excellent)
263
+ - [ ] Day-7 retention measured for activated cohort
264
+ - [ ] Health score model defined; green/yellow/red thresholds
265
+ - [ ] Pre-renewal playbook in place (T-90, T-60, T-30, T-14)
266
+ - [ ] Expansion vector identified per ICP segment
267
+ - [ ] CSM compensation aligned to NRR > 100% (not flat $)
268
+ - [ ] Win-back conditions defined (cause fixed + cooling-off + value offer)
269
+ - [ ] Coach-kernel write with `risk_class: 'retention_action'` + cohort predicate
270
+ - [ ] Recovery contract gateType: advisory (recovery, not block)
271
+ ```