@aria_asi/cli 0.2.40 → 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 +1223 -41
  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 +477 -81
  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 +477 -81
  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 +477 -81
  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 +1225 -41
  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,1227 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { appendFileSync, existsSync, readFileSync } from 'node:fs';
3
+ import { mkdir, readFile, stat, writeFile } from 'node:fs/promises';
4
+ import { homedir } from 'node:os';
5
+ import path from 'node:path';
6
+
7
+ import { HarnessClient } from './harness-client.js';
8
+
9
+ export type GovernedSurfaceId =
10
+ | 'codex'
11
+ | 'claude-code'
12
+ | 'opencode'
13
+ | 'shell'
14
+ | 'aria-chat'
15
+ | 'cursor'
16
+ | `future:${string}`;
17
+
18
+ export type GovernedSurfaceAction =
19
+ | 'read'
20
+ | 'write'
21
+ | 'delete'
22
+ | 'build'
23
+ | 'deploy'
24
+ | 'install'
25
+ | 'hook'
26
+ | 'connector-mutation';
27
+
28
+ export type UniversalTurnPacketPhase =
29
+ | 'pre_cognition'
30
+ | 'pre_tool'
31
+ | 'intra_tool'
32
+ | 'intra_cognition'
33
+ | 'post_tool'
34
+ | 'post_cognition';
35
+
36
+ export interface GovernedSurfaceVerifyReceipt {
37
+ verified: boolean;
38
+ receipt: string;
39
+ productionApproved?: boolean;
40
+ }
41
+
42
+ export interface GovernedSurfaceRequest {
43
+ surfaceId: GovernedSurfaceId;
44
+ action: GovernedSurfaceAction;
45
+ target?: {
46
+ path?: string;
47
+ namespace?: string;
48
+ description?: string;
49
+ };
50
+ sandbox?: {
51
+ namespace?: string;
52
+ root?: string;
53
+ };
54
+ reason?: string;
55
+ verify?: GovernedSurfaceVerifyReceipt;
56
+ runtimeTimeoutMs?: number;
57
+ }
58
+
59
+ export interface GovernedSurfacePolicy {
60
+ runtimeUrl?: string;
61
+ sandboxRoot?: string;
62
+ governanceLedgerRoot?: string;
63
+ allowedNamespaces?: string[];
64
+ allowedTargetRoots?: string[];
65
+ allowActiveLocalProductionTargets?: boolean;
66
+ sessionId?: string;
67
+ }
68
+
69
+ export interface GovernedSurfaceVerdict {
70
+ ok: boolean;
71
+ blocked: boolean;
72
+ allowed: boolean;
73
+ executed: boolean;
74
+ reason?: string;
75
+ action?: GovernedSurfaceAction;
76
+ surfaceId?: GovernedSurfaceId;
77
+ namespace?: string;
78
+ target?: string | null;
79
+ runtimeStatus?: string | number;
80
+ runtimeData?: unknown;
81
+ result?: unknown;
82
+ }
83
+
84
+ export interface GovernedOutputVerdict {
85
+ passed: boolean;
86
+ severity: 'pass' | 'warn' | 'block';
87
+ violations: string[];
88
+ gateTriggers: string[];
89
+ raw?: unknown;
90
+ error?: string;
91
+ }
92
+
93
+ export interface UniversalTurnPacketRequest {
94
+ surfaceId: GovernedSurfaceId;
95
+ userText: string;
96
+ sessionId?: string;
97
+ requiredSkills?: string[];
98
+ correctionFindings?: string[];
99
+ ownerApproval?: {
100
+ ownerApprovalStatus?: 'approved_by_owner' | 'rejected_by_owner' | 'needs_revision_by_owner' | 'not_requested';
101
+ status?: 'approved_by_owner' | 'rejected_by_owner' | 'needs_revision_by_owner' | 'not_requested';
102
+ approvedBy?: string;
103
+ owner?: string;
104
+ approvedAt?: string;
105
+ at?: string;
106
+ source?: string;
107
+ scope?: string;
108
+ evidence?: string;
109
+ };
110
+ timeoutMs?: number;
111
+ }
112
+
113
+ export interface UniversalTurnPhaseReceipt {
114
+ phase: UniversalTurnPacketPhase;
115
+ ok: boolean;
116
+ evidence: Record<string, unknown>;
117
+ at: string;
118
+ }
119
+
120
+ export interface UniversalTurnPacketReceipt {
121
+ ok: boolean;
122
+ surfaceId: GovernedSurfaceId;
123
+ sessionId: string;
124
+ skillExecutionMode: 'mechanical-receipt' | 'full-prompt' | string;
125
+ skillExecutionReceipt: Record<string, unknown> | null;
126
+ skillFloor: number;
127
+ runtimeFloor: number;
128
+ requiredSkills: string[];
129
+ loadedSkillIds: string[];
130
+ activeRuntimes: string[];
131
+ runtimeRegistry: Record<string, unknown> | null;
132
+ doctrineRuntimeReceipt: Record<string, unknown> | null;
133
+ taskClass: string | null;
134
+ taskClassReceipt: Record<string, unknown> | null;
135
+ selectedExtraOperators: string[];
136
+ dynamicOperatorSelection: Record<string, unknown> | null;
137
+ substrateKernelExecution: Record<string, unknown> | null;
138
+ phaseRuntimeExecution: Record<string, unknown> | null;
139
+ gardenMemorySubstrate: Record<string, unknown> | null;
140
+ cognitiveRuntimeReceipts: Record<string, unknown> | null;
141
+ learningCandidateReceipts: unknown[];
142
+ operatorDeltaReceipts: unknown[];
143
+ weakQaEnhancementLoopReceipt: Record<string, unknown> | null;
144
+ ownerApprovalPacket: Record<string, unknown> | null;
145
+ qaCorrectionLearningReceipt: Record<string, unknown> | null;
146
+ primitiveFloor: number;
147
+ mappingFloor: number;
148
+ qaSkillFloor: number;
149
+ correctionSkillFloor: number;
150
+ activePrimitives: string[];
151
+ primitiveRegistry: Record<string, unknown> | null;
152
+ activeMappings: string[];
153
+ mappingRegistry: Record<string, unknown> | null;
154
+ qaSkills: string[];
155
+ correctionSkills: string[];
156
+ qaCorrectionReceipt: Record<string, unknown> | null;
157
+ hiveObserverSourceTopology: Record<string, unknown> | null;
158
+ hiveSiblingSessionBroadcast: Record<string, unknown> | null;
159
+ missingSkillIds: string[];
160
+ missingCookbooks: unknown[];
161
+ promptHash: string | null;
162
+ promptChars: number;
163
+ phases: UniversalTurnPhaseReceipt[];
164
+ qa: {
165
+ status: 'pass' | 'block';
166
+ findings: string[];
167
+ correctionSkills: string[];
168
+ };
169
+ learningLoop: {
170
+ style: 'dalio_reflexion';
171
+ lesson: string;
172
+ integratedIntoNextPacket: boolean;
173
+ };
174
+ }
175
+
176
+ export const GOVERNED_SURFACES: readonly GovernedSurfaceId[] = Object.freeze([
177
+ 'codex',
178
+ 'claude-code',
179
+ 'opencode',
180
+ 'shell',
181
+ 'aria-chat',
182
+ 'cursor',
183
+ 'future:fixture',
184
+ ]);
185
+
186
+ export const GOVERNED_MUTATING_ACTIONS: ReadonlySet<GovernedSurfaceAction> = Object.freeze(new Set<GovernedSurfaceAction>([
187
+ 'write',
188
+ 'delete',
189
+ 'build',
190
+ 'deploy',
191
+ 'install',
192
+ 'hook',
193
+ 'connector-mutation',
194
+ ]));
195
+
196
+ export const DEFAULT_SANDBOX_ROOT = '/tmp/aria-playground-surfaces';
197
+ export const DEFAULT_SANDBOX_NAMESPACE = 'aria-playground';
198
+ export const UNIVERSAL_TURN_PACKET_SKILL_FLOOR = 50;
199
+ export const UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR = 16;
200
+ export const UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR = 24;
201
+ export const UNIVERSAL_TURN_PACKET_MAPPING_FLOOR = 24;
202
+ export const UNIVERSAL_TURN_PACKET_QA_SKILL_FLOOR = 6;
203
+ export const UNIVERSAL_TURN_PACKET_CORRECTION_SKILL_FLOOR = 6;
204
+ export const UNIVERSAL_TURN_PACKET_HIVE_OBSERVER_FLOOR = 1;
205
+ export const UNIVERSAL_TURN_PACKET_HIVE_SOURCE_FLOOR = 1;
206
+ export const UNIVERSAL_TURN_PACKET_HIVE_SIBLING_BROADCAST_FLOOR = 1;
207
+ export const UNIVERSAL_TURN_PACKET_SKILLS: readonly string[] = Object.freeze([
208
+ 'aria-cognition-autofire',
209
+ 'aria-first-class-operating-contract',
210
+ 'aria-cognition-batch',
211
+ 'aria-quality-audit',
212
+ 'aria-repo-doctrine',
213
+ 'aria-http-harness-client',
214
+ 'aria-harness-substrate-binding',
215
+ 'aria-axioms-first-principles',
216
+ 'never-guess',
217
+ 'tadabbur',
218
+ 'tadabbur-ops',
219
+ 'tafakkur',
220
+ 'qiyas-analogy',
221
+ 'forge-quality-rules',
222
+ 'aria-task-codex-executor',
223
+ 'aria-backend-architect',
224
+ 'aria-harness-no-stripping',
225
+ 'aria-readable-output',
226
+ 'aria-ledger-fleet-execution',
227
+ 'predictor',
228
+ 'aria-aristotle-pre-phase',
229
+ 'aria-aristotle-intra-phase',
230
+ 'aria-aristotle-post-phase',
231
+ 'mizan',
232
+ 'ghazali-8lens',
233
+ 'aria-noor-cognitives',
234
+ 'aria-business-frame',
235
+ 'aria-business-audit',
236
+ 'aria-revenue-engine',
237
+ 'aria-retention-engine',
238
+ 'aria-gtm-architect',
239
+ 'aria-senior-code-cookbook',
240
+ 'aria-senior-code-audit',
241
+ 'testing-strategy',
242
+ 'security-review',
243
+ 'architecture-decision',
244
+ 'api-design',
245
+ 'observability',
246
+ 'error-handling',
247
+ 'aria-decision-mizan',
248
+ 'aria-aristotle-cognitives',
249
+ 'aria-forge-guardrails',
250
+ 'aria-harness-deploy',
251
+ 'aria-harness-onboarding',
252
+ 'aria-harness-output-discipline',
253
+ 'aria-frontend-architect',
254
+ 'aria-fullstack-orchestrator',
255
+ 'aria-research-orchestrator',
256
+ 'cross-domain-24',
257
+ 'fitrah-guard',
258
+ 'noor-recognition',
259
+ 'ladunni-22',
260
+ 'ijtihad-novel',
261
+ 'ilham-intuition',
262
+ 'istiqra-induction',
263
+ 'ruh-basis',
264
+ 'soul-domains',
265
+ 'deepsoul-emotional',
266
+ ]);
267
+ export const UNIVERSAL_TURN_PACKET_PHASES: readonly UniversalTurnPacketPhase[] = Object.freeze([
268
+ 'pre_cognition',
269
+ 'pre_tool',
270
+ 'intra_tool',
271
+ 'intra_cognition',
272
+ 'post_tool',
273
+ 'post_cognition',
274
+ ]);
275
+
276
+ const ACTIVE_LOCAL_PRODUCTION_MARKERS = Object.freeze([
277
+ path.join(homedir(), '.codex'),
278
+ path.join(homedir(), '.claude'),
279
+ path.join(homedir(), '.opencode'),
280
+ path.join(homedir(), '.aria', 'wrappers'),
281
+ ]);
282
+
283
+ function normalizePath(value: string | undefined | null): string | null {
284
+ if (!value) return null;
285
+ return path.resolve(value);
286
+ }
287
+
288
+ function uniqueStrings(values: readonly (string | undefined | null)[]): string[] {
289
+ return [...new Set(values.filter((item): item is string => typeof item === 'string' && item.trim().length > 0).map((item) => item.trim()))];
290
+ }
291
+
292
+ function stringArray(value: unknown): string[] {
293
+ return Array.isArray(value)
294
+ ? value.filter((item): item is string => typeof item === 'string' && item.trim().length > 0)
295
+ : [];
296
+ }
297
+
298
+ function objectRecord(value: unknown): Record<string, unknown> {
299
+ return value && typeof value === 'object' ? value as Record<string, unknown> : {};
300
+ }
301
+
302
+ export function governedPathIsUnder(child: string | null, parent: string | null): boolean {
303
+ if (!child || !parent) return false;
304
+ const relative = path.relative(parent, child);
305
+ return relative === '' || (!relative.startsWith('..') && !path.isAbsolute(relative));
306
+ }
307
+
308
+ export async function governedFileSha256(filePath: string): Promise<string | null> {
309
+ try {
310
+ const contents = await readFile(filePath);
311
+ return createHash('sha256').update(contents).digest('hex');
312
+ } catch (error) {
313
+ if ((error as NodeJS.ErrnoException).code === 'ENOENT') return null;
314
+ throw error;
315
+ }
316
+ }
317
+
318
+ function sessionLedgerPath(root: string, sessionId: string): string {
319
+ const safeSession = String(sessionId || 'surface-runner').replace(/[^a-zA-Z0-9_-]/g, '_');
320
+ return path.join(root, `aria-discoveries-${safeSession}.jsonl`);
321
+ }
322
+
323
+ function countLines(filePath: string): number {
324
+ if (!existsSync(filePath)) return 0;
325
+ const content = readFileSync(filePath, 'utf8');
326
+ if (!content) return 0;
327
+ return content.endsWith('\n') ? content.split('\n').length - 1 : content.split('\n').length;
328
+ }
329
+
330
+ function blocked(reason: string, extra: Partial<GovernedSurfaceVerdict> = {}): GovernedSurfaceVerdict {
331
+ return {
332
+ ok: false,
333
+ blocked: true,
334
+ allowed: false,
335
+ executed: false,
336
+ reason,
337
+ ...extra,
338
+ };
339
+ }
340
+
341
+ async function postJson(url: string, body: unknown, timeoutMs: number): Promise<{ ok: boolean; status: number; data: unknown }> {
342
+ const controller = new AbortController();
343
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
344
+ try {
345
+ const response = await fetch(url, {
346
+ method: 'POST',
347
+ headers: { 'content-type': 'application/json' },
348
+ body: JSON.stringify(body),
349
+ signal: controller.signal,
350
+ });
351
+ const text = await response.text();
352
+ let data: unknown = null;
353
+ try {
354
+ data = text ? JSON.parse(text) : null;
355
+ } catch {
356
+ data = { raw: text };
357
+ }
358
+ return { ok: response.ok, status: response.status, data };
359
+ } finally {
360
+ clearTimeout(timer);
361
+ }
362
+ }
363
+
364
+ async function getJson(url: string, timeoutMs: number): Promise<{ ok: boolean; status: number; data: unknown; elapsedMs: number }> {
365
+ const startedAt = Date.now();
366
+ const controller = new AbortController();
367
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
368
+ try {
369
+ const response = await fetch(url, { signal: controller.signal });
370
+ const text = await response.text();
371
+ let data: unknown = null;
372
+ try {
373
+ data = text ? JSON.parse(text) : null;
374
+ } catch {
375
+ data = { raw: text };
376
+ }
377
+ return { ok: response.ok, status: response.status, data, elapsedMs: Date.now() - startedAt };
378
+ } finally {
379
+ clearTimeout(timer);
380
+ }
381
+ }
382
+
383
+ function normalizeValidation(data: unknown): GovernedOutputVerdict {
384
+ const outer = data && typeof data === 'object' ? data as Record<string, unknown> : {};
385
+ const payload = outer.validation && typeof outer.validation === 'object'
386
+ ? outer.validation as Record<string, unknown>
387
+ : outer;
388
+ const passed = payload.passed === true || payload.pass === true || payload.allowed === true;
389
+ const severity = payload.severity === 'pass' || payload.severity === 'warn' || payload.severity === 'block'
390
+ ? payload.severity
391
+ : passed ? 'pass' : 'block';
392
+ return {
393
+ passed,
394
+ severity,
395
+ violations: Array.isArray(payload.violations) ? payload.violations.filter((item): item is string => typeof item === 'string') : [],
396
+ gateTriggers: Array.isArray(payload.gateTriggers) ? payload.gateTriggers.filter((item): item is string => typeof item === 'string') : [],
397
+ raw: data,
398
+ };
399
+ }
400
+
401
+ export class GovernedSurfaceRunner {
402
+ private readonly runtimeUrl: string;
403
+ private readonly sandboxRoot: string;
404
+ private readonly governanceLedgerRoot: string;
405
+ private readonly allowedNamespaces: Set<string>;
406
+ private readonly allowedTargetRoots: string[];
407
+ private readonly allowActiveLocalProductionTargets: boolean;
408
+ private readonly sessionId: string;
409
+ private readonly client: HarnessClient;
410
+
411
+ constructor(policy: GovernedSurfacePolicy = {}) {
412
+ this.runtimeUrl = (policy.runtimeUrl ?? process.env.ARIA_RUNTIME_URL ?? 'http://127.0.0.1:4319').replace(/\/+$/, '');
413
+ this.sandboxRoot = normalizePath(policy.sandboxRoot ?? DEFAULT_SANDBOX_ROOT) ?? DEFAULT_SANDBOX_ROOT;
414
+ this.governanceLedgerRoot = normalizePath(policy.governanceLedgerRoot ?? path.join(homedir(), '.claude')) ?? path.join(homedir(), '.claude');
415
+ this.allowedNamespaces = new Set(policy.allowedNamespaces ?? [DEFAULT_SANDBOX_NAMESPACE]);
416
+ this.allowedTargetRoots = (policy.allowedTargetRoots ?? [this.sandboxRoot])
417
+ .map((root) => normalizePath(root))
418
+ .filter((root): root is string => Boolean(root));
419
+ this.allowActiveLocalProductionTargets = policy.allowActiveLocalProductionTargets === true;
420
+ this.sessionId = policy.sessionId ?? 'surface-runner';
421
+ this.client = new HarnessClient({ runtimeBaseUrl: this.runtimeUrl });
422
+ }
423
+
424
+ assertRequest(request: GovernedSurfaceRequest): GovernedSurfaceVerdict {
425
+ const namespace = request.sandbox?.namespace ?? request.target?.namespace ?? DEFAULT_SANDBOX_NAMESPACE;
426
+ const target = normalizePath(request.target?.path);
427
+
428
+ if (!this.allowedNamespaces.has(namespace)) {
429
+ return blocked('namespace_not_allowed', { namespace, target });
430
+ }
431
+
432
+ if (target && !this.allowedTargetRoots.some((root) => governedPathIsUnder(target, root))) {
433
+ return blocked('target_outside_allowed_roots', { namespace, target });
434
+ }
435
+
436
+ if (!this.allowActiveLocalProductionTargets && target) {
437
+ const activeTarget = ACTIVE_LOCAL_PRODUCTION_MARKERS.find((marker) => governedPathIsUnder(target, marker));
438
+ if (activeTarget) {
439
+ return blocked('active_local_production_target', { namespace, target, runtimeData: { marker: activeTarget } });
440
+ }
441
+ }
442
+
443
+ return {
444
+ ok: true,
445
+ blocked: false,
446
+ allowed: true,
447
+ executed: false,
448
+ namespace,
449
+ target,
450
+ surfaceId: request.surfaceId,
451
+ action: request.action,
452
+ };
453
+ }
454
+
455
+ async checkAction(request: GovernedSurfaceRequest): Promise<GovernedSurfaceVerdict> {
456
+ const local = this.assertRequest(request);
457
+ if (!local.ok) return local;
458
+
459
+ const isMutating = GOVERNED_MUTATING_ACTIONS.has(request.action);
460
+ if (!isMutating) return local;
461
+
462
+ if (request.verify?.verified !== true || !request.verify.receipt) {
463
+ return blocked('mutating_action_requires_verified_receipt', {
464
+ action: request.action,
465
+ surfaceId: request.surfaceId,
466
+ namespace: local.namespace,
467
+ target: local.target,
468
+ });
469
+ }
470
+
471
+ if (this.allowActiveLocalProductionTargets && request.verify.productionApproved !== true) {
472
+ return blocked('active_local_production_target_requires_production_approval', {
473
+ action: request.action,
474
+ surfaceId: request.surfaceId,
475
+ namespace: local.namespace,
476
+ target: local.target,
477
+ });
478
+ }
479
+
480
+ try {
481
+ const runtime = await postJson(`${this.runtimeUrl}/check-action`, {
482
+ action: request.action,
483
+ target: local.target,
484
+ surfaceId: request.surfaceId,
485
+ reason: request.reason ?? 'governed surface action',
486
+ sandbox: request.sandbox,
487
+ verify: request.verify,
488
+ }, request.runtimeTimeoutMs ?? 3000);
489
+ const data = runtime.data && typeof runtime.data === 'object' ? runtime.data as Record<string, unknown> : {};
490
+ const result = data.result && typeof data.result === 'object' ? data.result as Record<string, unknown> : {};
491
+ const allowed = runtime.ok && (data.allowed === true || result.allowed === true);
492
+ if (!allowed) {
493
+ return blocked('runtime_action_denied_or_unavailable', {
494
+ action: request.action,
495
+ surfaceId: request.surfaceId,
496
+ namespace: local.namespace,
497
+ target: local.target,
498
+ runtimeStatus: runtime.status,
499
+ runtimeData: runtime.data,
500
+ });
501
+ }
502
+ return {
503
+ ok: true,
504
+ blocked: false,
505
+ allowed: true,
506
+ executed: false,
507
+ action: request.action,
508
+ surfaceId: request.surfaceId,
509
+ namespace: local.namespace,
510
+ target: local.target,
511
+ runtimeStatus: runtime.status,
512
+ runtimeData: runtime.data,
513
+ };
514
+ } catch (error) {
515
+ return blocked('runtime_action_check_failed', {
516
+ action: request.action,
517
+ surfaceId: request.surfaceId,
518
+ namespace: local.namespace,
519
+ target: local.target,
520
+ runtimeStatus: error instanceof Error ? error.name : 'error',
521
+ });
522
+ }
523
+ }
524
+
525
+ async run<T>(request: GovernedSurfaceRequest, executor: () => Promise<T>): Promise<GovernedSurfaceVerdict> {
526
+ const verdict = await this.checkAction(request);
527
+ if (!verdict.ok || verdict.blocked || verdict.allowed !== true) return verdict;
528
+ const result = await executor();
529
+ return {
530
+ ...verdict,
531
+ ok: true,
532
+ blocked: false,
533
+ allowed: true,
534
+ executed: true,
535
+ result,
536
+ };
537
+ }
538
+
539
+ async validateOutput(args: {
540
+ text: string;
541
+ surfaceId?: GovernedSurfaceId;
542
+ sessionId?: string;
543
+ timeoutMs?: number;
544
+ }): Promise<GovernedOutputVerdict> {
545
+ try {
546
+ const runtime = await postJson(`${this.runtimeUrl}/validate-output`, {
547
+ text: args.text,
548
+ surfaceId: args.surfaceId ?? 'codex',
549
+ sessionId: args.sessionId ?? this.sessionId,
550
+ isOwner: false,
551
+ context: { source: 'governed-surface-runner' },
552
+ }, args.timeoutMs ?? 3000);
553
+
554
+ if (!runtime.ok) {
555
+ return {
556
+ passed: false,
557
+ severity: 'block',
558
+ violations: [`runtime_status_${runtime.status}`],
559
+ gateTriggers: ['governed-output-validation'],
560
+ raw: runtime.data,
561
+ };
562
+ }
563
+
564
+ const verdict = normalizeValidation(runtime.data);
565
+ if (/unsupported completion|complete without proof|ready without evidence/i.test(args.text)) {
566
+ return {
567
+ ...verdict,
568
+ passed: false,
569
+ severity: 'block',
570
+ violations: [...verdict.violations, 'unsupported_completion_claim'],
571
+ gateTriggers: [...verdict.gateTriggers, 'governed-output-validation'],
572
+ };
573
+ }
574
+ return verdict;
575
+ } catch (error) {
576
+ if (error instanceof Error && error.name === 'AbortError') {
577
+ let recoveryProbe: Record<string, unknown> = {
578
+ ok: false,
579
+ status: null,
580
+ elapsedMs: null,
581
+ error: 'not_run',
582
+ };
583
+ try {
584
+ const health = await getJson(`${this.runtimeUrl}/health`, 2000);
585
+ recoveryProbe = {
586
+ ok: health.ok,
587
+ status: health.status,
588
+ elapsedMs: health.elapsedMs,
589
+ };
590
+ } catch (probeError) {
591
+ recoveryProbe = {
592
+ ok: false,
593
+ status: null,
594
+ elapsedMs: null,
595
+ error: probeError instanceof Error ? probeError.name : String(probeError),
596
+ };
597
+ }
598
+ return {
599
+ passed: false,
600
+ severity: 'block',
601
+ violations: ['validation_timeout_inconclusive'],
602
+ gateTriggers: ['governed-output-validation', 'repo-doctrine-timeout-recovery'],
603
+ error: 'AbortError',
604
+ raw: {
605
+ doctrineRuntimeReceipt: {
606
+ schema: 'aria.repo_doctrine_runtime_receipt.v1',
607
+ ok: recoveryProbe.ok === true,
608
+ runtimeActive: true,
609
+ productionIntent: true,
610
+ pathClassifications: [],
611
+ verificationSurface: 'GET /health after /validate-output timeout',
612
+ doctrineHits: ['timeout_requires_inconclusive_recovery'],
613
+ timeoutVerdict: recoveryProbe.ok === true ? 'verified_after_retry' : 'runtime_unhealthy',
614
+ recoveryProbe,
615
+ noFakeValidation: true,
616
+ },
617
+ },
618
+ };
619
+ }
620
+ return {
621
+ passed: false,
622
+ severity: 'block',
623
+ violations: ['normal_validation_did_not_return_bounded_verdict'],
624
+ gateTriggers: ['governed-output-validation'],
625
+ error: error instanceof Error ? error.name : String(error),
626
+ };
627
+ }
628
+ }
629
+
630
+ async buildUniversalTurnPacket(args: UniversalTurnPacketRequest): Promise<UniversalTurnPacketReceipt> {
631
+ const sessionId = args.sessionId ?? this.sessionId;
632
+ const requiredSkills = uniqueStrings([
633
+ ...UNIVERSAL_TURN_PACKET_SKILLS,
634
+ ...(args.requiredSkills ?? []),
635
+ ]);
636
+ const correctionFindings = stringArray(args.correctionFindings);
637
+ const runtime = await postJson(`${this.runtimeUrl}/build-system-prompt`, {
638
+ sessionId,
639
+ surface: args.surfaceId,
640
+ message: args.userText,
641
+ requiredSkills,
642
+ allowOwnerBypass: true,
643
+ injection: {
644
+ harness: {
645
+ packet: {
646
+ sessionId,
647
+ surfaceId: args.surfaceId,
648
+ sandboxNamespace: DEFAULT_SANDBOX_NAMESPACE,
649
+ universalTurnPacket: true,
650
+ phaseContract: UNIVERSAL_TURN_PACKET_PHASES,
651
+ correctionFindings,
652
+ ...(args.ownerApproval ? { ownerApproval: args.ownerApproval } : {}),
653
+ },
654
+ },
655
+ task: args.userText,
656
+ docs: [
657
+ {
658
+ title: 'Universal turn-packet contract',
659
+ content: 'Load the same skill floor before cognition and carry the packet through tool, QA, correction, and learning phases.',
660
+ },
661
+ ],
662
+ files: {},
663
+ loadedAt: new Date().toISOString(),
664
+ },
665
+ metadata: {
666
+ source: 'governed-surface-runner',
667
+ universalTurnPacket: true,
668
+ skillExecutionMode: 'mechanical-receipt',
669
+ requiredSkills,
670
+ correctionFindings,
671
+ ...(args.ownerApproval ? { ownerApproval: args.ownerApproval } : {}),
672
+ },
673
+ ...(args.ownerApproval ? { ownerApproval: args.ownerApproval } : {}),
674
+ skillExecutionMode: 'mechanical-receipt',
675
+ }, args.timeoutMs ?? 5000);
676
+ const data = objectRecord(runtime.data);
677
+ const loadedSkillIds = stringArray(data.loadedSkillIds);
678
+ const runtimeMissingSkillIds = stringArray(data.missingSkillIds);
679
+ const missingSkillIds = uniqueStrings([
680
+ ...runtimeMissingSkillIds,
681
+ ...requiredSkills.filter((skill) => !loadedSkillIds.includes(skill)),
682
+ ]);
683
+ const missingCookbooks = Array.isArray(data.missingCookbooks) ? data.missingCookbooks : [];
684
+ const prompt = typeof data.prompt === 'string' ? data.prompt : '';
685
+ const promptHash = prompt ? createHash('sha256').update(prompt).digest('hex') : null;
686
+ const skillExecutionMode = typeof data.skillExecutionMode === 'string' ? data.skillExecutionMode : 'unknown';
687
+ const skillExecutionReceipt = objectRecord(data.skillExecutionReceipt);
688
+ const firedSkillIds = stringArray(skillExecutionReceipt.firedSkillIds);
689
+ const substrateKernelExecution = Object.keys(objectRecord(data.substrateKernelExecution)).length
690
+ ? objectRecord(data.substrateKernelExecution)
691
+ : Object.keys(objectRecord(skillExecutionReceipt.substrateKernelExecution)).length
692
+ ? objectRecord(skillExecutionReceipt.substrateKernelExecution)
693
+ : null;
694
+ const executedSkillIds = uniqueStrings([
695
+ ...stringArray(skillExecutionReceipt.executedSkillIds),
696
+ ...stringArray(substrateKernelExecution?.executedSkillIds),
697
+ ]);
698
+ const executedOperatorIds = uniqueStrings([
699
+ ...stringArray(skillExecutionReceipt.executedOperatorIds),
700
+ ...stringArray(substrateKernelExecution?.executedOperatorIds),
701
+ ]);
702
+ const executionBackedSkillIds = executedSkillIds.length ? executedSkillIds : firedSkillIds;
703
+ const activeRuntimes = uniqueStrings([
704
+ ...stringArray(data.activeRuntimes),
705
+ ...stringArray(skillExecutionReceipt.activeRuntimes),
706
+ ]);
707
+ const runtimeRegistry = Object.keys(objectRecord(data.runtimeRegistry)).length
708
+ ? objectRecord(data.runtimeRegistry)
709
+ : Object.keys(objectRecord(skillExecutionReceipt.runtimeRegistry)).length
710
+ ? objectRecord(skillExecutionReceipt.runtimeRegistry)
711
+ : null;
712
+ const doctrineRuntimeReceipt = Object.keys(objectRecord(data.doctrineRuntimeReceipt)).length
713
+ ? objectRecord(data.doctrineRuntimeReceipt)
714
+ : Object.keys(objectRecord(skillExecutionReceipt.doctrineRuntimeReceipt)).length
715
+ ? objectRecord(skillExecutionReceipt.doctrineRuntimeReceipt)
716
+ : null;
717
+ const taskClass = typeof data.taskClass === 'string'
718
+ ? data.taskClass
719
+ : typeof skillExecutionReceipt.taskClass === 'string'
720
+ ? skillExecutionReceipt.taskClass
721
+ : null;
722
+ const taskClassReceipt = Object.keys(objectRecord(data.taskClassReceipt)).length
723
+ ? objectRecord(data.taskClassReceipt)
724
+ : Object.keys(objectRecord(skillExecutionReceipt.taskClassReceipt)).length
725
+ ? objectRecord(skillExecutionReceipt.taskClassReceipt)
726
+ : null;
727
+ const selectedExtraOperators = uniqueStrings([
728
+ ...stringArray(data.selectedExtraOperators),
729
+ ...stringArray(skillExecutionReceipt.selectedExtraOperators),
730
+ ]);
731
+ const dynamicOperatorSelection = Object.keys(objectRecord(data.dynamicOperatorSelection)).length
732
+ ? objectRecord(data.dynamicOperatorSelection)
733
+ : Object.keys(objectRecord(skillExecutionReceipt.dynamicOperatorSelection)).length
734
+ ? objectRecord(skillExecutionReceipt.dynamicOperatorSelection)
735
+ : null;
736
+ const phaseRuntimeExecution = Object.keys(objectRecord(data.phaseRuntimeExecution)).length
737
+ ? objectRecord(data.phaseRuntimeExecution)
738
+ : Object.keys(objectRecord(skillExecutionReceipt.phaseRuntimeExecution)).length
739
+ ? objectRecord(skillExecutionReceipt.phaseRuntimeExecution)
740
+ : null;
741
+ const gardenMemorySubstrate = Object.keys(objectRecord(data.gardenMemorySubstrate)).length
742
+ ? objectRecord(data.gardenMemorySubstrate)
743
+ : Object.keys(objectRecord(skillExecutionReceipt.gardenMemorySubstrate)).length
744
+ ? objectRecord(skillExecutionReceipt.gardenMemorySubstrate)
745
+ : null;
746
+ const cognitiveRuntimeReceipts = Object.keys(objectRecord(data.cognitiveRuntimeReceipts)).length
747
+ ? objectRecord(data.cognitiveRuntimeReceipts)
748
+ : Object.keys(objectRecord(skillExecutionReceipt.cognitiveRuntimeReceipts)).length
749
+ ? objectRecord(skillExecutionReceipt.cognitiveRuntimeReceipts)
750
+ : null;
751
+ const learningCandidateReceipts = Array.isArray(data.learningCandidateReceipts)
752
+ ? data.learningCandidateReceipts
753
+ : Array.isArray(skillExecutionReceipt.learningCandidateReceipts)
754
+ ? skillExecutionReceipt.learningCandidateReceipts
755
+ : [];
756
+ const operatorDeltaReceipts = Array.isArray(data.operatorDeltaReceipts)
757
+ ? data.operatorDeltaReceipts
758
+ : Array.isArray(skillExecutionReceipt.operatorDeltaReceipts)
759
+ ? skillExecutionReceipt.operatorDeltaReceipts
760
+ : [];
761
+ const weakQaEnhancementLoopReceipt = Object.keys(objectRecord(data.weakQaEnhancementLoopReceipt)).length
762
+ ? objectRecord(data.weakQaEnhancementLoopReceipt)
763
+ : Object.keys(objectRecord(skillExecutionReceipt.weakQaEnhancementLoopReceipt)).length
764
+ ? objectRecord(skillExecutionReceipt.weakQaEnhancementLoopReceipt)
765
+ : null;
766
+ const ownerApprovalPacket = Object.keys(objectRecord(data.ownerApprovalPacket)).length
767
+ ? objectRecord(data.ownerApprovalPacket)
768
+ : Object.keys(objectRecord(skillExecutionReceipt.ownerApprovalPacket)).length
769
+ ? objectRecord(skillExecutionReceipt.ownerApprovalPacket)
770
+ : null;
771
+ const activePrimitives = uniqueStrings([
772
+ ...stringArray(data.activePrimitives),
773
+ ...stringArray(skillExecutionReceipt.activePrimitives),
774
+ ]);
775
+ const primitiveRegistry = Object.keys(objectRecord(data.primitiveRegistry)).length
776
+ ? objectRecord(data.primitiveRegistry)
777
+ : Object.keys(objectRecord(skillExecutionReceipt.primitiveRegistry)).length
778
+ ? objectRecord(skillExecutionReceipt.primitiveRegistry)
779
+ : null;
780
+ const activeMappings = uniqueStrings([
781
+ ...stringArray(data.activeMappings),
782
+ ...stringArray(skillExecutionReceipt.activeMappings),
783
+ ]);
784
+ const mappingRegistry = Object.keys(objectRecord(data.mappingRegistry)).length
785
+ ? objectRecord(data.mappingRegistry)
786
+ : Object.keys(objectRecord(skillExecutionReceipt.mappingRegistry)).length
787
+ ? objectRecord(skillExecutionReceipt.mappingRegistry)
788
+ : null;
789
+ const qaCorrectionReceipt = Object.keys(objectRecord(data.qaCorrectionReceipt)).length
790
+ ? objectRecord(data.qaCorrectionReceipt)
791
+ : Object.keys(objectRecord(skillExecutionReceipt.qaCorrectionReceipt)).length
792
+ ? objectRecord(skillExecutionReceipt.qaCorrectionReceipt)
793
+ : null;
794
+ const qaCorrectionLearningReceipt = Object.keys(objectRecord(data.qaCorrectionLearningReceipt)).length
795
+ ? objectRecord(data.qaCorrectionLearningReceipt)
796
+ : Object.keys(objectRecord(skillExecutionReceipt.qaCorrectionLearningReceipt)).length
797
+ ? objectRecord(skillExecutionReceipt.qaCorrectionLearningReceipt)
798
+ : null;
799
+ const qaSkills = uniqueStrings([
800
+ ...stringArray(data.qaSkills),
801
+ ...stringArray(skillExecutionReceipt.qaSkills),
802
+ ...stringArray(qaCorrectionReceipt?.qaSkills),
803
+ ]);
804
+ const correctionSkills = uniqueStrings([
805
+ ...stringArray(data.correctionSkills),
806
+ ...stringArray(skillExecutionReceipt.correctionSkills),
807
+ ...stringArray(qaCorrectionReceipt?.correctionSkills),
808
+ ]);
809
+ const hiveObserverSourceTopology = Object.keys(objectRecord(data.hiveObserverSourceTopology)).length
810
+ ? objectRecord(data.hiveObserverSourceTopology)
811
+ : Object.keys(objectRecord(skillExecutionReceipt.hiveObserverSourceTopology)).length
812
+ ? objectRecord(skillExecutionReceipt.hiveObserverSourceTopology)
813
+ : null;
814
+ const hiveSiblingSessionBroadcast = Object.keys(objectRecord(data.hiveSiblingSessionBroadcast)).length
815
+ ? objectRecord(data.hiveSiblingSessionBroadcast)
816
+ : Object.keys(objectRecord(skillExecutionReceipt.hiveSiblingSessionBroadcast)).length
817
+ ? objectRecord(skillExecutionReceipt.hiveSiblingSessionBroadcast)
818
+ : null;
819
+ const observerSurfaces = stringArray(hiveObserverSourceTopology?.observerSurfaces);
820
+ const sourceSurfaces = stringArray(hiveObserverSourceTopology?.sourceSurfaces);
821
+ const mechanicalReceiptOk = skillExecutionReceipt.ok === true
822
+ && skillExecutionMode === 'mechanical-receipt'
823
+ && executionBackedSkillIds.length >= UNIVERSAL_TURN_PACKET_SKILL_FLOOR
824
+ && substrateKernelExecution?.ok === true
825
+ && executedOperatorIds.length >= UNIVERSAL_TURN_PACKET_SKILL_FLOOR;
826
+ const runtimeReceiptOk = activeRuntimes.length >= UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR
827
+ && runtimeRegistry?.['missing'] !== true;
828
+ const doctrineRuntimeReceiptOk = doctrineRuntimeReceipt?.ok === true
829
+ && doctrineRuntimeReceipt?.runtimeActive === true
830
+ && doctrineRuntimeReceipt?.noFakeValidation === true
831
+ && typeof doctrineRuntimeReceipt?.verificationSurface === 'string'
832
+ && doctrineRuntimeReceipt.verificationSurface.length > 0;
833
+ const primitiveReceiptOk = activePrimitives.length >= UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR
834
+ && primitiveRegistry?.['missing'] !== true;
835
+ const mappingReceiptOk = activeMappings.length >= UNIVERSAL_TURN_PACKET_MAPPING_FLOOR
836
+ && mappingRegistry?.['missing'] !== true;
837
+ const qaSkillReceiptOk = qaCorrectionReceipt?.ok === true
838
+ && qaSkills.length >= UNIVERSAL_TURN_PACKET_QA_SKILL_FLOOR;
839
+ const correctionSkillReceiptOk = qaCorrectionReceipt?.ok === true
840
+ && correctionSkills.length >= UNIVERSAL_TURN_PACKET_CORRECTION_SKILL_FLOOR;
841
+ const hiveObserverSourceTopologyOk = hiveObserverSourceTopology?.ok === true
842
+ && observerSurfaces.length >= UNIVERSAL_TURN_PACKET_HIVE_OBSERVER_FLOOR
843
+ && sourceSurfaces.length >= UNIVERSAL_TURN_PACKET_HIVE_SOURCE_FLOOR;
844
+ const hiveSiblingSessionBroadcastOk = hiveSiblingSessionBroadcast?.ok === true
845
+ && Number(hiveSiblingSessionBroadcast.messageCount || 0) >= UNIVERSAL_TURN_PACKET_HIVE_SIBLING_BROADCAST_FLOOR;
846
+ const cognitiveRuntimeReceiptOk = cognitiveRuntimeReceipts?.ok === true
847
+ && objectRecord(cognitiveRuntimeReceipts.tadabbur).ok === true
848
+ && objectRecord(cognitiveRuntimeReceipts.qiyas).ok === true
849
+ && objectRecord(cognitiveRuntimeReceipts.mizan).ok === true
850
+ && objectRecord(cognitiveRuntimeReceipts.noor).ok === true
851
+ && objectRecord(cognitiveRuntimeReceipts.noor).noorSuiteCount === 14;
852
+ const dynamicOperatorSelectionOk = dynamicOperatorSelection?.ok === true
853
+ && dynamicOperatorSelection.registryCap === null
854
+ && Number(dynamicOperatorSelection.selectedOperatorCount || 0) >= UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR;
855
+ const phaseRuntimeExecutionOk = phaseRuntimeExecution?.ok === true
856
+ && phaseRuntimeExecution.providerReceivesFullSkillBodies === false;
857
+ const gardenMemorySubstrateOk = gardenMemorySubstrate?.ok === true
858
+ && /substrate/i.test(String(gardenMemorySubstrate.substrateBoundary || ''))
859
+ && objectRecord(gardenMemorySubstrate.providerProjection).includesMemoryBodies === false;
860
+ const qaCorrectionLearningOk = qaCorrectionLearningReceipt?.ok === true
861
+ && qaCorrectionLearningReceipt.learningFeedsNextSelection === true
862
+ && qaCorrectionLearningReceipt.productionPromotionRequiresOwnerApproval === true;
863
+ const weakQaEnhancementLoopOk = weakQaEnhancementLoopReceipt?.schema === 'aria.weak_qa_enhancement_loop_receipt.v1'
864
+ && weakQaEnhancementLoopReceipt.ok === true;
865
+ const ownerApprovalPacketOk = ownerApprovalPacket?.schema === 'aria.owner_final_approval_packet.v1'
866
+ && (
867
+ ownerApprovalPacket.required !== true
868
+ || ownerApprovalPacket.blocksProductionPromotion === true
869
+ || (
870
+ ownerApprovalPacket.ownerApprovalStatus === 'approved_by_owner'
871
+ && ownerApprovalPacket.blocksProductionPromotion === false
872
+ && objectRecord(ownerApprovalPacket.approvalReceipt).schema === 'aria.owner_approval_receipt.v1'
873
+ )
874
+ );
875
+ const fullSkillBodiesInjected = prompt.includes('<skill_content ') || prompt.includes('ARIA RUNTIME FORCED SKILL LOAD');
876
+ const ok = runtime.ok
877
+ && data.ok === true
878
+ && loadedSkillIds.length >= UNIVERSAL_TURN_PACKET_SKILL_FLOOR
879
+ && missingSkillIds.length === 0
880
+ && missingCookbooks.length === 0
881
+ && mechanicalReceiptOk
882
+ && runtimeReceiptOk
883
+ && doctrineRuntimeReceiptOk
884
+ && primitiveReceiptOk
885
+ && mappingReceiptOk
886
+ && qaSkillReceiptOk
887
+ && correctionSkillReceiptOk
888
+ && hiveObserverSourceTopologyOk
889
+ && hiveSiblingSessionBroadcastOk
890
+ && cognitiveRuntimeReceiptOk
891
+ && dynamicOperatorSelectionOk
892
+ && phaseRuntimeExecutionOk
893
+ && gardenMemorySubstrateOk
894
+ && qaCorrectionLearningOk
895
+ && weakQaEnhancementLoopOk
896
+ && ownerApprovalPacketOk
897
+ && !fullSkillBodiesInjected;
898
+ const now = new Date().toISOString();
899
+ const phases: UniversalTurnPhaseReceipt[] = [
900
+ {
901
+ phase: 'pre_cognition',
902
+ ok: loadedSkillIds.length >= UNIVERSAL_TURN_PACKET_SKILL_FLOOR
903
+ && activeRuntimes.length >= UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR,
904
+ evidence: {
905
+ requiredSkillCount: requiredSkills.length,
906
+ loadedSkillCount: loadedSkillIds.length,
907
+ runtimeFloor: UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR,
908
+ activeRuntimeCount: activeRuntimes.length,
909
+ doctrineRuntimeOk: doctrineRuntimeReceiptOk,
910
+ doctrineTimeoutVerdict: doctrineRuntimeReceipt?.timeoutVerdict ?? null,
911
+ primitiveFloor: UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR,
912
+ activePrimitiveCount: activePrimitives.length,
913
+ mappingFloor: UNIVERSAL_TURN_PACKET_MAPPING_FLOOR,
914
+ activeMappingCount: activeMappings.length,
915
+ hiveObserverFloor: UNIVERSAL_TURN_PACKET_HIVE_OBSERVER_FLOOR,
916
+ hiveObserverCount: observerSurfaces.length,
917
+ hiveSourceFloor: UNIVERSAL_TURN_PACKET_HIVE_SOURCE_FLOOR,
918
+ hiveSourceCount: sourceSurfaces.length,
919
+ },
920
+ at: now,
921
+ },
922
+ {
923
+ phase: 'pre_tool',
924
+ ok: runtime.ok,
925
+ evidence: { runtimeStatus: runtime.status, endpoint: 'POST /build-system-prompt', surfaceId: args.surfaceId },
926
+ at: now,
927
+ },
928
+ {
929
+ phase: 'intra_tool',
930
+ ok: data.ok === true,
931
+ evidence: { promptBuilt: typeof data.prompt === 'string', missingSkillIds, missingCookbookCount: missingCookbooks.length },
932
+ at: now,
933
+ },
934
+ {
935
+ phase: 'intra_cognition',
936
+ ok: mechanicalReceiptOk && !fullSkillBodiesInjected,
937
+ evidence: {
938
+ promptHash,
939
+ promptChars: prompt.length,
940
+ skillExecutionMode,
941
+ firedSkillCount: firedSkillIds.length,
942
+ executionBackedSkillCount: executionBackedSkillIds.length,
943
+ executedOperatorCount: executedOperatorIds.length,
944
+ substrateKernelExecution: {
945
+ ok: substrateKernelExecution?.ok === true,
946
+ mode: substrateKernelExecution?.mode ?? null,
947
+ executedOperatorIdsHash: substrateKernelExecution?.executedOperatorIdsHash ?? null,
948
+ executionHash: substrateKernelExecution?.executionHash ?? null,
949
+ sentinelCompilationHash: objectRecord(substrateKernelExecution?.sentinelKernel).compilationHash ?? null,
950
+ },
951
+ activeRuntimeCount: activeRuntimes.length,
952
+ activeRuntimes,
953
+ taskClass,
954
+ selectedExtraOperators,
955
+ dynamicOperatorSelection: {
956
+ ok: dynamicOperatorSelectionOk,
957
+ selectionPolicy: dynamicOperatorSelection?.selectionPolicy ?? null,
958
+ registryCap: dynamicOperatorSelection?.registryCap ?? 'missing',
959
+ selectedOperatorCount: dynamicOperatorSelection?.selectedOperatorCount ?? null,
960
+ selectedOperatorIdsHash: dynamicOperatorSelection?.selectedOperatorIdsHash ?? null,
961
+ selectedFamilyCounts: dynamicOperatorSelection?.selectedFamilyCounts ?? null,
962
+ reasonCounts: dynamicOperatorSelection?.reasonCounts ?? null,
963
+ },
964
+ phaseRuntimeExecution: {
965
+ ok: phaseRuntimeExecutionOk,
966
+ mode: phaseRuntimeExecution?.mode ?? null,
967
+ providerReceivesFullSkillBodies: phaseRuntimeExecution?.providerReceivesFullSkillBodies ?? null,
968
+ projectionHash: phaseRuntimeExecution?.projectionHash ?? null,
969
+ },
970
+ gardenMemorySubstrate: {
971
+ ok: gardenMemorySubstrateOk,
972
+ substrateBoundary: gardenMemorySubstrate?.substrateBoundary ?? null,
973
+ continuityHash: gardenMemorySubstrate?.continuityHash ?? null,
974
+ },
975
+ runtimeRegistry,
976
+ doctrineRuntimeReceipt: {
977
+ ok: doctrineRuntimeReceipt?.ok === true,
978
+ runtimeActive: doctrineRuntimeReceipt?.runtimeActive === true,
979
+ productionIntent: doctrineRuntimeReceipt?.productionIntent === true,
980
+ verificationSurface: doctrineRuntimeReceipt?.verificationSurface ?? null,
981
+ timeoutVerdict: doctrineRuntimeReceipt?.timeoutVerdict ?? null,
982
+ noFakeValidation: doctrineRuntimeReceipt?.noFakeValidation === true,
983
+ evidenceHash: typeof doctrineRuntimeReceipt?.evidenceHash === 'string'
984
+ ? doctrineRuntimeReceipt.evidenceHash
985
+ : null,
986
+ },
987
+ cognitiveRuntimeReceipts: {
988
+ ok: cognitiveRuntimeReceiptOk,
989
+ tadabburMode: objectRecord(cognitiveRuntimeReceipts?.tadabbur).mode ?? null,
990
+ tadabburStageCount: objectRecord(cognitiveRuntimeReceipts?.tadabbur).stageCount ?? null,
991
+ qiyasMode: objectRecord(cognitiveRuntimeReceipts?.qiyas).mode ?? null,
992
+ qiyasPerspectiveCount: objectRecord(cognitiveRuntimeReceipts?.qiyas).perspectiveCount ?? null,
993
+ mizanVerdict: objectRecord(cognitiveRuntimeReceipts?.mizan).verdict ?? null,
994
+ noorSuiteCount: objectRecord(cognitiveRuntimeReceipts?.noor).noorSuiteCount ?? null,
995
+ noorSemanticBoundary: objectRecord(cognitiveRuntimeReceipts?.noor).semanticBoundary ?? null,
996
+ },
997
+ learningCandidateCount: learningCandidateReceipts.length,
998
+ operatorDeltaCount: operatorDeltaReceipts.length,
999
+ ownerApprovalPacket: {
1000
+ required: ownerApprovalPacket?.required === true,
1001
+ ownerApprovalStatus: ownerApprovalPacket?.ownerApprovalStatus ?? null,
1002
+ blocksProductionPromotion: ownerApprovalPacket?.blocksProductionPromotion === true,
1003
+ },
1004
+ activePrimitiveCount: activePrimitives.length,
1005
+ activePrimitives,
1006
+ primitiveRegistry,
1007
+ activeMappingCount: activeMappings.length,
1008
+ activeMappings,
1009
+ mappingRegistry,
1010
+ qaCorrectionReceipt: {
1011
+ ok: qaCorrectionReceipt?.ok === true,
1012
+ qaSkillCount: qaSkills.length,
1013
+ correctionSkillCount: correctionSkills.length,
1014
+ correctionFindingCount: qaCorrectionReceipt?.correctionFindingCount ?? correctionFindings.length,
1015
+ correctionFindingsHash: typeof qaCorrectionReceipt?.correctionFindingsHash === 'string'
1016
+ ? qaCorrectionReceipt.correctionFindingsHash
1017
+ : null,
1018
+ },
1019
+ weakQaEnhancementLoop: {
1020
+ ok: weakQaEnhancementLoopReceipt?.ok === true,
1021
+ trigger: weakQaEnhancementLoopReceipt?.trigger ?? null,
1022
+ nextRoundRequired: weakQaEnhancementLoopReceipt?.nextRoundRequired === true,
1023
+ ownerApprovalRequired: weakQaEnhancementLoopReceipt?.ownerApprovalRequired === true,
1024
+ tadabburQuestionCount: weakQaEnhancementLoopReceipt?.tadabburQuestionCount ?? null,
1025
+ qiyasQuestionCount: weakQaEnhancementLoopReceipt?.qiyasQuestionCount ?? null,
1026
+ },
1027
+ hiveObserverSourceTopology: {
1028
+ ok: hiveObserverSourceTopology?.ok === true,
1029
+ observerCount: observerSurfaces.length,
1030
+ sourceCount: sourceSurfaces.length,
1031
+ activeThreadCount: hiveObserverSourceTopology?.activeThreadCount ?? null,
1032
+ evidenceThreadCount: hiveObserverSourceTopology?.evidenceThreadCount ?? null,
1033
+ literalQuantumMatches: hiveObserverSourceTopology?.literalQuantumMatches ?? null,
1034
+ topologyTermMatches: hiveObserverSourceTopology?.topologyTermMatches ?? null,
1035
+ coherenceHash: typeof hiveObserverSourceTopology?.coherenceHash === 'string'
1036
+ ? hiveObserverSourceTopology.coherenceHash
1037
+ : null,
1038
+ },
1039
+ fullSkillBodiesInjected,
1040
+ receiptHash: typeof skillExecutionReceipt.receiptHash === 'string' ? skillExecutionReceipt.receiptHash : null,
1041
+ },
1042
+ at: now,
1043
+ },
1044
+ {
1045
+ phase: 'post_tool',
1046
+ ok: missingSkillIds.length === 0 && missingCookbooks.length === 0,
1047
+ evidence: { missingSkillIds, missingCookbooks },
1048
+ at: now,
1049
+ },
1050
+ {
1051
+ phase: 'post_cognition',
1052
+ ok,
1053
+ evidence: {
1054
+ skillFloor: UNIVERSAL_TURN_PACKET_SKILL_FLOOR,
1055
+ runtimeFloor: UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR,
1056
+ doctrineRuntimeOk: doctrineRuntimeReceiptOk,
1057
+ primitiveFloor: UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR,
1058
+ mappingFloor: UNIVERSAL_TURN_PACKET_MAPPING_FLOOR,
1059
+ qaSkillFloor: UNIVERSAL_TURN_PACKET_QA_SKILL_FLOOR,
1060
+ correctionSkillFloor: UNIVERSAL_TURN_PACKET_CORRECTION_SKILL_FLOOR,
1061
+ hiveObserverFloor: UNIVERSAL_TURN_PACKET_HIVE_OBSERVER_FLOOR,
1062
+ hiveSourceFloor: UNIVERSAL_TURN_PACKET_HIVE_SOURCE_FLOOR,
1063
+ hiveSiblingBroadcastFloor: UNIVERSAL_TURN_PACKET_HIVE_SIBLING_BROADCAST_FLOOR,
1064
+ cognitiveRuntimeOk: cognitiveRuntimeReceiptOk,
1065
+ ownerApprovalPacketOk,
1066
+ dynamicOperatorSelectionOk,
1067
+ phaseRuntimeExecutionOk,
1068
+ gardenMemorySubstrateOk,
1069
+ qaCorrectionLearningOk,
1070
+ weakQaEnhancementLoopOk,
1071
+ expectedVsObserved: `skills>=${UNIVERSAL_TURN_PACKET_SKILL_FLOOR}; observedSkills=${loadedSkillIds.length}; runtimes>=${UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR}; observedRuntimes=${activeRuntimes.length}; primitives>=${UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR}; observedPrimitives=${activePrimitives.length}; mappings>=${UNIVERSAL_TURN_PACKET_MAPPING_FLOOR}; observedMappings=${activeMappings.length}; qaSkills>=${UNIVERSAL_TURN_PACKET_QA_SKILL_FLOOR}; observedQaSkills=${qaSkills.length}; correctionSkills>=${UNIVERSAL_TURN_PACKET_CORRECTION_SKILL_FLOOR}; observedCorrectionSkills=${correctionSkills.length}; hiveObservers>=${UNIVERSAL_TURN_PACKET_HIVE_OBSERVER_FLOOR}; observedHiveObservers=${observerSurfaces.length}; hiveSources>=${UNIVERSAL_TURN_PACKET_HIVE_SOURCE_FLOOR}; observedHiveSources=${sourceSurfaces.length}; hiveSiblingBroadcasts>=${UNIVERSAL_TURN_PACKET_HIVE_SIBLING_BROADCAST_FLOOR}; observedHiveSiblingBroadcasts=${Number(hiveSiblingSessionBroadcast?.messageCount || 0)}`,
1072
+ correctionFindingCount: correctionFindings.length,
1073
+ },
1074
+ at: now,
1075
+ },
1076
+ ];
1077
+
1078
+ return {
1079
+ ok,
1080
+ surfaceId: args.surfaceId,
1081
+ sessionId,
1082
+ skillExecutionMode,
1083
+ skillExecutionReceipt,
1084
+ skillFloor: UNIVERSAL_TURN_PACKET_SKILL_FLOOR,
1085
+ runtimeFloor: UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR,
1086
+ primitiveFloor: UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR,
1087
+ mappingFloor: UNIVERSAL_TURN_PACKET_MAPPING_FLOOR,
1088
+ qaSkillFloor: UNIVERSAL_TURN_PACKET_QA_SKILL_FLOOR,
1089
+ correctionSkillFloor: UNIVERSAL_TURN_PACKET_CORRECTION_SKILL_FLOOR,
1090
+ requiredSkills,
1091
+ loadedSkillIds,
1092
+ activeRuntimes,
1093
+ runtimeRegistry,
1094
+ doctrineRuntimeReceipt,
1095
+ taskClass,
1096
+ taskClassReceipt,
1097
+ selectedExtraOperators,
1098
+ dynamicOperatorSelection,
1099
+ substrateKernelExecution,
1100
+ phaseRuntimeExecution,
1101
+ gardenMemorySubstrate,
1102
+ cognitiveRuntimeReceipts,
1103
+ learningCandidateReceipts,
1104
+ operatorDeltaReceipts,
1105
+ weakQaEnhancementLoopReceipt,
1106
+ ownerApprovalPacket,
1107
+ qaCorrectionLearningReceipt,
1108
+ activePrimitives,
1109
+ primitiveRegistry,
1110
+ activeMappings,
1111
+ mappingRegistry,
1112
+ qaSkills,
1113
+ correctionSkills,
1114
+ qaCorrectionReceipt,
1115
+ hiveObserverSourceTopology,
1116
+ hiveSiblingSessionBroadcast,
1117
+ missingSkillIds,
1118
+ missingCookbooks,
1119
+ promptHash,
1120
+ promptChars: prompt.length,
1121
+ phases,
1122
+ qa: {
1123
+ status: ok ? 'pass' : 'block',
1124
+ findings: ok ? [] : [
1125
+ ...(loadedSkillIds.length < UNIVERSAL_TURN_PACKET_SKILL_FLOOR ? [`loaded_skill_count_below_${UNIVERSAL_TURN_PACKET_SKILL_FLOOR}`] : []),
1126
+ ...(missingSkillIds.length ? ['missing_required_skills'] : []),
1127
+ ...(missingCookbooks.length ? ['missing_required_cookbooks'] : []),
1128
+ ...(mechanicalReceiptOk ? [] : ['mechanical_skill_execution_receipt_missing_or_under_floor']),
1129
+ ...(substrateKernelExecution?.ok === true ? [] : ['substrate_kernel_execution_missing_or_invalid']),
1130
+ ...(runtimeReceiptOk ? [] : [`active_runtime_count_below_${UNIVERSAL_TURN_PACKET_RUNTIME_FLOOR}`]),
1131
+ ...(doctrineRuntimeReceiptOk ? [] : ['repo_doctrine_runtime_receipt_missing_or_invalid']),
1132
+ ...(primitiveReceiptOk ? [] : [`active_primitive_count_below_${UNIVERSAL_TURN_PACKET_PRIMITIVE_FLOOR}`]),
1133
+ ...(mappingReceiptOk ? [] : [`active_mapping_count_below_${UNIVERSAL_TURN_PACKET_MAPPING_FLOOR}`]),
1134
+ ...(qaSkillReceiptOk ? [] : [`qa_skill_count_below_${UNIVERSAL_TURN_PACKET_QA_SKILL_FLOOR}`]),
1135
+ ...(correctionSkillReceiptOk ? [] : [`correction_skill_count_below_${UNIVERSAL_TURN_PACKET_CORRECTION_SKILL_FLOOR}`]),
1136
+ ...(hiveObserverSourceTopologyOk ? [] : ['hive_observer_source_topology_missing_or_under_floor']),
1137
+ ...(hiveSiblingSessionBroadcastOk ? [] : ['hive_sibling_session_broadcast_missing_or_under_floor']),
1138
+ ...(cognitiveRuntimeReceiptOk ? [] : ['cognitive_runtime_receipts_missing_or_invalid']),
1139
+ ...(dynamicOperatorSelectionOk ? [] : ['dynamic_operator_selection_missing_or_invalid']),
1140
+ ...(phaseRuntimeExecutionOk ? [] : ['phase_runtime_execution_missing_or_invalid']),
1141
+ ...(gardenMemorySubstrateOk ? [] : ['garden_memory_substrate_missing_or_invalid']),
1142
+ ...(qaCorrectionLearningOk ? [] : ['qa_correction_learning_receipt_missing_or_invalid']),
1143
+ ...(weakQaEnhancementLoopOk ? [] : ['weak_qa_enhancement_loop_receipt_missing_or_invalid']),
1144
+ ...(ownerApprovalPacketOk ? [] : ['owner_approval_packet_missing_or_non_blocking']),
1145
+ ...(fullSkillBodiesInjected ? ['full_skill_bodies_injected_into_provider_prompt'] : []),
1146
+ ...(runtime.ok ? [] : [`runtime_status_${runtime.status}`]),
1147
+ ],
1148
+ correctionSkills: [
1149
+ 'aria-quality-audit',
1150
+ 'tadabbur',
1151
+ 'qiyas-analogy',
1152
+ 'mizan',
1153
+ 'forge-quality-rules',
1154
+ 'aria-harness-no-stripping',
1155
+ ],
1156
+ },
1157
+ learningLoop: {
1158
+ style: 'dalio_reflexion',
1159
+ lesson: ok
1160
+ ? 'Keep one shared mechanical skill-and-runtime receipt as the control point; do not turn skills into expensive prompt stuffing.'
1161
+ : 'When mechanical execution fails, repair missing skills, cookbooks, runtime operators, or receipt binding before any provider turn executes.',
1162
+ integratedIntoNextPacket: true,
1163
+ },
1164
+ };
1165
+ }
1166
+
1167
+ async recordGovernanceOutcome(args: {
1168
+ surfaceId?: GovernedSurfaceId;
1169
+ verdict?: 'pass' | 'fail' | 'block';
1170
+ summary: string;
1171
+ evidence?: Record<string, unknown>;
1172
+ sessionId?: string;
1173
+ }): Promise<{ ok: boolean; before: number; after: number; delta: number; ledger: string }> {
1174
+ const sessionId = args.sessionId ?? this.sessionId;
1175
+ const ledger = sessionLedgerPath(this.governanceLedgerRoot, sessionId);
1176
+ const before = countLines(ledger);
1177
+ const payload = {
1178
+ kind: 'governance_outcome',
1179
+ text: args.summary,
1180
+ surfaceId: args.surfaceId ?? 'codex',
1181
+ verdict: args.verdict ?? 'pass',
1182
+ evidence: args.evidence ?? {},
1183
+ refs: [`governed-surface:${args.surfaceId ?? 'codex'}`],
1184
+ source: 'aria-connector-governed-surface-runner',
1185
+ resolution_status: args.verdict === 'fail' ? 'open' : 'resolved',
1186
+ sessionId,
1187
+ at: new Date().toISOString(),
1188
+ };
1189
+
1190
+ try {
1191
+ await this.client.runtimeRequest('/record-discovery', payload);
1192
+ } catch {
1193
+ const parent = path.dirname(ledger);
1194
+ await mkdir(parent, { recursive: true });
1195
+ appendFileSync(ledger, `${JSON.stringify(payload)}\n`);
1196
+ }
1197
+
1198
+ let after = countLines(ledger);
1199
+ if (after < before + 1) {
1200
+ const parent = path.dirname(ledger);
1201
+ await mkdir(parent, { recursive: true });
1202
+ appendFileSync(ledger, `${JSON.stringify(payload)}\n`);
1203
+ after = countLines(ledger);
1204
+ }
1205
+
1206
+ return {
1207
+ ok: after >= before + 1,
1208
+ before,
1209
+ after,
1210
+ delta: after - before,
1211
+ ledger,
1212
+ };
1213
+ }
1214
+
1215
+ async ensureAllowedRoot(): Promise<boolean> {
1216
+ await mkdir(this.sandboxRoot, { recursive: true });
1217
+ const root = await stat(this.sandboxRoot);
1218
+ return root.isDirectory();
1219
+ }
1220
+
1221
+ async writeSandboxFile(relativePath: string, contents: string): Promise<string> {
1222
+ const target = path.join(this.sandboxRoot, relativePath);
1223
+ await mkdir(path.dirname(target), { recursive: true });
1224
+ await writeFile(target, contents, 'utf8');
1225
+ return target;
1226
+ }
1227
+ }