@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
@@ -1,6 +1,7 @@
1
1
  import { existsSync, readFileSync, writeFileSync } from 'fs';
2
2
  import * as path from 'path';
3
3
  import type { AriaConfig } from '../config.js';
4
+ import { requireGovernedConnectorMutation } from './governed-adapter.js';
4
5
 
5
6
  const CURSOR_RULES_HEADER = `// ARIA HARNESS — injected by @aria/connector
6
7
  // Aria provides: schema image awareness + garden memory + 8-lens cognition
@@ -32,6 +33,13 @@ export async function connectCursor(config: AriaConfig, repoPath?: string): Prom
32
33
  const targetPath = repoPath || process.cwd();
33
34
  const rulesPath = path.join(targetPath, '.cursorrules');
34
35
 
36
+ await requireGovernedConnectorMutation({
37
+ surfaceId: 'cursor',
38
+ action: 'install',
39
+ targetPath: rulesPath,
40
+ reason: 'install Cursor harness rules',
41
+ });
42
+
35
43
  const ariaBlock = buildCursorRules(config);
36
44
 
37
45
  if (existsSync(rulesPath)) {
@@ -0,0 +1,174 @@
1
+ import { homedir } from 'node:os';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
+ import path from 'node:path';
4
+
5
+ import {
6
+ DEFAULT_SANDBOX_NAMESPACE,
7
+ DEFAULT_SANDBOX_ROOT,
8
+ GovernedSurfaceRunner,
9
+ type GovernedSurfaceAction,
10
+ type GovernedSurfaceId,
11
+ type GovernedSurfacePolicy,
12
+ type GovernedSurfaceVerdict,
13
+ governedPathIsUnder,
14
+ } from '../governed-surface-runner.js';
15
+
16
+ export interface ConnectorGovernanceOptions {
17
+ namespace?: string;
18
+ sandboxRoot?: string;
19
+ allowedTargetRoots?: string[];
20
+ approvalFile?: string;
21
+ productionApproved?: boolean;
22
+ receipt?: string;
23
+ sessionId?: string;
24
+ runtimeUrl?: string;
25
+ }
26
+
27
+ export interface ConnectorProductionApproval {
28
+ approved: boolean;
29
+ receipt: string;
30
+ allowedTargetRoots: string[];
31
+ surfaceIds?: GovernedSurfaceId[];
32
+ expiresAt?: string;
33
+ issuedBy?: string;
34
+ reason?: string;
35
+ }
36
+
37
+ function envFlag(name: string): boolean {
38
+ const value = process.env[name];
39
+ return value === '1' || value === 'true' || value === 'yes';
40
+ }
41
+
42
+ function envList(name: string): string[] {
43
+ const value = process.env[name];
44
+ if (!value) return [];
45
+ return value.split(path.delimiter).map((item) => item.trim()).filter(Boolean);
46
+ }
47
+
48
+ function loadApprovalFile(filePath: string | undefined): ConnectorProductionApproval | null {
49
+ if (!filePath || !existsSync(filePath)) return null;
50
+ try {
51
+ const parsed = JSON.parse(readFileSync(filePath, 'utf8')) as Partial<ConnectorProductionApproval>;
52
+ if (parsed.approved !== true) return null;
53
+ if (typeof parsed.receipt !== 'string' || !parsed.receipt.trim()) return null;
54
+ if (!Array.isArray(parsed.allowedTargetRoots) || parsed.allowedTargetRoots.length === 0) return null;
55
+ const allowedTargetRoots = parsed.allowedTargetRoots
56
+ .filter((root): root is string => typeof root === 'string' && root.trim().length > 0)
57
+ .map((root) => path.resolve(root));
58
+ if (allowedTargetRoots.length === 0) return null;
59
+ if (typeof parsed.expiresAt === 'string' && parsed.expiresAt) {
60
+ const expires = Date.parse(parsed.expiresAt);
61
+ if (!Number.isFinite(expires) || expires <= Date.now()) return null;
62
+ }
63
+ const surfaceIds = Array.isArray(parsed.surfaceIds)
64
+ ? parsed.surfaceIds.filter((surface): surface is GovernedSurfaceId => typeof surface === 'string')
65
+ : undefined;
66
+ return {
67
+ approved: true,
68
+ receipt: parsed.receipt.trim(),
69
+ allowedTargetRoots,
70
+ surfaceIds,
71
+ expiresAt: parsed.expiresAt,
72
+ issuedBy: parsed.issuedBy,
73
+ reason: parsed.reason,
74
+ };
75
+ } catch {
76
+ return null;
77
+ }
78
+ }
79
+
80
+ export function readConnectorProductionApproval(opts: ConnectorGovernanceOptions = {}): ConnectorProductionApproval | null {
81
+ return loadApprovalFile(opts.approvalFile ?? process.env.ARIA_CONNECTOR_APPROVAL_FILE);
82
+ }
83
+
84
+ function targetRootForProduction(targetPath: string): string {
85
+ const resolved = path.resolve(targetPath);
86
+ const home = homedir();
87
+ const activeRoots = [
88
+ path.join(home, '.codex'),
89
+ path.join(home, '.claude'),
90
+ path.join(home, '.opencode'),
91
+ path.join(home, '.aria'),
92
+ ];
93
+ return activeRoots.find((root) => governedPathIsUnder(resolved, root)) ?? resolved;
94
+ }
95
+
96
+ export function buildConnectorGovernancePolicy(
97
+ targetPath: string,
98
+ opts: ConnectorGovernanceOptions = {},
99
+ ): GovernedSurfacePolicy {
100
+ const sandboxRoot = opts.sandboxRoot ?? process.env.ARIA_CONNECTOR_SANDBOX_ROOT ?? DEFAULT_SANDBOX_ROOT;
101
+ const fileApproval = readConnectorProductionApproval(opts);
102
+ const directApproval = opts.productionApproved === true && typeof opts.receipt === 'string' && opts.receipt.trim().length > 0;
103
+ const productionApproved = directApproval || fileApproval?.approved === true;
104
+ const envAllowedRoots = envList('ARIA_CONNECTOR_ALLOWED_TARGET_ROOTS');
105
+ const allowedTargetRoots = [
106
+ sandboxRoot,
107
+ ...envAllowedRoots,
108
+ ...(opts.allowedTargetRoots ?? []),
109
+ ...(fileApproval?.allowedTargetRoots ?? []),
110
+ ];
111
+
112
+ if (productionApproved) {
113
+ allowedTargetRoots.push(targetRootForProduction(targetPath));
114
+ }
115
+
116
+ return {
117
+ runtimeUrl: opts.runtimeUrl,
118
+ sandboxRoot,
119
+ allowedNamespaces: [opts.namespace ?? process.env.ARIA_CONNECTOR_NAMESPACE ?? DEFAULT_SANDBOX_NAMESPACE],
120
+ allowedTargetRoots,
121
+ allowActiveLocalProductionTargets: productionApproved,
122
+ sessionId: opts.sessionId ?? 'connector-adapter',
123
+ };
124
+ }
125
+
126
+ export async function requireGovernedConnectorMutation(args: {
127
+ surfaceId: GovernedSurfaceId;
128
+ action?: GovernedSurfaceAction;
129
+ targetPath: string;
130
+ reason: string;
131
+ opts?: ConnectorGovernanceOptions;
132
+ }): Promise<GovernedSurfaceVerdict> {
133
+ const namespace = args.opts?.namespace ?? process.env.ARIA_CONNECTOR_NAMESPACE ?? DEFAULT_SANDBOX_NAMESPACE;
134
+ const fileApproval = readConnectorProductionApproval(args.opts);
135
+ const directApproval = args.opts?.productionApproved === true && typeof args.opts.receipt === 'string' && args.opts.receipt.trim().length > 0;
136
+ const envRequestedProduction = envFlag('ARIA_CONNECTOR_PRODUCTION_APPROVED') || Boolean(process.env.ARIA_CONNECTOR_GOVERNANCE_RECEIPT);
137
+ const fileAllowsSurface = fileApproval?.surfaceIds ? fileApproval.surfaceIds.includes(args.surfaceId) : true;
138
+ const fileAllowsTarget = fileApproval?.allowedTargetRoots.some((root) => governedPathIsUnder(path.resolve(args.targetPath), root)) === true;
139
+ const fileApprovalUsable = fileApproval?.approved === true && fileAllowsSurface && fileAllowsTarget;
140
+ const productionApproved = directApproval || fileApprovalUsable;
141
+ const receipt = directApproval
142
+ ? args.opts?.receipt
143
+ : fileApprovalUsable
144
+ ? fileApproval?.receipt
145
+ : undefined;
146
+ if (envRequestedProduction && !productionApproved) {
147
+ throw new Error(`Aria connector governance blocked ${args.surfaceId} ${args.action ?? 'install'}: production_approval_file_required`);
148
+ }
149
+ const runner = new GovernedSurfaceRunner(buildConnectorGovernancePolicy(args.targetPath, args.opts));
150
+ const verdict = await runner.checkAction({
151
+ surfaceId: args.surfaceId,
152
+ action: args.action ?? 'install',
153
+ target: {
154
+ path: args.targetPath,
155
+ namespace,
156
+ description: args.reason,
157
+ },
158
+ sandbox: {
159
+ namespace,
160
+ root: args.opts?.sandboxRoot ?? process.env.ARIA_CONNECTOR_SANDBOX_ROOT ?? DEFAULT_SANDBOX_ROOT,
161
+ },
162
+ reason: args.reason,
163
+ verify: receipt
164
+ ? { verified: true, receipt, productionApproved }
165
+ : undefined,
166
+ });
167
+
168
+ if (!verdict.ok || verdict.blocked) {
169
+ const reason = verdict.reason ?? 'unknown';
170
+ throw new Error(`Aria connector governance blocked ${args.surfaceId} ${args.action ?? 'install'}: ${reason}`);
171
+ }
172
+
173
+ return verdict;
174
+ }
@@ -19,6 +19,7 @@ import { connectShell } from './shell.js';
19
19
  import { syncDoctrineTriggerMap } from './doctrine-trigger-map.js';
20
20
  import { buildMustReadGuide, mustReadIntro } from './must-read.js';
21
21
  import { resolveHarnessToken } from '../auth.js';
22
+ import { requireGovernedConnectorMutation } from './governed-adapter.js';
22
23
 
23
24
  // ── Bundled OpenCode plugins ────────────────────────────────────────────────
24
25
  //
@@ -113,10 +114,17 @@ function resolveLocalRuntimeToken(): string {
113
114
  return '';
114
115
  }
115
116
 
116
- export async function connectOpenCode(config: AriaConfig): Promise<string[]> {
117
+ export async function connectOpenCode(config: AriaConfig, opts: { installWrapper?: boolean } = {}): Promise<string[]> {
117
118
  const logs: string[] = [];
118
119
  const opencodeDir = path.join(homedir(), '.opencode');
119
120
 
121
+ await requireGovernedConnectorMutation({
122
+ surfaceId: 'opencode',
123
+ action: 'install',
124
+ targetPath: opencodeDir,
125
+ reason: 'install OpenCode harness surface',
126
+ });
127
+
120
128
  if (!existsSync(opencodeDir)) {
121
129
  logs.push('No ~/.opencode directory found — OpenCode may not be installed');
122
130
  return logs;
@@ -160,7 +168,11 @@ export async function connectOpenCode(config: AriaConfig): Promise<string[]> {
160
168
  }
161
169
 
162
170
  const bundledHooksDir = packageOpenCodeHooksDir();
171
+ const universalTurnPacketHookPath = path.join(bundledHooksDir, 'aria-universal-turn-packet.mjs');
163
172
  if (existsSync(bundledHooksDir)) {
173
+ if (!existsSync(universalTurnPacketHookPath)) {
174
+ throw new Error(`Bundled OpenCode universal turn packet hook missing: ${universalTurnPacketHookPath}`);
175
+ }
164
176
  copyPluginDir(bundledHooksDir, path.join(opencodeDir, 'hooks'), logs);
165
177
  } else {
166
178
  logs.push(`⚠ Bundled OpenCode hook helpers missing: ${bundledHooksDir} — gate plugins may fail to load`);
@@ -288,7 +300,11 @@ export async function connectOpenCode(config: AriaConfig): Promise<string[]> {
288
300
  const agentsContent = buildOpenCodeAgentsMd(config);
289
301
  writeFileSync(ariaAgentsPath, agentsContent);
290
302
  logs.push(`Wrote Aria harness AGENTS.md to ${ariaAgentsPath}`);
291
- logs.push(...await connectShell('opencode', config));
303
+ if (opts.installWrapper === true) {
304
+ logs.push(...await connectShell('opencode', config));
305
+ } else {
306
+ logs.push('Skipped OpenCode shell wrapper install; OpenCode provider path remains untouched. Use aria connect --with-wrappers only when explicitly desired.');
307
+ }
292
308
 
293
309
  return logs;
294
310
  }
@@ -13,7 +13,8 @@ import { fileURLToPath } from 'node:url';
13
13
  import type { AriaConfig } from '../config.js';
14
14
  import { loadConfig } from '../config.js';
15
15
 
16
- const ARIA_DIR = path.join(homedir(), '.aria');
16
+ const HOME = process.env.ARIA_HOME || process.env.HOME || homedir();
17
+ const ARIA_DIR = path.join(HOME, '.aria');
17
18
  const BIN_DIR = path.join(ARIA_DIR, 'bin');
18
19
  const ENV_PATH = path.join(ARIA_DIR, 'repo-guard.env');
19
20
  const STATE_PATH = path.join(ARIA_DIR, 'repo-guard-state.json');
@@ -197,27 +198,37 @@ function findRepoRoot(startDir: string): string | null {
197
198
  }
198
199
  }
199
200
 
201
+ function uniqueRepoRoots(repos: Array<string | null | undefined>): string[] {
202
+ const seen = new Set<string>();
203
+ const out: string[] = [];
204
+ for (const repo of repos) {
205
+ if (!repo) continue;
206
+ const resolved = findRepoRoot(repo);
207
+ if (!resolved || resolved === homedir() || seen.has(resolved)) continue;
208
+ seen.add(resolved);
209
+ out.push(resolved);
210
+ }
211
+ return out;
212
+ }
213
+
200
214
  function resolveRepos(config?: AriaConfig, explicit?: string[], fallbackRepoPath?: string): string[] {
201
- if (explicit?.length) return explicit.map((repo) => path.resolve(repo)).filter(looksLikeRepoRoot);
215
+ if (explicit?.length) return uniqueRepoRoots(explicit);
202
216
 
203
217
  const envRepos = process.env.ARIA_REPO_GUARD_REPOS?.split(path.delimiter)
204
218
  .map((repo) => repo.trim())
205
219
  .filter(Boolean) || [];
206
- if (envRepos.length) return envRepos.map((repo) => path.resolve(repo)).filter(looksLikeRepoRoot);
207
220
 
208
221
  const loaded = config || loadConfig();
209
222
  const configured = (loaded.repositories || [])
210
- .map((repo) => path.resolve(repo.path))
211
- .filter(looksLikeRepoRoot);
212
- if (configured.length) return configured;
213
-
214
- if (fallbackRepoPath) {
215
- const resolvedFallback = findRepoRoot(fallbackRepoPath);
216
- if (resolvedFallback) return [resolvedFallback];
217
- }
223
+ .map((repo) => path.resolve(repo.path));
218
224
 
219
225
  const cwd = findRepoRoot(process.cwd());
220
- return cwd ? [cwd] : [];
226
+ return uniqueRepoRoots([
227
+ ...envRepos,
228
+ ...configured,
229
+ fallbackRepoPath ? findRepoRoot(fallbackRepoPath) : null,
230
+ cwd,
231
+ ]);
221
232
  }
222
233
 
223
234
  export function isRepoGuardedPath(relPath: string): boolean {
@@ -507,6 +518,7 @@ function installSystemdUserService(logs: string[]): void {
507
518
  try {
508
519
  execFileSync(systemctlPath, ['--user', 'daemon-reload'], { stdio: 'ignore' });
509
520
  execFileSync(systemctlPath, ['--user', 'enable', '--now', 'aria-repo-guard.service'], { stdio: 'ignore' });
521
+ execFileSync(systemctlPath, ['--user', 'restart', 'aria-repo-guard.service'], { stdio: 'ignore' });
510
522
  logs.push('Enabled and started systemd user service: aria-repo-guard.service');
511
523
  } catch (error) {
512
524
  logs.push(`⚠ repo guard service installed but not activated: ${error instanceof Error ? error.message : String(error)}`);
@@ -56,6 +56,51 @@ function trimUrl(value: string): string {
56
56
  return value.trim().replace(/\/+$/, '');
57
57
  }
58
58
 
59
+ function parseEnvFile(text: string): Record<string, string> {
60
+ const env: Record<string, string> = {};
61
+ for (const rawLine of text.split(/\r?\n/)) {
62
+ const line = rawLine.trim();
63
+ if (!line || line.startsWith('#')) continue;
64
+ const index = line.indexOf('=');
65
+ if (index <= 0) continue;
66
+ const key = line.slice(0, index).trim();
67
+ const value = line.slice(index + 1);
68
+ env[key] = value;
69
+ }
70
+ return env;
71
+ }
72
+
73
+ function readProcessEnv(pid: string): Record<string, string> {
74
+ if (!pid || pid === '0') return {};
75
+ try {
76
+ return parseEnvFile(readFileSync(`/proc/${pid}/environ`, 'utf8').replace(/\0/g, '\n'));
77
+ } catch {
78
+ return {};
79
+ }
80
+ }
81
+
82
+ function redactPostgresUrl(value: string): string {
83
+ return value.replace(/(postgres(?:ql)?:\/\/[^:@/]+:)[^@/]+@/i, '$1<redacted>@');
84
+ }
85
+
86
+ function isLocalPostgresUrl(value: string): boolean {
87
+ try {
88
+ const parsed = new URL(value);
89
+ const host = parsed.hostname || 'localhost';
90
+ return /^postgres(?:ql)?:$/i.test(parsed.protocol) && ['127.0.0.1', 'localhost', '::1', '[::1]'].includes(host);
91
+ } catch {
92
+ return false;
93
+ }
94
+ }
95
+
96
+ function firstLocalPostgresUrl(...values: Array<string | undefined>): string | null {
97
+ for (const value of values) {
98
+ const text = String(value || '').trim();
99
+ if (text && isLocalPostgresUrl(text)) return text;
100
+ }
101
+ return null;
102
+ }
103
+
59
104
  function isLocalHarnessDaemonUrl(value: string): boolean {
60
105
  const normalized = trimUrl(value);
61
106
  return normalized === 'http://127.0.0.1:8790' || normalized === 'http://localhost:8790';
@@ -118,6 +163,12 @@ function writeRuntimeEnv(runtimeDst: string): string {
118
163
  process.env.ARIA_UPSTREAM_FORGE_SERVICE_URL ||
119
164
  process.env.ARIA_FORGE_UPSTREAM_URL ||
120
165
  `${upstreamHarnessUrl}/api/forge/psi`;
166
+ const fallbackHivePostgresUrl = firstLocalPostgresUrl(process.env.DATABASE_URL, process.env.POSTGRES_URL, process.env.PG_URL);
167
+ const hivePostgresUrl =
168
+ firstLocalPostgresUrl(process.env.ARIA_HIVE_POSTGRES_URL, process.env.ARIA_LOCAL_POSTGRES_URL) ||
169
+ fallbackHivePostgresUrl ||
170
+ 'postgresql://127.0.0.1:5432/aria_hive';
171
+ const hiveStorageMode = process.env.ARIA_HIVE_STORAGE || (fallbackHivePostgresUrl ? 'postgres' : 'file');
121
172
  writeFileSync(
122
173
  envPath,
123
174
  [
@@ -139,6 +190,8 @@ function writeRuntimeEnv(runtimeDst: string): string {
139
190
  `ARIA_UPSTREAM_FORGE_SERVICE_URL=${upstreamForgeServiceUrl}`,
140
191
  'ARIA_QDRANT_URL=http://127.0.0.1:6333',
141
192
  'ARIA_QDRANT_COLLECTION=aria_garden_memory',
193
+ `ARIA_HIVE_STORAGE=${hiveStorageMode}`,
194
+ `ARIA_HIVE_POSTGRES_URL=${hivePostgresUrl}`,
142
195
  `ARIA_RUNTIME_DEFAULT_PROVIDER=${defaultProvider}`,
143
196
  `ARIA_CHAT_MODEL=${chatModel}`,
144
197
  `ARIA_DEEP_MODEL=${deepModel}`,
@@ -147,8 +200,6 @@ function writeRuntimeEnv(runtimeDst: string): string {
147
200
  `ARIA_DEEPSEEK_FALLBACK_MODEL=${deepModel}`,
148
201
  `ARIA_LOCAL_FALLBACK_MODEL=${localFallbackModel}`,
149
202
  `ARIA_LOCAL_FALLBACK_BASE_URL=${localFallbackBaseUrl}`,
150
- 'OPENAI_BASE_URL=http://127.0.0.1:4319/v1',
151
- 'ANTHROPIC_BASE_URL=http://127.0.0.1:4319',
152
203
  '',
153
204
  ].join('\n'),
154
205
  { mode: 0o600 },
@@ -534,6 +585,51 @@ function installLaunchAgent(ariaDir: string, logs: string[]): void {
534
585
  }
535
586
  }
536
587
 
588
+ function verifyMountedRuntimeEnvPostcondition(envPath: string, logs: string[]): void {
589
+ const systemctlPath = '/bin/systemctl';
590
+ if (process.platform !== 'linux' || !existsSync(systemctlPath)) {
591
+ logs.push('Skipped mounted runtime env postcondition: requires Linux systemd user services.');
592
+ return;
593
+ }
594
+
595
+ const expected = parseEnvFile(readFileSync(envPath, 'utf8'));
596
+ const expectedStorage = expected.ARIA_HIVE_STORAGE || '';
597
+ const expectedPostgresUrl = expected.ARIA_HIVE_POSTGRES_URL || '';
598
+
599
+ execFileSync(systemctlPath, ['--user', 'restart', 'aria-mounted-runtime.service'], { stdio: 'ignore' });
600
+ logs.push('Restarted aria-mounted-runtime.service to reload runtime.env');
601
+
602
+ let pid = '';
603
+ let runtimeEnv: Record<string, string> = {};
604
+ for (let attempt = 0; attempt < 20; attempt += 1) {
605
+ try {
606
+ pid = execFileSync(systemctlPath, ['--user', 'show', 'aria-mounted-runtime.service', '-p', 'MainPID', '--value'], { encoding: 'utf8' }).trim();
607
+ runtimeEnv = readProcessEnv(pid);
608
+ if (
609
+ runtimeEnv.ARIA_HIVE_STORAGE === expectedStorage &&
610
+ runtimeEnv.ARIA_HIVE_POSTGRES_URL === expectedPostgresUrl
611
+ ) {
612
+ logs.push(`Verified mounted runtime env postcondition: ARIA_HIVE_STORAGE=${expectedStorage}, ARIA_HIVE_POSTGRES_URL=${redactPostgresUrl(expectedPostgresUrl)}`);
613
+ return;
614
+ }
615
+ } catch {}
616
+ try {
617
+ execFileSync('/bin/sleep', ['0.25'], { stdio: 'ignore' });
618
+ } catch {}
619
+ }
620
+
621
+ throw new Error(
622
+ [
623
+ 'Mounted runtime env postcondition failed after restart.',
624
+ `expected ARIA_HIVE_STORAGE=${expectedStorage}`,
625
+ `actual ARIA_HIVE_STORAGE=${runtimeEnv.ARIA_HIVE_STORAGE || '<missing>'}`,
626
+ `expected ARIA_HIVE_POSTGRES_URL=${redactPostgresUrl(expectedPostgresUrl)}`,
627
+ `actual ARIA_HIVE_POSTGRES_URL=${redactPostgresUrl(runtimeEnv.ARIA_HIVE_POSTGRES_URL || '<missing>')}`,
628
+ `pid=${pid || '<missing>'}`,
629
+ ].join(' '),
630
+ );
631
+ }
632
+
537
633
  export async function installSharedRuntime(): Promise<string[]> {
538
634
  const logs: string[] = [];
539
635
  const runtimeSrc = packageRuntimeDir();
@@ -588,6 +684,7 @@ export async function installSharedRuntime(): Promise<string[]> {
588
684
  installSystemdUserService(ariaDir, logs);
589
685
  installCodexBridgeSystemdUserService(ariaDir, logs);
590
686
  installLaunchAgent(ariaDir, logs);
687
+ verifyMountedRuntimeEnvPostcondition(envPath, logs);
591
688
 
592
689
  logs.push(`Installed shared Aria runtime → ${runtimeDst}`);
593
690
  logs.push(`Installed runtime wrapper → ${startWrapper}`);
@@ -3,6 +3,7 @@ import { execSync } from 'child_process';
3
3
  import { homedir } from 'os';
4
4
  import * as path from 'path';
5
5
  import type { AriaConfig } from '../config.js';
6
+ import { requireGovernedConnectorMutation } from './governed-adapter.js';
6
7
 
7
8
  const ARIA_DIR = path.join(homedir(), '.aria');
8
9
  const WRAPPER_DIR = path.join(ARIA_DIR, 'wrappers');
@@ -68,7 +69,35 @@ fi
68
69
  }
69
70
  }
70
71
 
71
- function buildRuntimeInjectionBlock(): string {
72
+ function buildRuntimeInjectionBlock(toolName: string): string {
73
+ const anthropicRouting = toolName === 'claude'
74
+ ? `if [ "\${ARIA_CLAUDE_USE_API_KEY:-0}" != "1" ]; then
75
+ unset ANTHROPIC_API_KEY
76
+ unset ANTHROPIC_AUTH_TOKEN
77
+ unset ANTHROPIC_CUSTOM_HEADERS
78
+ fi
79
+ if [ "\${ARIA_CLAUDE_USE_ARIA_RUNTIME:-0}" = "1" ]; then
80
+ export ANTHROPIC_BASE_URL="\${ANTHROPIC_BASE_URL:-$ARIA_RUNTIME_URL}"
81
+ elif [ "\${ARIA_CLAUDE_USE_API_KEY:-0}" != "1" ]; then
82
+ unset ANTHROPIC_BASE_URL
83
+ elif [ "\${ANTHROPIC_BASE_URL:-}" = "$ARIA_RUNTIME_URL" ] || [ "\${ANTHROPIC_BASE_URL:-}" = "\${ARIA_RUNTIME_URL%/}/" ]; then
84
+ unset ANTHROPIC_BASE_URL
85
+ fi`
86
+ : toolName === 'codex'
87
+ ? 'unset ANTHROPIC_BASE_URL'
88
+ : `export ANTHROPIC_BASE_URL="\${ANTHROPIC_BASE_URL:-$ARIA_RUNTIME_URL}"`;
89
+ const openaiRouting = toolName === 'codex'
90
+ ? `if [ "\${ARIA_CODEX_USE_API_KEY:-0}" != "1" ]; then
91
+ unset OPENAI_API_KEY
92
+ unset OPENAI_BASE_URL
93
+ unset OPENAI_ORG_ID
94
+ unset OPENAI_ORGANIZATION
95
+ unset OPENAI_PROJECT
96
+ fi
97
+ if [ "\${ARIA_CODEX_USE_ARIA_RUNTIME:-0}" = "1" ] || [ "\${ARIA_CODEX_USE_BRIDGE:-0}" = "1" ]; then
98
+ export OPENAI_BASE_URL="\${OPENAI_BASE_URL:-$ARIA_RUNTIME_URL/v1}"
99
+ fi`
100
+ : `export OPENAI_BASE_URL="\${OPENAI_BASE_URL:-$ARIA_RUNTIME_URL/v1}"`;
72
101
  return `
73
102
  RUNTIME_ENV="$HOME/.aria/runtime/runtime.env"
74
103
  if [ -f "$RUNTIME_ENV" ]; then
@@ -81,8 +110,8 @@ if [ -f "$ARIA_SECRETS_SH" ]; then
81
110
  . "$ARIA_SECRETS_SH"
82
111
  fi
83
112
  export ARIA_RUNTIME_URL="\${ARIA_RUNTIME_URL:-http://127.0.0.1:4319}"
84
- export OPENAI_BASE_URL="\${OPENAI_BASE_URL:-$ARIA_RUNTIME_URL/v1}"
85
- export ANTHROPIC_BASE_URL="\${ANTHROPIC_BASE_URL:-$ARIA_RUNTIME_URL}"
113
+ ${anthropicRouting}
114
+ ${openaiRouting}
86
115
  if [ -z "\${ARIA_HARNESS_TOKEN:-}" ]; then
87
116
  if [ -f "$HOME/.aria/owner-token" ]; then
88
117
  export ARIA_HARNESS_TOKEN="$(tr -d '\\n' < "$HOME/.aria/owner-token")"
@@ -100,11 +129,14 @@ fi
100
129
  }
101
130
 
102
131
  function buildToolExecBlock(toolName: string, toolPath: string): string {
132
+ const universalPacketBlock = buildUniversalTurnPacketExecBlock(toolName);
103
133
  if (toolName !== 'codex') {
104
- return `exec "${toolPath}" "$@"`;
134
+ return `${universalPacketBlock}
135
+ exec "${toolPath}" "$@"`;
105
136
  }
106
137
 
107
- return `for arg in "$@"; do
138
+ return `${universalPacketBlock}
139
+ for arg in "$@"; do
108
140
  if [ "$arg" = "--remote" ]; then
109
141
  exec "${toolPath}" "$@"
110
142
  fi
@@ -112,6 +144,8 @@ done
112
144
 
113
145
  case "\${1:-}" in
114
146
  app-server|exec-server|exec|review)
147
+ # ARIA_CODEX_EXEC_LOCAL_PROMPT_INJECTION: codex exec/review do not support --remote.
148
+ # Aria task runner injects the runtime-built skill packet into stdin for these modes.
115
149
  exec "${toolPath}" "$@"
116
150
  ;;
117
151
  esac
@@ -120,6 +154,11 @@ if [ "\${ARIA_CODEX_BYPASS_BRIDGE:-0}" = "1" ]; then
120
154
  exec "${toolPath}" "$@"
121
155
  fi
122
156
 
157
+ if [ "\${ARIA_CODEX_USE_ARIA_RUNTIME:-0}" != "1" ] && [ "\${ARIA_CODEX_USE_BRIDGE:-0}" != "1" ]; then
158
+ exec "${toolPath}" "$@"
159
+ fi
160
+
161
+ export OPENAI_BASE_URL="\${OPENAI_BASE_URL:-$ARIA_RUNTIME_URL/v1}"
123
162
  export ARIA_CODEX_REAL_BIN="\${ARIA_CODEX_REAL_BIN:-${toolPath}}"
124
163
  export ARIA_CODEX_BRIDGE_HOST="\${ARIA_CODEX_BRIDGE_HOST:-127.0.0.1}"
125
164
  export ARIA_CODEX_BRIDGE_PORT="\${ARIA_CODEX_BRIDGE_PORT:-4320}"
@@ -153,6 +192,72 @@ fi
153
192
  exec "${toolPath}" --remote "ws://$ARIA_CODEX_BRIDGE_HOST:$ARIA_CODEX_BRIDGE_PORT" "$@"`;
154
193
  }
155
194
 
195
+ function surfaceIdForTool(toolName: string): string {
196
+ if (toolName === 'claude') return 'claude-code';
197
+ if (toolName === 'codex') return 'codex';
198
+ if (toolName === 'opencode') return 'opencode';
199
+ return 'shell';
200
+ }
201
+
202
+ function buildUniversalTurnPacketExecBlock(toolName: string): string {
203
+ const surfaceId = surfaceIdForTool(toolName);
204
+ if (toolName === 'codex') {
205
+ return `
206
+ ARIA_UNIVERSAL_TURN_PACKET_SCRIPT="$HOME/.aria/runtime/hooks/aria-universal-turn-packet.mjs"
207
+ if [ ! -f "$ARIA_UNIVERSAL_TURN_PACKET_SCRIPT" ]; then
208
+ echo "Aria universal turn packet script missing at $ARIA_UNIVERSAL_TURN_PACKET_SCRIPT" >&2
209
+ exit 1
210
+ fi
211
+
212
+ aria_codex_skip_async_bootstrap() {
213
+ case "\${1:-}" in
214
+ --version|-V|version|help|-h|--help|app-server|exec-server)
215
+ return 0
216
+ ;;
217
+ esac
218
+ for _aria_arg in "$@"; do
219
+ if [ "$_aria_arg" = "--remote" ]; then
220
+ return 0
221
+ fi
222
+ done
223
+ return 1
224
+ }
225
+
226
+ aria_codex_start_async_bootstrap() {
227
+ if [ "\${ARIA_CODEX_DISABLE_ASYNC_BOOTSTRAP:-0}" = "1" ]; then
228
+ return 0
229
+ fi
230
+ _aria_bootstrap_dir="$HOME/.aria/codex-readiness"
231
+ mkdir -p "$_aria_bootstrap_dir" >/dev/null 2>&1 || return 0
232
+ _aria_bootstrap_id="codex-$USER-$$-$(date +%s)"
233
+ _aria_bootstrap_log="$_aria_bootstrap_dir/$_aria_bootstrap_id.log"
234
+ _aria_bootstrap_pid="$_aria_bootstrap_dir/$_aria_bootstrap_id.pid"
235
+ ARIA_SURFACE_ID="codex" \\
236
+ ARIA_SESSION_ID="$_aria_bootstrap_id" \\
237
+ ARIA_TURN_USER_TEXT="$*" \\
238
+ ARIA_CODEX_READINESS_SILENT=1 \\
239
+ nohup node "$ARIA_UNIVERSAL_TURN_PACKET_SCRIPT" >"$_aria_bootstrap_log" 2>&1 &
240
+ _aria_pid=$!
241
+ printf '%s\\n' "$_aria_pid" >"$_aria_bootstrap_pid" 2>/dev/null || true
242
+ export ARIA_CODEX_ASYNC_BOOTSTRAP_ID="$_aria_bootstrap_id"
243
+ export ARIA_CODEX_ASYNC_BOOTSTRAP_LOG="$_aria_bootstrap_log"
244
+ }
245
+
246
+ if ! aria_codex_skip_async_bootstrap "$@"; then
247
+ aria_codex_start_async_bootstrap "$@"
248
+ fi
249
+ `;
250
+ }
251
+ return `
252
+ ARIA_UNIVERSAL_TURN_PACKET_SCRIPT="$HOME/.aria/runtime/hooks/aria-universal-turn-packet.mjs"
253
+ if [ ! -f "$ARIA_UNIVERSAL_TURN_PACKET_SCRIPT" ]; then
254
+ echo "Aria universal turn packet script missing at $ARIA_UNIVERSAL_TURN_PACKET_SCRIPT" >&2
255
+ exit 1
256
+ fi
257
+ ARIA_SURFACE_ID="${surfaceId}" ARIA_TURN_USER_TEXT="$*" node "$ARIA_UNIVERSAL_TURN_PACKET_SCRIPT" >/dev/null
258
+ `;
259
+ }
260
+
156
261
  export async function connectShell(
157
262
  toolName: string,
158
263
  config: AriaConfig,
@@ -165,12 +270,19 @@ export async function connectShell(
165
270
  return logs;
166
271
  }
167
272
 
273
+ await requireGovernedConnectorMutation({
274
+ surfaceId: 'shell',
275
+ action: 'install',
276
+ targetPath: WRAPPER_DIR,
277
+ reason: `install shell wrapper for ${toolName}`,
278
+ });
279
+
168
280
  if (!existsSync(WRAPPER_DIR)) {
169
281
  mkdirSync(WRAPPER_DIR, { recursive: true });
170
282
  }
171
283
 
172
284
  const ariaBlock = buildShellWrapperBlock(config, toolName);
173
- const runtimeBlock = buildRuntimeInjectionBlock();
285
+ const runtimeBlock = buildRuntimeInjectionBlock(toolName);
174
286
  const execBlock = buildToolExecBlock(toolName, toolPath);
175
287
  const wrapperPath = path.join(WRAPPER_DIR, toolName);
176
288
  const script = `#!/usr/bin/env bash
@@ -185,7 +297,13 @@ ${execBlock}
185
297
  chmodSync(wrapperPath, 0o755);
186
298
  ensureWrapperShellHook(logs);
187
299
  logs.push(`Created wrapper: ${wrapperPath}`);
188
- logs.push(`${toolName} will route through the mounted Aria runtime on new shell sessions.`);
300
+ logs.push(
301
+ toolName === 'claude'
302
+ ? 'claude will use direct Anthropic login by default; set ARIA_CLAUDE_USE_API_KEY=1 or ARIA_CLAUDE_USE_ARIA_RUNTIME=1 only when explicitly desired.'
303
+ : toolName === 'codex'
304
+ ? 'codex will use direct login/default provider by default; set ARIA_CODEX_USE_API_KEY=1, ARIA_CODEX_USE_ARIA_RUNTIME=1, or ARIA_CODEX_USE_BRIDGE=1 only when explicitly desired.'
305
+ : `${toolName} will route through the mounted Aria runtime on new shell sessions.`,
306
+ );
189
307
 
190
308
  return logs;
191
309
  }