omnis-key 0.1.0__tar.gz

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 (239) hide show
  1. omnis_key-0.1.0/MANIFEST.in +1 -0
  2. omnis_key-0.1.0/PKG-INFO +75 -0
  3. omnis_key-0.1.0/README.md +59 -0
  4. omnis_key-0.1.0/omnis_key/__init__.py +9 -0
  5. omnis_key-0.1.0/omnis_key/cli.py +104 -0
  6. omnis_key-0.1.0/omnis_key/engine/assets/baby-pulsar-omnis-suite.png +0 -0
  7. omnis_key-0.1.0/omnis_key/engine/assets/baby-pulsar-verified.png +0 -0
  8. omnis_key-0.1.0/omnis_key/engine/assets/mascot-rejected.png +0 -0
  9. omnis_key-0.1.0/omnis_key/engine/dist/.DS_Store +0 -0
  10. omnis_key-0.1.0/omnis_key/engine/dist/src/.DS_Store +0 -0
  11. omnis_key-0.1.0/omnis_key/engine/dist/src/audit/artifact.d.ts +2 -0
  12. omnis_key-0.1.0/omnis_key/engine/dist/src/audit/artifact.js +7 -0
  13. omnis_key-0.1.0/omnis_key/engine/dist/src/audit/canonicalize.d.ts +3 -0
  14. omnis_key-0.1.0/omnis_key/engine/dist/src/audit/canonicalize.js +23 -0
  15. omnis_key-0.1.0/omnis_key/engine/dist/src/audit/hash.d.ts +2 -0
  16. omnis_key-0.1.0/omnis_key/engine/dist/src/audit/hash.js +8 -0
  17. omnis_key-0.1.0/omnis_key/engine/dist/src/baseline/matchFirst.d.ts +2 -0
  18. omnis_key-0.1.0/omnis_key/engine/dist/src/baseline/matchFirst.js +76 -0
  19. omnis_key-0.1.0/omnis_key/engine/dist/src/baseline/util.d.ts +2 -0
  20. omnis_key-0.1.0/omnis_key/engine/dist/src/baseline/util.js +7 -0
  21. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/cases.d.ts +2 -0
  22. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/cases.js +56 -0
  23. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/enterpriseTrust.d.ts +3 -0
  24. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/enterpriseTrust.js +128 -0
  25. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/run.d.ts +3 -0
  26. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/run.js +75 -0
  27. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/vantage.d.ts +3 -0
  28. omnis_key-0.1.0/omnis_key/engine/dist/src/benchmark/vantage.js +183 -0
  29. omnis_key-0.1.0/omnis_key/engine/dist/src/cli.d.ts +2 -0
  30. omnis_key-0.1.0/omnis_key/engine/dist/src/cli.js +823 -0
  31. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/clockwork.d.ts +2 -0
  32. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/clockwork.js +92 -0
  33. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/echo.d.ts +2 -0
  34. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/echo.js +80 -0
  35. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/fossil.d.ts +2 -0
  36. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/fossil.js +35 -0
  37. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/gravity.d.ts +3 -0
  38. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/gravity.js +68 -0
  39. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/inquest.d.ts +2 -0
  40. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/inquest.js +111 -0
  41. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/latch.d.ts +2 -0
  42. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/latch.js +95 -0
  43. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/parallax.d.ts +2 -0
  44. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/parallax.js +37 -0
  45. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/prism.d.ts +10 -0
  46. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/prism.js +232 -0
  47. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/rift.d.ts +3 -0
  48. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/rift.js +88 -0
  49. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/scar.d.ts +2 -0
  50. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/scar.js +47 -0
  51. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/sentinel.d.ts +14 -0
  52. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/sentinel.js +120 -0
  53. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/static.d.ts +5 -0
  54. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/static.js +155 -0
  55. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/trial.d.ts +3 -0
  56. omnis_key-0.1.0/omnis_key/engine/dist/src/engines/trial.js +66 -0
  57. omnis_key-0.1.0/omnis_key/engine/dist/src/fusion/doctrine.d.ts +13 -0
  58. omnis_key-0.1.0/omnis_key/engine/dist/src/fusion/doctrine.js +63 -0
  59. omnis_key-0.1.0/omnis_key/engine/dist/src/index.d.ts +55 -0
  60. omnis_key-0.1.0/omnis_key/engine/dist/src/index.js +55 -0
  61. omnis_key-0.1.0/omnis_key/engine/dist/src/luna/launchAgent.d.ts +10 -0
  62. omnis_key-0.1.0/omnis_key/engine/dist/src/luna/launchAgent.js +97 -0
  63. omnis_key-0.1.0/omnis_key/engine/dist/src/luna/paths.d.ts +9 -0
  64. omnis_key-0.1.0/omnis_key/engine/dist/src/luna/paths.js +19 -0
  65. omnis_key-0.1.0/omnis_key/engine/dist/src/luna/standalone.d.ts +30 -0
  66. omnis_key-0.1.0/omnis_key/engine/dist/src/luna/standalone.js +482 -0
  67. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/adjacentRuntimes.d.ts +6 -0
  68. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/adjacentRuntimes.js +98 -0
  69. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/agentResponder.d.ts +9 -0
  70. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/agentResponder.js +208 -0
  71. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/agents.d.ts +10 -0
  72. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/agents.js +217 -0
  73. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/api.d.ts +21 -0
  74. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/api.js +547 -0
  75. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/appServer.d.ts +16 -0
  76. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/appServer.js +252 -0
  77. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/appState.d.ts +2 -0
  78. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/appState.js +197 -0
  79. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/bifrost.d.ts +7 -0
  80. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/bifrost.js +216 -0
  81. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/buildLoop.d.ts +6 -0
  82. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/buildLoop.js +251 -0
  83. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/chamber.d.ts +5 -0
  84. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/chamber.js +276 -0
  85. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/codexWorker.d.ts +41 -0
  86. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/codexWorker.js +451 -0
  87. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/controlRoom.d.ts +6 -0
  88. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/controlRoom.js +253 -0
  89. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/desktopShell.d.ts +4 -0
  90. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/desktopShell.js +933 -0
  91. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/directives.d.ts +9 -0
  92. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/directives.js +232 -0
  93. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/editor.d.ts +21 -0
  94. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/editor.js +188 -0
  95. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/events.d.ts +2 -0
  96. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/events.js +35 -0
  97. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/hardening.d.ts +2 -0
  98. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/hardening.js +121 -0
  99. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/inspect.d.ts +2 -0
  100. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/inspect.js +30 -0
  101. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/installPackage.d.ts +8 -0
  102. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/installPackage.js +250 -0
  103. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/lockdown.d.ts +4 -0
  104. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/lockdown.js +21 -0
  105. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/luna.d.ts +27 -0
  106. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/luna.js +446 -0
  107. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/memory.d.ts +3 -0
  108. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/memory.js +703 -0
  109. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/mobileShell.d.ts +4 -0
  110. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/mobileShell.js +380 -0
  111. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/modelGateway.d.ts +11 -0
  112. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/modelGateway.js +127 -0
  113. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/modelProviders.d.ts +23 -0
  114. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/modelProviders.js +394 -0
  115. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/modelRouter.d.ts +8 -0
  116. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/modelRouter.js +213 -0
  117. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/observe.d.ts +2 -0
  118. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/observe.js +49 -0
  119. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/pairing.d.ts +13 -0
  120. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/pairing.js +236 -0
  121. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/paths.d.ts +10 -0
  122. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/paths.js +25 -0
  123. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/projectIndex.d.ts +2 -0
  124. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/projectIndex.js +60 -0
  125. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/kimi.d.ts +11 -0
  126. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/kimi.js +104 -0
  127. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/minimax.d.ts +11 -0
  128. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/minimax.js +95 -0
  129. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/ollama.d.ts +10 -0
  130. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/ollama.js +79 -0
  131. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/openai.d.ts +11 -0
  132. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/providerAdapters/openai.js +101 -0
  133. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/queue.d.ts +12 -0
  134. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/queue.js +190 -0
  135. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/registry.d.ts +7 -0
  136. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/registry.js +519 -0
  137. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/runtime.d.ts +15 -0
  138. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/runtime.js +164 -0
  139. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/runtimeEnv.d.ts +4 -0
  140. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/runtimeEnv.js +12 -0
  141. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/session.d.ts +2 -0
  142. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/session.js +17 -0
  143. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/souls.d.ts +9 -0
  144. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/souls.js +154 -0
  145. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/telegramRuntime.d.ts +24 -0
  146. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/telegramRuntime.js +139 -0
  147. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/vellum.d.ts +11 -0
  148. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/vellum.js +48 -0
  149. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/watch.d.ts +21 -0
  150. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/watch.js +48 -0
  151. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/workspaces.d.ts +6 -0
  152. omnis_key-0.1.0/omnis_key/engine/dist/src/omnis/workspaces.js +129 -0
  153. omnis_key-0.1.0/omnis_key/engine/dist/src/pipeline.d.ts +4 -0
  154. omnis_key-0.1.0/omnis_key/engine/dist/src/pipeline.js +77 -0
  155. omnis_key-0.1.0/omnis_key/engine/dist/src/products/dadJokes.d.ts +32 -0
  156. omnis_key-0.1.0/omnis_key/engine/dist/src/products/dadJokes.js +446 -0
  157. omnis_key-0.1.0/omnis_key/engine/dist/src/products/migrationIntelligence.d.ts +3 -0
  158. omnis_key-0.1.0/omnis_key/engine/dist/src/products/migrationIntelligence.js +797 -0
  159. omnis_key-0.1.0/omnis_key/engine/dist/src/products/oath.d.ts +2 -0
  160. omnis_key-0.1.0/omnis_key/engine/dist/src/products/oath.js +319 -0
  161. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospector.d.ts +2 -0
  162. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospector.js +193 -0
  163. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospectorCleanup.d.ts +4 -0
  164. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospectorCleanup.js +167 -0
  165. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospectorCompare.d.ts +2 -0
  166. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospectorCompare.js +193 -0
  167. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospectorMergeArchive.d.ts +7 -0
  168. omnis_key-0.1.0/omnis_key/engine/dist/src/products/prospectorMergeArchive.js +224 -0
  169. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantage.d.ts +2 -0
  170. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantage.js +614 -0
  171. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantageApply.d.ts +4 -0
  172. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantageApply.js +111 -0
  173. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantageRules.d.ts +3 -0
  174. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantageRules.js +422 -0
  175. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantageSupport.d.ts +29 -0
  176. omnis_key-0.1.0/omnis_key/engine/dist/src/products/vantageSupport.js +262 -0
  177. omnis_key-0.1.0/omnis_key/engine/dist/src/report/html.d.ts +6 -0
  178. omnis_key-0.1.0/omnis_key/engine/dist/src/report/html.js +154 -0
  179. omnis_key-0.1.0/omnis_key/engine/dist/src/types.d.ts +1827 -0
  180. omnis_key-0.1.0/omnis_key/engine/dist/src/types.js +1 -0
  181. omnis_key-0.1.0/omnis_key/engine/dist/src/validators/numeric.d.ts +8 -0
  182. omnis_key-0.1.0/omnis_key/engine/dist/src/validators/numeric.js +26 -0
  183. omnis_key-0.1.0/omnis_key/engine/dist/src/validators/sourcePriority.d.ts +11 -0
  184. omnis_key-0.1.0/omnis_key/engine/dist/src/validators/sourcePriority.js +39 -0
  185. omnis_key-0.1.0/omnis_key/engine/package.json +47 -0
  186. omnis_key-0.1.0/omnis_key/engine/ui/404.html +1 -0
  187. omnis_key-0.1.0/omnis_key/engine/ui/__next.__PAGE__.txt +9 -0
  188. omnis_key-0.1.0/omnis_key/engine/ui/__next._full.txt +22 -0
  189. omnis_key-0.1.0/omnis_key/engine/ui/__next._head.txt +6 -0
  190. omnis_key-0.1.0/omnis_key/engine/ui/__next._index.txt +7 -0
  191. omnis_key-0.1.0/omnis_key/engine/ui/__next._tree.txt +5 -0
  192. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/-mL5iaf1p4Q99r8NBGT-i/_buildManifest.js +11 -0
  193. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/-mL5iaf1p4Q99r8NBGT-i/_clientMiddlewareManifest.js +1 -0
  194. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/-mL5iaf1p4Q99r8NBGT-i/_ssgManifest.js +1 -0
  195. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0.msad2f6dkzv.js +1 -0
  196. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/03~yq9q893hmn.js +1 -0
  197. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0brq7e_hvlgfu.js +2 -0
  198. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0b~.11~r.y9yy.js +1 -0
  199. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0iq~clb90bd87.js +3 -0
  200. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0mwhit9sd9oms.js +1 -0
  201. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0q0otli5fs9nm.js +1 -0
  202. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0wla9-11ef57m.css +1 -0
  203. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/0wrr-ov-s027z.js +31 -0
  204. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/11unif--rw5h8.css +2 -0
  205. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/15c.8_b0bsh6~.js +4 -0
  206. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/chunks/turbopack-09rk-gyr21uhf.js +1 -0
  207. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/4fa387ec64143e14-s.0.qu-9752pffj.woff2 +0 -0
  208. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2 +0 -0
  209. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2 +0 -0
  210. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2 +0 -0
  211. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2 +0 -0
  212. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/797e433ab948586e-s.p.09zddjkbdep5a.woff2 +0 -0
  213. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2 +0 -0
  214. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2 +0 -0
  215. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2 +0 -0
  216. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 +0 -0
  217. omnis_key-0.1.0/omnis_key/engine/ui/_next/static/media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2 +0 -0
  218. omnis_key-0.1.0/omnis_key/engine/ui/_not-found/__next._full.txt +18 -0
  219. omnis_key-0.1.0/omnis_key/engine/ui/_not-found/__next._head.txt +6 -0
  220. omnis_key-0.1.0/omnis_key/engine/ui/_not-found/__next._index.txt +7 -0
  221. omnis_key-0.1.0/omnis_key/engine/ui/_not-found/__next._not-found.__PAGE__.txt +5 -0
  222. omnis_key-0.1.0/omnis_key/engine/ui/_not-found/__next._not-found.txt +5 -0
  223. omnis_key-0.1.0/omnis_key/engine/ui/_not-found/__next._tree.txt +3 -0
  224. omnis_key-0.1.0/omnis_key/engine/ui/_not-found.html +1 -0
  225. omnis_key-0.1.0/omnis_key/engine/ui/_not-found.txt +18 -0
  226. omnis_key-0.1.0/omnis_key/engine/ui/icon.svg +26 -0
  227. omnis_key-0.1.0/omnis_key/engine/ui/index.html +1 -0
  228. omnis_key-0.1.0/omnis_key/engine/ui/index.txt +22 -0
  229. omnis_key-0.1.0/omnis_key/engine/ui/placeholder-logo.svg +1 -0
  230. omnis_key-0.1.0/omnis_key/engine/ui/placeholder-user.jpg +0 -0
  231. omnis_key-0.1.0/omnis_key/engine/ui/placeholder.jpg +0 -0
  232. omnis_key-0.1.0/omnis_key/engine/ui/placeholder.svg +1 -0
  233. omnis_key-0.1.0/omnis_key.egg-info/PKG-INFO +75 -0
  234. omnis_key-0.1.0/omnis_key.egg-info/SOURCES.txt +237 -0
  235. omnis_key-0.1.0/omnis_key.egg-info/dependency_links.txt +1 -0
  236. omnis_key-0.1.0/omnis_key.egg-info/entry_points.txt +2 -0
  237. omnis_key-0.1.0/omnis_key.egg-info/top_level.txt +1 -0
  238. omnis_key-0.1.0/pyproject.toml +32 -0
  239. omnis_key-0.1.0/setup.cfg +4 -0
@@ -0,0 +1 @@
1
+ graft omnis_key/engine
@@ -0,0 +1,75 @@
1
+ Metadata-Version: 2.4
2
+ Name: omnis-key
3
+ Version: 0.1.0
4
+ Summary: OMNIS KEY — JourdanLabs' local-first, receipt-backed engineering workbench (VANTAGE, CADMUS, PROSPECTOR, LUNA), runnable from a pip install.
5
+ Author: JourdanLabs
6
+ License: UNLICENSED
7
+ Project-URL: Homepage, https://github.com/jourdanlabs/omnis
8
+ Keywords: omnis,code-audit,verification,governed,jourdanlabs
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: MacOS
11
+ Classifier: Operating System :: Microsoft :: Windows
12
+ Classifier: Operating System :: POSIX :: Linux
13
+ Classifier: Environment :: Console
14
+ Requires-Python: >=3.8
15
+ Description-Content-Type: text/markdown
16
+
17
+ # omnis-key
18
+
19
+ **OMNIS KEY** — JourdanLabs' local-first, receipt-backed engineering workbench,
20
+ runnable from a `pip install`.
21
+
22
+ OMNIS runs entirely on your machine. Its deterministic engines —
23
+ **VANTAGE** (code audit), **CADMUS** (spec creation), **PROSPECTOR** (estate
24
+ discovery), and **LUNA** (persistent, receipt-backed memory) — are governed by
25
+ the **BIFROST** gate and a hash-chained **LUNA** ledger, so every action carries
26
+ an auditable receipt. *Receipts over fluency.*
27
+
28
+ ## Why pip
29
+
30
+ This package exists so OMNIS can be procured and vetted through the standard
31
+ Python supply chain (`pip install`) in environments that prefer it. The engine
32
+ is bundled as audited JavaScript and launched through a local Node.js runtime.
33
+
34
+ ## Install
35
+
36
+ ```bash
37
+ pip install omnis-key
38
+ ```
39
+
40
+ **Requires Node.js ≥ 18** on your `PATH` (https://nodejs.org). The wheel bundles
41
+ the OMNIS engine; Node runs it locally — nothing is sent off the machine unless
42
+ you explicitly configure a cloud model lane.
43
+
44
+ ## Run
45
+
46
+ ```bash
47
+ omnis # full workbench; agents can use cloud LLMs if keys are set
48
+ omnis --lockdown # air-gapped: every cloud model lane is refused (data can't leave)
49
+ omnis --no-agents # workbench only: deterministic tools, no agent chamber
50
+ omnis --port 8790 --data-dir ~/.omnis/workspace
51
+ ```
52
+
53
+ `omnis` starts a local server on `127.0.0.1` and opens the workbench in your
54
+ browser. Workspace data + the LUNA ledger live under `~/.omnis/` by default.
55
+
56
+ ## Air-gapped / regulated environments
57
+
58
+ `--lockdown` disables **every** network model lane at the adapter call site (not
59
+ just a status flag), leaving the local and manual lanes only. The deterministic
60
+ workbench works fully offline. Combine with `--no-agents` for a pure,
61
+ no-model-lanes build.
62
+
63
+ ## Build from source
64
+
65
+ ```bash
66
+ # from the repo root
67
+ npm run build # build the engine
68
+ npm --prefix desktop/renderer run build # build the UI (optional)
69
+ pypi/build_wheel.sh # bundle engine + build wheel/sdist
70
+ pip install pypi/dist/omnis_key-*.whl
71
+ ```
72
+
73
+ Publishing to PyPI (`twine upload dist/*`) requires a JourdanLabs PyPI API token.
74
+
75
+ 🐦‍⬛ + 🔑
@@ -0,0 +1,59 @@
1
+ # omnis-key
2
+
3
+ **OMNIS KEY** — JourdanLabs' local-first, receipt-backed engineering workbench,
4
+ runnable from a `pip install`.
5
+
6
+ OMNIS runs entirely on your machine. Its deterministic engines —
7
+ **VANTAGE** (code audit), **CADMUS** (spec creation), **PROSPECTOR** (estate
8
+ discovery), and **LUNA** (persistent, receipt-backed memory) — are governed by
9
+ the **BIFROST** gate and a hash-chained **LUNA** ledger, so every action carries
10
+ an auditable receipt. *Receipts over fluency.*
11
+
12
+ ## Why pip
13
+
14
+ This package exists so OMNIS can be procured and vetted through the standard
15
+ Python supply chain (`pip install`) in environments that prefer it. The engine
16
+ is bundled as audited JavaScript and launched through a local Node.js runtime.
17
+
18
+ ## Install
19
+
20
+ ```bash
21
+ pip install omnis-key
22
+ ```
23
+
24
+ **Requires Node.js ≥ 18** on your `PATH` (https://nodejs.org). The wheel bundles
25
+ the OMNIS engine; Node runs it locally — nothing is sent off the machine unless
26
+ you explicitly configure a cloud model lane.
27
+
28
+ ## Run
29
+
30
+ ```bash
31
+ omnis # full workbench; agents can use cloud LLMs if keys are set
32
+ omnis --lockdown # air-gapped: every cloud model lane is refused (data can't leave)
33
+ omnis --no-agents # workbench only: deterministic tools, no agent chamber
34
+ omnis --port 8790 --data-dir ~/.omnis/workspace
35
+ ```
36
+
37
+ `omnis` starts a local server on `127.0.0.1` and opens the workbench in your
38
+ browser. Workspace data + the LUNA ledger live under `~/.omnis/` by default.
39
+
40
+ ## Air-gapped / regulated environments
41
+
42
+ `--lockdown` disables **every** network model lane at the adapter call site (not
43
+ just a status flag), leaving the local and manual lanes only. The deterministic
44
+ workbench works fully offline. Combine with `--no-agents` for a pure,
45
+ no-model-lanes build.
46
+
47
+ ## Build from source
48
+
49
+ ```bash
50
+ # from the repo root
51
+ npm run build # build the engine
52
+ npm --prefix desktop/renderer run build # build the UI (optional)
53
+ pypi/build_wheel.sh # bundle engine + build wheel/sdist
54
+ pip install pypi/dist/omnis_key-*.whl
55
+ ```
56
+
57
+ Publishing to PyPI (`twine upload dist/*`) requires a JourdanLabs PyPI API token.
58
+
59
+ 🐦‍⬛ + 🔑
@@ -0,0 +1,9 @@
1
+ """OMNIS KEY — local-first, receipt-backed engineering workbench (pip-installable).
2
+
3
+ The deterministic engine (VANTAGE / CADMUS / PROSPECTOR / LUNA, the BIFROST gate,
4
+ and the LUNA hash-chained ledger) is bundled as JavaScript under ``engine/`` and
5
+ launched through a local Node.js runtime. ``omnis`` (the console entry point)
6
+ starts the local server and opens the workbench in your browser.
7
+ """
8
+
9
+ __version__ = "0.1.0"
@@ -0,0 +1,104 @@
1
+ """Console launcher for OMNIS KEY.
2
+
3
+ Finds a local Node.js runtime, starts the bundled OMNIS engine on a local port,
4
+ and opens the workbench. Flags mirror the desktop builds:
5
+
6
+ omnis cloud-capable (agents can call cloud LLMs if keys are set)
7
+ omnis --lockdown air-gapped: every network model lane is refused
8
+ omnis --no-agents workbench only: no agent chamber, deterministic tools only
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import argparse
14
+ import os
15
+ import shutil
16
+ import socket
17
+ import subprocess
18
+ import sys
19
+ import time
20
+ import webbrowser
21
+ from pathlib import Path
22
+
23
+ ENGINE_DIR = Path(__file__).resolve().parent / "engine"
24
+
25
+
26
+ def _find_node() -> str:
27
+ node = shutil.which("node")
28
+ if not node:
29
+ sys.exit(
30
+ "OMNIS requires Node.js (>= 18) on your PATH.\n"
31
+ "Install it from https://nodejs.org and run `omnis` again."
32
+ )
33
+ return node
34
+
35
+
36
+ def _free_port(preferred: int = 8790) -> int:
37
+ port = preferred
38
+ while True:
39
+ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
40
+ if sock.connect_ex(("127.0.0.1", port)) != 0:
41
+ return port
42
+ port += 1
43
+
44
+
45
+ def main() -> None:
46
+ parser = argparse.ArgumentParser(prog="omnis", description="OMNIS KEY — local engineering workbench.")
47
+ parser.add_argument("--port", type=int, default=0, help="port to serve on (0 = auto-pick)")
48
+ parser.add_argument(
49
+ "--data-dir",
50
+ default=str(Path.home() / ".omnis" / "workspace"),
51
+ help="where the workspace + LUNA ledger live",
52
+ )
53
+ parser.add_argument("--lockdown", action="store_true", help="air-gapped: disable all cloud model lanes")
54
+ parser.add_argument("--no-agents", action="store_true", help="workbench only: hide the agent chamber")
55
+ parser.add_argument("--no-browser", action="store_true", help="do not open a browser window")
56
+ args = parser.parse_args()
57
+
58
+ node = _find_node()
59
+ cli_js = ENGINE_DIR / "dist" / "src" / "cli.js"
60
+ if not cli_js.exists():
61
+ sys.exit(
62
+ f"OMNIS engine not found at {cli_js}.\n"
63
+ "This wheel was built without the engine bundled (run pypi/build_wheel.sh)."
64
+ )
65
+
66
+ data_dir = Path(args.data_dir).expanduser()
67
+ data_dir.mkdir(parents=True, exist_ok=True)
68
+ port = args.port or _free_port()
69
+
70
+ env = dict(os.environ)
71
+ if args.lockdown:
72
+ env["OMNIS_LOCKDOWN"] = "1"
73
+ if args.no_agents:
74
+ env["OMNIS_NO_AGENTS"] = "1"
75
+
76
+ ui_dir = ENGINE_DIR / "ui"
77
+ open_path = "/desktop"
78
+ if (ui_dir / "index.html").exists():
79
+ env["OMNIS_UI_DIR"] = str(ui_dir)
80
+ open_path = "/"
81
+
82
+ url = f"http://127.0.0.1:{port}{open_path}"
83
+ print(f"OMNIS KEY → {url} (data: {data_dir})")
84
+ if args.lockdown:
85
+ print(" mode: air-gapped (cloud model lanes disabled)")
86
+ if args.no_agents:
87
+ print(" mode: workbench (no agent chamber)")
88
+
89
+ proc = subprocess.Popen(
90
+ [node, str(cli_js), "omnis", "app", str(data_dir), str(port)],
91
+ cwd=str(ENGINE_DIR),
92
+ env=env,
93
+ )
94
+ try:
95
+ if not args.no_browser:
96
+ time.sleep(1.5)
97
+ webbrowser.open(url)
98
+ proc.wait()
99
+ except KeyboardInterrupt:
100
+ proc.terminate()
101
+
102
+
103
+ if __name__ == "__main__":
104
+ main()
@@ -0,0 +1,2 @@
1
+ import type { FinalOutput } from "../types.js";
2
+ export declare function attachAuditHash(output: Omit<FinalOutput, "audit_hash">): FinalOutput;
@@ -0,0 +1,7 @@
1
+ import { hashCanonical } from "./hash.js";
2
+ export function attachAuditHash(output) {
3
+ return {
4
+ ...output,
5
+ audit_hash: hashCanonical(output)
6
+ };
7
+ }
@@ -0,0 +1,3 @@
1
+ export declare function canonicalize(value: unknown): string;
2
+ export declare function sortValue(value: unknown): unknown;
3
+ export declare function canonicalJson(value: unknown): string;
@@ -0,0 +1,23 @@
1
+ export function canonicalize(value) {
2
+ return JSON.stringify(sortValue(value));
3
+ }
4
+ export function sortValue(value) {
5
+ if (Array.isArray(value)) {
6
+ return value.map(sortValue);
7
+ }
8
+ if (value !== null && typeof value === "object") {
9
+ const input = value;
10
+ const output = {};
11
+ for (const key of Object.keys(input).sort()) {
12
+ const item = input[key];
13
+ if (item !== undefined) {
14
+ output[key] = sortValue(item);
15
+ }
16
+ }
17
+ return output;
18
+ }
19
+ return value;
20
+ }
21
+ export function canonicalJson(value) {
22
+ return `${JSON.stringify(sortValue(value), null, 2)}\n`;
23
+ }
@@ -0,0 +1,2 @@
1
+ export declare function hashCanonical(value: unknown): string;
2
+ export declare function shortHash(value: unknown): string;
@@ -0,0 +1,8 @@
1
+ import { createHash } from "node:crypto";
2
+ import { canonicalize } from "./canonicalize.js";
3
+ export function hashCanonical(value) {
4
+ return createHash("sha256").update(canonicalize(value)).digest("hex");
5
+ }
6
+ export function shortHash(value) {
7
+ return hashCanonical(value).slice(0, 12);
8
+ }
@@ -0,0 +1,2 @@
1
+ import type { BaselineOutput, MirrorverseInput } from "../types.js";
2
+ export declare function runMatchFirstBaseline(input: MirrorverseInput): BaselineOutput;
@@ -0,0 +1,76 @@
1
+ import { attachBaselineHash } from "./util.js";
2
+ const STOPWORDS = new Set(["a", "an", "and", "as", "at", "by", "for", "from", "in", "is", "of", "on", "or", "the", "to", "with"]);
3
+ export function runMatchFirstBaseline(input) {
4
+ if (!Array.isArray(input.records) || input.records.length === 0) {
5
+ return attachBaselineHash({
6
+ status: "ABSTAIN",
7
+ selected_signature: null,
8
+ support_packet_ids: [],
9
+ reasons: ["no_records"],
10
+ overlap_score: 0
11
+ });
12
+ }
13
+ const records = [...input.records].sort((a, b) => `${a.source_id}:${a.timestamp}:${a.text}`.localeCompare(`${b.source_id}:${b.timestamp}:${b.text}`));
14
+ const identifiers = records.map((record) => extractIdentifier(record.text)).filter((value) => value !== null);
15
+ const names = records.map((record) => extractName(record.text)).filter((value) => value !== null);
16
+ const commonIdentifier = mostCommon(identifiers);
17
+ const commonName = mostCommon(names);
18
+ const overlap = averagePairwiseOverlap(records.map((record) => terms(record.text)));
19
+ const support_packet_ids = records.map((_, index) => `packet_${String(index + 1).padStart(3, "0")}`);
20
+ const reasons = [];
21
+ if (commonIdentifier) {
22
+ reasons.push(`identifier_agreement:${commonIdentifier}`);
23
+ }
24
+ if (commonName) {
25
+ reasons.push(`name_anchor:${commonName}`);
26
+ }
27
+ reasons.push(`token_overlap:${overlap.toFixed(3)}`);
28
+ const approve = (commonIdentifier !== null && support_packet_ids.length >= 2) || (commonName !== null && overlap >= 0.58);
29
+ return attachBaselineHash({
30
+ status: approve ? "APPROVED" : "ABSTAIN",
31
+ selected_signature: commonName && commonIdentifier ? `${commonName}#${commonIdentifier}` : commonName ?? commonIdentifier,
32
+ support_packet_ids: approve ? support_packet_ids : [],
33
+ reasons,
34
+ overlap_score: Number(overlap.toFixed(6))
35
+ });
36
+ }
37
+ function extractIdentifier(text) {
38
+ return text.match(/\b(?:identifier|id|ein|ssn|parcel_id|property_id)\s*[:=]\s*([A-Za-z0-9._-]+)/i)?.[1]?.toLowerCase() ?? null;
39
+ }
40
+ function extractName(text) {
41
+ return (text
42
+ .match(/\b(?:entity|name|company|person|property)\s*[:=]\s*([^;,\n]+)/i)?.[1]
43
+ ?.trim()
44
+ .toLowerCase()
45
+ .replace(/\s+/g, " ") ?? null);
46
+ }
47
+ function terms(text) {
48
+ const values = text.toLowerCase().match(/[a-z0-9][a-z0-9._-]*/g) ?? [];
49
+ return new Set(values.filter((value) => value.length > 1 && !STOPWORDS.has(value)));
50
+ }
51
+ function averagePairwiseOverlap(termSets) {
52
+ if (termSets.length < 2) {
53
+ return termSets.length === 1 ? 1 : 0;
54
+ }
55
+ const scores = [];
56
+ for (let left = 0; left < termSets.length; left += 1) {
57
+ for (let right = left + 1; right < termSets.length; right += 1) {
58
+ const leftSet = termSets[left];
59
+ const rightSet = termSets[right];
60
+ if (!leftSet || !rightSet) {
61
+ continue;
62
+ }
63
+ const intersection = [...leftSet].filter((term) => rightSet.has(term)).length;
64
+ const union = new Set([...leftSet, ...rightSet]).size;
65
+ scores.push(union === 0 ? 0 : intersection / union);
66
+ }
67
+ }
68
+ return scores.reduce((sum, score) => sum + score, 0) / scores.length;
69
+ }
70
+ function mostCommon(values) {
71
+ const counts = new Map();
72
+ for (const value of values) {
73
+ counts.set(value, (counts.get(value) ?? 0) + 1);
74
+ }
75
+ return [...counts.entries()].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))[0]?.[0] ?? null;
76
+ }
@@ -0,0 +1,2 @@
1
+ import type { BaselineOutput } from "../types.js";
2
+ export declare function attachBaselineHash(output: Omit<BaselineOutput, "audit_hash">): BaselineOutput;
@@ -0,0 +1,7 @@
1
+ import { hashCanonical } from "../audit/hash.js";
2
+ export function attachBaselineHash(output) {
3
+ return {
4
+ ...output,
5
+ audit_hash: hashCanonical(output)
6
+ };
7
+ }
@@ -0,0 +1,2 @@
1
+ import type { BenchmarkCase } from "../types.js";
2
+ export declare const DEFAULT_BENCHMARK_CASES: BenchmarkCase[];
@@ -0,0 +1,56 @@
1
+ export const DEFAULT_BENCHMARK_CASES = [
2
+ {
3
+ case_id: "clean_approval",
4
+ fixture: "simple-match.json",
5
+ expectation: "mirrorverse_should_approve",
6
+ description: "Two independent sources agree without disqualifiers."
7
+ },
8
+ {
9
+ case_id: "status_trap",
10
+ fixture: "match-first-trap.json",
11
+ expectation: "mirrorverse_should_reject",
12
+ description: "Strong identifier match hides mutually exclusive status claims."
13
+ },
14
+ {
15
+ case_id: "duplicate_origin_laundering",
16
+ fixture: "duplicate-laundering.json",
17
+ expectation: "mirrorverse_should_block",
18
+ description: "Two surface sources share one explicit origin lineage."
19
+ },
20
+ {
21
+ case_id: "fingerprint_laundering",
22
+ fixture: "fingerprint-laundering.json",
23
+ expectation: "mirrorverse_should_block",
24
+ description: "Two copied packets omit origin metadata but share claim/text fingerprints."
25
+ },
26
+ {
27
+ case_id: "numeric_conflict",
28
+ fixture: "numeric-conflict.json",
29
+ expectation: "mirrorverse_should_reject",
30
+ description: "Identity agreement hides incompatible numeric claims."
31
+ },
32
+ {
33
+ case_id: "numeric_tolerance_brittle",
34
+ fixture: "numeric-tolerance-brittle.json",
35
+ expectation: "mirrorverse_should_block",
36
+ description: "Candidate survives STATIC only because numeric tolerance is permissive."
37
+ },
38
+ {
39
+ case_id: "parallax_shadow",
40
+ fixture: "parallax-shadow.json",
41
+ expectation: "mirrorverse_should_block",
42
+ description: "Certified winner has a wounded same-name material-signature shadow."
43
+ },
44
+ {
45
+ case_id: "stale_evidence",
46
+ fixture: "stale-evidence.json",
47
+ expectation: "mirrorverse_should_block",
48
+ description: "Otherwise valid proof is stale at decision time."
49
+ },
50
+ {
51
+ case_id: "predicate_stale_claim",
52
+ fixture: "predicate-stale-claim.json",
53
+ expectation: "mirrorverse_should_block",
54
+ description: "Packet is globally fresh, but a predicate-specific claim half-life has expired."
55
+ }
56
+ ];
@@ -0,0 +1,3 @@
1
+ import type { EnterpriseTrustBenchmarkReport, EnterpriseTrustCase } from "../types.js";
2
+ export declare const ENTERPRISE_TRUST_CASES: EnterpriseTrustCase[];
3
+ export declare function runEnterpriseTrustBenchmark(fixturesRoot: string): EnterpriseTrustBenchmarkReport;
@@ -0,0 +1,128 @@
1
+ import { join } from "node:path";
2
+ import { readFileSync } from "node:fs";
3
+ import { hashCanonical, shortHash } from "../audit/hash.js";
4
+ import { runFinal } from "../pipeline.js";
5
+ export const ENTERPRISE_TRUST_CASES = [
6
+ {
7
+ case_id: "clean_enterprise_approval",
8
+ fixture: "simple-match.json",
9
+ workflow: "knowledge",
10
+ risk: "low",
11
+ expected_gate: "APPROVED",
12
+ failure_mode: "none",
13
+ description: "Clean multi-source evidence should release."
14
+ },
15
+ {
16
+ case_id: "audit_identifier_conflict",
17
+ fixture: "contradiction.json",
18
+ workflow: "audit",
19
+ risk: "critical",
20
+ expected_gate: "REJECTED",
21
+ failure_mode: "contradiction",
22
+ description: "Conflicting identifiers should block an audit conclusion."
23
+ },
24
+ {
25
+ case_id: "finance_ambiguous_counterparties",
26
+ fixture: "ambiguous-survivors.json",
27
+ workflow: "finance",
28
+ risk: "high",
29
+ expected_gate: "ABSTAIN",
30
+ failure_mode: "ambiguity",
31
+ description: "Incompatible surviving entities should force abstention."
32
+ },
33
+ {
34
+ case_id: "migration_brittle_keystone",
35
+ fixture: "brittle-evidence.json",
36
+ workflow: "migration",
37
+ risk: "high",
38
+ expected_gate: "ABSTAIN",
39
+ failure_mode: "brittle_evidence",
40
+ description: "A migration answer that collapses when one source is removed should not ship."
41
+ },
42
+ {
43
+ case_id: "knowledge_stale_claim",
44
+ fixture: "stale-evidence.json",
45
+ workflow: "knowledge",
46
+ risk: "medium",
47
+ expected_gate: "ABSTAIN",
48
+ failure_mode: "stale_evidence",
49
+ description: "Expired support should block release."
50
+ },
51
+ {
52
+ case_id: "audit_laundered_sources",
53
+ fixture: "duplicate-laundering.json",
54
+ workflow: "audit",
55
+ risk: "high",
56
+ expected_gate: "ABSTAIN",
57
+ failure_mode: "laundered_evidence",
58
+ description: "Two citations with one origin should not satisfy independent proof."
59
+ },
60
+ {
61
+ case_id: "finance_source_priority_conflict",
62
+ fixture: "source-priority-conflict.json",
63
+ workflow: "finance",
64
+ risk: "high",
65
+ expected_gate: "ABSTAIN",
66
+ failure_mode: "priority_conflict",
67
+ description: "Official and lower-priority classifications in conflict should block release."
68
+ }
69
+ ];
70
+ export function runEnterpriseTrustBenchmark(fixturesRoot) {
71
+ const results = ENTERPRISE_TRUST_CASES.map((benchmarkCase) => runEnterpriseTrustCase(fixturesRoot, benchmarkCase));
72
+ const summary = {
73
+ total_cases: results.length,
74
+ clarion_wins: results.filter((result) => result.outcome === "clarion_win").length,
75
+ baseline_ties: results.filter((result) => result.outcome === "baseline_tie").length,
76
+ clarion_needs_work: results.filter((result) => result.outcome === "clarion_needs_work").length,
77
+ blocked_risky_cases: results.filter((result) => result.expected_gate !== "APPROVED" && result.clarion_status !== "APPROVED").length,
78
+ approved_clean_cases: results.filter((result) => result.expected_gate === "APPROVED" && result.clarion_status === "APPROVED").length
79
+ };
80
+ const withoutHash = {
81
+ run_id: `enterprise_trust_${shortHash({ fixturesRoot, results, summary })}`,
82
+ fixtures_root: fixturesRoot,
83
+ results,
84
+ summary
85
+ };
86
+ return {
87
+ ...withoutHash,
88
+ audit_hash: hashCanonical(withoutHash)
89
+ };
90
+ }
91
+ function runEnterpriseTrustCase(fixturesRoot, benchmarkCase) {
92
+ const input = JSON.parse(readFileSync(join(fixturesRoot, benchmarkCase.fixture), "utf8"));
93
+ const final = runFinal(input);
94
+ const outcome = classify(benchmarkCase, final.status);
95
+ return {
96
+ case_id: benchmarkCase.case_id,
97
+ fixture: benchmarkCase.fixture,
98
+ workflow: benchmarkCase.workflow,
99
+ risk: benchmarkCase.risk,
100
+ expected_gate: benchmarkCase.expected_gate,
101
+ clarion_status: final.status,
102
+ fluent_baseline_status: "APPROVED",
103
+ outcome,
104
+ lesson: lessonFor(benchmarkCase, final.status, outcome),
105
+ proof_packet_count: final.proof_packet_ids.length,
106
+ veto_count: final.veto_summary.length,
107
+ uncertainty_count: final.uncertainty_summary.length,
108
+ clarion_audit_hash: final.audit_hash
109
+ };
110
+ }
111
+ function classify(benchmarkCase, status) {
112
+ if (status === benchmarkCase.expected_gate && status === "APPROVED") {
113
+ return "baseline_tie";
114
+ }
115
+ if (status === benchmarkCase.expected_gate) {
116
+ return "clarion_win";
117
+ }
118
+ return "clarion_needs_work";
119
+ }
120
+ function lessonFor(benchmarkCase, status, outcome) {
121
+ if (outcome === "clarion_win") {
122
+ return `CLARION blocked fluent enterprise release for ${benchmarkCase.failure_mode}: ${benchmarkCase.description}`;
123
+ }
124
+ if (outcome === "baseline_tie") {
125
+ return `Clean evidence released: ${benchmarkCase.description}`;
126
+ }
127
+ return `Inspect gate doctrine: expected ${benchmarkCase.expected_gate}, got ${status}; ${benchmarkCase.description}`;
128
+ }
@@ -0,0 +1,3 @@
1
+ import type { BenchmarkCase, BenchmarkReport, BenchmarkResult } from "../types.js";
2
+ export declare function runBenchmark(fixturesDir: string, cases?: BenchmarkCase[]): BenchmarkReport;
3
+ export declare function runBenchmarkCase(fixturesDir: string, benchmarkCase: BenchmarkCase): BenchmarkResult;