core-runtime 0.1.1__py3-none-any.whl

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 (962) hide show
  1. api/__init__.py +4 -0
  2. api/cli/__init__.py +10 -0
  3. api/cli/audit_client.py +92 -0
  4. api/cli/census_client.py +77 -0
  5. api/cli/client.py +508 -0
  6. api/cli/coverage_client.py +121 -0
  7. api/cli/daemon_client.py +42 -0
  8. api/cli/fix_client.py +101 -0
  9. api/cli/inspect_client.py +143 -0
  10. api/cli/integration_client.py +42 -0
  11. api/cli/integrity_client.py +45 -0
  12. api/cli/proposals_client.py +101 -0
  13. api/cli/quality_client.py +83 -0
  14. api/cli/refactor_client.py +82 -0
  15. api/cli/sync_client.py +106 -0
  16. api/dependencies.py +37 -0
  17. api/errors.py +74 -0
  18. api/main.py +88 -0
  19. api/v1/__init__.py +4 -0
  20. api/v1/audit_routes.py +302 -0
  21. api/v1/census_routes.py +207 -0
  22. api/v1/coverage_routes.py +352 -0
  23. api/v1/daemon_routes.py +86 -0
  24. api/v1/development_routes.py +70 -0
  25. api/v1/fix_routes.py +428 -0
  26. api/v1/inspect_routes.py +220 -0
  27. api/v1/integration_routes.py +56 -0
  28. api/v1/integrity_routes.py +72 -0
  29. api/v1/knowledge_routes.py +36 -0
  30. api/v1/lint_routes.py +40 -0
  31. api/v1/proposals_routes.py +267 -0
  32. api/v1/quality_routes.py +272 -0
  33. api/v1/refactor_routes.py +225 -0
  34. api/v1/sync_routes.py +261 -0
  35. body/__init__.py +4 -0
  36. body/analyzers/__init__.py +25 -0
  37. body/analyzers/base_analyzer.py +28 -0
  38. body/analyzers/constitutional_path_analyzer.py +63 -0
  39. body/analyzers/file_analyzer.py +211 -0
  40. body/analyzers/knowledge_graph_analyzer.py +86 -0
  41. body/analyzers/prompt_analyzer.py +155 -0
  42. body/analyzers/symbol_extractor.py +280 -0
  43. body/atomic/__init__.py +74 -0
  44. body/atomic/build_tests_action.py +354 -0
  45. body/atomic/check_actions.py +142 -0
  46. body/atomic/crate_ops.py +59 -0
  47. body/atomic/executor.py +470 -0
  48. body/atomic/file_ops.py +153 -0
  49. body/atomic/fix_actions.py +1142 -0
  50. body/atomic/import_resolver.py +200 -0
  51. body/atomic/metadata_ops.py +161 -0
  52. body/atomic/modularity_fix.py +839 -0
  53. body/atomic/modularity_splitter.py +521 -0
  54. body/atomic/proposal_lifecycle_actions.py +171 -0
  55. body/atomic/registry.py +326 -0
  56. body/atomic/remediate_cognitive_role.py +104 -0
  57. body/atomic/sandbox_lifecycle.py +252 -0
  58. body/atomic/split_plan.py +155 -0
  59. body/atomic/sync_actions/__init__.py +22 -0
  60. body/atomic/sync_actions/chunking_helpers.py +218 -0
  61. body/atomic/sync_actions/sync_actions.py +431 -0
  62. body/atomic/test_actions.py +47 -0
  63. body/autonomy/__init__.py +16 -0
  64. body/autonomy/audit_analyzer.py +343 -0
  65. body/autonomy/micro_proposal_executor.py +316 -0
  66. body/crate_processing/canary_executor.py +144 -0
  67. body/evaluators/__init__.py +27 -0
  68. body/evaluators/atomic_actions_evaluator.py +162 -0
  69. body/evaluators/atomic_actions_format.py +45 -0
  70. body/evaluators/atomic_actions_rules.py +278 -0
  71. body/evaluators/base_evaluator.py +67 -0
  72. body/evaluators/clarity_evaluator.py +83 -0
  73. body/evaluators/constitutional_evaluator.py +227 -0
  74. body/evaluators/failure_evaluator.py +136 -0
  75. body/evaluators/performance_evaluator.py +341 -0
  76. body/evaluators/security_evaluator.py +393 -0
  77. body/flows/__init__.py +33 -0
  78. body/flows/executor.py +275 -0
  79. body/flows/registry.py +272 -0
  80. body/flows/result.py +113 -0
  81. body/governance/__init__.py +29 -0
  82. body/governance/body_contracts_service.py +317 -0
  83. body/governance/code_validator.py +118 -0
  84. body/governance/engine_dispatcher.py +128 -0
  85. body/governance/intent_guard.py +592 -0
  86. body/governance/intent_pattern_validators.py +197 -0
  87. body/governance/key_management_service.py +100 -0
  88. body/governance/path_validator.py +187 -0
  89. body/governance/remediation_service.py +263 -0
  90. body/governance/runtime_validator.py +184 -0
  91. body/infrastructure/bootstrap.py +135 -0
  92. body/infrastructure/lifespan.py +85 -0
  93. body/infrastructure/repositories/__init__.py +1 -0
  94. body/infrastructure/repositories/decision_trace_repository.py +210 -0
  95. body/infrastructure/repositories/refusal_repository.py +294 -0
  96. body/introspection/__init__.py +4 -0
  97. body/introspection/capability_discovery_service.py +107 -0
  98. body/introspection/discovery/from_kgb.py +33 -0
  99. body/introspection/discovery/from_source_scan.py +40 -0
  100. body/introspection/discovery/loader.py +62 -0
  101. body/introspection/discovery/registry.py +22 -0
  102. body/introspection/discovery/semantics.py +21 -0
  103. body/introspection/discovery/sync.py +47 -0
  104. body/introspection/drift_detector.py +81 -0
  105. body/introspection/drift_service.py +48 -0
  106. body/introspection/export_vectors.py +133 -0
  107. body/introspection/generate_capability_docs.py +130 -0
  108. body/introspection/generate_correction_map.py +98 -0
  109. body/introspection/graph_analysis_service.py +66 -0
  110. body/introspection/knowledge_graph_service.py +170 -0
  111. body/introspection/semantic_clusterer.py +128 -0
  112. body/introspection/symbol_index_builder.py +244 -0
  113. body/introspection/sync/engine.py +92 -0
  114. body/introspection/sync/scanner.py +56 -0
  115. body/introspection/sync/visitor.py +83 -0
  116. body/introspection/sync_service.py +62 -0
  117. body/invokers/__init__.py +4 -0
  118. body/invokers/capability_invoker.py +4 -0
  119. body/maintenance/command_sync_service.py +73 -0
  120. body/maintenance/dotenv_sync_service.py +99 -0
  121. body/maintenance/idempotency_harness.py +70 -0
  122. body/maintenance/maintenance_service.py +123 -0
  123. body/maintenance/memory_cleanup_service.py +131 -0
  124. body/maintenance/refactor_settings_access.py +274 -0
  125. body/maintenance/scripts/__init__.py +5 -0
  126. body/maintenance/scripts/context_export.py +278 -0
  127. body/maintenance/scripts/vector_verify.py +73 -0
  128. body/maintenance/sync_vectors.py +338 -0
  129. body/models/__init__.py +4 -0
  130. body/project_lifecycle/__init__.py +4 -0
  131. body/project_lifecycle/bootstrap_service.py +157 -0
  132. body/project_lifecycle/definition_service.py +264 -0
  133. body/project_lifecycle/integration_service.py +113 -0
  134. body/project_lifecycle/scaffolding_service.py +187 -0
  135. body/quality/coverage_analyzer.py +177 -0
  136. body/repositories/__init__.py +4 -0
  137. body/self_healing/atomic_actions_fixer.py +113 -0
  138. body/self_healing/body_ui_fixer.py +193 -0
  139. body/self_healing/capability_parser.py +65 -0
  140. body/self_healing/code_style_service.py +51 -0
  141. body/self_healing/complexity_filter.py +70 -0
  142. body/self_healing/docstring_service.py +345 -0
  143. body/self_healing/duplicate_id_service.py +407 -0
  144. body/self_healing/duplicates_service.py +165 -0
  145. body/self_healing/handlers/__init__.py +1 -0
  146. body/self_healing/handlers/id_assignment_handler.py +201 -0
  147. body/self_healing/handlers/import_sorting_handler.py +181 -0
  148. body/self_healing/header_service.py +308 -0
  149. body/self_healing/id_tagging_service.py +227 -0
  150. body/self_healing/knowledge_consolidation_service.py +80 -0
  151. body/self_healing/logging_service.py +292 -0
  152. body/self_healing/owner_tagging_service.py +5 -0
  153. body/self_healing/placeholder_fixer_service.py +27 -0
  154. body/self_healing/prune_private_capabilities.py +144 -0
  155. body/self_healing/purge_legacy_tags_service.py +146 -0
  156. body/self_healing/remediation_models.py +238 -0
  157. body/self_healing/test_context/__init__.py +10 -0
  158. body/self_healing/test_context/detectors.py +74 -0
  159. body/self_healing/test_context/examples.py +53 -0
  160. body/self_healing/test_context/formatter.py +65 -0
  161. body/self_healing/test_context/metrics.py +62 -0
  162. body/self_healing/test_context/models.py +83 -0
  163. body/self_healing/test_context/parsers.py +70 -0
  164. body/self_healing/test_context_analyzer.py +79 -0
  165. body/self_healing/test_failure_analyzer.py +259 -0
  166. body/self_healing/test_target_analyzer.py +118 -0
  167. body/self_healing/vulture_healer.py +161 -0
  168. body/services/__init__.py +4 -0
  169. body/services/artifact_service.py +155 -0
  170. body/services/blackboard_service/__init__.py +22 -0
  171. body/services/blackboard_service/blackboard_claim_service.py +216 -0
  172. body/services/blackboard_service/blackboard_proposal_service.py +305 -0
  173. body/services/blackboard_service/blackboard_query_service.py +333 -0
  174. body/services/blackboard_service/blackboard_service.py +602 -0
  175. body/services/capabilities.py +51 -0
  176. body/services/cim/__init__.py +22 -0
  177. body/services/cim/baselines.py +102 -0
  178. body/services/cim/census_service.py +190 -0
  179. body/services/cim/cim_constants.py +116 -0
  180. body/services/cim/cim_path_utils.py +123 -0
  181. body/services/cim/diff.py +152 -0
  182. body/services/cim/history.py +94 -0
  183. body/services/cim/models.py +319 -0
  184. body/services/cim/policy.py +149 -0
  185. body/services/cim/scanners.py +332 -0
  186. body/services/coherence_service.py +552 -0
  187. body/services/consequence_log_service.py +189 -0
  188. body/services/constitutional_rule_loader.py +141 -0
  189. body/services/constitutional_validator.py +366 -0
  190. body/services/crate_creation_service.py +217 -0
  191. body/services/crate_processing_service.py +279 -0
  192. body/services/crawl_service/__init__.py +10 -0
  193. body/services/crawl_service/main_module.py +531 -0
  194. body/services/crawl_service/orchestrator.py +452 -0
  195. body/services/crawl_service/symbol_processing.py +279 -0
  196. body/services/database_service.py +242 -0
  197. body/services/doc_service.py +57 -0
  198. body/services/file_service.py +260 -0
  199. body/services/governance_claims_service.py +240 -0
  200. body/services/governance_init.py +41 -0
  201. body/services/health_log_service.py +167 -0
  202. body/services/intent_schema_validator.py +211 -0
  203. body/services/llm_client.py +87 -0
  204. body/services/mind_state_service.py +129 -0
  205. body/services/policy_expression_evaluator.py +154 -0
  206. body/services/proposal_supervision_service.py +187 -0
  207. body/services/representation_coherence_service.py +209 -0
  208. body/services/service_registry.py +431 -0
  209. body/services/session_attached_service.py +51 -0
  210. body/services/symbol_query_service.py +218 -0
  211. body/services/symbol_service.py +94 -0
  212. body/services/validation/__init__.py +14 -0
  213. body/services/validation/python_validator.py +89 -0
  214. body/services/validation/validation_policies.py +121 -0
  215. body/services/worker_registry_service.py +184 -0
  216. body/validators/__init__.py +1 -0
  217. body/validators/logic_conservation_validator.py +201 -0
  218. body/workers/call_site_rewriter.py +527 -0
  219. body/workers/prompt_artifact_writer.py +323 -0
  220. cli/__init__.py +4 -0
  221. cli/admin_cli.py +98 -0
  222. cli/cli_user.py +121 -0
  223. cli/commands/__init__.py +4 -0
  224. cli/commands/audit_reporter.py +272 -0
  225. cli/commands/check/__init__.py +115 -0
  226. cli/commands/check/audit.py +130 -0
  227. cli/commands/check/converters.py +129 -0
  228. cli/commands/check/diagnostics_commands.py +70 -0
  229. cli/commands/check/formatters.py +310 -0
  230. cli/commands/check/imports.py +73 -0
  231. cli/commands/check/quality.py +71 -0
  232. cli/commands/check/quality_gates.py +107 -0
  233. cli/commands/check/rule.py +136 -0
  234. cli/commands/check/utils.py +28 -0
  235. cli/commands/check_atomic_actions.py +167 -0
  236. cli/commands/components.py +66 -0
  237. cli/commands/coverage/__init__.py +22 -0
  238. cli/commands/coverage/analysis_commands.py +87 -0
  239. cli/commands/coverage/check_commands.py +173 -0
  240. cli/commands/coverage/generation_commands.py +155 -0
  241. cli/commands/coverage/services/__init__.py +15 -0
  242. cli/commands/coverage/services/coverage_checker.py +50 -0
  243. cli/commands/coverage/services/coverage_reporter.py +81 -0
  244. cli/commands/coverage/services/gaps_analyzer.py +114 -0
  245. cli/commands/daemon.py +908 -0
  246. cli/commands/develop.py +127 -0
  247. cli/commands/diagnostics.py +32 -0
  248. cli/commands/fix/__init__.py +84 -0
  249. cli/commands/fix/all_commands.py +94 -0
  250. cli/commands/fix/atomic_actions.py +48 -0
  251. cli/commands/fix/audit.py +146 -0
  252. cli/commands/fix/body_ui.py +93 -0
  253. cli/commands/fix/code_style.py +52 -0
  254. cli/commands/fix/db_tools.py +90 -0
  255. cli/commands/fix/fix_ir.py +79 -0
  256. cli/commands/fix/handler_discovery.py +54 -0
  257. cli/commands/fix/imports.py +55 -0
  258. cli/commands/fix/list_commands.py +54 -0
  259. cli/commands/fix/metadata.py +160 -0
  260. cli/commands/fix/modularity.py +88 -0
  261. cli/commands/fix/settings_access.py +65 -0
  262. cli/commands/fix_governed.py +103 -0
  263. cli/commands/fix_logging.py +24 -0
  264. cli/commands/governance.py +294 -0
  265. cli/commands/guard.py +125 -0
  266. cli/commands/inspect/__init__.py +79 -0
  267. cli/commands/inspect/_helpers.py +226 -0
  268. cli/commands/inspect/analysis.py +158 -0
  269. cli/commands/inspect/decisions.py +140 -0
  270. cli/commands/inspect/diagnostics.py +126 -0
  271. cli/commands/inspect/drift.py +100 -0
  272. cli/commands/inspect/patterns.py +102 -0
  273. cli/commands/inspect/refusals.py +211 -0
  274. cli/commands/inspect/repo_census.py +175 -0
  275. cli/commands/inspect/status.py +48 -0
  276. cli/commands/interactive_test.py +85 -0
  277. cli/commands/mind.py +49 -0
  278. cli/commands/refactor.py +234 -0
  279. cli/commands/refactor_support/__init__.py +7 -0
  280. cli/commands/refactor_support/analyzer.py +107 -0
  281. cli/commands/refactor_support/config.py +67 -0
  282. cli/commands/refactor_support/display.py +170 -0
  283. cli/commands/refactor_support/recommendations.py +55 -0
  284. cli/commands/run.py +60 -0
  285. cli/commands/search.py +103 -0
  286. cli/commands/status.py +86 -0
  287. cli/commands/submit.py +23 -0
  288. cli/interactive.py +177 -0
  289. cli/logic/__init__.py +7 -0
  290. cli/logic/agent.py +110 -0
  291. cli/logic/audit_capability_domains.py +106 -0
  292. cli/logic/audit_renderer.py +150 -0
  293. cli/logic/autonomy/actions.py +36 -0
  294. cli/logic/autonomy/views.py +116 -0
  295. cli/logic/body_contracts_checker.py +23 -0
  296. cli/logic/build.py +27 -0
  297. cli/logic/byor.py +148 -0
  298. cli/logic/capability.py +27 -0
  299. cli/logic/cli_utils.py +210 -0
  300. cli/logic/context.py +7 -0
  301. cli/logic/db.py +154 -0
  302. cli/logic/db_manage.py +22 -0
  303. cli/logic/decision_inspect_logic.py +62 -0
  304. cli/logic/diagnostics.py +148 -0
  305. cli/logic/diagnostics_policy.py +100 -0
  306. cli/logic/diagnostics_registry.py +165 -0
  307. cli/logic/duplicates.py +19 -0
  308. cli/logic/embeddings_cli.py +43 -0
  309. cli/logic/governance/__init__.py +16 -0
  310. cli/logic/governance/engine.py +216 -0
  311. cli/logic/governance/forensics_service.py +67 -0
  312. cli/logic/governance/limb_status_service.py +83 -0
  313. cli/logic/governance/renderer.py +115 -0
  314. cli/logic/governance/traceability_service.py +78 -0
  315. cli/logic/governance_logic.py +33 -0
  316. cli/logic/hub/__init__.py +14 -0
  317. cli/logic/hub/app.py +107 -0
  318. cli/logic/hub/formatter.py +29 -0
  319. cli/logic/hub/introspection.py +20 -0
  320. cli/logic/hub/repository.py +17 -0
  321. cli/logic/init.py +22 -0
  322. cli/logic/interactive_test/__init__.py +21 -0
  323. cli/logic/interactive_test/session.py +102 -0
  324. cli/logic/interactive_test/steps/__init__.py +23 -0
  325. cli/logic/interactive_test/steps/execution.py +53 -0
  326. cli/logic/interactive_test/steps/generation.py +88 -0
  327. cli/logic/interactive_test/steps/healing.py +79 -0
  328. cli/logic/interactive_test/steps/utils.py +31 -0
  329. cli/logic/interactive_test/steps/verification.py +71 -0
  330. cli/logic/interactive_test/ui.py +203 -0
  331. cli/logic/interactive_test/workflow.py +168 -0
  332. cli/logic/interactive_test_logic.py +41 -0
  333. cli/logic/knowledge.py +47 -0
  334. cli/logic/legacy_scan_logic.py +306 -0
  335. cli/logic/list_audits.py +49 -0
  336. cli/logic/log_audit.py +53 -0
  337. cli/logic/new.py +8 -0
  338. cli/logic/project_docs.py +28 -0
  339. cli/logic/reconcile.py +127 -0
  340. cli/logic/refusal_inspect_logic.py +208 -0
  341. cli/logic/report.py +47 -0
  342. cli/logic/status.py +47 -0
  343. cli/logic/symbol_drift.py +77 -0
  344. cli/logic/sync.py +48 -0
  345. cli/logic/sync_domains.py +72 -0
  346. cli/logic/sync_manifest.py +31 -0
  347. cli/logic/tools.py +133 -0
  348. cli/logic/utils_migration.py +43 -0
  349. cli/logic/validate.py +107 -0
  350. cli/logic/vector_drift.py +109 -0
  351. cli/logic/yaml_processor.py +5 -0
  352. cli/renderers/audit_detail.py +37 -0
  353. cli/renderers/audit_overview.py +39 -0
  354. cli/resources/__init__.py +27 -0
  355. cli/resources/admin/__init__.py +23 -0
  356. cli/resources/admin/coverage.py +63 -0
  357. cli/resources/admin/debt_scan.py +195 -0
  358. cli/resources/admin/forensics.py +97 -0
  359. cli/resources/admin/health.py +66 -0
  360. cli/resources/admin/hub.py +9 -0
  361. cli/resources/admin/meta.py +47 -0
  362. cli/resources/admin/patterns.py +28 -0
  363. cli/resources/admin/refusals.py +31 -0
  364. cli/resources/admin/self_check.py +175 -0
  365. cli/resources/admin/status.py +66 -0
  366. cli/resources/admin/summary.py +67 -0
  367. cli/resources/admin/traces.py +46 -0
  368. cli/resources/admin/validate_env.py +56 -0
  369. cli/resources/code/__init__.py +31 -0
  370. cli/resources/code/actions.py +48 -0
  371. cli/resources/code/audit.py +416 -0
  372. cli/resources/code/audit_duplicates.py +22 -0
  373. cli/resources/code/check_imports.py +75 -0
  374. cli/resources/code/check_ui.py +62 -0
  375. cli/resources/code/clarity.py +51 -0
  376. cli/resources/code/complexity.py +55 -0
  377. cli/resources/code/docstrings.py +51 -0
  378. cli/resources/code/fix_atomic.py +51 -0
  379. cli/resources/code/format.py +62 -0
  380. cli/resources/code/hub.py +10 -0
  381. cli/resources/code/integrity.py +75 -0
  382. cli/resources/code/lint.py +37 -0
  383. cli/resources/code/logging.py +49 -0
  384. cli/resources/code/refactor.py +32 -0
  385. cli/resources/code/test.py +30 -0
  386. cli/resources/coherence/__init__.py +13 -0
  387. cli/resources/coherence/check.py +111 -0
  388. cli/resources/coherence/hub.py +13 -0
  389. cli/resources/coherence/repair_counts.py +73 -0
  390. cli/resources/coherence/report.py +144 -0
  391. cli/resources/coherence/seed.py +297 -0
  392. cli/resources/coherence/supersede.py +124 -0
  393. cli/resources/coherence/triage.py +81 -0
  394. cli/resources/constitution/__init__.py +19 -0
  395. cli/resources/constitution/audit.py +49 -0
  396. cli/resources/constitution/query.py +45 -0
  397. cli/resources/constitution/status.py +34 -0
  398. cli/resources/constitution/validate.py +36 -0
  399. cli/resources/context/__init__.py +21 -0
  400. cli/resources/context/build.py +374 -0
  401. cli/resources/context/cache.py +156 -0
  402. cli/resources/context/explain.py +140 -0
  403. cli/resources/context/hub.py +11 -0
  404. cli/resources/context/search.py +114 -0
  405. cli/resources/database/__init__.py +13 -0
  406. cli/resources/database/cleanup.py +107 -0
  407. cli/resources/database/export.py +61 -0
  408. cli/resources/database/hub.py +11 -0
  409. cli/resources/database/migrate.py +57 -0
  410. cli/resources/database/status.py +101 -0
  411. cli/resources/database/sync.py +84 -0
  412. cli/resources/database/sync_env.py +76 -0
  413. cli/resources/database/sync_registry.py +48 -0
  414. cli/resources/dev/__init__.py +14 -0
  415. cli/resources/dev/hub.py +11 -0
  416. cli/resources/dev/refactor.py +92 -0
  417. cli/resources/dev/stability.py +60 -0
  418. cli/resources/dev/strategic_audit.py +113 -0
  419. cli/resources/dev/sync.py +51 -0
  420. cli/resources/dev/test.py +34 -0
  421. cli/resources/intent/__init__.py +11 -0
  422. cli/resources/intent/hub.py +9 -0
  423. cli/resources/intent/sync_vocabulary.py +396 -0
  424. cli/resources/project/__init__.py +19 -0
  425. cli/resources/project/docs.py +41 -0
  426. cli/resources/project/new.py +40 -0
  427. cli/resources/project/onboard.py +31 -0
  428. cli/resources/proposals/__init__.py +28 -0
  429. cli/resources/proposals/create.py +82 -0
  430. cli/resources/proposals/integrate.py +49 -0
  431. cli/resources/proposals/list.py +76 -0
  432. cli/resources/proposals/manage.py +117 -0
  433. cli/resources/runtime/__init__.py +9 -0
  434. cli/resources/runtime/health.py +925 -0
  435. cli/resources/secrets/__init__.py +10 -0
  436. cli/resources/secrets/hub.py +9 -0
  437. cli/resources/secrets/manage.py +309 -0
  438. cli/resources/symbols/__init__.py +13 -0
  439. cli/resources/symbols/audit.py +46 -0
  440. cli/resources/symbols/fix_ids.py +43 -0
  441. cli/resources/symbols/hub.py +11 -0
  442. cli/resources/symbols/resolve_duplicates.py +30 -0
  443. cli/resources/symbols/sync.py +39 -0
  444. cli/resources/symbols/tag.py +47 -0
  445. cli/resources/vectors/__init__.py +11 -0
  446. cli/resources/vectors/cleanup.py +95 -0
  447. cli/resources/vectors/hub.py +9 -0
  448. cli/resources/vectors/query.py +105 -0
  449. cli/resources/vectors/status.py +30 -0
  450. cli/resources/vectors/sync.py +57 -0
  451. cli/resources/vectors/sync_code.py +67 -0
  452. cli/resources/workers/__init__.py +13 -0
  453. cli/resources/workers/blackboard.py +253 -0
  454. cli/resources/workers/remediate.py +337 -0
  455. cli/resources/workers/run.py +140 -0
  456. cli/utils/__init__.py +32 -0
  457. cli/utils/annotation_formatter.py +154 -0
  458. cli/utils/decorators.py +184 -0
  459. cli/utils/display.py +79 -0
  460. cli/utils/exit_codes.py +59 -0
  461. cli/utils/helpers.py +34 -0
  462. cli/utils/prompts.py +21 -0
  463. core_runtime-0.1.1.dist-info/LICENSE +21 -0
  464. core_runtime-0.1.1.dist-info/METADATA +346 -0
  465. core_runtime-0.1.1.dist-info/RECORD +962 -0
  466. core_runtime-0.1.1.dist-info/WHEEL +4 -0
  467. core_runtime-0.1.1.dist-info/entry_points.txt +4 -0
  468. mind/__init__.py +4 -0
  469. mind/coherence/__init__.py +1 -0
  470. mind/coherence/checker.py +314 -0
  471. mind/coherence/checks/__init__.py +4 -0
  472. mind/coherence/checks/base.py +34 -0
  473. mind/coherence/checks/r1_scoped.py +228 -0
  474. mind/coherence/checks/row2_grounding.py +69 -0
  475. mind/coherence/checks/row3_citation.py +119 -0
  476. mind/coherence/checks/row4_naming.py +126 -0
  477. mind/coherence/checks/sameconcern.py +136 -0
  478. mind/coherence/checks/specgap.py +233 -0
  479. mind/coherence/checks/vocabulary.py +112 -0
  480. mind/coherence/llm_judge.py +207 -0
  481. mind/enforcement/audit.py +78 -0
  482. mind/governance/__init__.py +22 -0
  483. mind/governance/assumption_extractor.py +326 -0
  484. mind/governance/audit_context.py +520 -0
  485. mind/governance/audit_postprocessor.py +36 -0
  486. mind/governance/audit_report_writer.py +46 -0
  487. mind/governance/audit_types.py +98 -0
  488. mind/governance/auditor.py +179 -0
  489. mind/governance/authority_package_builder.py +502 -0
  490. mind/governance/constitutional_auditor_dynamic.py +362 -0
  491. mind/governance/enforcement/__init__.py +24 -0
  492. mind/governance/enforcement_loader.py +245 -0
  493. mind/governance/enforcement_methods.py +28 -0
  494. mind/governance/entry_point_policy.py +62 -0
  495. mind/governance/executable_rule.py +127 -0
  496. mind/governance/filtered_audit.py +272 -0
  497. mind/governance/finding_processor.py +76 -0
  498. mind/governance/meta_validator.py +259 -0
  499. mind/governance/micro_proposal_validator.py +169 -0
  500. mind/governance/policy_coverage_service.py +183 -0
  501. mind/governance/policy_rule.py +94 -0
  502. mind/governance/rule_conflict_detector.py +127 -0
  503. mind/governance/rule_executor.py +306 -0
  504. mind/governance/rule_extractor.py +376 -0
  505. mind/governance/stateless_audit.py +206 -0
  506. mind/governance/violation_report.py +136 -0
  507. mind/logic/engines/_knowledge_gate_duplication.py +117 -0
  508. mind/logic/engines/action_gate.py +76 -0
  509. mind/logic/engines/artifact_gate.py +1168 -0
  510. mind/logic/engines/ast_gate/__init__.py +9 -0
  511. mind/logic/engines/ast_gate/base.py +263 -0
  512. mind/logic/engines/ast_gate/checks/__init__.py +35 -0
  513. mind/logic/engines/ast_gate/checks/async_checks.py +276 -0
  514. mind/logic/engines/ast_gate/checks/capability_checks.py +197 -0
  515. mind/logic/engines/ast_gate/checks/conservation_checks.py +126 -0
  516. mind/logic/engines/ast_gate/checks/generic_checks.py +244 -0
  517. mind/logic/engines/ast_gate/checks/import_checks.py +164 -0
  518. mind/logic/engines/ast_gate/checks/knowledge_source_check.py +88 -0
  519. mind/logic/engines/ast_gate/checks/logging_checks.py +133 -0
  520. mind/logic/engines/ast_gate/checks/metadata_checks.py +242 -0
  521. mind/logic/engines/ast_gate/checks/modularity_checks.py +436 -0
  522. mind/logic/engines/ast_gate/checks/naming_checks.py +120 -0
  523. mind/logic/engines/ast_gate/checks/prompt_model_checks.py +83 -0
  524. mind/logic/engines/ast_gate/checks/protected_namespace_access_check.py +298 -0
  525. mind/logic/engines/ast_gate/checks/purity_checks.py +421 -0
  526. mind/logic/engines/ast_gate/checks/purity_enforcement_check.py +56 -0
  527. mind/logic/engines/ast_gate/checks/runtime_import_boundary.py +198 -0
  528. mind/logic/engines/ast_gate/checks/schema_conformance_checks.py +130 -0
  529. mind/logic/engines/ast_gate/engine.py +317 -0
  530. mind/logic/engines/ast_gate.py +19 -0
  531. mind/logic/engines/base.py +106 -0
  532. mind/logic/engines/cli_gate/__init__.py +25 -0
  533. mind/logic/engines/cli_gate/base_check.py +45 -0
  534. mind/logic/engines/cli_gate/checks/__init__.py +31 -0
  535. mind/logic/engines/cli_gate/checks/async_execution.py +65 -0
  536. mind/logic/engines/cli_gate/checks/dangerous_explicit.py +60 -0
  537. mind/logic/engines/cli_gate/checks/discovery_strict.py +167 -0
  538. mind/logic/engines/cli_gate/checks/help_required.py +43 -0
  539. mind/logic/engines/cli_gate/checks/no_duplicates.py +57 -0
  540. mind/logic/engines/cli_gate/checks/no_layer_exposure.py +48 -0
  541. mind/logic/engines/cli_gate/checks/resource_first.py +58 -0
  542. mind/logic/engines/cli_gate/checks/standard_verbs.py +50 -0
  543. mind/logic/engines/cli_gate/engine.py +211 -0
  544. mind/logic/engines/glob_gate.py +214 -0
  545. mind/logic/engines/knowledge_gate.py +410 -0
  546. mind/logic/engines/llm_gate.py +407 -0
  547. mind/logic/engines/llm_gate_stub.py +67 -0
  548. mind/logic/engines/passive_gate.py +45 -0
  549. mind/logic/engines/regex_gate.py +97 -0
  550. mind/logic/engines/registry.py +134 -0
  551. mind/logic/engines/runtime_gate.py +265 -0
  552. mind/logic/engines/taxonomy_gate.py +229 -0
  553. mind/logic/engines/workflow_gate/__init__.py +22 -0
  554. mind/logic/engines/workflow_gate/base_check.py +42 -0
  555. mind/logic/engines/workflow_gate/checks/__init__.py +32 -0
  556. mind/logic/engines/workflow_gate/checks/alignment.py +93 -0
  557. mind/logic/engines/workflow_gate/checks/audit.py +80 -0
  558. mind/logic/engines/workflow_gate/checks/canary.py +47 -0
  559. mind/logic/engines/workflow_gate/checks/coverage.py +74 -0
  560. mind/logic/engines/workflow_gate/checks/dead_code.py +53 -0
  561. mind/logic/engines/workflow_gate/checks/import_resolution.py +97 -0
  562. mind/logic/engines/workflow_gate/checks/linter.py +104 -0
  563. mind/logic/engines/workflow_gate/checks/quality.py +49 -0
  564. mind/logic/engines/workflow_gate/checks/ruff_format.py +99 -0
  565. mind/logic/engines/workflow_gate/checks/tests.py +81 -0
  566. mind/logic/engines/workflow_gate/engine.py +207 -0
  567. shared/__init__.py +32 -0
  568. shared/action_logger.py +61 -0
  569. shared/action_types.py +199 -0
  570. shared/activity_logging.py +149 -0
  571. shared/ai/constitutional_envelope.py +341 -0
  572. shared/ai/prompt_model.py +585 -0
  573. shared/ai/response_parser.py +191 -0
  574. shared/ast_utility.py +279 -0
  575. shared/atomic_action.py +117 -0
  576. shared/cli/__init__.py +6 -0
  577. shared/cli/app_introspection.py +134 -0
  578. shared/cli/command_meta.py +224 -0
  579. shared/cli_types.py +92 -0
  580. shared/component_primitive.py +216 -0
  581. shared/config.py +216 -0
  582. shared/config_loader.py +54 -0
  583. shared/context.py +113 -0
  584. shared/exceptions.py +100 -0
  585. shared/governance/__init__.py +9 -0
  586. shared/governance/coherence_harvester.py +258 -0
  587. shared/governance_token.py +77 -0
  588. shared/infrastructure/__init__.py +5 -0
  589. shared/infrastructure/adapters/__init__.py +5 -0
  590. shared/infrastructure/adapters/embedding_provider.py +66 -0
  591. shared/infrastructure/bootstrap_registry.py +57 -0
  592. shared/infrastructure/clients/__init__.py +5 -0
  593. shared/infrastructure/clients/qdrant_client.py +455 -0
  594. shared/infrastructure/config_service.py +382 -0
  595. shared/infrastructure/config_validator.py +70 -0
  596. shared/infrastructure/context/__init__.py +45 -0
  597. shared/infrastructure/context/builder.py +804 -0
  598. shared/infrastructure/context/cache.py +101 -0
  599. shared/infrastructure/context/database.py +205 -0
  600. shared/infrastructure/context/limb_workspace.py +134 -0
  601. shared/infrastructure/context/models.py +65 -0
  602. shared/infrastructure/context/providers/__init__.py +18 -0
  603. shared/infrastructure/context/providers/ast.py +211 -0
  604. shared/infrastructure/context/providers/db.py +165 -0
  605. shared/infrastructure/context/providers/vectors.py +195 -0
  606. shared/infrastructure/context/redactor.py +109 -0
  607. shared/infrastructure/context/serializers.py +144 -0
  608. shared/infrastructure/context/service.py +271 -0
  609. shared/infrastructure/context/validator.py +247 -0
  610. shared/infrastructure/database/models/__init__.py +80 -0
  611. shared/infrastructure/database/models/autonomous_proposals.py +83 -0
  612. shared/infrastructure/database/models/decision_traces.py +129 -0
  613. shared/infrastructure/database/models/governance.py +183 -0
  614. shared/infrastructure/database/models/knowledge.py +205 -0
  615. shared/infrastructure/database/models/learning.py +99 -0
  616. shared/infrastructure/database/models/llm_config.py +274 -0
  617. shared/infrastructure/database/models/operations.py +152 -0
  618. shared/infrastructure/database/models/refusals.py +147 -0
  619. shared/infrastructure/database/models/system.py +124 -0
  620. shared/infrastructure/database/models/vectors.py +113 -0
  621. shared/infrastructure/database/models/workers.py +96 -0
  622. shared/infrastructure/database/session_manager.py +166 -0
  623. shared/infrastructure/diagnostic_service.py +103 -0
  624. shared/infrastructure/events/__init__.py +5 -0
  625. shared/infrastructure/events/base.py +44 -0
  626. shared/infrastructure/events/bus.py +76 -0
  627. shared/infrastructure/git_service.py +385 -0
  628. shared/infrastructure/intent/action_risk.py +135 -0
  629. shared/infrastructure/intent/audit_verdict.py +131 -0
  630. shared/infrastructure/intent/autonomy_dirty_tree.py +104 -0
  631. shared/infrastructure/intent/canonical_enums.py +116 -0
  632. shared/infrastructure/intent/cognitive_roles.py +96 -0
  633. shared/infrastructure/intent/errors.py +13 -0
  634. shared/infrastructure/intent/filesystem_operations.py +359 -0
  635. shared/infrastructure/intent/intent_connector.py +157 -0
  636. shared/infrastructure/intent/intent_repository.py +707 -0
  637. shared/infrastructure/intent/intent_validator.py +248 -0
  638. shared/infrastructure/intent/operational_capabilities.py +470 -0
  639. shared/infrastructure/intent/operational_config.py +1343 -0
  640. shared/infrastructure/intent/operational_mode.py +66 -0
  641. shared/infrastructure/intent/task_type_phases.py +180 -0
  642. shared/infrastructure/intent/test_coverage_paths.py +181 -0
  643. shared/infrastructure/intent/vocabulary_projection.py +241 -0
  644. shared/infrastructure/knowledge/knowledge_service.py +155 -0
  645. shared/infrastructure/knowledge_graph_service.py +214 -0
  646. shared/infrastructure/llm/client.py +448 -0
  647. shared/infrastructure/llm/client_registry.py +153 -0
  648. shared/infrastructure/llm/fallback_client.py +144 -0
  649. shared/infrastructure/llm/providers/anthropic.py +113 -0
  650. shared/infrastructure/llm/providers/base.py +130 -0
  651. shared/infrastructure/llm/providers/ollama.py +265 -0
  652. shared/infrastructure/llm/providers/openai.py +168 -0
  653. shared/infrastructure/repositories/__init__.py +5 -0
  654. shared/infrastructure/repositories/db/__init__.py +5 -0
  655. shared/infrastructure/repositories/db/common.py +138 -0
  656. shared/infrastructure/repositories/db/engine.py +26 -0
  657. shared/infrastructure/repositories/db/migration_service.py +75 -0
  658. shared/infrastructure/repositories/db/status_service.py +61 -0
  659. shared/infrastructure/repositories/memory_repository.py +134 -0
  660. shared/infrastructure/repositories/symbol_definition_repository.py +170 -0
  661. shared/infrastructure/repositories/task_repository.py +59 -0
  662. shared/infrastructure/repositories/vector_link_repository.py +83 -0
  663. shared/infrastructure/rooted_repository.py +50 -0
  664. shared/infrastructure/secrets_service.py +317 -0
  665. shared/infrastructure/specs/__init__.py +9 -0
  666. shared/infrastructure/specs/specs_repository.py +100 -0
  667. shared/infrastructure/storage/file_classifier.py +32 -0
  668. shared/infrastructure/storage/file_handler.py +330 -0
  669. shared/infrastructure/storage/file_provider.py +233 -0
  670. shared/infrastructure/storage/integrity_service.py +108 -0
  671. shared/infrastructure/validation/black_formatter.py +41 -0
  672. shared/infrastructure/validation/quality.py +46 -0
  673. shared/infrastructure/validation/ruff_linter.py +104 -0
  674. shared/infrastructure/validation/syntax_checker.py +45 -0
  675. shared/infrastructure/validation/test_runner.py +167 -0
  676. shared/infrastructure/validation/yaml_validator.py +45 -0
  677. shared/infrastructure/vector/__init__.py +15 -0
  678. shared/infrastructure/vector/adapters/__init__.py +20 -0
  679. shared/infrastructure/vector/adapters/constitutional/__init__.py +26 -0
  680. shared/infrastructure/vector/adapters/constitutional/chunker.py +246 -0
  681. shared/infrastructure/vector/adapters/constitutional/doc_key_resolver.py +109 -0
  682. shared/infrastructure/vector/adapters/constitutional/item_builder.py +158 -0
  683. shared/infrastructure/vector/adapters/constitutional/utils.py +39 -0
  684. shared/infrastructure/vector/adapters/constitutional_adapter.py +309 -0
  685. shared/infrastructure/vector/adapters/specs_adapter.py +171 -0
  686. shared/infrastructure/vector/cognitive_adapter.py +119 -0
  687. shared/infrastructure/vector/vector_index_service.py +230 -0
  688. shared/logger.py +195 -0
  689. shared/models/__init__.py +47 -0
  690. shared/models/action_result.py +77 -0
  691. shared/models/audit_models.py +106 -0
  692. shared/models/audit_rendering.py +30 -0
  693. shared/models/capability_models.py +22 -0
  694. shared/models/constitutional_validation.py +185 -0
  695. shared/models/drift_models.py +24 -0
  696. shared/models/embedding_payload.py +45 -0
  697. shared/models/execution_models.py +71 -0
  698. shared/models/pattern_graph.py +62 -0
  699. shared/models/prompt_model.py +244 -0
  700. shared/models/refusal_result.py +294 -0
  701. shared/models/remediation.py +35 -0
  702. shared/models/validation_result.py +34 -0
  703. shared/models/vector_models.py +62 -0
  704. shared/models/workflow_models.py +242 -0
  705. shared/path_resolver.py +408 -0
  706. shared/path_utils.py +60 -0
  707. shared/processors/base_processor.py +171 -0
  708. shared/processors/yaml_processor.py +72 -0
  709. shared/protocols/__init__.py +21 -0
  710. shared/protocols/brain_services.py +35 -0
  711. shared/protocols/cognitive.py +35 -0
  712. shared/protocols/executor.py +47 -0
  713. shared/protocols/interpreter.py +24 -0
  714. shared/protocols/knowledge.py +21 -0
  715. shared/protocols/llm.py +25 -0
  716. shared/protocols/typer_protocols.py +37 -0
  717. shared/time.py +18 -0
  718. shared/universal.py +43 -0
  719. shared/utils/__init__.py +81 -0
  720. shared/utils/audit_grouping.py +50 -0
  721. shared/utils/common_knowledge.py +82 -0
  722. shared/utils/domain_mapper.py +61 -0
  723. shared/utils/embedding_utils.py +182 -0
  724. shared/utils/glob_match.py +93 -0
  725. shared/utils/header_tools.py +177 -0
  726. shared/utils/parallel_processor.py +60 -0
  727. shared/utils/parsing.py +189 -0
  728. shared/utils/path_utils.py +268 -0
  729. shared/utils/subprocess_utils.py +87 -0
  730. shared/workers/__init__.py +19 -0
  731. shared/workers/base.py +533 -0
  732. shared/workers/declaration_validator.py +124 -0
  733. shared/workers/loop_hold_telemetry.py +210 -0
  734. shared/workers/schedule.py +123 -0
  735. will/__init__.py +4 -0
  736. will/agents/__init__.py +4 -0
  737. will/agents/base_planner.py +133 -0
  738. will/agents/code_generation/__init__.py +15 -0
  739. will/agents/code_generation/code_generator.py +247 -0
  740. will/agents/code_generation/context_formatters.py +99 -0
  741. will/agents/code_generation/correction_engine.py +157 -0
  742. will/agents/code_generation/extraction.py +165 -0
  743. will/agents/code_generation/pattern_validator.py +264 -0
  744. will/agents/code_generation/prompt_builders.py +209 -0
  745. will/agents/coder_agent.py +229 -0
  746. will/agents/coder_agent_refusal_handler.py +168 -0
  747. will/agents/cognitive_orchestrator.py +152 -0
  748. will/agents/conversational/__init__.py +13 -0
  749. will/agents/conversational/agent.py +271 -0
  750. will/agents/conversational/factory.py +72 -0
  751. will/agents/conversational/helpers.py +116 -0
  752. will/agents/execution_agent.py +294 -0
  753. will/agents/governance_mixin.py +132 -0
  754. will/agents/planner_agent.py +261 -0
  755. will/agents/resource_selector.py +228 -0
  756. will/agents/strategic_auditor/__init__.py +15 -0
  757. will/agents/strategic_auditor/agent.py +199 -0
  758. will/agents/strategic_auditor/context_gatherer.py +586 -0
  759. will/agents/strategic_auditor/effects.py +136 -0
  760. will/agents/strategic_auditor/models.py +61 -0
  761. will/agents/strategic_auditor/reasoning.py +169 -0
  762. will/agents/tagger_agent.py +294 -0
  763. will/agents/traced_agent_mixin.py +33 -0
  764. will/autonomy/__init__.py +20 -0
  765. will/autonomy/autonomous_developer.py +127 -0
  766. will/autonomy/proposal.py +585 -0
  767. will/autonomy/proposal_execution_pipeline.py +264 -0
  768. will/autonomy/proposal_executor.py +410 -0
  769. will/autonomy/proposal_mapper.py +187 -0
  770. will/autonomy/proposal_repository.py +118 -0
  771. will/autonomy/proposal_service.py +251 -0
  772. will/autonomy/proposal_state_manager.py +239 -0
  773. will/deciders/__init__.py +9 -0
  774. will/deciders/governance_decider.py +207 -0
  775. will/governance/__init__.py +13 -0
  776. will/governance/audit_remediation_runner.py +197 -0
  777. will/governance/audit_runner.py +368 -0
  778. will/governance/census_runner.py +278 -0
  779. will/governance/coverage_runner.py +489 -0
  780. will/governance/daemon_runner.py +164 -0
  781. will/governance/fix_runner.py +693 -0
  782. will/governance/inspect_runner.py +521 -0
  783. will/governance/integrity_runner.py +66 -0
  784. will/governance/lint_runner.py +93 -0
  785. will/governance/refactor_runner.py +372 -0
  786. will/governance/sync_runner.py +186 -0
  787. will/interpreters/__init__.py +44 -0
  788. will/interpreters/cli_args_interpreter.py +106 -0
  789. will/interpreters/natural_language_interpreter.py +276 -0
  790. will/interpreters/request_interpreter.py +126 -0
  791. will/lifecycle/__init__.py +12 -0
  792. will/lifecycle/integration_runner.py +54 -0
  793. will/maintenance/metadata_scribe_service.py +64 -0
  794. will/orchestration/__init__.py +4 -0
  795. will/orchestration/cognitive_service.py +185 -0
  796. will/orchestration/decision_tracer.py +257 -0
  797. will/orchestration/intent_alignment.py +59 -0
  798. will/orchestration/intent_guard.py +20 -0
  799. will/orchestration/phase_registry.py +92 -0
  800. will/orchestration/process_orchestrator.py +270 -0
  801. will/orchestration/prompt_pipeline.py +174 -0
  802. will/orchestration/remediation_orchestrator.py +292 -0
  803. will/orchestration/self_correction_engine.py +154 -0
  804. will/orchestration/validation_pipeline.py +45 -0
  805. will/orchestration/workflow_orchestrator.py +277 -0
  806. will/phases/__init__.py +24 -0
  807. will/phases/audit_phase.py +152 -0
  808. will/phases/canary/pytest_runner.py +156 -0
  809. will/phases/canary/result_builder.py +130 -0
  810. will/phases/canary/test_discovery.py +104 -0
  811. will/phases/canary_validation_phase.py +188 -0
  812. will/phases/code_generation/artifact_saver.py +175 -0
  813. will/phases/code_generation/code_sensor.py +117 -0
  814. will/phases/code_generation/file_path_extractor.py +53 -0
  815. will/phases/code_generation/work_directory_manager.py +83 -0
  816. will/phases/code_generation_phase.py +480 -0
  817. will/phases/execution_phase.py +179 -0
  818. will/phases/interpret_phase.py +266 -0
  819. will/phases/load_phase.py +102 -0
  820. will/phases/parse_phase.py +117 -0
  821. will/phases/planning_phase.py +182 -0
  822. will/phases/runtime_phase.py +112 -0
  823. will/phases/sandbox_validation_phase.py +130 -0
  824. will/phases/style_check_phase.py +209 -0
  825. will/phases/test_generation_phase.py +159 -0
  826. will/self_healing/alignment/persistence.py +53 -0
  827. will/self_healing/alignment/sandbox.py +51 -0
  828. will/self_healing/alignment/specialists.py +165 -0
  829. will/self_healing/alignment_orchestrator.py +140 -0
  830. will/self_healing/audit_remediation_service.py +199 -0
  831. will/self_healing/batch_remediation_service.py +280 -0
  832. will/self_healing/capability_reconciliation_service.py +96 -0
  833. will/self_healing/capability_tagging_service.py +224 -0
  834. will/self_healing/clarity_service.py +204 -0
  835. will/self_healing/complexity_service.py +260 -0
  836. will/self_healing/context_aware_test_generator.py +298 -0
  837. will/self_healing/coverage_remediation_service.py +97 -0
  838. will/self_healing/coverage_watcher.py +192 -0
  839. will/self_healing/enrichment_service.py +211 -0
  840. will/self_healing/linelength_service.py +168 -0
  841. will/self_healing/modularity_remediation_service.py +203 -0
  842. will/self_healing/remediation_evidence_writer.py +144 -0
  843. will/self_healing/remediation_executor.py +113 -0
  844. will/self_healing/remediation_interpretation/__init__.py +1 -0
  845. will/self_healing/remediation_interpretation/file_context_assembler.py +383 -0
  846. will/self_healing/remediation_interpretation/file_role_detector.py +599 -0
  847. will/self_healing/remediation_interpretation/finding_normalizer.py +221 -0
  848. will/self_healing/remediation_interpretation/models.py +198 -0
  849. will/self_healing/remediation_interpretation/reasoning_brief_builder.py +235 -0
  850. will/self_healing/remediation_interpretation/responsibility_extractor.py +421 -0
  851. will/self_healing/remediation_interpretation/service.py +202 -0
  852. will/self_healing/remediation_interpretation/strategy_catalog.py +252 -0
  853. will/self_healing/remediation_interpretation/strategy_selector.py +395 -0
  854. will/self_healing/remediation_pattern_matcher.py +126 -0
  855. will/self_healing/simple_test_generator.py +252 -0
  856. will/self_healing/single_file_remediation.py +137 -0
  857. will/self_healing/test_generation/automatic_repair.py +377 -0
  858. will/self_healing/test_generation/code_extractor.py +238 -0
  859. will/self_healing/test_generation/context_builder.py +140 -0
  860. will/self_healing/test_generation/executor.py +64 -0
  861. will/self_healing/test_generation/failure_parser.py +37 -0
  862. will/self_healing/test_generation/generation_workflow.py +140 -0
  863. will/self_healing/test_generation/generator.py +283 -0
  864. will/self_healing/test_generation/llm_correction.py +160 -0
  865. will/self_healing/test_generation/repair_workflow.py +128 -0
  866. will/self_healing/test_generation/single_test_fixer.py +77 -0
  867. will/self_healing/test_generation/test_extractor.py +50 -0
  868. will/self_healing/test_generation/test_scorer.py +53 -0
  869. will/self_healing/test_generation/test_validator.py +64 -0
  870. will/self_healing/test_generator.py +12 -0
  871. will/strategists/__init__.py +46 -0
  872. will/strategists/base_strategist.py +29 -0
  873. will/strategists/clarity_strategist.py +55 -0
  874. will/strategists/complexity_strategist.py +55 -0
  875. will/strategists/fix_strategist.py +467 -0
  876. will/strategists/sync_strategist.py +369 -0
  877. will/strategists/test_strategist.py +140 -0
  878. will/strategists/validation_strategist.py +315 -0
  879. will/test_generation/__init__.py +46 -0
  880. will/test_generation/adaptive_test_generator.py +123 -0
  881. will/test_generation/artifacts.py +102 -0
  882. will/test_generation/harness_detection.py +103 -0
  883. will/test_generation/helpers/__init__.py +14 -0
  884. will/test_generation/helpers/context_extractor.py +100 -0
  885. will/test_generation/helpers/test_executor.py +230 -0
  886. will/test_generation/llm_output.py +62 -0
  887. will/test_generation/models.py +25 -0
  888. will/test_generation/persistence.py +248 -0
  889. will/test_generation/phases/__init__.py +16 -0
  890. will/test_generation/phases/generation_phase.py +150 -0
  891. will/test_generation/phases/load_phase.py +53 -0
  892. will/test_generation/phases/parse_phase.py +50 -0
  893. will/test_generation/prompt_engine.py +123 -0
  894. will/test_generation/result_aggregator.py +73 -0
  895. will/test_generation/sandbox.py +203 -0
  896. will/test_generation/strategy_link.py +56 -0
  897. will/test_generation/test_extractor.py +140 -0
  898. will/test_generation/validation.py +89 -0
  899. will/tools/__init__.py +13 -0
  900. will/tools/anchor_builder.py +111 -0
  901. will/tools/anchor_search.py +73 -0
  902. will/tools/anchors/discovery.py +55 -0
  903. will/tools/anchors/storage.py +32 -0
  904. will/tools/architectural_context_builder.py +94 -0
  905. will/tools/cognitive_toolbox.py +47 -0
  906. will/tools/context/code_snippet_extractor.py +83 -0
  907. will/tools/context/embedding_search.py +76 -0
  908. will/tools/context/formatter.py +87 -0
  909. will/tools/context/models.py +38 -0
  910. will/tools/context/query_builder.py +42 -0
  911. will/tools/context/retriever.py +182 -0
  912. will/tools/context/standards.py +53 -0
  913. will/tools/file_navigator.py +180 -0
  914. will/tools/layers.py +31 -0
  915. will/tools/module_anchor_generator.py +137 -0
  916. will/tools/module_descriptor.py +154 -0
  917. will/tools/policy_vectorizer.py +184 -0
  918. will/tools/symbol_finder.py +188 -0
  919. will/tools/tool_generator.py +103 -0
  920. will/workers/audit_ingest_worker.py +207 -0
  921. will/workers/audit_violation_filter.py +108 -0
  922. will/workers/audit_violation_normalizer.py +108 -0
  923. will/workers/audit_violation_sensor.py +370 -0
  924. will/workers/blackboard_shop_manager.py +280 -0
  925. will/workers/capability_tagger.py +153 -0
  926. will/workers/circuit_breaker.py +335 -0
  927. will/workers/coherence_sensor.py +212 -0
  928. will/workers/commit_reachability_auditor.py +135 -0
  929. will/workers/db_sync_worker.py +96 -0
  930. will/workers/governance_embedding/__init__.py +9 -0
  931. will/workers/governance_embedding/governance_embedder_worker.py +189 -0
  932. will/workers/intent_inspector.py +599 -0
  933. will/workers/observer_worker.py +158 -0
  934. will/workers/prompt_extractor_worker.py +241 -0
  935. will/workers/proposal_consumer_effects.py +216 -0
  936. will/workers/proposal_consumer_revival.py +131 -0
  937. will/workers/proposal_consumer_worker.py +271 -0
  938. will/workers/proposal_pipeline_shop_manager.py +273 -0
  939. will/workers/repo_crawler.py +171 -0
  940. will/workers/repo_embedding/__init__.py +18 -0
  941. will/workers/repo_embedding/helpers.py +245 -0
  942. will/workers/repo_embedding/repo_embedder_workers.py +163 -0
  943. will/workers/test_coverage_sensor.py +208 -0
  944. will/workers/test_remediator/__init__.py +12 -0
  945. will/workers/test_remediator/_operations.py +295 -0
  946. will/workers/test_remediator/worker.py +187 -0
  947. will/workers/test_runner_sensor.py +430 -0
  948. will/workers/violation_executor.py +496 -0
  949. will/workers/violation_remediator.py +394 -0
  950. will/workers/violation_remediator_blackboard.py +225 -0
  951. will/workers/violation_remediator_body/__init__.py +12 -0
  952. will/workers/violation_remediator_body/blackboard.py +139 -0
  953. will/workers/violation_remediator_body/ceremony.py +154 -0
  954. will/workers/violation_remediator_body/context.py +70 -0
  955. will/workers/violation_remediator_body/llm.py +112 -0
  956. will/workers/violation_remediator_body/models.py +35 -0
  957. will/workers/violation_remediator_body/worker.py +518 -0
  958. will/workers/violation_remediator_proposal.py +328 -0
  959. will/workers/worker_shop_manager.py +244 -0
  960. will/workflows/__init__.py +23 -0
  961. will/workflows/dev_sync_reporter.py +274 -0
  962. will/workflows/dev_sync_workflow.py +118 -0
@@ -0,0 +1,97 @@
1
+ # src/cli/resources/admin/forensics.py
2
+ """
3
+ Admin Forensics Command - A2 Chain of Legality Evidence.
4
+ Links Agent reasoning to Body execution for constitutional auditing.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import typer
10
+ from rich.console import Console
11
+ from rich.panel import Panel
12
+ from rich.table import Table
13
+
14
+ from cli.logic.governance.forensics_service import GovernanceForensicsService
15
+ from cli.utils import core_command
16
+ from shared.cli.command_meta import CommandBehavior, CommandLayer, command_meta
17
+
18
+ from .hub import app
19
+
20
+
21
+ console = Console()
22
+
23
+
24
+ @app.command("forensics")
25
+ @command_meta(
26
+ canonical_name="admin.forensics",
27
+ behavior=CommandBehavior.READ,
28
+ layer=CommandLayer.MIND,
29
+ summary="Investigate the Chain of Legality for a specific session.",
30
+ )
31
+ @core_command(dangerous=False, requires_context=False)
32
+ # ID: d8a39a36-cf22-4ceb-b301-08a28fb5a124
33
+ async def admin_forensics_cmd(
34
+ session_id: str = typer.Argument(
35
+ ..., help="The UUID of the session to investigate."
36
+ ),
37
+ ) -> None:
38
+ """
39
+ Reconstructs the history of an autonomous operation.
40
+ Shows exactly what the AI thought vs what the System physically did.
41
+ """
42
+ service = GovernanceForensicsService()
43
+ console.print(
44
+ f"\n[bold cyan]🔎 Forensics: Reconstructing Session {session_id[:8]}...[/bold cyan]\n"
45
+ )
46
+ trail = await service.get_audit_trail(session_id)
47
+ if trail["intent"]:
48
+ intent = trail["intent"]
49
+ thought_process = f"[bold]Agent:[/bold] {intent['agent_name']}\n[bold]Goal :[/bold] {intent['goal']}\n[bold]Patterns Used:[/bold] {intent['pattern_stats']}"
50
+ console.print(
51
+ Panel(
52
+ thought_process,
53
+ title="[blue]Phase A: Intent & Reasoning[/blue]",
54
+ expand=False,
55
+ )
56
+ )
57
+ else:
58
+ console.print("[yellow]⚠️ No decision trace found for this session.[/yellow]")
59
+ if trail["actions"]:
60
+ console.print("\n[blue]Phase B: Executed Actions & Governance Verdicts[/blue]")
61
+ action_table = Table(show_header=True, header_style="bold magenta")
62
+ action_table.add_column("Time", style="dim")
63
+ action_table.add_column("Action", style="cyan")
64
+ action_table.add_column("Result")
65
+ action_table.add_column("Metadata", style="dim")
66
+ for action in trail["actions"]:
67
+ status = (
68
+ "[green]PASS[/green]"
69
+ if action["ok"]
70
+ else f"[red]FAIL: {action['error_message']}[/red]"
71
+ )
72
+ action_table.add_row(
73
+ str(action["created_at"])[:19],
74
+ action["action_type"],
75
+ status,
76
+ str(action["action_metadata"]),
77
+ )
78
+ console.print(action_table)
79
+ else:
80
+ console.print(
81
+ "[yellow]⚠️ No physical actions recorded for this session.[/yellow]"
82
+ )
83
+ if trail["legality_verified"]:
84
+ console.print(
85
+ "\n[bold green]⚖️ VERDICT: CHAIN OF LEGALITY VERIFIED[/bold green]"
86
+ )
87
+ console.print(
88
+ "[dim]Every action in this session is backed by a recorded reasoning trace.[/dim]\n"
89
+ )
90
+ else:
91
+ console.print(
92
+ "\n[bold red]⚖️ VERDICT: ILLEGITIMATE SESSION DETECTED[/bold red]"
93
+ )
94
+ console.print(
95
+ "[red]Critical Error: This session contains actions that lack recorded intent.[/red]\n"
96
+ )
97
+ raise typer.Exit(code=1)
@@ -0,0 +1,66 @@
1
+ # src/cli/resources/admin/health.py
2
+ import typer
3
+ from rich.console import Console
4
+ from rich.table import Table
5
+ from sqlalchemy import text
6
+
7
+ from cli.utils import core_command
8
+ from shared.cli.command_meta import CommandBehavior, CommandLayer, command_meta
9
+ from shared.infrastructure.database.session_manager import get_session
10
+
11
+ from .hub import app
12
+
13
+
14
+ console = Console()
15
+
16
+
17
+ @app.command("health")
18
+ @command_meta(
19
+ canonical_name="admin.health",
20
+ behavior=CommandBehavior.READ,
21
+ layer=CommandLayer.BODY,
22
+ summary="View the continuous system health log trend from background observers.",
23
+ )
24
+ @core_command(dangerous=False, requires_context=False)
25
+ # ID: f03440ee-7fa3-4496-921d-77255394464d
26
+ async def admin_health_cmd(
27
+ limit: int = typer.Option(
28
+ 10, "--limit", "-n", help="Number of recent health snapshots to show."
29
+ ),
30
+ ) -> None:
31
+ """
32
+ Reads the system_health_log populated by the continuous ObserverWorker.
33
+ Replaces the legacy 'check audit' active scan with a passive, instant ledger read.
34
+ """
35
+ console.print("\n[bold cyan]🏥 Continuous System Health Trend[/bold cyan]\n")
36
+ query = text(
37
+ "\n SELECT observed_at, open_findings, stale_entries, silent_workers, orphaned_symbols\n FROM core.system_health_log\n ORDER BY observed_at DESC\n LIMIT :limit\n "
38
+ )
39
+ async with get_session() as session:
40
+ result = await session.execute(query, {"limit": limit})
41
+ rows = result.fetchall()
42
+ if not rows:
43
+ console.print("[yellow]No health logs found. Is the daemon running?[/yellow]")
44
+ return
45
+ table = Table(show_header=True, header_style="bold magenta")
46
+ table.add_column("Observed At", style="dim")
47
+ table.add_column("Open Findings", justify="right")
48
+ table.add_column("Stale Entries", justify="right")
49
+ table.add_column("Silent Workers", justify="right")
50
+ table.add_column("Orphaned Symbols", justify="right")
51
+ for row in rows:
52
+ f_color = "red" if row.open_findings > 0 else "green"
53
+ s_color = "yellow" if row.stale_entries > 0 else "green"
54
+ w_color = "red" if row.silent_workers > 0 else "green"
55
+ o_color = "yellow" if row.orphaned_symbols > 0 else "green"
56
+ table.add_row(
57
+ row.observed_at.strftime("%Y-%m-%d %H:%M:%S"),
58
+ f"[{f_color}]{row.open_findings}[/{f_color}]",
59
+ f"[{s_color}]{row.stale_entries}[/{s_color}]",
60
+ f"[{w_color}]{row.silent_workers}[/{w_color}]",
61
+ f"[{o_color}]{row.orphaned_symbols}[/{o_color}]",
62
+ )
63
+ console.print(table)
64
+ console.print(
65
+ "\n[dim]Run `core-admin workers blackboard` to investigate specific findings.[/dim]\n"
66
+ )
@@ -0,0 +1,9 @@
1
+ # src/cli/resources/admin/hub.py
2
+ import typer
3
+
4
+
5
+ app = typer.Typer(
6
+ name="admin",
7
+ help="System forensics: decision traces, refusals, and pattern analytics.",
8
+ no_args_is_help=True,
9
+ )
@@ -0,0 +1,47 @@
1
+ # src/cli/resources/admin/meta.py
2
+ import typer
3
+ from rich.console import Console
4
+
5
+ from body.analyzers.constitutional_path_analyzer import ConstitutionalPathAnalyzer
6
+ from cli.utils import core_command
7
+ from shared.action_types import ActionImpact, ActionResult
8
+ from shared.atomic_action import atomic_action
9
+
10
+ from .hub import app
11
+
12
+
13
+ console = Console()
14
+
15
+
16
+ @app.command("meta")
17
+ @atomic_action(
18
+ action_id="admin.meta",
19
+ intent="List all indexed constitutional files.",
20
+ impact=ActionImpact.READ_ONLY,
21
+ policies=["governance.audit_context"],
22
+ )
23
+ @core_command(dangerous=False, requires_context=False)
24
+ # ID: 05ee1736-8480-40f6-94d9-f0e813eb5e0c
25
+ async def admin_meta_cmd(
26
+ ctx: typer.Context,
27
+ format: str = typer.Option("list", "--format", help="Output format (list|json)"),
28
+ **kwargs,
29
+ ) -> ActionResult:
30
+ """
31
+ Explore the System Mind: Prints all authoritative constitutional files.
32
+ """
33
+ analyzer = ConstitutionalPathAnalyzer()
34
+ result = await analyzer.execute()
35
+ paths = result.data["paths"]
36
+ if format == "json":
37
+ import json
38
+
39
+ console.print(json.dumps(paths, indent=2))
40
+ else:
41
+ console.print(
42
+ f"\n[bold cyan]🏛️ Authoritative Mind Artifacts ({len(paths)}):[/bold cyan]"
43
+ )
44
+ for p in paths:
45
+ console.print(f" [dim]•[/dim] {p}")
46
+ console.print()
47
+ return ActionResult(action_id="admin.meta", ok=True, data=result.data)
@@ -0,0 +1,28 @@
1
+ # src/cli/resources/admin/patterns.py
2
+
3
+ import typer
4
+
5
+ from cli.utils import core_command
6
+
7
+ from .hub import app
8
+
9
+
10
+ @app.command("patterns")
11
+ @core_command(dangerous=False, requires_context=True)
12
+ # ID: 2763bdbf-a6d8-44f5-bf47-5972d4dee390
13
+ async def admin_patterns_cmd(
14
+ ctx: typer.Context,
15
+ last: int = typer.Option(
16
+ 10, "--last", "-l", help="Number of recent traces to analyze."
17
+ ),
18
+ ):
19
+ """
20
+ Analyze architectural pattern usage and classification accuracy.
21
+
22
+ Helps identify if certain code patterns (like 'action_pattern')
23
+ are frequently misidentified or failing validation.
24
+ """
25
+ from cli.commands.inspect.patterns import patterns_cmd as logic_func
26
+
27
+ # We forward to the existing logic which analyzes JSON traces in reports/
28
+ await logic_func(ctx, last=last)
@@ -0,0 +1,31 @@
1
+ # src/cli/resources/admin/refusals.py
2
+
3
+ import typer
4
+
5
+ from cli.utils import core_command
6
+ from shared.infrastructure.intent.operational_config import load_operational_config
7
+
8
+ from .hub import app
9
+
10
+
11
+ _CFG = load_operational_config().misc
12
+
13
+
14
+ @app.command("refusals")
15
+ @core_command(dangerous=False, requires_context=False)
16
+ # ID: 89bbb5fe-04e4-48b9-9841-3afa714906a2
17
+ async def admin_refusals_cmd(
18
+ limit: int = typer.Option(_CFG.refusal_inspect_default_limit, "--limit", "-n"),
19
+ refusal_type: str = typer.Option(
20
+ None, "--type", "-t", help="Filter by type (e.g. boundary, extraction)"
21
+ ),
22
+ ):
23
+ """
24
+ Audit constitutional refusal outcomes.
25
+
26
+ Refusals are first-class outcomes where CORE chose to stop because
27
+ an operation was unsafe or lacked sufficient context.
28
+ """
29
+ from cli.logic.refusal_inspect_logic import show_recent_refusals
30
+
31
+ await show_recent_refusals(limit=limit, refusal_type=refusal_type, details=True)
@@ -0,0 +1,175 @@
1
+ # src/cli/resources/admin/self_check.py
2
+
3
+ """``core-admin admin self-check`` — manual preflight against the same
4
+ ``cli_gate`` engine the autonomous audit uses.
5
+
6
+ The command audits the live Typer command registry against the eight
7
+ ``cli.*`` rules wired to ``engine: cli_gate`` in
8
+ ``.intent/enforcement/mappings/cli/interface_design.yaml`` (plus
9
+ ``cli.command.no_duplicates`` in ``infrastructure/cli_commands.yaml``).
10
+ Findings are produced by the canonical ``CliCheck`` implementations and
11
+ match what ``core-admin code audit`` produces for the same rules.
12
+
13
+ ``--write`` invokes ``MetadataScribeService`` to autonomously assign
14
+ ``@command_meta`` decorators to commands that lack explicit metadata.
15
+ That branch is independent of the audit and uses ``walk_typer_app``
16
+ directly for command discovery.
17
+ """
18
+
19
+ from __future__ import annotations
20
+
21
+ from pathlib import Path
22
+ from typing import Any
23
+
24
+ import typer
25
+ from rich.console import Console
26
+
27
+ from body.atomic.executor import ActionExecutor
28
+ from cli.utils import core_command
29
+ from shared.cli.command_meta import CommandBehavior, CommandLayer, command_meta
30
+ from shared.models import AuditFinding
31
+
32
+ from .hub import app
33
+
34
+
35
+ console = Console()
36
+
37
+
38
+ _CLI_GATE_RULE_IDS: tuple[str, ...] = (
39
+ "cli.resource_first",
40
+ "cli.no_layer_exposure",
41
+ "cli.standard_verbs",
42
+ "cli.dangerous_explicit",
43
+ "cli.async_execution",
44
+ "cli.discovery_strict",
45
+ "cli.help_required",
46
+ "cli.command.no_duplicates",
47
+ )
48
+
49
+
50
+ @app.command("self-check")
51
+ @command_meta(
52
+ canonical_name="admin.self-check",
53
+ behavior=CommandBehavior.VALIDATE,
54
+ layer=CommandLayer.BODY,
55
+ summary="Validate CLI command registration and constitutional alignment",
56
+ )
57
+ @core_command(dangerous=True, requires_context=True)
58
+ # ID: 6fa9d0bd-63d7-4d93-a326-d0ee95793423
59
+ async def self_check_cmd(
60
+ ctx: typer.Context,
61
+ verbose: bool = typer.Option(
62
+ False, "--verbose", "-v", help="Show full command listing."
63
+ ),
64
+ write: bool = typer.Option(
65
+ False, "--write", help="Autonomously repair missing metadata using AI."
66
+ ),
67
+ ) -> None:
68
+ """
69
+ Validate CLI registry against structural and constitutional rules.
70
+ Use --write to automatically assign missing @command_meta decorators.
71
+ """
72
+ from cli.admin_cli import app as main_app
73
+ from mind.governance.enforcement_loader import EnforcementMappingLoader
74
+ from mind.logic.engines.registry import EngineRegistry
75
+ from shared.cli.app_introspection import walk_typer_app
76
+ from shared.infrastructure.intent.intent_repository import get_intent_repository
77
+ from will.maintenance.metadata_scribe_service import MetadataScribeService
78
+
79
+ core_context = ctx.obj
80
+
81
+ commands = walk_typer_app(main_app, include_missing_handlers=True)
82
+ unassigned = [c for c in commands if not c.get("has_explicit_meta")]
83
+
84
+ if write:
85
+ scribe = MetadataScribeService(core_context.cognitive_service)
86
+ executor = ActionExecutor(core_context)
87
+ if not unassigned:
88
+ console.print(
89
+ "[green]✅ All commands have explicit metadata. Nothing to scribe.[/green]"
90
+ )
91
+ return
92
+ console.print(
93
+ f"[bold cyan]🖋️ Metascribe: Analyzing {len(unassigned)} unassigned commands...[/bold cyan]\n"
94
+ )
95
+ for cmd in unassigned:
96
+ f_path = Path(cmd["file_path"])
97
+ if not f_path.exists():
98
+ continue
99
+ source = f_path.read_text(encoding="utf-8")
100
+ meta_draft = await scribe.draft_metadata(
101
+ function_name=cmd["entrypoint"],
102
+ docstring=cmd["summary"] or "",
103
+ file_path=cmd["file_path"],
104
+ source_code=source,
105
+ )
106
+ if meta_draft:
107
+ console.print(
108
+ f" → Proposed for [yellow]{cmd['name']}[/yellow]: {meta_draft['canonical_name']}"
109
+ )
110
+ decorator = (
111
+ f'@command_meta(\n canonical_name="{meta_draft["canonical_name"]}",\n'
112
+ f" behavior=CommandBehavior.{meta_draft['behavior'].upper()},\n"
113
+ f" layer=CommandLayer.{meta_draft['layer'].upper()},\n"
114
+ f' summary="{meta_draft["summary"]}",\n'
115
+ f" dangerous={meta_draft['dangerous']}\n)\n"
116
+ )
117
+ target_def = f"def {cmd['entrypoint']}"
118
+ if f"async def {cmd['entrypoint']}" in source:
119
+ target_def = f"async def {cmd['entrypoint']}"
120
+ new_source = source.replace(target_def, f"{decorator}{target_def}")
121
+ rel_path = str(f_path.relative_to(core_context.git_service.repo_path))
122
+ await executor.execute(
123
+ "file.edit", write=True, file_path=rel_path, code=new_source
124
+ )
125
+ return
126
+
127
+ repo = get_intent_repository()
128
+ repo.initialize()
129
+ loader = EnforcementMappingLoader(intent_root=repo.root)
130
+ cli_gate_engine = EngineRegistry.get("cli_gate")
131
+
132
+ findings_by_rule: dict[str, list[AuditFinding]] = {}
133
+ skipped: list[str] = []
134
+ for rule_id in _CLI_GATE_RULE_IDS:
135
+ strategy = loader.get_enforcement_strategy(rule_id)
136
+ if not strategy or strategy.get("engine") != "cli_gate":
137
+ skipped.append(rule_id)
138
+ continue
139
+ params: dict[str, Any] = dict(strategy.get("params", {}))
140
+ findings = await cli_gate_engine.verify_context(
141
+ core_context.auditor_context, params
142
+ )
143
+ if findings:
144
+ findings_by_rule[rule_id] = findings
145
+
146
+ total_findings = sum(len(v) for v in findings_by_rule.values())
147
+
148
+ console.print("\n[bold cyan]🔍 CLI Registry Audit Results[/bold cyan]\n")
149
+
150
+ if findings_by_rule:
151
+ console.print("[bold red]❌ CONSTITUTIONAL VIOLATIONS:[/bold red]")
152
+ for rule_id, findings in findings_by_rule.items():
153
+ console.print(f" [bold]{rule_id}[/bold] — {len(findings)} finding(s)")
154
+ for finding in findings:
155
+ item = finding.context.get("command_name") or finding.file_path or "?"
156
+ console.print(f" • {finding.message} ([dim]{item}[/dim])")
157
+ console.print("")
158
+
159
+ if skipped:
160
+ console.print(f"[yellow]⚠️ Unmapped (skipped): {', '.join(skipped)}[/yellow]\n")
161
+
162
+ console.print(f" Total commands: [bold]{len(commands)}[/bold]")
163
+ console.print(f" Total findings: [bold]{total_findings}[/bold]")
164
+ console.print(
165
+ f" Missing explicit @meta: [bold yellow]{len(unassigned)}[/bold yellow]"
166
+ )
167
+ if unassigned:
168
+ console.print(
169
+ "\n[yellow]💡 Run with --write to autonomously assign metadata via AI.[/yellow]"
170
+ )
171
+
172
+ if not findings_by_rule and not skipped:
173
+ console.print(
174
+ "\n[bold green]✅ CLI Registry is healthy and aligned.[/bold green]"
175
+ )
@@ -0,0 +1,66 @@
1
+ # src/cli/resources/admin/status.py
2
+ """
3
+ Admin Status Command - Infrastructure Health Sensation.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ import typer
9
+ from rich.console import Console
10
+ from rich.table import Table
11
+
12
+ from cli.utils import core_command
13
+ from shared.cli.command_meta import CommandBehavior, CommandLayer, command_meta
14
+ from shared.infrastructure.diagnostic_service import DiagnosticService
15
+
16
+ from .hub import app
17
+
18
+
19
+ console = Console()
20
+
21
+
22
+ @app.command("status")
23
+ @command_meta(
24
+ canonical_name="admin.status",
25
+ behavior=CommandBehavior.READ,
26
+ layer=CommandLayer.BODY,
27
+ summary="Sensory check of system infrastructure and connectivity.",
28
+ )
29
+ @core_command(dangerous=False, requires_context=True)
30
+ # ID: 142e8bb4-c0cf-4913-890d-0eaa49913ec0
31
+ async def admin_status_cmd(ctx: typer.Context) -> None:
32
+ """
33
+ Perform a sensory check of the Body's physical connections.
34
+ Validates Database, Vector store, and Environment coordinates.
35
+ """
36
+ core_context = ctx.obj
37
+ service = DiagnosticService(core_context.git_service.repo_path)
38
+ console.print(
39
+ "\n[bold cyan]📡 Sensation: Probing System Infrastructure...[/bold cyan]\n"
40
+ )
41
+ connectivity = await service.check_connectivity()
42
+ table = Table(
43
+ title="Infrastructure Connectivity",
44
+ show_header=True,
45
+ header_style="bold magenta",
46
+ )
47
+ table.add_column("Component", style="cyan")
48
+ table.add_column("Status", justify="center")
49
+ table.add_column("Detail", style="dim")
50
+ for name, result in connectivity.items():
51
+ status_icon = "[green]OK[/green]" if result["ok"] else "[red]FAIL[/red]"
52
+ table.add_row(name.capitalize(), status_icon, result["detail"])
53
+ console.print(table)
54
+ fs_errors = service.check_file_system()
55
+ if not fs_errors:
56
+ console.print("\n[green]✅ All mandatory constitutional roots found.[/green]")
57
+ else:
58
+ console.print("\n[bold red]❌ File System Gaps Detected:[/bold red]")
59
+ for err in fs_errors:
60
+ console.print(f" [yellow]•[/yellow] {err}")
61
+ all_ok = all(r["ok"] for r in connectivity.values()) and (not fs_errors)
62
+ if all_ok:
63
+ console.print("\n[bold green]🛡️ Body Health: OPTIMAL[/bold green]\n")
64
+ else:
65
+ console.print("\n[bold red]⚠️ Body Health: DEGRADED[/bold red]\n")
66
+ raise typer.Exit(code=1)
@@ -0,0 +1,67 @@
1
+ # src/cli/resources/admin/summary.py
2
+ """
3
+ Admin Summary Command - Operational Health Visualization.
4
+ Provides a high-level overview of recent Body actions and failures.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import typer
10
+ from rich.console import Console
11
+ from rich.panel import Panel
12
+ from rich.table import Table
13
+
14
+ from cli.logic.governance.limb_status_service import LimbStatusService
15
+ from cli.utils import core_command
16
+ from shared.cli.command_meta import CommandBehavior, CommandLayer, command_meta
17
+
18
+ from .hub import app
19
+
20
+
21
+ console = Console()
22
+
23
+
24
+ @app.command("summary")
25
+ @command_meta(
26
+ canonical_name="admin.summary",
27
+ behavior=CommandBehavior.READ,
28
+ layer=CommandLayer.BODY,
29
+ summary="Display a summary of recent operational health and failures.",
30
+ )
31
+ @core_command(dangerous=False, requires_context=True)
32
+ # ID: 12f53c63-d4f9-42ab-8d12-ba027ee84eea
33
+ async def admin_summary_cmd(
34
+ ctx: typer.Context,
35
+ limit: int = typer.Option(
36
+ 15, "--limit", "-n", help="Number of recent actions to analyze."
37
+ ),
38
+ ) -> None:
39
+ """
40
+ Summarizes the most recent actions in the Body's ledger.
41
+ Explicitly highlights 'Pain Signals' (errors) for human review.
42
+ """
43
+ core_context = ctx.obj
44
+ service = LimbStatusService(session_factory=core_context.registry.session)
45
+ console.print(
46
+ "\n[bold cyan]🧬 Sensation: Aggregating Limb Health Summary...[/bold cyan]\n"
47
+ )
48
+ health = await service.get_recent_limb_health(limit=limit)
49
+ status_color = "green" if health["status"] == "OPTIMAL" else "yellow"
50
+ status_text = f"Limb State : [bold {status_color}]{health['status']}[/bold {status_color}]\nScan Depth : {health['total_checked']} actions\nPain Signals: {health['failure_count']} detected"
51
+ console.print(Panel(status_text, title="Operational Sensation", expand=False))
52
+ if health["issues"]:
53
+ console.print(
54
+ "\n[bold red]🚨 Detected Pain Signals (Recent Failures):[/bold red]"
55
+ )
56
+ table = Table(show_header=True, header_style="bold red")
57
+ table.add_column("Action / Neuron", style="cyan")
58
+ table.add_column("Error Message", style="yellow")
59
+ table.add_column("Time", style="dim", justify="right")
60
+ for issue in health["issues"]:
61
+ table.add_row(issue["action"], issue["error"], str(issue["time"])[:19])
62
+ console.print(table)
63
+ else:
64
+ console.print(
65
+ "\n[bold green]✅ System Harmony: No recent pain signals detected in the ledger.[/bold green]"
66
+ )
67
+ console.print()
@@ -0,0 +1,46 @@
1
+ # src/cli/resources/admin/traces.py
2
+
3
+ import typer
4
+
5
+ from body.infrastructure.repositories.decision_trace_repository import (
6
+ DecisionTraceRepository,
7
+ )
8
+ from cli.utils import core_command
9
+ from shared.infrastructure.database.session_manager import get_session
10
+
11
+ from .hub import app
12
+
13
+
14
+ @app.command("traces")
15
+ @core_command(dangerous=False, requires_context=False)
16
+ # ID: 63d5864d-b16c-474e-8c44-0d28083c9999
17
+ async def admin_traces_cmd(
18
+ limit: int = typer.Option(
19
+ 10, "--limit", "-n", help="Number of recent traces to show."
20
+ ),
21
+ session_id: str = typer.Option(
22
+ None, "--session", "-s", help="Show specific session details."
23
+ ),
24
+ failures_only: bool = typer.Option(
25
+ False, "--failures", help="Show only traces with violations."
26
+ ),
27
+ ):
28
+ """
29
+ Inspect autonomous decision traces.
30
+
31
+ Provides forensics on why AI agents chose specific implementations
32
+ or strategy pivots.
33
+ """
34
+ from cli.logic.decision_inspect_logic import (
35
+ list_recent_traces_logic,
36
+ show_session_trace_logic,
37
+ )
38
+
39
+ async with get_session() as session:
40
+ repo = DecisionTraceRepository(session)
41
+ if session_id:
42
+ await show_session_trace_logic(repo, session_id, details=True)
43
+ else:
44
+ await list_recent_traces_logic(
45
+ repo, limit, agent=None, failures_only=failures_only
46
+ )