@agentikos/omega-os 0.2.0 → 0.19.6

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 (376) hide show
  1. package/README.md +33 -3
  2. package/bootstrap/lib/__pycache__/claude-code-settings.cpython-313.pyc +0 -0
  3. package/bootstrap/lib/__pycache__/llm-clis.cpython-313.pyc +0 -0
  4. package/bootstrap/lib/__pycache__/manifest-helpers.cpython-313.pyc +0 -0
  5. package/bootstrap/lib/claude-code-settings.py +176 -0
  6. package/bootstrap/lib/common.sh +457 -1
  7. package/bootstrap/lib/llm-clis.py +341 -0
  8. package/bootstrap/lib/manifest-helpers.py +384 -0
  9. package/bootstrap/lib/steps.sh +790 -21
  10. package/bootstrap/manifest.example.yaml +87 -1
  11. package/bootstrap/templates/aisb/CLAUDE.md +305 -0
  12. package/bootstrap/templates/aisb/architect.md +204 -0
  13. package/bootstrap/templates/aisb/checkers/CLAUDE.md +9 -0
  14. package/bootstrap/templates/aisb/checkers/checker-architect.md +151 -0
  15. package/bootstrap/templates/aisb/checkers/checker-common.md +171 -0
  16. package/bootstrap/templates/aisb/checkers/checker-construct.md +129 -0
  17. package/bootstrap/templates/aisb/checkers/checker-keymaker.md +204 -0
  18. package/bootstrap/templates/aisb/checkers/checker-link.md +205 -0
  19. package/bootstrap/templates/aisb/checkers/checker-merovingian.md +219 -0
  20. package/bootstrap/templates/aisb/checkers/checker-morpheus.md +211 -0
  21. package/bootstrap/templates/aisb/checkers/checker-neo.md +177 -0
  22. package/bootstrap/templates/aisb/checkers/checker-niobe.md +156 -0
  23. package/bootstrap/templates/aisb/checkers/checker-oracle.md +164 -0
  24. package/bootstrap/templates/aisb/checkers/checker-seraph.md +187 -0
  25. package/bootstrap/templates/aisb/checkers/checker-smith.md +195 -0
  26. package/bootstrap/templates/aisb/checkers/checker-zion.md +113 -0
  27. package/bootstrap/templates/aisb/construct.md +135 -0
  28. package/bootstrap/templates/aisb/keymaker.md +227 -0
  29. package/bootstrap/templates/aisb/link.md +170 -0
  30. package/bootstrap/templates/aisb/lmc-protocol.md +57 -0
  31. package/bootstrap/templates/aisb/merovingian.md +159 -0
  32. package/bootstrap/templates/aisb/morpheus.md +243 -0
  33. package/bootstrap/templates/aisb/neo.md +147 -0
  34. package/bootstrap/templates/aisb/niobe.md +197 -0
  35. package/bootstrap/templates/aisb/oracle.md +244 -0
  36. package/bootstrap/templates/aisb/protocols/handoff-templates.md +204 -0
  37. package/bootstrap/templates/aisb/protocols/shared-protocol.md +248 -0
  38. package/bootstrap/templates/aisb/pythia.md +153 -0
  39. package/bootstrap/templates/aisb/seraph.md +315 -0
  40. package/bootstrap/templates/aisb/smith.md +202 -0
  41. package/bootstrap/templates/aisb/zion.md +172 -0
  42. package/bootstrap/templates/autonomous/audit-patrol.yaml +41 -0
  43. package/bootstrap/templates/autonomous/smith-reflect.yaml +43 -0
  44. package/bootstrap/templates/autonomous/ssh-key-rotate.yaml +46 -0
  45. package/bootstrap/templates/autonomous/support-agent.yaml +38 -0
  46. package/docs/AUDITS.md +85 -0
  47. package/docs/GAP-ANALYSIS.md +214 -0
  48. package/docs/INSTALL.md +47 -9
  49. package/docs/MCP-AND-PLUGINS.md +31 -4
  50. package/docs/SIMULATION.md +171 -0
  51. package/docs/simulate.sh +211 -0
  52. package/install.sh +164 -17
  53. package/omega/Agentik_Engine/README.md +4 -2
  54. package/omega/Agentik_Engine/omega_engine/__init__.py +147 -1
  55. package/omega/Agentik_Engine/omega_engine/__pycache__/__init__.cpython-313.pyc +0 -0
  56. package/omega/Agentik_Engine/omega_engine/__pycache__/account.cpython-313.pyc +0 -0
  57. package/omega/Agentik_Engine/omega_engine/__pycache__/agent_messages.cpython-313.pyc +0 -0
  58. package/omega/Agentik_Engine/omega_engine/__pycache__/aisb_chat.cpython-313.pyc +0 -0
  59. package/omega/Agentik_Engine/omega_engine/__pycache__/audit.cpython-313.pyc +0 -0
  60. package/omega/Agentik_Engine/omega_engine/__pycache__/audit_arsenal.cpython-313.pyc +0 -0
  61. package/omega/Agentik_Engine/omega_engine/__pycache__/audit_diff.cpython-313.pyc +0 -0
  62. package/omega/Agentik_Engine/omega_engine/__pycache__/audit_gate.cpython-313.pyc +0 -0
  63. package/omega/Agentik_Engine/omega_engine/__pycache__/auto_update.cpython-313.pyc +0 -0
  64. package/omega/Agentik_Engine/omega_engine/__pycache__/autonomous.cpython-313.pyc +0 -0
  65. package/omega/Agentik_Engine/omega_engine/__pycache__/backup.cpython-313.pyc +0 -0
  66. package/omega/Agentik_Engine/omega_engine/__pycache__/barrier.cpython-313.pyc +0 -0
  67. package/omega/Agentik_Engine/omega_engine/__pycache__/bus.cpython-313.pyc +0 -0
  68. package/omega/Agentik_Engine/omega_engine/__pycache__/cadence.cpython-313.pyc +0 -0
  69. package/omega/Agentik_Engine/omega_engine/__pycache__/classifier.cpython-313.pyc +0 -0
  70. package/omega/Agentik_Engine/omega_engine/__pycache__/cleanup.cpython-313.pyc +0 -0
  71. package/omega/Agentik_Engine/omega_engine/__pycache__/cli.cpython-313.pyc +0 -0
  72. package/omega/Agentik_Engine/omega_engine/__pycache__/completions.cpython-313.pyc +0 -0
  73. package/omega/Agentik_Engine/omega_engine/__pycache__/costs.cpython-313.pyc +0 -0
  74. package/omega/Agentik_Engine/omega_engine/__pycache__/done_signal.cpython-313.pyc +0 -0
  75. package/omega/Agentik_Engine/omega_engine/__pycache__/envelope.cpython-313.pyc +0 -0
  76. package/omega/Agentik_Engine/omega_engine/__pycache__/events.cpython-313.pyc +0 -0
  77. package/omega/Agentik_Engine/omega_engine/__pycache__/executor.cpython-313.pyc +0 -0
  78. package/omega/Agentik_Engine/omega_engine/__pycache__/handoff.cpython-313.pyc +0 -0
  79. package/omega/Agentik_Engine/omega_engine/__pycache__/hermes.cpython-313.pyc +0 -0
  80. package/omega/Agentik_Engine/omega_engine/__pycache__/hermes_bootstrap.cpython-313.pyc +0 -0
  81. package/omega/Agentik_Engine/omega_engine/__pycache__/hermes_desktop.cpython-313.pyc +0 -0
  82. package/omega/Agentik_Engine/omega_engine/__pycache__/learning.cpython-313.pyc +0 -0
  83. package/omega/Agentik_Engine/omega_engine/__pycache__/managed_agent.cpython-313.pyc +0 -0
  84. package/omega/Agentik_Engine/omega_engine/__pycache__/memory.cpython-313.pyc +0 -0
  85. package/omega/Agentik_Engine/omega_engine/__pycache__/menu.cpython-313.pyc +0 -0
  86. package/omega/Agentik_Engine/omega_engine/__pycache__/mission.cpython-313.pyc +0 -0
  87. package/omega/Agentik_Engine/omega_engine/__pycache__/plan.cpython-313.pyc +0 -0
  88. package/omega/Agentik_Engine/omega_engine/__pycache__/progress.cpython-313.pyc +0 -0
  89. package/omega/Agentik_Engine/omega_engine/__pycache__/project.cpython-313.pyc +0 -0
  90. package/omega/Agentik_Engine/omega_engine/__pycache__/prompts.cpython-313.pyc +0 -0
  91. package/omega/Agentik_Engine/omega_engine/__pycache__/provider.cpython-313.pyc +0 -0
  92. package/omega/Agentik_Engine/omega_engine/__pycache__/prune.cpython-313.pyc +0 -0
  93. package/omega/Agentik_Engine/omega_engine/__pycache__/pursue.cpython-313.pyc +0 -0
  94. package/omega/Agentik_Engine/omega_engine/__pycache__/reducer.cpython-313.pyc +0 -0
  95. package/omega/Agentik_Engine/omega_engine/__pycache__/report.cpython-313.pyc +0 -0
  96. package/omega/Agentik_Engine/omega_engine/__pycache__/router.cpython-313.pyc +0 -0
  97. package/omega/Agentik_Engine/omega_engine/__pycache__/skill_routing.cpython-313.pyc +0 -0
  98. package/omega/Agentik_Engine/omega_engine/__pycache__/smoke.cpython-313.pyc +0 -0
  99. package/omega/Agentik_Engine/omega_engine/__pycache__/store.cpython-313.pyc +0 -0
  100. package/omega/Agentik_Engine/omega_engine/__pycache__/supervisor.cpython-313.pyc +0 -0
  101. package/omega/Agentik_Engine/omega_engine/__pycache__/sync.cpython-313.pyc +0 -0
  102. package/omega/Agentik_Engine/omega_engine/__pycache__/task.cpython-313.pyc +0 -0
  103. package/omega/Agentik_Engine/omega_engine/__pycache__/telegram.cpython-313.pyc +0 -0
  104. package/omega/Agentik_Engine/omega_engine/__pycache__/telegram_history.cpython-313.pyc +0 -0
  105. package/omega/Agentik_Engine/omega_engine/__pycache__/tmux.cpython-313.pyc +0 -0
  106. package/omega/Agentik_Engine/omega_engine/__pycache__/tools.cpython-313.pyc +0 -0
  107. package/omega/Agentik_Engine/omega_engine/__pycache__/understand_anything.cpython-313.pyc +0 -0
  108. package/omega/Agentik_Engine/omega_engine/__pycache__/updater.cpython-313.pyc +0 -0
  109. package/omega/Agentik_Engine/omega_engine/__pycache__/validate.cpython-313.pyc +0 -0
  110. package/omega/Agentik_Engine/omega_engine/__pycache__/vault.cpython-313.pyc +0 -0
  111. package/omega/Agentik_Engine/omega_engine/__pycache__/webhooks.cpython-313.pyc +0 -0
  112. package/omega/Agentik_Engine/omega_engine/__pycache__/worker.cpython-313.pyc +0 -0
  113. package/omega/Agentik_Engine/omega_engine/account.py +28 -31
  114. package/omega/Agentik_Engine/omega_engine/agent_messages.py +167 -0
  115. package/omega/Agentik_Engine/omega_engine/aisb_chat.py +128 -0
  116. package/omega/Agentik_Engine/omega_engine/audit_diff.py +99 -0
  117. package/omega/Agentik_Engine/omega_engine/audit_gate.py +149 -0
  118. package/omega/Agentik_Engine/omega_engine/audits/__init__.py +60 -0
  119. package/omega/Agentik_Engine/omega_engine/audits/__pycache__/__init__.cpython-313.pyc +0 -0
  120. package/omega/Agentik_Engine/omega_engine/audits/__pycache__/batcher.cpython-313.pyc +0 -0
  121. package/omega/Agentik_Engine/omega_engine/audits/__pycache__/dispatcher.cpython-313.pyc +0 -0
  122. package/omega/Agentik_Engine/omega_engine/audits/__pycache__/generator.cpython-313.pyc +0 -0
  123. package/omega/Agentik_Engine/omega_engine/audits/__pycache__/history.cpython-313.pyc +0 -0
  124. package/omega/Agentik_Engine/omega_engine/audits/__pycache__/pipeline.cpython-313.pyc +0 -0
  125. package/omega/Agentik_Engine/omega_engine/audits/batcher.py +218 -0
  126. package/omega/Agentik_Engine/omega_engine/audits/dispatcher.py +92 -0
  127. package/omega/Agentik_Engine/omega_engine/audits/generator.py +234 -0
  128. package/omega/Agentik_Engine/omega_engine/audits/history.py +168 -0
  129. package/omega/Agentik_Engine/omega_engine/audits/pipeline.py +198 -0
  130. package/omega/Agentik_Engine/omega_engine/auto_update.py +339 -0
  131. package/omega/Agentik_Engine/omega_engine/backup.py +215 -0
  132. package/omega/Agentik_Engine/omega_engine/cadence.py +158 -0
  133. package/omega/Agentik_Engine/omega_engine/classifier.py +215 -0
  134. package/omega/Agentik_Engine/omega_engine/cleanup.py +673 -0
  135. package/omega/Agentik_Engine/omega_engine/cli.py +4156 -86
  136. package/omega/Agentik_Engine/omega_engine/completions.py +260 -0
  137. package/omega/Agentik_Engine/omega_engine/costs.py +100 -0
  138. package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/__init__.cpython-313.pyc +0 -0
  139. package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/autonomous.cpython-313.pyc +0 -0
  140. package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/engine.cpython-313.pyc +0 -0
  141. package/omega/Agentik_Engine/omega_engine/daemons/__pycache__/telegram.cpython-313.pyc +0 -0
  142. package/omega/Agentik_Engine/omega_engine/daemons/engine.py +53 -4
  143. package/omega/Agentik_Engine/omega_engine/daemons/telegram.py +101 -17
  144. package/omega/Agentik_Engine/omega_engine/done_signal.py +154 -0
  145. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/__init__.cpython-313.pyc +0 -0
  146. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/artifact.cpython-313.pyc +0 -0
  147. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/automation.cpython-313.pyc +0 -0
  148. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/base.cpython-313.pyc +0 -0
  149. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/claudecode.cpython-313.pyc +0 -0
  150. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/connection.cpython-313.pyc +0 -0
  151. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/coworker.cpython-313.pyc +0 -0
  152. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/loop.cpython-313.pyc +0 -0
  153. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/prompt.cpython-313.pyc +0 -0
  154. package/omega/Agentik_Engine/omega_engine/educators/__pycache__/skill.cpython-313.pyc +0 -0
  155. package/omega/Agentik_Engine/omega_engine/envelope.py +219 -0
  156. package/omega/Agentik_Engine/omega_engine/executor.py +149 -10
  157. package/omega/Agentik_Engine/omega_engine/genesis/__init__.py +134 -0
  158. package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/__init__.cpython-313.pyc +0 -0
  159. package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/orchestrator.cpython-313.pyc +0 -0
  160. package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/phases.cpython-313.pyc +0 -0
  161. package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/stack.cpython-313.pyc +0 -0
  162. package/omega/Agentik_Engine/omega_engine/genesis/__pycache__/state.cpython-313.pyc +0 -0
  163. package/omega/Agentik_Engine/omega_engine/genesis/orchestrator.py +262 -0
  164. package/omega/Agentik_Engine/omega_engine/genesis/phases.py +950 -0
  165. package/omega/Agentik_Engine/omega_engine/genesis/stack.py +324 -0
  166. package/omega/Agentik_Engine/omega_engine/genesis/state.py +353 -0
  167. package/omega/Agentik_Engine/omega_engine/handoff.py +459 -0
  168. package/omega/Agentik_Engine/omega_engine/hermes.py +426 -0
  169. package/omega/Agentik_Engine/omega_engine/hermes_bootstrap.py +382 -0
  170. package/omega/Agentik_Engine/omega_engine/hermes_desktop.py +469 -0
  171. package/omega/Agentik_Engine/omega_engine/integrations/__init__.py +30 -0
  172. package/omega/Agentik_Engine/omega_engine/integrations/__pycache__/__init__.cpython-313.pyc +0 -0
  173. package/omega/Agentik_Engine/omega_engine/integrations/__pycache__/graphify.cpython-313.pyc +0 -0
  174. package/omega/Agentik_Engine/omega_engine/integrations/graphify.py +234 -0
  175. package/omega/Agentik_Engine/omega_engine/learning.py +268 -0
  176. package/omega/Agentik_Engine/omega_engine/managed_agent.py +467 -0
  177. package/omega/Agentik_Engine/omega_engine/memory.py +271 -0
  178. package/omega/Agentik_Engine/omega_engine/menu.py +1065 -0
  179. package/omega/Agentik_Engine/omega_engine/migrations/__init__.py +144 -0
  180. package/omega/Agentik_Engine/omega_engine/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  181. package/omega/Agentik_Engine/omega_engine/migrations/__pycache__/v0_14_0.cpython-313.pyc +0 -0
  182. package/omega/Agentik_Engine/omega_engine/migrations/v0_14_0.py +29 -0
  183. package/omega/Agentik_Engine/omega_engine/mission.py +16 -13
  184. package/omega/Agentik_Engine/omega_engine/plan.py +846 -0
  185. package/omega/Agentik_Engine/omega_engine/prompts.py +158 -0
  186. package/omega/Agentik_Engine/omega_engine/provider.py +161 -12
  187. package/omega/Agentik_Engine/omega_engine/prune.py +151 -0
  188. package/omega/Agentik_Engine/omega_engine/pursue.py +205 -0
  189. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/__init__.cpython-313.pyc +0 -0
  190. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/agentic.cpython-313.pyc +0 -0
  191. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/base.cpython-313.pyc +0 -0
  192. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/corrective.cpython-313.pyc +0 -0
  193. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/graph.cpython-313.pyc +0 -0
  194. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/hybrid.cpython-313.pyc +0 -0
  195. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/multimodal.cpython-313.pyc +0 -0
  196. package/omega/Agentik_Engine/omega_engine/rag/__pycache__/router.cpython-313.pyc +0 -0
  197. package/omega/Agentik_Engine/omega_engine/router.py +28 -0
  198. package/omega/Agentik_Engine/omega_engine/skill_discovery/__init__.py +48 -0
  199. package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/__init__.cpython-313.pyc +0 -0
  200. package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/auditor.cpython-313.pyc +0 -0
  201. package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/finder.cpython-313.pyc +0 -0
  202. package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/installer.cpython-313.pyc +0 -0
  203. package/omega/Agentik_Engine/omega_engine/skill_discovery/__pycache__/marketplaces.cpython-313.pyc +0 -0
  204. package/omega/Agentik_Engine/omega_engine/skill_discovery/auditor.py +232 -0
  205. package/omega/Agentik_Engine/omega_engine/skill_discovery/finder.py +94 -0
  206. package/omega/Agentik_Engine/omega_engine/skill_discovery/installer.py +129 -0
  207. package/omega/Agentik_Engine/omega_engine/skill_discovery/marketplaces.py +80 -0
  208. package/omega/Agentik_Engine/omega_engine/skill_routing.py +388 -0
  209. package/omega/Agentik_Engine/omega_engine/smoke.py +81 -0
  210. package/omega/Agentik_Engine/omega_engine/store.py +88 -41
  211. package/omega/Agentik_Engine/omega_engine/sync.py +142 -1
  212. package/omega/Agentik_Engine/omega_engine/telegram_history.py +260 -0
  213. package/omega/Agentik_Engine/omega_engine/tmux.py +526 -0
  214. package/omega/Agentik_Engine/omega_engine/understand_anything.py +275 -0
  215. package/omega/Agentik_Engine/omega_engine/updater.py +70 -0
  216. package/omega/Agentik_Engine/omega_engine/validate.py +186 -0
  217. package/omega/Agentik_Engine/omega_engine/vault.py +342 -0
  218. package/omega/Agentik_Engine/omega_engine/webhooks.py +262 -0
  219. package/omega/Agentik_Engine/omega_engine/worker.py +526 -0
  220. package/omega/Agentik_Engine/pyproject.toml +1 -1
  221. package/omega/Agentik_Engine/tests/__pycache__/test_account.cpython-313-pytest-8.4.2.pyc +0 -0
  222. package/omega/Agentik_Engine/tests/__pycache__/test_account.cpython-313.pyc +0 -0
  223. package/omega/Agentik_Engine/tests/__pycache__/test_adversarial.cpython-313-pytest-8.4.2.pyc +0 -0
  224. package/omega/Agentik_Engine/tests/__pycache__/test_adversarial.cpython-313.pyc +0 -0
  225. package/omega/Agentik_Engine/tests/__pycache__/test_agents_envelope.cpython-313-pytest-8.4.2.pyc +0 -0
  226. package/omega/Agentik_Engine/tests/__pycache__/test_agents_envelope.cpython-313.pyc +0 -0
  227. package/omega/Agentik_Engine/tests/__pycache__/test_audit_arsenal.cpython-313-pytest-8.4.2.pyc +0 -0
  228. package/omega/Agentik_Engine/tests/__pycache__/test_audit_arsenal.cpython-313.pyc +0 -0
  229. package/omega/Agentik_Engine/tests/__pycache__/test_audits_pipeline.cpython-313-pytest-8.4.2.pyc +0 -0
  230. package/omega/Agentik_Engine/tests/__pycache__/test_audits_pipeline.cpython-313.pyc +0 -0
  231. package/omega/Agentik_Engine/tests/__pycache__/test_auto_update_and_migrations.cpython-313-pytest-8.4.2.pyc +0 -0
  232. package/omega/Agentik_Engine/tests/__pycache__/test_auto_update_and_migrations.cpython-313.pyc +0 -0
  233. package/omega/Agentik_Engine/tests/__pycache__/test_autonomous.cpython-313-pytest-8.4.2.pyc +0 -0
  234. package/omega/Agentik_Engine/tests/__pycache__/test_autonomous.cpython-313.pyc +0 -0
  235. package/omega/Agentik_Engine/tests/__pycache__/test_educators.cpython-313-pytest-8.4.2.pyc +0 -0
  236. package/omega/Agentik_Engine/tests/__pycache__/test_educators.cpython-313.pyc +0 -0
  237. package/omega/Agentik_Engine/tests/__pycache__/test_executor.cpython-313-pytest-8.4.2.pyc +0 -0
  238. package/omega/Agentik_Engine/tests/__pycache__/test_executor.cpython-313.pyc +0 -0
  239. package/omega/Agentik_Engine/tests/__pycache__/test_genesis_and_plan.cpython-313-pytest-8.4.2.pyc +0 -0
  240. package/omega/Agentik_Engine/tests/__pycache__/test_genesis_and_plan.cpython-313.pyc +0 -0
  241. package/omega/Agentik_Engine/tests/__pycache__/test_graphify.cpython-313-pytest-8.4.2.pyc +0 -0
  242. package/omega/Agentik_Engine/tests/__pycache__/test_graphify.cpython-313.pyc +0 -0
  243. package/omega/Agentik_Engine/tests/__pycache__/test_handoff.cpython-313-pytest-8.4.2.pyc +0 -0
  244. package/omega/Agentik_Engine/tests/__pycache__/test_handoff.cpython-313.pyc +0 -0
  245. package/omega/Agentik_Engine/tests/__pycache__/test_hermes_and_ua.cpython-313-pytest-8.4.2.pyc +0 -0
  246. package/omega/Agentik_Engine/tests/__pycache__/test_hermes_and_ua.cpython-313.pyc +0 -0
  247. package/omega/Agentik_Engine/tests/__pycache__/test_hermes_bootstrap_and_desktop.cpython-313-pytest-8.4.2.pyc +0 -0
  248. package/omega/Agentik_Engine/tests/__pycache__/test_hermes_bootstrap_and_desktop.cpython-313.pyc +0 -0
  249. package/omega/Agentik_Engine/tests/__pycache__/test_install_steps.cpython-313-pytest-8.4.2.pyc +0 -0
  250. package/omega/Agentik_Engine/tests/__pycache__/test_install_steps.cpython-313.pyc +0 -0
  251. package/omega/Agentik_Engine/tests/__pycache__/test_install_ux.cpython-313-pytest-8.4.2.pyc +0 -0
  252. package/omega/Agentik_Engine/tests/__pycache__/test_install_ux.cpython-313.pyc +0 -0
  253. package/omega/Agentik_Engine/tests/__pycache__/test_installer_wiring.cpython-313-pytest-8.4.2.pyc +0 -0
  254. package/omega/Agentik_Engine/tests/__pycache__/test_installer_wiring.cpython-313.pyc +0 -0
  255. package/omega/Agentik_Engine/tests/__pycache__/test_intelligence.cpython-313-pytest-8.4.2.pyc +0 -0
  256. package/omega/Agentik_Engine/tests/__pycache__/test_intelligence.cpython-313.pyc +0 -0
  257. package/omega/Agentik_Engine/tests/__pycache__/test_llm_clis_and_uninstall.cpython-313-pytest-8.4.2.pyc +0 -0
  258. package/omega/Agentik_Engine/tests/__pycache__/test_llm_clis_and_uninstall.cpython-313.pyc +0 -0
  259. package/omega/Agentik_Engine/tests/__pycache__/test_managed_agent.cpython-313-pytest-8.4.2.pyc +0 -0
  260. package/omega/Agentik_Engine/tests/__pycache__/test_managed_agent.cpython-313.pyc +0 -0
  261. package/omega/Agentik_Engine/tests/__pycache__/test_max_provider_and_menu.cpython-313-pytest-8.4.2.pyc +0 -0
  262. package/omega/Agentik_Engine/tests/__pycache__/test_max_provider_and_menu.cpython-313.pyc +0 -0
  263. package/omega/Agentik_Engine/tests/__pycache__/test_menu_coverage.cpython-313-pytest-8.4.2.pyc +0 -0
  264. package/omega/Agentik_Engine/tests/__pycache__/test_menu_coverage.cpython-313.pyc +0 -0
  265. package/omega/Agentik_Engine/tests/__pycache__/test_mission.cpython-313-pytest-8.4.2.pyc +0 -0
  266. package/omega/Agentik_Engine/tests/__pycache__/test_mission.cpython-313.pyc +0 -0
  267. package/omega/Agentik_Engine/tests/__pycache__/test_progress.cpython-313-pytest-8.4.2.pyc +0 -0
  268. package/omega/Agentik_Engine/tests/__pycache__/test_progress.cpython-313.pyc +0 -0
  269. package/omega/Agentik_Engine/tests/__pycache__/test_project.cpython-313-pytest-8.4.2.pyc +0 -0
  270. package/omega/Agentik_Engine/tests/__pycache__/test_project.cpython-313.pyc +0 -0
  271. package/omega/Agentik_Engine/tests/__pycache__/test_pursue_cadence.cpython-313-pytest-8.4.2.pyc +0 -0
  272. package/omega/Agentik_Engine/tests/__pycache__/test_pursue_cadence.cpython-313.pyc +0 -0
  273. package/omega/Agentik_Engine/tests/__pycache__/test_rag.cpython-313-pytest-8.4.2.pyc +0 -0
  274. package/omega/Agentik_Engine/tests/__pycache__/test_rag.cpython-313.pyc +0 -0
  275. package/omega/Agentik_Engine/tests/__pycache__/test_reducer.cpython-313-pytest-8.4.2.pyc +0 -0
  276. package/omega/Agentik_Engine/tests/__pycache__/test_reducer.cpython-313.pyc +0 -0
  277. package/omega/Agentik_Engine/tests/__pycache__/test_report.cpython-313-pytest-8.4.2.pyc +0 -0
  278. package/omega/Agentik_Engine/tests/__pycache__/test_report.cpython-313.pyc +0 -0
  279. package/omega/Agentik_Engine/tests/__pycache__/test_role_aliases_and_ssot.cpython-313-pytest-8.4.2.pyc +0 -0
  280. package/omega/Agentik_Engine/tests/__pycache__/test_role_aliases_and_ssot.cpython-313.pyc +0 -0
  281. package/omega/Agentik_Engine/tests/__pycache__/test_skill_discovery_and_gate.cpython-313-pytest-8.4.2.pyc +0 -0
  282. package/omega/Agentik_Engine/tests/__pycache__/test_skill_discovery_and_gate.cpython-313.pyc +0 -0
  283. package/omega/Agentik_Engine/tests/__pycache__/test_skill_power.cpython-313-pytest-8.4.2.pyc +0 -0
  284. package/omega/Agentik_Engine/tests/__pycache__/test_skill_power.cpython-313.pyc +0 -0
  285. package/omega/Agentik_Engine/tests/__pycache__/test_skill_routing.cpython-313-pytest-8.4.2.pyc +0 -0
  286. package/omega/Agentik_Engine/tests/__pycache__/test_skill_routing.cpython-313.pyc +0 -0
  287. package/omega/Agentik_Engine/tests/__pycache__/test_snapshot_partial.cpython-313-pytest-8.4.2.pyc +0 -0
  288. package/omega/Agentik_Engine/tests/__pycache__/test_snapshot_partial.cpython-313.pyc +0 -0
  289. package/omega/Agentik_Engine/tests/__pycache__/test_telegram_history.cpython-313-pytest-8.4.2.pyc +0 -0
  290. package/omega/Agentik_Engine/tests/__pycache__/test_telegram_history.cpython-313.pyc +0 -0
  291. package/omega/Agentik_Engine/tests/__pycache__/test_tmux_and_aisb_chat.cpython-313-pytest-8.4.2.pyc +0 -0
  292. package/omega/Agentik_Engine/tests/__pycache__/test_tmux_and_aisb_chat.cpython-313.pyc +0 -0
  293. package/omega/Agentik_Engine/tests/__pycache__/test_tools_and_sync.cpython-313-pytest-8.4.2.pyc +0 -0
  294. package/omega/Agentik_Engine/tests/__pycache__/test_tools_and_sync.cpython-313.pyc +0 -0
  295. package/omega/Agentik_Engine/tests/__pycache__/test_v06_features.cpython-313-pytest-8.4.2.pyc +0 -0
  296. package/omega/Agentik_Engine/tests/__pycache__/test_v06_features.cpython-313.pyc +0 -0
  297. package/omega/Agentik_Engine/tests/__pycache__/test_vault.cpython-313-pytest-8.4.2.pyc +0 -0
  298. package/omega/Agentik_Engine/tests/__pycache__/test_vault.cpython-313.pyc +0 -0
  299. package/omega/Agentik_Engine/tests/__pycache__/test_webhooks_and_readiness.cpython-313-pytest-8.4.2.pyc +0 -0
  300. package/omega/Agentik_Engine/tests/__pycache__/test_webhooks_and_readiness.cpython-313.pyc +0 -0
  301. package/omega/Agentik_Engine/tests/__pycache__/test_worker_and_cleanup.cpython-313-pytest-8.4.2.pyc +0 -0
  302. package/omega/Agentik_Engine/tests/__pycache__/test_worker_and_cleanup.cpython-313.pyc +0 -0
  303. package/omega/Agentik_Engine/tests/test_account.py +8 -3
  304. package/omega/Agentik_Engine/tests/test_adversarial.py +351 -0
  305. package/omega/Agentik_Engine/tests/test_agents_envelope.py +274 -0
  306. package/omega/Agentik_Engine/tests/test_audits_pipeline.py +348 -0
  307. package/omega/Agentik_Engine/tests/test_auto_update_and_migrations.py +394 -0
  308. package/omega/Agentik_Engine/tests/test_genesis_and_plan.py +573 -0
  309. package/omega/Agentik_Engine/tests/test_graphify.py +190 -0
  310. package/omega/Agentik_Engine/tests/test_handoff.py +311 -0
  311. package/omega/Agentik_Engine/tests/test_hermes_and_ua.py +387 -0
  312. package/omega/Agentik_Engine/tests/test_hermes_bootstrap_and_desktop.py +358 -0
  313. package/omega/Agentik_Engine/tests/test_install_steps.py +359 -0
  314. package/omega/Agentik_Engine/tests/test_install_ux.py +151 -0
  315. package/omega/Agentik_Engine/tests/test_installer_wiring.py +496 -0
  316. package/omega/Agentik_Engine/tests/test_intelligence.py +285 -0
  317. package/omega/Agentik_Engine/tests/test_llm_clis_and_uninstall.py +228 -0
  318. package/omega/Agentik_Engine/tests/test_managed_agent.py +363 -0
  319. package/omega/Agentik_Engine/tests/test_max_provider_and_menu.py +231 -0
  320. package/omega/Agentik_Engine/tests/test_menu_coverage.py +72 -0
  321. package/omega/Agentik_Engine/tests/test_pursue_cadence.py +217 -0
  322. package/omega/Agentik_Engine/tests/test_role_aliases_and_ssot.py +207 -0
  323. package/omega/Agentik_Engine/tests/test_skill_discovery_and_gate.py +337 -0
  324. package/omega/Agentik_Engine/tests/test_skill_power.py +259 -0
  325. package/omega/Agentik_Engine/tests/test_skill_routing.py +189 -0
  326. package/omega/Agentik_Engine/tests/test_telegram_history.py +209 -0
  327. package/omega/Agentik_Engine/tests/test_tmux_and_aisb_chat.py +223 -0
  328. package/omega/Agentik_Engine/tests/test_v06_features.py +370 -0
  329. package/omega/Agentik_Engine/tests/test_vault.py +173 -0
  330. package/omega/Agentik_Engine/tests/test_webhooks_and_readiness.py +277 -0
  331. package/omega/Agentik_Engine/tests/test_worker_and_cleanup.py +541 -0
  332. package/omega/Agentik_Extra/etc/secrets/.vault-key +3 -0
  333. package/omega/Agentik_Extra/etc/secrets/.vault-pub +1 -0
  334. package/omega/Agentik_Runtime/audits.db +0 -0
  335. package/omega/Agentik_SSOT/VERSION +1 -1
  336. package/omega/Agentik_SSOT/claude-plugins/claude-plugins.yaml +100 -0
  337. package/omega/Agentik_SSOT/docs/LAYERS.md +90 -0
  338. package/omega/Agentik_SSOT/docs/USER-JOURNEY.md +283 -0
  339. package/omega/Agentik_SSOT/docs/quality-arsenal/ARSENAL-INTERCONNECTIONS.md +283 -0
  340. package/omega/Agentik_SSOT/docs/quality-arsenal/ARSENAL-ORCHESTRATION-PLAYBOOK.md +364 -0
  341. package/omega/Agentik_SSOT/docs/quality-arsenal/AUDIT-VERIFICATION-CONTRACT.md +272 -0
  342. package/omega/Agentik_SSOT/docs/quality-arsenal/QUALITY-ARSENAL-PREAMBLE.md +462 -0
  343. package/omega/Agentik_SSOT/marketplaces/design-discipline.yaml +86 -0
  344. package/omega/Agentik_SSOT/skills/a11yaudit/SKILL.md +161 -0
  345. package/omega/Agentik_SSOT/skills/apiaudit/SKILL.md +157 -0
  346. package/omega/Agentik_SSOT/skills/audit-orchestrator.md +212 -0
  347. package/omega/Agentik_SSOT/skills/audit-pilot.md +466 -0
  348. package/omega/Agentik_SSOT/skills/audit-tracker.md +147 -0
  349. package/omega/Agentik_SSOT/skills/automationaudit/SKILL.md +161 -0
  350. package/omega/Agentik_SSOT/skills/cadence/SKILL.md +76 -0
  351. package/omega/Agentik_SSOT/skills/codeaudit/SKILL.md +153 -0
  352. package/omega/Agentik_SSOT/skills/copyaudit/SKILL.md +161 -0
  353. package/omega/Agentik_SSOT/skills/dataaudit/SKILL.md +157 -0
  354. package/omega/Agentik_SSOT/skills/debugaudit/SKILL.md +161 -0
  355. package/omega/Agentik_SSOT/skills/dispatch/SKILL.md +79 -0
  356. package/omega/Agentik_SSOT/skills/dxaudit/SKILL.md +161 -0
  357. package/omega/Agentik_SSOT/skills/featureaudit/SKILL.md +161 -0
  358. package/omega/Agentik_SSOT/skills/flowaudit/SKILL.md +165 -0
  359. package/omega/Agentik_SSOT/skills/genesis/SKILL.md +116 -0
  360. package/omega/Agentik_SSOT/skills/handoff/SKILL.md +117 -0
  361. package/omega/Agentik_SSOT/skills/logicaudit/SKILL.md +165 -0
  362. package/omega/Agentik_SSOT/skills/motionaudit/SKILL.md +165 -0
  363. package/omega/Agentik_SSOT/skills/newcmd.md +300 -0
  364. package/omega/Agentik_SSOT/skills/perfaudit/SKILL.md +161 -0
  365. package/omega/Agentik_SSOT/skills/plan/SKILL.md +127 -0
  366. package/omega/Agentik_SSOT/skills/pursue/SKILL.md +68 -0
  367. package/omega/Agentik_SSOT/skills/quality-arsenal.md +180 -0
  368. package/omega/Agentik_SSOT/skills/rag-route.md +9 -0
  369. package/omega/Agentik_SSOT/skills/refontaudit/SKILL.md +165 -0
  370. package/omega/Agentik_SSOT/skills/retentionaudit/SKILL.md +165 -0
  371. package/omega/Agentik_SSOT/skills/secaudit/SKILL.md +157 -0
  372. package/omega/Agentik_SSOT/skills/seoaudit/SKILL.md +161 -0
  373. package/omega/Agentik_SSOT/skills/skill-auditor/SKILL.md +83 -0
  374. package/omega/Agentik_SSOT/skills/skill-finder/SKILL.md +116 -0
  375. package/omega/Agentik_SSOT/skills/uiuxaudit/SKILL.md +165 -0
  376. package/package.json +2 -2
@@ -0,0 +1,364 @@
1
+ ---
2
+ name: ARSENAL-ORCHESTRATION-PLAYBOOK
3
+ description: >
4
+ Operational playbook for AISB (ORACLE-led orchestration) and project Oracles to
5
+ dispatch Quality Arsenal audits correctly. Translates user intent into specific
6
+ audit invocations with proper flags, ordering, and parallelism. Complements
7
+ ARSENAL-INTERCONNECTIONS.md (the what) with the how.
8
+ NOT a user-invokable skill — AISB/Oracle reference doc.
9
+ ---
10
+
11
+ # Quality Arsenal — Orchestration Playbook v1.0
12
+
13
+ > *"Given a mission, which audits fire, in what order, with what scope?"*
14
+
15
+ ---
16
+
17
+ ## 1. ORACLE'S AUDIT SELECTION ALGORITHM
18
+
19
+ When Oracle receives a task (from AISB / direct user / rule 43 / godmode), it follows this decision tree:
20
+
21
+ ```
22
+ 1. Parse user intent. Extract:
23
+ - Action verb (fix / audit / verify / check / review / redesign / speed up / etc.)
24
+ - Target noun (page URL / file paths / module / feature / "everything")
25
+ - Domain signals (UI / code / perf / sec / a11y / SEO / data / API / flow / motion / copy / DX)
26
+
27
+ 2. Consult AUDIT KEYWORD DETECTION table in ~/.claude/CLAUDE.md §"AUDIT KEYWORD DETECTION":
28
+ - Each keyword maps to a specific /audit skill
29
+ - Multiple keywords = multiple audits in PARALLEL (rule 001 enforced)
30
+
31
+ 3. Consult ARSENAL-INTERCONNECTIONS.md §3 (dispatch order):
32
+ - If selected audits have ordering constraints (e.g., perfaudit → seoaudit):
33
+ batch by dependency group
34
+ - Within a group: dispatch in parallel
35
+
36
+ 4. Consult ARSENAL-INTERCONNECTIONS.md §5 (non-UI gates):
37
+ - If project is CLI/library/backend-only/headless:
38
+ remove incompatible audits (/uiuxaudit, /flowaudit, /motionaudit, /seoaudit)
39
+ emit "aborted — non-UI context" for user visibility
40
+ route to alternatives (/dxaudit, /copyaudit)
41
+
42
+ 5. Apply scoping flags based on signals:
43
+ - URL detected → --url=<URL>
44
+ - File paths detected → --files=<paths>
45
+ - Linear ticket ID (rule 43) → --ticket=<ID> + --url + --files
46
+ - "just this page" → --scope="single page"
47
+
48
+ 6. Enforce concurrency + locks (preamble §3):
49
+ - Check .{audit}/.lock for each selected audit before dispatch
50
+ - If lock held < 4h: wait or abort per user intent
51
+ - If stale > 4h: reclaim, proceed
52
+
53
+ 7. Dispatch via Agent() / TeamCreate() / direct Skill() per task complexity:
54
+ - SIMPLE (1 audit, single-file) → direct Skill()
55
+ - MEDIUM (2-3 audits, parallel, independent) → parallel Agent() calls
56
+ - COMPLEX (4+ audits, groups) → /team with tmux + dependency tracking
57
+ - EPIC (all 14) → /aisb full or /godmode orchestration
58
+
59
+ 8. Monitor progress via Telegram channel + .{audit}/progress.json files
60
+
61
+ 9. On completion:
62
+ - Verify all verdict.json files exist + preamble_version="1.0" (output gate)
63
+ - Aggregate findings by severity
64
+ - Run /metaudit IF any .md config file was edited during audits
65
+ - Report to user with cross-audit dedupe per INTERCONNECTIONS.md §5
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 2. INTENT → AUDIT-SET TRANSLATION TABLE
71
+
72
+ Machine-usable routing from natural language to dispatch:
73
+
74
+ | User input (en/fr, case-insensitive substring match) | Dispatch plan |
75
+ |------|---------------|
76
+ | `audit complet`, `full audit`, `toutes les audits`, `all audits`, `tout auditer` | All 14 via the octad pattern (INTERCONNECTIONS §3). `/metaudit` as final step. |
77
+ | `audit code`, `code audit`, `audit this code` | `/codeaudit --files=<detected>` solo |
78
+ | `audit ui`, `audit ux`, `design audit`, `audit design`, `audit visuel` | `/uiuxaudit --url=<detected>` solo (add `/a11yaudit` if user says "accessible" too) |
79
+ | `audit flow`, `user flow`, `audit parcours`, `workflow audit` | `/flowaudit --url=<detected>` solo |
80
+ | `audit perf`, `performance audit`, `core web vitals`, `audit rapidité` | `/perfaudit --url=<detected>` solo |
81
+ | `audit sec`, `security audit`, `owasp`, `audit sécurité` | `/apiaudit` (static auth) → `/secaudit` (exploit) — STRICT order |
82
+ | `audit a11y`, `accessibility audit`, `wcag`, `audit accessibilité` | `/a11yaudit --url=<detected>` solo |
83
+ | `audit seo`, `seo audit`, `audit référencement`, `crawlability` | `/perfaudit --url=<detected>` → `/seoaudit --url=<detected>` — STRICT order (CWV handoff) |
84
+ | `audit api`, `api audit`, `audit contrats api` | `/dataaudit` → `/apiaudit` — STRICT order (schema → contract) |
85
+ | `audit data`, `data audit`, `data integrity`, `audit données` | `/dataaudit` solo |
86
+ | `audit feature`, `feature audit`, `audit complétude`, `prd gap` | `/featureaudit` solo |
87
+ | `audit copy`, `copy audit`, `messaging audit`, `audit texte`, `audit messages` | `/copyaudit --url=<detected>` solo |
88
+ | `audit dx`, `dx audit`, `developer experience`, `onboarding dev`, `audit dev` | `/dxaudit` solo |
89
+ | `audit motion`, `motion audit`, `animation audit`, `audit animations` | `/motionaudit --url=<detected>` solo |
90
+ | `debugaudit`, `hunt`, `runtime bug`, `chaos`, `audit bugs`, `find bugs` | `/codeaudit` → `/debugaudit` — STRICT order |
91
+ | `meta audit`, `audit the audits`, `audit commands`, `quality arsenal compliance` | `/metaudit` solo |
92
+ | `redesign dashboard`, `refonte dashboard`, `comme linear`, `comme vercel`, `dashboard senior` | `/refontaudit` (not Quality Arsenal, separate dashboard skill) |
93
+ | Linear ticket phrase per rule 43 | QUADRUPLE: `/codeaudit` + `/uiuxaudit` + `/flowaudit` + `/debugaudit` all --ticket-scoped in parallel |
94
+ | Vague (`review`, `check it out`) | ASK user which domain — do NOT pick arbitrarily |
95
+
96
+ **Multiple keywords in one prompt** (e.g., "audit UX et code on /cases"):
97
+ - Launch each matching audit in PARALLEL with the scope derived from the URL
98
+ - Never combine into a single generic worker (rule 001, §AUDIT KEYWORD DETECTION)
99
+
100
+ ---
101
+
102
+ ## 3. SCOPE FLAGS — HOW TO APPLY THEM
103
+
104
+ Per preamble §2 (scoped invocation flags), every audit accepts these flags uniformly:
105
+
106
+ ```
107
+ --url={URL} Apply URL-based walkthroughs to this page only.
108
+ Required for: /uiuxaudit, /flowaudit, /debugaudit, /perfaudit,
109
+ /a11yaudit, /seoaudit, /motionaudit, /copyaudit (for page-specific copy)
110
+ when scope is specific.
111
+
112
+ --files={paths} Apply code-side checks to these files only.
113
+ Required for: /codeaudit, /apiaudit, /dataaudit when targeting specific
114
+ modules. Used by rule 43 (Linear pipeline) with git diff output.
115
+
116
+ --scope={1-liner} Free-text scope note in output.
117
+ Always include for clarity. Example: --scope="checkout success page only".
118
+
119
+ --ticket={ID} Link audit to Linear ticket.
120
+ Writes results to .linear-fix/{TICKET}/{audit}.json.
121
+ MANDATORY for rule 43 pipeline (Step 8 dynamic chain).
122
+ Requires --url and --files to be present.
123
+
124
+ --no-fix Dry-run scoring only; skip fix execution.
125
+ Use when user wants to review the fix plan before authorize.
126
+
127
+ --focus={area} Per-audit narrower phase selection with FULL depth.
128
+ Examples:
129
+ /codeaudit --focus=security → phases 4+5+6+9+10 at full depth
130
+ /uiuxaudit --focus=typography → phase 2 at full depth
131
+ NOT a "quick mode". Full protocol, narrower surface.
132
+
133
+ --set-baseline Write current measurements as new baseline (regression comparison).
134
+ Applies to /perfaudit, /debugaudit (visual), /seoaudit (rankings).
135
+ Use sparingly — only for intentional baseline resets.
136
+ ```
137
+
138
+ **FORBIDDEN flags** (rule 46): `--quick`, `--streamlined`, `--lightweight`, `--light`, `--fast`, `--custom`. If user requests, REFUSE with rule-46 explanation. Suggest `--focus <area>` for narrower scope at full depth.
139
+
140
+ ---
141
+
142
+ ## 4. PARALLELIZATION STRATEGY
143
+
144
+ Multiple audits in the same dispatch:
145
+
146
+ ### Rule-43 Quadruple (Linear ticket)
147
+ ```
148
+ Parallel dispatch (4 work sessions or Agent Teams):
149
+ /codeaudit --files=$FILES --ticket=$T --url=$URL
150
+ /uiuxaudit --files=$FILES --ticket=$T --url=$URL
151
+ /flowaudit --files=$FILES --ticket=$T --url=$URL
152
+ /debugaudit --files=$FILES --ticket=$T --url=$URL
153
+
154
+ Wait for all 4 to produce .linear-fix/$T/{audit}.json with score=100.
155
+ If any < 100: fix-and-reaudit loop per rule 43 step 8b.
156
+ ```
157
+
158
+ ### Octad (full audit)
159
+ ```
160
+ Phase A (parallel, no dependencies):
161
+ /codeaudit — full run, produces audits/.codeaudit/verdict.json
162
+ /perfaudit — full run, produces audits/.perfaudit/verdict.json (CWV measurements)
163
+ /a11yaudit — full run
164
+ /dataaudit — full run, produces audits/.dataaudit/verdict.json (schema types)
165
+
166
+ Phase B (after Phase A completes — reads Phase A outputs):
167
+ /debugaudit — reads audits/.codeaudit/ (skip phantom-covered findings)
168
+ /seoaudit — reads audits/.perfaudit/verdict.json for CWV (skip re-measurement)
169
+ /apiaudit — reads audits/.dataaudit/verdict.json for schema types, produces audits/.apiaudit/verdict.json
170
+ /secaudit — reads audits/.apiaudit/verdict.json for auth surfaces to exploit
171
+
172
+ NOTE: /apiaudit runs in Phase B (NOT Phase A) because it consumes /dataaudit output.
173
+ /secaudit also runs in Phase B because it consumes /apiaudit output.
174
+ This is a strict dependency chain: dataaudit → apiaudit → secaudit (sequential within Phase B).
175
+
176
+ Phase C (parallel, independent of A+B, starts immediately with A):
177
+ /uiuxaudit /flowaudit /featureaudit /motionaudit /copyaudit /dxaudit
178
+
179
+ Final: /metaudit (if any .md edited).
180
+ ```
181
+
182
+ ### Non-UI project audit
183
+ ```
184
+ Parallel dispatch (only UI-compatible audits ABORT):
185
+ /codeaudit /dxaudit /copyaudit /perfaudit /secaudit /a11yaudit-partial
186
+ /apiaudit (if API project) /dataaudit (if DB project)
187
+
188
+ ABORTED (emit graceful skip notices):
189
+ /uiuxaudit /flowaudit /motionaudit /seoaudit
190
+
191
+ Inform user: "This is a {CLI/library/backend-only/headless} project.
192
+ 4 audits not applicable, skipped gracefully."
193
+ ```
194
+
195
+ ---
196
+
197
+ ## 5. AISB (ORACLE-led) FULL-PIPELINE TEMPLATE
198
+
199
+ When `/aisb full <task>` is invoked:
200
+
201
+ ```
202
+ STEP 0: kill-switch + state init (aisb.md)
203
+ STEP 1: reformulate prompt (aisb.md §STEP 1)
204
+ STEP 2: dispatch ORACLE (aisb.md §STEP 2)
205
+
206
+ ORACLE then:
207
+ a. Classifies task (SIMPLE/MEDIUM/COMPLEX/EPIC)
208
+ b. Reads ARSENAL-ORCHESTRATION-PLAYBOOK.md §2 routing table
209
+ c. Reads ARSENAL-INTERCONNECTIONS.md §3 for dispatch order
210
+ d. Builds .orchestrator/dispatch-plan.json with:
211
+ - audits_to_run: [...]
212
+ - dispatch_groups: [[group_A], [group_B], [group_C]]
213
+ - scope_flags_per_audit: {...}
214
+ - wait_conditions: {...}
215
+ e. Creates TeamCreate + TaskCreate per audit
216
+ f. Dispatches per group, waiting on dependencies
217
+ g. Monitors .{audit}/progress.json + Telegram channel
218
+ h. On all complete: aggregates verdicts, dedupes per INTERCONNECTIONS §5, reports
219
+
220
+ STEP 3: report results (aisb.md §STEP 3)
221
+ POST-TASK: /debugaudit verification (aisb.md §POST-TASK)
222
+ ```
223
+
224
+ ---
225
+
226
+ ## 6. GODMODE AUDIT HANDLING
227
+
228
+ `/godmode` is fully autonomous. When it spawns audits:
229
+
230
+ ```
231
+ godmode Phase 2 cycle step 4 (EXECUTE):
232
+ - For each planned audit task:
233
+ - Pre-inline into the agent prompt:
234
+ - Audit name + scope flags
235
+ - References to preamble + interconnections
236
+ - Expected output path (.{audit}/verdict.json)
237
+ - Stop criteria: score >= 80 (solo) or 100 (rule 43)
238
+ - Spawn Agent(subagent_type=<specialist or generic>) or invoke Skill() directly
239
+ - Concurrent audits: use TeamCreate for visibility + SendMessage for coordination
240
+ - Track in ~/.godmode/audits-status.json
241
+
242
+ godmode Phase 2 cycle step 8 (STUCK DETECTION):
243
+ - If same audit fails 3× with same finding pattern → root cause analysis,
244
+ not more retries (already enforced by 5-iter cap per preamble §4)
245
+
246
+ godmode Phase 2 cycle step 10 (REPORT):
247
+ - Include audit scores in Telegram milestone updates
248
+ - Highlight any NEEDS_REVIEW items that hit the 5-iter cap
249
+ ```
250
+
251
+ ---
252
+
253
+ ## 7. METAUDIT INVOCATION TRIGGERS
254
+
255
+ Run `/metaudit` automatically when:
256
+
257
+ 1. **After any `.md` file in `~/.claude/commands/` is edited** (drift prevention)
258
+ 2. **At the end of `/aisb full`** (final compliance check)
259
+ 3. **At rule 43 pipeline step 9** (before moving ticket to "In Review")
260
+ 4. **On-demand** when user invokes `/metaudit` directly
261
+
262
+ Metaudit scope flags:
263
+ - `/metaudit` — full 20-phase scan
264
+ - `/metaudit --focus arsenal` — 14 audits compliance only (fast)
265
+ - `/metaudit --focus preamble` — Phase 1 only (hinge point)
266
+ - `/metaudit --focus deprecation` — stale refs only
267
+ - `/metaudit --focus banned-phrases` — rule 46 scan
268
+ - `/metaudit --focus skills` — Skill() call validity
269
+
270
+ ---
271
+
272
+ ## 8. ORACLE DISPATCH CONTRACT
273
+
274
+ When Oracle dispatches an audit work session, the prompt MUST:
275
+
276
+ 1. **Start with the exact skill invocation on line 1**:
277
+ ```
278
+ /codeaudit --files=src/auth.ts,src/middleware.ts --url=https://example.com/dashboard --scope="auth flow regression" --ticket=DEN-42
279
+ ```
280
+ 2. **Never paraphrase the audit protocol** — rule 001 enforces this (AUDIT KEYWORD DETECTION).
281
+ 3. **Include expected output gate**: "On completion, verify `audits/.codeaudit/verdict.json` exists with `score >= 100` and `preamble_version: \"1.0\"`."
282
+ 4. **Include the interconnections context**: "See ARSENAL-INTERCONNECTIONS.md §1 for ownership boundaries. Do not duplicate findings owned by other audits."
283
+ 5. **Reference the preamble**: "All contracts in QUALITY-ARSENAL-PREAMBLE.md apply. Emit `preamble_version` in verdict.json."
284
+ 6. **Pass scope boundaries explicitly**: "Do not expand beyond the specified --files / --url / --scope."
285
+
286
+ ---
287
+
288
+ ## 9. USER COMMUNICATION TEMPLATES
289
+
290
+ When Oracle reports audit results back to the user:
291
+
292
+ ### Success (single audit)
293
+ ```
294
+ ✅ /codeaudit complete — score 100/100 (S, Fortress)
295
+ Scope: 3 files, 1 page
296
+ Findings: 0 CRITICAL, 0 HIGH, 2 MEDIUM, 5 LOW (all auto-fixed)
297
+ Iterations: 2 (fix-and-reaudit loop)
298
+ Duration: 18min
299
+ Report: audits/.codeaudit/verdict.md
300
+ Next: /debugaudit for runtime verification (same scope)
301
+ ```
302
+
303
+ ### Partial (NEEDS_REVIEW)
304
+ ```
305
+ ⚠️ /flowaudit completed with 3 NEEDS_REVIEW items (hit 5-iter cap)
306
+ Score: 92/100 (A, solid)
307
+ Hinge flow intact. Remaining items need human decision:
308
+ 1. Onboarding step 3 ambiguity (design choice, not fixable in code)
309
+ 2. Payment retry UX (needs business policy)
310
+ 3. Dead-end on /settings/advanced (intentional? confirm)
311
+ Report: audits/.flowaudit/verdict.md
312
+ Telegram SOS sent.
313
+ ```
314
+
315
+ ### Group dispatch (Linear DYNAMIC audit chain)
316
+ ```
317
+ ✅ Rule-43 DYNAMIC audit chain complete for DEN-42 (selector chose 5 of 16):
318
+ /codeaudit 100/100 (3 fixes applied)
319
+ /uiuxaudit 100/100 (1 fix applied)
320
+ /flowaudit 100/100 (0 fixes needed)
321
+ /debugaudit 100/100 (2 console warnings silenced)
322
+ /logicaudit 100/100 (1 redundant path removed)
323
+ Adversarial: confirmed (5 attack attempts blocked)
324
+ Intent Q1-Q5: PASS
325
+ Gate passed: ticket ready for "In Review: Gareth"
326
+ Comment posted with Before/After screenshots.
327
+ ```
328
+
329
+ ### Failure (ABORT)
330
+ ```
331
+ 🛑 /uiuxaudit aborted — non-UI context detected
332
+ Project type: CLI tool (no visual UI surface)
333
+ Alternatives dispatched automatically:
334
+ /dxaudit (primary for CLIs)
335
+ /copyaudit (help text, error messages)
336
+ Preamble §5 ABORT gate enforced per design.
337
+ ```
338
+
339
+ ---
340
+
341
+ ## 10. QUICK REFERENCE — "WHICH AUDIT FOR WHAT?"
342
+
343
+ One-line answer per common question:
344
+
345
+ | Question | Audit |
346
+ |---------|-------|
347
+ | "The button doesn't work" | `/debugaudit` + `/flowaudit` |
348
+ | "The design looks off" | `/uiuxaudit` + `/a11yaudit` (if contrast/readability) |
349
+ | "Site feels slow" | `/perfaudit` |
350
+ | "Users can't find what they need" | `/flowaudit` + `/seoaudit` |
351
+ | "Can someone hack us?" | `/secaudit` (must follow `/apiaudit` for auth surfaces) |
352
+ | "Google isn't ranking us" | `/perfaudit` → `/seoaudit` |
353
+ | "Form fields lost data" | `/flowaudit` (Phase 8 data integrity through flow) + `/dataaudit` |
354
+ | "API returning wrong shape" | `/apiaudit` |
355
+ | "Screen reader doesn't work" | `/a11yaudit` |
356
+ | "This animation is distracting" | `/motionaudit` |
357
+ | "Headline is unclear" | `/copyaudit` |
358
+ | "New devs struggle to onboard" | `/dxaudit` |
359
+ | "Database is corrupting" | `/dataaudit` |
360
+ | "Is our command system healthy?" | `/metaudit` |
361
+
362
+ ---
363
+
364
+ *v1.0 — 2026-04-14. Referenced by /aisb, /godmode, /team, rule 43, rule 001-smart-routing.md.*
@@ -0,0 +1,272 @@
1
+ ---
2
+ name: AUDIT-VERIFICATION-CONTRACT
3
+ description: >
4
+ MANDATORY verification contract for all Quality Arsenal audits (/codeaudit, /flowaudit, /logicaudit,
5
+ /automationaudit, /debugaudit, /perfaudit, /secaudit, /a11yaudit, /seoaudit, /dataaudit, /apiaudit,
6
+ /copyaudit, /dxaudit, /motionaudit, /uiuxaudit, /featureaudit). Every audit MUST implement this
7
+ before/after verification protocol. An audit that cannot prove "100% functional before AND after"
8
+ is NOT complete. This is the "do no harm" contract.
9
+ NOT a user-invokable skill — this is a shared source of truth referenced by all audit skills.
10
+ ---
11
+
12
+ # Audit Verification Contract v1.1 — "Do No Harm"
13
+
14
+ > **An audit that breaks working functionality is a failure, regardless of score improvement.**
15
+ > Before calling any fix "done", prove the thing you touched still works — AND wasn't broken before.
16
+
17
+ > **v1.1 changelog (2026-04-17):** formalized the HINGE {DOMAIN} pattern,
18
+ > documented mandatory minimums (phase count, score normalization, Phase N-1
19
+ > / N+4), clarified the 16 Quality Arsenal skills the contract applies to.
20
+
21
+ ---
22
+
23
+ ## MANDATORY MINIMUMS (v1.1)
24
+
25
+ Every Quality Arsenal skill MUST satisfy these structural invariants. A skill
26
+ violating any of them is not compliant and fails `/metaudit`.
27
+
28
+ | # | Invariant | Rationale |
29
+ |---|---|---|
30
+ | 1 | **At least 16 scored phases** (## headings counted as audit work, not doc) | Forensic depth — fewer phases = shallow audit |
31
+ | 2 | **Phase N-1 (PRE-FIX BASELINE)** implemented before first fix | Hippocratic rule — can't prove "no regression" without baseline |
32
+ | 3 | **Phase N+4 (before-after matrix)** produced to `.{audit}/before-after.md` | Proof-of-work artifact required for 100/100 verdict |
33
+ | 4 | **Score normalized to /100** (raw may be /100, /320, /360, /420, /540 — must include normalization formula `raw / max * 100 = /100`) | Cross-skill comparison |
34
+ | 5 | **HINGE {DOMAIN}** identification before Phase 1 (10× scrutiny on the one thing that dominates the domain's risk/value) | Gestalt clarity gate — not all phases equal |
35
+ | 6 | **Popper falsification** in each scored item (how would you disprove this claim?) | Epistemic rigor — prevents confirmation bias |
36
+ | 7 | **Fix → re-audit loop** with explicit max iterations (typically 5) | Bounded recovery, prevents infinite loops |
37
+ | 8 | **Final verdict gate** blocks 100/100 claim unless `before-after.md` shows 0 regressions | Contract enforcement |
38
+
39
+ ### The HINGE {DOMAIN} Pattern (canonical)
40
+
41
+ Each forensic audit identifies ONE element that deserves 10× scrutiny — the
42
+ element whose quality dominates the entire domain. The term "hinge" means
43
+ "everything pivots on this". The noun adapts to the domain:
44
+
45
+ | Skill | Canonical hinge term | What it names |
46
+ |---|---|---|
47
+ | `/codeaudit` | **HINGE POINT** (module/function) | Single module where reliability pivots |
48
+ | `/secaudit` | **SECURITY HINGE POINT** | Auth/authorization boundary |
49
+ | `/uiuxaudit` | **HINGE COMPONENT** | Element that defines perceived quality |
50
+ | `/a11yaudit` | **HINGE FLOW** | Primary accessible journey |
51
+ | `/flowaudit` | **HINGE FLOW** | Journey that defines product's raison d'être |
52
+ | `/perfaudit` | **HINGE PAGE** | Highest-traffic page |
53
+ | `/motionaudit` | **HINGE PAGE** | Page defining kinetic identity |
54
+ | `/seoaudit` | **HINGE PAGES** | Money/conversion pages |
55
+ | `/copyaudit` | **HINGE PAGES** | Conversion-critical copy surfaces |
56
+ | `/dataaudit` | **HINGE TABLES** | Core entities (users, orders, products) |
57
+ | `/apiaudit` | **HINGE ENDPOINTS** | Money/auth/user-data endpoints |
58
+ | `/debugaudit` | **HINGE FEATURE** | Feature whose breakage = product down |
59
+ | `/featureaudit` | **HINGE CAPABILITY** | The one thing the product must do best |
60
+ | `/dxaudit` | **HINGE EXPERIENCE** | First 30 min of a new developer |
61
+ | `/automationaudit` | **HINGE AUTOMATION** | Script whose failure cascades most |
62
+ | `/logicaudit` | **HINGE LOGIC** | Bottleneck decision/algorithm/pipeline |
63
+
64
+ **Rule:** within a skill, use ONE canonical hinge term consistently. Do not
65
+ mix "hinge point" with a domain-specific term in the same skill. The only
66
+ skill using the generic "HINGE POINT" is `codeaudit` (because "code" has no
67
+ more specific noun) and `secaudit` (which qualifies it with "SECURITY").
68
+
69
+ When writing a new audit skill: pick the most specific noun for your domain,
70
+ document it in the Gestalt section (Phase 0), and never drift from it.
71
+
72
+ ---
73
+
74
+ ## THE HIPPOCRATIC RULE
75
+
76
+ **First, do no harm.** Every fix must pass 3 tests:
77
+
78
+ 1. **BEFORE test** — Capture baseline functional state. Does the thing currently work?
79
+ 2. **FIX** — Apply the change.
80
+ 3. **AFTER test** — Repeat the exact same capture. Does it still work?
81
+ 4. **DIFF** — Compare before vs after. Prove no regression.
82
+
83
+ Without all 3, the fix is UNVERIFIED. Do NOT mark it done.
84
+
85
+ ---
86
+
87
+ ## MANDATORY PHASES FOR EVERY AUDIT
88
+
89
+ Every audit (code/flow/logic/automation/debug/etc.) MUST add these phases AROUND its fix execution:
90
+
91
+ ### Phase N-1: PRE-FIX BASELINE CAPTURE
92
+
93
+ Before touching ANY file, capture the current functional state of EVERYTHING the fix might affect.
94
+
95
+ ```
96
+ For each file/resource about to be modified:
97
+ 1. Identify direct dependents: who calls this? who reads this? who executes this?
98
+ Command: grep -rln "path/or/name" ~/.claude ~/.aisb ~/VibeCoding/work 2>/dev/null
99
+ | grep -v ".backup" | grep -v "/file-history/" | grep -v ".jsonl"
100
+ 2. For each dependent, capture a "works check":
101
+ - Script: bash -n SCRIPT (syntax check)
102
+ - Config: JSON parse / YAML parse
103
+ - Python: python3 -c "import ast; ast.parse(open('F').read())"
104
+ - Shell cron: validate expression
105
+ - TypeScript: tsc --noEmit PROJECT (if applicable)
106
+ - Skill: frontmatter present (head -3 | grep "^name:")
107
+ 3. Save baseline to .{audit}/baseline/{file}.baseline
108
+ 4. If ANY baseline check already fails → abort the fix, flag it as "pre-existing broken"
109
+ Do NOT fix unrelated broken things. Note and move on.
110
+ ```
111
+
112
+ ### Phase N: APPLY FIX (existing behavior)
113
+
114
+ Normal fix execution. Nothing changes here.
115
+
116
+ ### Phase N+1: POST-FIX VERIFICATION
117
+
118
+ Immediately after each fix, repeat EVERY baseline check from Phase N-1.
119
+
120
+ ```
121
+ For each dependent captured at baseline:
122
+ 1. Re-run the exact same "works check"
123
+ 2. If check PASSES → record as OK
124
+ 3. If check FAILS → this fix broke something that worked. REVERT immediately:
125
+ - For sed/Edit: restore from .bak
126
+ - For mv: mv back to original location
127
+ - For crontab: crontab /tmp/crontab.backup-*.txt
128
+ 4. Mark fix as NEEDS_REVIEW in fix-plan.json
129
+ 5. Continue to next fix (do NOT abort whole audit)
130
+ ```
131
+
132
+ ### Phase N+2: FUNCTIONAL SMOKE TEST
133
+
134
+ Beyond syntax/parsing, verify the thing actually FUNCTIONS:
135
+
136
+ ```
137
+ For every skill whose path changed:
138
+ - Read the skill file from its new location — does it exist?
139
+ - grep for all internal references (@-mentions, paths, links) — do they resolve?
140
+ - Check frontmatter is intact
141
+
142
+ For every script whose behavior changed:
143
+ - Run with --help or --dry-run if supported
144
+ - Check it doesn't hang (timeout 10s)
145
+ - Check exit code
146
+
147
+ For every rule whose content changed:
148
+ - Ensure it's still loadable (markdown syntax valid)
149
+ - Ensure no internal cross-references were broken
150
+
151
+ For every cron that was modified:
152
+ - Validate cron expression with `cron-validator` or equivalent
153
+ - Confirm `crontab -l` shows expected output
154
+ ```
155
+
156
+ ### Phase N+3: BREAKAGE DETECTION REPORT
157
+
158
+ After all fixes applied, run a full breakage scan:
159
+
160
+ ```bash
161
+ # Find ALL stale references to moved/deleted paths
162
+ echo "=== STALE REFERENCES CHECK ==="
163
+ for old_path in "${MOVED_OR_DELETED[@]}"; do
164
+ BROKEN=$(grep -rln "$old_path" ~/.claude ~/.aisb ~/VibeCoding/work 2>/dev/null \
165
+ | grep -v ".backup" | grep -v "/file-history/" | grep -v ".jsonl" \
166
+ | grep -v ".{audit}/" | head -20)
167
+ if [ -n "$BROKEN" ]; then
168
+ echo "🔴 STALE REFERENCES to $old_path:"
169
+ echo "$BROKEN"
170
+ # Fix each one OR mark NEEDS_REVIEW
171
+ fi
172
+ done
173
+
174
+ # Exit 0 ONLY if zero stale references found
175
+ ```
176
+
177
+ ### Phase N+4: BEFORE/AFTER MATRIX (mandatory output)
178
+
179
+ Every audit MUST produce `.{audit}/before-after.md`:
180
+
181
+ ```markdown
182
+ # Before / After Verification Matrix
183
+
184
+ ## Functional checks
185
+
186
+ | Item | Before | After | Status |
187
+ |------|--------|-------|--------|
188
+ | /linear skill loads | ✅ PASS | ✅ PASS | NO REGRESSION |
189
+ | rule 43 referenced correctly | 🔴 needed fix | ✅ PASS | FIXED |
190
+ | crontab validates | ✅ PASS | ✅ PASS | NO REGRESSION |
191
+ | dispatch-to-session syntax | ✅ PASS | ✅ PASS | NO REGRESSION |
192
+ | ... | ... | ... | ... |
193
+
194
+ ## Performance metrics
195
+
196
+ | Metric | Before | After | Delta |
197
+ |--------|--------|-------|-------|
198
+ | Context tokens/session | 20,000 | 12,700 | -36% ✅ |
199
+ | Rules loaded | 16 files | 12 files | -25% ✅ |
200
+ | Dispatch wait time | 7s | 3-5s | -40% ✅ |
201
+ | Minute-0 crons | 14 | 1 | -93% ✅ |
202
+
203
+ ## Regressions detected
204
+
205
+ <list, or "NONE" if clean>
206
+
207
+ ## Status: {100/100 VERIFIED | NEEDS_REVIEW | FAILED}
208
+ ```
209
+
210
+ If Status is NOT "100/100 VERIFIED" → the audit is NOT done. Do more work.
211
+
212
+ ---
213
+
214
+ ## THE "IT STILL WORKS" CHECKLIST
215
+
216
+ Before marking ANY audit complete, tick every box:
217
+
218
+ - [ ] Every file I moved has its new path referenced by every caller
219
+ - [ ] Every file I deleted has no live references (only ephemeral logs OK)
220
+ - [ ] Every script I modified passes `bash -n` (shell) or `python3 -c "import ast"` (Python)
221
+ - [ ] Every cron I changed still passes cron-expression validation
222
+ - [ ] Every skill file I changed still has valid frontmatter
223
+ - [ ] Every rule I moved is accessible at its new path (file exists + readable)
224
+ - [ ] I ran a FRESH grep for old paths across the full ecosystem — got 0 matches
225
+ - [ ] For infrastructure changes (crons, live scripts): backups exist with timestamps
226
+ - [ ] For each fix: before-check PASSED, fix applied, after-check PASSED
227
+ - [ ] `before-after.md` produced with measurable deltas
228
+ - [ ] Zero regressions claimed only if zero regressions actually found
229
+
230
+ ---
231
+
232
+ ## WHAT COUNTS AS "BROKEN" (revert immediately)
233
+
234
+ - A skill file's path is referenced but target doesn't exist
235
+ - A cron expression is invalid (cron validator fails)
236
+ - A script has syntax errors (`bash -n` fails)
237
+ - A Python module has import/parse errors
238
+ - A rule references another rule that was deleted
239
+ - A hook script points to a path that no longer exists AND the script is actively triggered
240
+
241
+ ---
242
+
243
+ ## WHAT DOESN'T COUNT AS BROKEN (OK to leave alone)
244
+
245
+ - Reference in ephemeral log files (`tool-results/`, `file-history/`, `.jsonl` session files)
246
+ - Reference in `.backup-*` files you created yourself
247
+ - Reference in deprecated/archived scripts that aren't triggered
248
+ - Reference in `shell-snapshots/` (autogenerated, rotates)
249
+
250
+ Skip these by default in breakage scans.
251
+
252
+ ---
253
+
254
+ ## ENFORCEMENT
255
+
256
+ Every audit skill's `## PHASE N+4: VERDICT & SCORING` section MUST end with:
257
+
258
+ ```
259
+ ## FINAL VERIFICATION GATE (MANDATORY before final verdict)
260
+
261
+ 1. Read AUDIT-VERIFICATION-CONTRACT.md fully
262
+ 2. Execute every check in the "IT STILL WORKS CHECKLIST"
263
+ 3. Produce .{audit}/before-after.md
264
+ 4. Grep for stale references — must be 0
265
+ 5. ONLY THEN write final verdict
266
+
267
+ If ANY check fails → mark status as NEEDS_REVIEW and do NOT claim "done".
268
+ ```
269
+
270
+ ---
271
+
272
+ *"An audit that breaks a single working thing is worse than no audit. Measure twice, fix once, verify thrice."*