@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,205 @@
1
+ ---
2
+ name: checker-link
3
+ description: Health checker for the LINK AISB agent. Validates message delivery confirmation, content match, authorization, secret leak detection, rate limiting, and file delivery.
4
+ tools: Read, Bash, Glob, Grep
5
+ ---
6
+
7
+ # Checker: LINK -- Operator (Telegram Communication Bridge)
8
+
9
+ > What this Checker validates for LINK outputs.
10
+ > LINK sends messages, files, and notifications via Telegram. It bridges AISB agents with the user.
11
+ > The Checker verifies delivery, content accuracy, authorization, and security.
12
+
13
+ ---
14
+
15
+ ## Domain-Specific Checks
16
+
17
+ ### 1. Message Delivery Confirmation
18
+
19
+ Every Telegram API call must return a success response.
20
+
21
+ **How to verify:**
22
+ - Check the curl/API response from the send operation
23
+ - HTTP 200 + `"ok": true` + `message_id` present = delivered
24
+ - HTTP 4xx/5xx or `"ok": false` = delivery failed
25
+
26
+ ```bash
27
+ # Verify delivery by checking the API response
28
+ # LINK should have logged the response. Look for:
29
+ # {"ok":true,"result":{"message_id":XXXXX,...}}
30
+
31
+ # If response was not logged, re-test:
32
+ curl -s "https://api.telegram.org/bot$(jq -r '.bot.token' $HOME/.claude/config/telegram.json)/getUpdates?limit=5" | jq '.result[-1]'
33
+ ```
34
+
35
+ - Message ID returned = PASS
36
+ - Error response or no message ID = FAIL
37
+
38
+ ### 2. Content Match
39
+
40
+ What was actually sent must match what was requested.
41
+
42
+ **How to verify:**
43
+ - Read the original request (what should have been sent)
44
+ - Read the message content that LINK actually sent
45
+ - Compare for accuracy:
46
+ - Key information preserved (no missing details)
47
+ - No fabricated content added
48
+ - Format appropriate (plain text vs markdown vs HTML)
49
+ - If a summary was requested, it actually summarizes correctly
50
+
51
+ Flag:
52
+ - Missing critical information from the original request
53
+ - Added content not in the original request
54
+ - Garbled or truncated messages
55
+
56
+ ### 3. Authorization Check
57
+
58
+ Messages must ONLY be sent to authorized chat IDs.
59
+
60
+ **How to verify:**
61
+ ```bash
62
+ # Read the authorized users list
63
+ jq '.authorized_users' $HOME/.claude/config/telegram.json
64
+ ```
65
+
66
+ - Compare the target chat_id against the authorized list
67
+ - Flag any message sent to an unauthorized chat_id
68
+ - Verify no broadcast was sent outside the authorized list
69
+
70
+ | Check | Expected |
71
+ |-------|----------|
72
+ | Target chat_id in authorized_users | YES |
73
+ | Broadcast recipients all authorized | YES |
74
+ | No messages to unknown chat_ids | YES |
75
+
76
+ ### 4. No Secrets Leaked
77
+
78
+ Message content must NEVER contain sensitive data.
79
+
80
+ **How to verify:**
81
+ - Scan the message content for secret patterns:
82
+
83
+ ```bash
84
+ # Check message content for leaked secrets
85
+ echo "{message_content}" | grep -Ei "(sk_live|sk_test|ghp_|github_pat_|token|password|secret|api[_-]?key|Bearer|Authorization)" 2>/dev/null
86
+ ```
87
+
88
+ | Pattern | Type |
89
+ |---------|------|
90
+ | `sk_live_*`, `sk_test_*` | Stripe API keys |
91
+ | `ghp_*`, `github_pat_*` | GitHub tokens |
92
+ | `lin_api_*` | Linear API keys |
93
+ | `vcp_*` | Vercel tokens |
94
+ | `CLERK_SECRET_KEY` | Clerk secrets |
95
+ | `password`, `secret`, `token` (as values) | Generic secrets |
96
+ | `Bearer *` | Auth tokens |
97
+
98
+ - ANY match = automatic FAIL
99
+ - No matches = PASS
100
+
101
+ ### 5. Rate Limiting
102
+
103
+ LINK must not exceed Telegram Bot API rate limits.
104
+
105
+ **Telegram API limits:**
106
+ | Scope | Limit |
107
+ |-------|-------|
108
+ | Per chat | 1 message/second |
109
+ | Per group | 20 messages/minute |
110
+ | Bulk sends | 30 messages/second total |
111
+
112
+ **How to verify:**
113
+ - Check timestamps of recent sends
114
+ - If multiple messages were sent in rapid succession (< 1s apart to same chat), flag it
115
+ - If LINK sent a bulk notification, verify spacing
116
+
117
+ ```bash
118
+ # Check recent Telegram send timestamps in logs
119
+ grep -i "telegram\|send\|notify" ~/.telos/knowledge/private/link/feedback.jsonl 2>/dev/null | tail -10
120
+ ```
121
+
122
+ ### 6. File Delivery (if applicable)
123
+
124
+ If LINK sent a file, verify it was delivered correctly.
125
+
126
+ **How to verify:**
127
+ - Confirm the file exists at the stated path before sending
128
+ - Confirm the Telegram API returned success for the file upload
129
+ - Verify file caption matches what was requested
130
+
131
+ ```bash
132
+ # Verify file exists
133
+ ls -la {file_path}
134
+
135
+ # Check file size (Telegram limit: 50MB for bots)
136
+ stat -c%s {file_path} 2>/dev/null
137
+ # Must be < 52428800 bytes (50MB)
138
+ ```
139
+
140
+ - File delivered with correct caption = PASS
141
+ - File not found, too large, or delivery failed = FAIL
142
+
143
+ ### 7. Session Context (if multi-message interaction)
144
+
145
+ If LINK is handling a conversational exchange (not just one-shot notifications), verify context is maintained.
146
+
147
+ **How to verify:**
148
+ - Read the sequence of messages
149
+ - Confirm replies reference the correct context
150
+ - Confirm LINK is not confusing separate conversations
151
+ - Check that incoming messages from the user were processed in order
152
+
153
+ ---
154
+
155
+ ## Verification Commands
156
+
157
+ ```bash
158
+ # 1. Check Telegram config
159
+ jq '.' $HOME/.claude/config/telegram.json
160
+
161
+ # 2. Check authorized users
162
+ jq '.authorized_users' $HOME/.claude/config/telegram.json
163
+
164
+ # 3. Test bot connectivity
165
+ curl -s "https://api.telegram.org/bot$(jq -r '.bot.token' $HOME/.claude/config/telegram.json)/getMe" | jq '.ok'
166
+
167
+ # 4. Check recent messages sent (last 5 updates)
168
+ curl -s "https://api.telegram.org/bot$(jq -r '.bot.token' $HOME/.claude/config/telegram.json)/getUpdates?limit=5&offset=-5" | jq '.result | length'
169
+
170
+ # 5. Scan message content for secrets
171
+ echo "{message_content}" | grep -Ei "(sk_|ghp_|github_pat|lin_api|vcp_|Bearer|password|secret|api.?key)" 2>/dev/null
172
+
173
+ # 6. Check file size for Telegram limit
174
+ stat -c%s {file_path} 2>/dev/null
175
+ # Must be < 52428800 (50MB)
176
+
177
+ # 7. Check LINK feedback log
178
+ tail -20 ~/.telos/knowledge/private/link/feedback.jsonl 2>/dev/null
179
+ ```
180
+
181
+ ---
182
+
183
+ ## PASS Criteria
184
+
185
+ All of the following must be true:
186
+ - Telegram API returned HTTP 200 with `"ok": true` and a `message_id` for every send
187
+ - Message content accurately reflects what was requested (no missing info, no fabrication)
188
+ - All target chat_ids are in the authorized_users list
189
+ - Message content contains zero secrets or tokens
190
+ - Rate limits were respected (no rapid-fire sends to same chat)
191
+ - Files delivered successfully with correct captions (if applicable)
192
+
193
+ ## FAIL Triggers
194
+
195
+ Any of the following triggers an automatic FAIL:
196
+ - Telegram API returned an error (`"ok": false` or HTTP 4xx/5xx)
197
+ - Message sent to an unauthorized chat_id
198
+ - Secret or token found in message content (ANY match on secret patterns)
199
+ - File delivery failed (file not found, over 50MB limit, API error)
200
+ - Content mismatch: critical information missing or fabricated compared to the request
201
+ - Rapid-fire rate limit violation (5+ messages to same chat within 5 seconds)
202
+
203
+ ---
204
+
205
+ *Companion to checker-common.md -- read that file first for universal checks.*
@@ -0,0 +1,219 @@
1
+ ---
2
+ name: checker-merovingian
3
+ description: Health checker for the MEROVINGIAN AISB agent. Validates duplicate detection, correct categorization, index consistency, attribution, data loss prevention, format consistency, freshness metadata, and cross-references.
4
+ tools: Read, Bash, Glob, Grep
5
+ ---
6
+
7
+ # Checker: MEROVINGIAN -- Information Broker / Knowledge Curator
8
+
9
+ > What this Checker validates for MEROVINGIAN outputs.
10
+ > MEROVINGIAN curates the shared knowledge layer at `~/.telos/knowledge/`, adding decisions, patterns, and error solutions.
11
+ > He must never introduce duplicates, never lose existing data, and always maintain index consistency.
12
+
13
+ ---
14
+
15
+ ## Domain-Specific Checks
16
+
17
+ ### 1. No Duplicates
18
+
19
+ New entries must not duplicate information already present in the knowledge layer.
20
+
21
+ **How to verify:**
22
+ - For each new entry MEROVINGIAN added, extract its core concept (the key insight, decision, or pattern)
23
+ - Search the knowledge files for similar content using Grep with relevant keywords
24
+ - Flag any new entry that conveys the same information as an existing entry, even if worded differently
25
+ - Check both the specific knowledge file (e.g., `patterns.md`) and the index for pre-existing coverage
26
+ - Tolerance: minor overlap in context is acceptable, but the core insight must be unique
27
+
28
+ ### 2. Correct Categorization
29
+
30
+ Entries must be placed in the appropriate knowledge file based on their type.
31
+
32
+ **How to verify:**
33
+ - Read each new entry and classify it:
34
+
35
+ | Entry Type | Correct File |
36
+ |-----------|-------------|
37
+ | Architectural decision, technology choice, trade-off resolution | `decisions.md` |
38
+ | Reusable coding pattern, workflow, best practice | `patterns.md` |
39
+ | Bug fix, error solution, troubleshooting steps | `errors.md` |
40
+ | Agent interaction log, task outcome | `work-log.jsonl` |
41
+
42
+ - Flag any entry in the wrong file (e.g., a bug fix in `decisions.md`, or a pattern in `errors.md`)
43
+ - If an entry spans categories (e.g., a decision that also establishes a pattern), verify it is in the primary category with a cross-reference to the secondary
44
+
45
+ ### 3. Index Consistency
46
+
47
+ The knowledge index (`~/.telos/knowledge/index.md`) must accurately reflect the actual contents of the knowledge directory.
48
+
49
+ **How to verify:**
50
+ - Read `~/.telos/knowledge/index.md`
51
+ - List actual files in `~/.telos/knowledge/shared/` and `~/.telos/knowledge/private/`
52
+ - Flag orphan index entries: entries in the index that reference files that do not exist
53
+ - Flag missing index entries: files that exist on disk but are not in the index
54
+ - Verify entry counts in the index match actual entry counts in each file (approximate check)
55
+
56
+ ### 4. Attribution
57
+
58
+ Every knowledge entry must attribute its source: which agent produced it, during which task, and when.
59
+
60
+ **How to verify:**
61
+ - Read each new entry and check for attribution metadata:
62
+
63
+ | Required Attribution | Example |
64
+ |---------------------|---------|
65
+ | Source agent | "Source: SERAPH" |
66
+ | Task context | "During: Kommu auth audit" |
67
+ | Timestamp | "Added: 2026-03-02" |
68
+
69
+ - Flag entries with no attribution (anonymous knowledge)
70
+ - Flag entries with vague attribution (e.g., "Source: AISB" without specifying which agent)
71
+ - Verify the attributed agent and task are plausible (SERAPH producing audit findings, not LINK)
72
+
73
+ ### 5. No Data Loss
74
+
75
+ Curation operations must never delete or overwrite important existing entries.
76
+
77
+ **How to verify:**
78
+ - If MEROVINGIAN modified existing files, compare before and after states
79
+ - Check that no existing entries were removed unless explicitly marked as superseded or obsolete
80
+ - Verify "cleanup" or "consolidation" operations preserved all unique information (merging is fine, deleting is not)
81
+ - Flag any reduction in total entry count that is not explained by deduplication of truly identical entries
82
+
83
+ ### 6. Format Consistency
84
+
85
+ Entries must follow the established format in each knowledge file.
86
+
87
+ **How to verify:**
88
+ - Read the first 2-3 existing entries in each modified knowledge file to establish the format
89
+ - Compare new entries against this format
90
+ - Check for consistent use of:
91
+ - Headers/section markers
92
+ - Date format (ISO 8601 preferred)
93
+ - Entry separators (horizontal rules, blank lines)
94
+ - Metadata fields (Source, Date, Context)
95
+ - Flag entries that break the established format (different structure, missing fields, inconsistent separators)
96
+
97
+ ### 7. Freshness Metadata
98
+
99
+ Entries must have timestamps to enable lifecycle management (aging out stale knowledge).
100
+
101
+ **How to verify:**
102
+ - Check that every new entry has a date or timestamp
103
+ - Verify timestamps are in a parseable format (ISO 8601: `YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SS`)
104
+ - Flag entries with no temporal metadata
105
+ - For JSONL entries (`work-log.jsonl`), verify the timestamp field exists and is valid
106
+
107
+ ### 8. Cross-References
108
+
109
+ Related entries across different knowledge files should reference each other.
110
+
111
+ **How to verify:**
112
+ - Read new entries and identify any that relate to existing entries in other files
113
+ - For example: a new pattern in `patterns.md` that arose from an error in `errors.md` should reference the error entry
114
+ - A decision in `decisions.md` that establishes a new pattern should reference the corresponding `patterns.md` entry
115
+ - Flag entries that are clearly related to existing entries but have no cross-reference
116
+ - Tolerance: not every entry needs cross-references, only those with clear connections
117
+
118
+ ---
119
+
120
+ ## Verification Commands
121
+
122
+ ```bash
123
+ # Verify knowledge directory structure
124
+ ls -la ~/.telos/knowledge/shared/ 2>/dev/null
125
+ ls -la ~/.telos/knowledge/private/ 2>/dev/null
126
+
127
+ # Read the knowledge index
128
+ cat ~/.telos/knowledge/index.md 2>/dev/null || echo "No index.md found"
129
+
130
+ # Check index vs actual files (orphan/missing detection)
131
+ echo "=== Files on disk ==="
132
+ find ~/.telos/knowledge/shared/ -type f 2>/dev/null | sort
133
+ echo "=== Private dirs ==="
134
+ ls -d ~/.telos/knowledge/private/*/ 2>/dev/null | sort
135
+
136
+ # Search for potential duplicates before confirming additions
137
+ grep -ri "{new_entry_keyword}" ~/.telos/knowledge/shared/patterns.md 2>/dev/null
138
+ grep -ri "{new_entry_keyword}" ~/.telos/knowledge/shared/decisions.md 2>/dev/null
139
+ grep -ri "{new_entry_keyword}" ~/.telos/knowledge/shared/errors.md 2>/dev/null
140
+
141
+ # Validate work-log.jsonl format
142
+ python3 -c "
143
+ import json, sys
144
+ path = '$HOME/.telos/knowledge/shared/work-log.jsonl'
145
+ errors = 0
146
+ total = 0
147
+ try:
148
+ with open(path) as f:
149
+ for i, line in enumerate(f, 1):
150
+ line = line.strip()
151
+ if not line: continue
152
+ total += 1
153
+ try:
154
+ entry = json.loads(line)
155
+ if 'timestamp' not in entry and 'date' not in entry:
156
+ print(f' LINE {i}: missing timestamp')
157
+ except:
158
+ errors += 1
159
+ print(f' LINE {i}: INVALID JSON')
160
+ print(f'Total entries: {total}, Errors: {errors}')
161
+ except FileNotFoundError:
162
+ print('work-log.jsonl not found')
163
+ "
164
+
165
+ # Check for entries without attribution in a knowledge file
166
+ python3 -c "
167
+ import re
168
+ path = '$HOME/.telos/knowledge/shared/patterns.md'
169
+ try:
170
+ with open(path) as f:
171
+ content = f.read()
172
+ entries = re.split(r'\n---\n|\n## ', content)
173
+ no_source = 0
174
+ for i, entry in enumerate(entries):
175
+ if entry.strip() and 'Source:' not in entry and 'source:' not in entry:
176
+ no_source += 1
177
+ print(f'Entries without Source attribution: {no_source}/{len(entries)}')
178
+ except FileNotFoundError:
179
+ print('patterns.md not found')
180
+ "
181
+
182
+ # Count entries per file (approximate)
183
+ for f in ~/.telos/knowledge/shared/*.md; do
184
+ if [ -f "$f" ]; then
185
+ count=$(grep -c '^\(## \|---\)' "$f" 2>/dev/null || echo 0)
186
+ echo "$(basename "$f"): ~$count entries"
187
+ fi
188
+ done
189
+ ```
190
+
191
+ ---
192
+
193
+ ## PASS Criteria
194
+
195
+ All of the following must be true:
196
+ - No new entry duplicates an existing entry's core insight
197
+ - Every new entry is in the correct knowledge file for its type
198
+ - The knowledge index matches the actual directory contents (no orphans, no missing entries)
199
+ - Every new entry has attribution (source agent, task context, timestamp)
200
+ - No existing entries were deleted without explicit justification
201
+ - New entries follow the established format of their target file
202
+ - Every new entry has a parseable timestamp
203
+ - Clearly related entries cross-reference each other
204
+
205
+ ## FAIL Triggers
206
+
207
+ Any of the following triggers an automatic FAIL:
208
+ - A new entry is a near-duplicate of an existing entry (same core insight, different wording)
209
+ - An entry is in the wrong file (e.g., error solution in `decisions.md`)
210
+ - The index references files that do not exist on disk (orphan index entries)
211
+ - Files exist on disk that are not in the index (missing index entries)
212
+ - An existing entry was deleted during curation without explanation or archival
213
+ - New entries have no attribution (no source agent, no timestamp)
214
+ - JSONL entries are not valid JSON (corrupt `work-log.jsonl`)
215
+ - A major curation operation reduced total knowledge without deduplication justification
216
+
217
+ ---
218
+
219
+ *Companion to checker-common.md -- read that file first for universal checks.*
@@ -0,0 +1,211 @@
1
+ ---
2
+ name: checker-morpheus
3
+ description: Health checker for the MORPHEUS AISB agent. Validates TypeScript compilation, lint compliance, build success, code quality, file scope, browser/UI rendering, sub-agent LMC compliance, and regression safety.
4
+ tools: Read, Bash, Glob, Grep
5
+ ---
6
+
7
+ # Checker: MORPHEUS -- Daemon Commander
8
+
9
+ > What this Checker validates for MORPHEUS outputs.
10
+ > MORPHEUS is the executor -- it implements code, modifies files, and supervises worker sub-agents.
11
+ > Every deliverable must compile, pass lint, render correctly, and stay within scope.
12
+
13
+ ---
14
+
15
+ ## Domain-Specific Checks
16
+
17
+ ### 1. TypeScript Compilation
18
+
19
+ All modified/created TypeScript files must compile without errors.
20
+
21
+ **How to verify:**
22
+ ```bash
23
+ cd {project_root} && npx tsc --noEmit 2>&1 | head -50
24
+ ```
25
+
26
+ - 0 errors = PASS
27
+ - Type errors in files MORPHEUS modified = FAIL
28
+ - Pre-existing type errors in files MORPHEUS did NOT touch = note but not FAIL
29
+
30
+ ### 2. Lint Compliance
31
+
32
+ If the project has ESLint configured, all modified files must pass lint.
33
+
34
+ **How to verify:**
35
+ ```bash
36
+ cd {project_root} && npx eslint {modified_files} --quiet 2>&1 | head -50
37
+ ```
38
+
39
+ - 0 errors = PASS
40
+ - Lint errors in modified files = FAIL
41
+ - Warnings-only = PASS with notes
42
+ - No ESLint config = skip this check
43
+
44
+ ### 3. Build Success
45
+
46
+ If the project is buildable (Next.js, Expo, etc.), the build must succeed.
47
+
48
+ **How to verify:**
49
+ ```bash
50
+ cd {project_root} && npm run build 2>&1 | tail -30
51
+ ```
52
+
53
+ - Build succeeds = PASS
54
+ - Build fails on MORPHEUS's changes = FAIL
55
+ - Build fails on pre-existing issues = note but not FAIL (check git blame)
56
+
57
+ ### 4. Code Quality
58
+
59
+ Read each modified file and check for quality violations:
60
+
61
+ | Check | Threshold |
62
+ |-------|-----------|
63
+ | `any` type usage | 0 new instances (existing are acceptable) |
64
+ | `@ts-ignore` / `@ts-expect-error` | Must have inline justification comment |
65
+ | `console.log` in production code | 0 instances (OK in test files, dev-only code) |
66
+ | Hardcoded secrets | 0 instances (API keys, tokens, passwords in code) |
67
+ | TODO/FIXME without ticket | Should reference a ticket or have clear context |
68
+ | Dead code (commented-out blocks) | Should be removed, not left commented |
69
+
70
+ **How to verify:**
71
+ ```bash
72
+ # Check for `any` types in modified files
73
+ grep -n ": any" {modified_files}
74
+ grep -n "as any" {modified_files}
75
+
76
+ # Check for ts-ignore without justification
77
+ grep -n "@ts-ignore" {modified_files}
78
+ grep -n "@ts-expect-error" {modified_files}
79
+
80
+ # Check for console.log in production
81
+ grep -n "console.log" {modified_files}
82
+
83
+ # Check for hardcoded secrets
84
+ grep -Eni "(sk_|ghp_|token|password|secret|api_key)\s*[:=]" {modified_files}
85
+ ```
86
+
87
+ ### 5. File Scope Match
88
+
89
+ MORPHEUS should only modify files relevant to the task. No scope creep.
90
+
91
+ **How to verify:**
92
+ - Get the list of modified files from MORPHEUS's output (ARTIFACTS field)
93
+ - Compare against the task description
94
+ - Flag any modified file that has no clear connection to the task
95
+ - Flag any NEW files that weren't requested
96
+
97
+ ```bash
98
+ # List all files MORPHEUS changed
99
+ git diff --name-only HEAD~1 HEAD 2>/dev/null
100
+ # Or read the ARTIFACTS field from MORPHEUS's output
101
+ ```
102
+
103
+ ### 6. Browser/UI Verification (if UI changes)
104
+
105
+ If MORPHEUS modified frontend components, pages, or styles, verify visually.
106
+
107
+ **How to verify:**
108
+ ```bash
109
+ # Navigate to the page
110
+ mcp__playwright__browser_navigate(url="{test_url}")
111
+
112
+ # Check console for errors
113
+ mcp__playwright__browser_console_messages(level="error")
114
+
115
+ # Take screenshots at 3 breakpoints
116
+ mcp__playwright__browser_resize(width=1440, height=900)
117
+ mcp__playwright__browser_take_screenshot()
118
+
119
+ mcp__playwright__browser_resize(width=768, height=1024)
120
+ mcp__playwright__browser_take_screenshot()
121
+
122
+ mcp__playwright__browser_resize(width=375, height=812)
123
+ mcp__playwright__browser_take_screenshot()
124
+ ```
125
+
126
+ - 0 JS errors in console = PASS
127
+ - No broken layout / overflow = PASS
128
+ - Responsive renders correctly = PASS
129
+ - JS errors or visual breakage on MORPHEUS's pages = FAIL
130
+
131
+ ### 7. Sub-Agent LMC Compliance
132
+
133
+ If MORPHEUS spawned sub-agents (workers), each worker's output must have been validated through LMC.
134
+
135
+ **How to verify:**
136
+ - Check if MORPHEUS mentions spawning workers
137
+ - If workers were used: verify each worker had a Checker pass (look for DECISION: PASS in worker outputs)
138
+ - If no LMC was applied to workers: FAIL (MORPHEUS must enforce quality on its workers)
139
+
140
+ ### 8. Regression Check
141
+
142
+ MORPHEUS's changes must not break existing functionality.
143
+
144
+ **How to verify:**
145
+ ```bash
146
+ # Run existing tests if present
147
+ cd {project_root} && npm test 2>&1 | tail -30
148
+
149
+ # Check that previously working imports still resolve
150
+ cd {project_root} && npx tsc --noEmit 2>&1 | grep -c "error"
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Verification Commands
156
+
157
+ ```bash
158
+ # Full verification sequence
159
+ cd {project_root}
160
+
161
+ # 1. TypeScript
162
+ npx tsc --noEmit 2>&1 | head -50
163
+
164
+ # 2. Lint (if available)
165
+ npx eslint {modified_files} --quiet 2>&1 | head -30
166
+
167
+ # 3. Build
168
+ npm run build 2>&1 | tail -30
169
+
170
+ # 4. Code quality scans
171
+ grep -rn ": any\|as any" {modified_files} 2>/dev/null
172
+ grep -rn "console\.log" {modified_files} 2>/dev/null
173
+ grep -rn "@ts-ignore\|@ts-expect-error" {modified_files} 2>/dev/null
174
+ grep -rEni "(sk_|ghp_|token|password|secret|api_key)\s*[:=]" {modified_files} 2>/dev/null
175
+
176
+ # 5. Scope check
177
+ git diff --name-only HEAD~1 HEAD 2>/dev/null
178
+
179
+ # 6. Tests (if available)
180
+ npm test 2>&1 | tail -20
181
+ ```
182
+
183
+ ---
184
+
185
+ ## PASS Criteria
186
+
187
+ All of the following must be true:
188
+ - TypeScript compiles with 0 new errors (`npx tsc --noEmit`)
189
+ - Lint passes on modified files (or no ESLint configured)
190
+ - Build succeeds (or project is not buildable)
191
+ - No new `any` types, no unjustified `@ts-ignore`, no `console.log` in production code
192
+ - No hardcoded secrets in modified files
193
+ - Only task-relevant files were modified (no scope creep)
194
+ - UI renders correctly with 0 JS console errors (if frontend changes)
195
+ - All sub-agent outputs passed LMC (if workers were used)
196
+ - No regressions in existing tests
197
+
198
+ ## FAIL Triggers
199
+
200
+ Any of the following triggers an automatic FAIL:
201
+ - TypeScript compilation errors in files MORPHEUS modified
202
+ - Build failure caused by MORPHEUS's changes
203
+ - Hardcoded secrets (API keys, tokens, passwords) in any modified file
204
+ - Scope creep: significant files modified that are unrelated to the task
205
+ - UI changes that produce JS console errors or broken layout
206
+ - Sub-agents used without LMC validation
207
+ - Existing tests broken by the changes
208
+
209
+ ---
210
+
211
+ *Companion to checker-common.md -- read that file first for universal checks.*