rosett-ai 1.3.3 → 1.5.10

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 (453) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +413 -22
  3. data/README.md +56 -42
  4. data/bin/raictl +13 -0
  5. data/conf/adopt_redactions.yml +2 -0
  6. data/conf/compliance/cra_rules.yml +2 -0
  7. data/conf/compliance/license_rules.yml +2 -0
  8. data/conf/mcp/server_defaults.yml +2 -0
  9. data/conf/mcp/trust.yml +1 -0
  10. data/conf/packaging/core.yml +2 -0
  11. data/conf/packaging/gtk4.yml +2 -0
  12. data/conf/packaging/qt6.yml +2 -0
  13. data/conf/policy/default_deny_list.yml +2 -0
  14. data/conf/review/cli-command-audit.yml +2 -0
  15. data/conf/review/design-docs.yml +2 -0
  16. data/conf/review/design-questionnaire.yml +2 -0
  17. data/conf/review/questionnaire.yml +2 -0
  18. data/conf/review/rosett-ai-core.yml +2 -0
  19. data/conf/schemas/ai_config_schema.json +14 -2
  20. data/conf/schemas/autoqueue.schema.json +153 -0
  21. data/conf/schemas/behaviour_schema.json +31 -7
  22. data/conf/schemas/compliance_rule_schema.json +17 -4
  23. data/conf/schemas/content_pack_manifest_schema.json +23 -4
  24. data/conf/schemas/design_schema.json +177 -42
  25. data/conf/schemas/engine_manifest_schema.json +22 -5
  26. data/conf/schemas/lockfile_schema.json +26 -4
  27. data/conf/schemas/mcp_server_schema.json +50 -9
  28. data/conf/schemas/packaging_schema.json +23 -5
  29. data/conf/schemas/policy_schema.json +35 -9
  30. data/conf/schemas/provenance_schema.json +33 -5
  31. data/conf/schemas/rai_config_schema.json +6 -2
  32. data/conf/schemas/rai_project_schema.json +8 -2
  33. data/conf/schemas/scope_hierarchy_schema.json +22 -5
  34. data/conf/schemas/target_schema.json +33 -6
  35. data/conf/schemas/tooling_schema.json +53 -12
  36. data/conf/schemas/workflow_schema.json +39 -9
  37. data/conf/targets/agents_md.yml +1 -0
  38. data/conf/targets/claude.yml +2 -0
  39. data/conf/tooling/tools.yml +2 -0
  40. data/lib/rosett_ai/adopter/local_analysis_collector.rb +5 -0
  41. data/lib/rosett_ai/adopter/rule_adopter.rb +40 -0
  42. data/lib/rosett_ai/ai_config/context_window.rb +3 -0
  43. data/lib/rosett_ai/ai_config/cost_controls.rb +1 -0
  44. data/lib/rosett_ai/ai_config/fallback_chain.rb +1 -0
  45. data/lib/rosett_ai/ai_config/model_router.rb +1 -0
  46. data/lib/rosett_ai/ai_config/validator.rb +2 -0
  47. data/lib/rosett_ai/authorship/attribution_compiler.rb +1 -0
  48. data/lib/rosett_ai/authorship/disclosure_policy.rb +2 -0
  49. data/lib/rosett_ai/authorship/review_validator.rb +1 -0
  50. data/lib/rosett_ai/authorship/trailer_generator.rb +1 -0
  51. data/lib/rosett_ai/backup/compressor.rb +3 -0
  52. data/lib/rosett_ai/backup/destination.rb +1 -0
  53. data/lib/rosett_ai/behaviour/manager.rb +1 -0
  54. data/lib/rosett_ai/compiler/backend.rb +3 -0
  55. data/lib/rosett_ai/compiler/backends/agents_md_backend.rb +1 -0
  56. data/lib/rosett_ai/compiler/backends/claude_backend.rb +1 -0
  57. data/lib/rosett_ai/compiler/behaviour_compiler.rb +1 -0
  58. data/lib/rosett_ai/compiler/compilation_pipeline.rb +1 -7
  59. data/lib/rosett_ai/compiler/locale_compiler.rb +2 -0
  60. data/lib/rosett_ai/compiler/target_profile.rb +11 -0
  61. data/lib/rosett_ai/completion/generator.rb +2 -0
  62. data/lib/rosett_ai/completion/shells/zsh_generator.rb +1 -0
  63. data/lib/rosett_ai/comply/checkers/cra_checker.rb +1 -0
  64. data/lib/rosett_ai/comply/checkers/license_checker.rb +2 -0
  65. data/lib/rosett_ai/comply/checkers/spdx_header_checker.rb +4 -0
  66. data/lib/rosett_ai/comply/runner.rb +2 -0
  67. data/lib/rosett_ai/composition/composer.rb +1 -0
  68. data/lib/rosett_ai/composition/lockfile.rb +1 -0
  69. data/lib/rosett_ai/composition/merge_strategy.rb +1 -0
  70. data/lib/rosett_ai/config/masking_secret_resolver.rb +9 -0
  71. data/lib/rosett_ai/config/secret_resolver.rb +4 -0
  72. data/lib/rosett_ai/configuration.rb +4 -0
  73. data/lib/rosett_ai/content/content_client.rb +15 -0
  74. data/lib/rosett_ai/content/pack_installer.rb +1 -0
  75. data/lib/rosett_ai/content/pack_manifest.rb +21 -0
  76. data/lib/rosett_ai/content_packs/manager.rb +1 -0
  77. data/lib/rosett_ai/dbus/compositor_detector.rb +2 -0
  78. data/lib/rosett_ai/dbus/focus_adapters/base.rb +1 -0
  79. data/lib/rosett_ai/dbus/focus_adapters/gnome_adapter.rb +5 -0
  80. data/lib/rosett_ai/dbus/focus_adapters/hyprland_adapter.rb +4 -0
  81. data/lib/rosett_ai/dbus/focus_adapters/i3_adapter.rb +4 -0
  82. data/lib/rosett_ai/dbus/focus_adapters/kwin_adapter.rb +4 -0
  83. data/lib/rosett_ai/dbus/focus_adapters/x11_adapter.rb +4 -0
  84. data/lib/rosett_ai/dbus/focus_monitor_interface.rb +1 -0
  85. data/lib/rosett_ai/dbus/manager_interface.rb +1 -0
  86. data/lib/rosett_ai/dbus/plugin_manager_interface.rb +2 -0
  87. data/lib/rosett_ai/dbus/rate_limiter.rb +1 -0
  88. data/lib/rosett_ai/dbus/service.rb +3 -0
  89. data/lib/rosett_ai/dbus/status_notifier_interface.rb +14 -0
  90. data/lib/rosett_ai/desktop/dbus_client.rb +6 -0
  91. data/lib/rosett_ai/desktop/gtk4_app.rb +3 -0
  92. data/lib/rosett_ai/desktop/gtk4_preferences.rb +1 -0
  93. data/lib/rosett_ai/desktop/gui_logger.rb +2 -0
  94. data/lib/rosett_ai/doctor/check.rb +1 -1
  95. data/lib/rosett_ai/doctor/checks/cache_health_check.rb +1 -0
  96. data/lib/rosett_ai/doctor.rb +1 -0
  97. data/lib/rosett_ai/documentation/reference_compiler.rb +9 -0
  98. data/lib/rosett_ai/documentation/translator.rb +8 -0
  99. data/lib/rosett_ai/engines/base_config_compiler.rb +71 -1
  100. data/lib/rosett_ai/engines/detector.rb +5 -0
  101. data/lib/rosett_ai/engines/registry.rb +7 -0
  102. data/lib/rosett_ai/exit_codes.rb +6 -0
  103. data/lib/rosett_ai/formatting.rb +1 -0
  104. data/lib/rosett_ai/gem_consistency_checker.rb +6 -0
  105. data/lib/rosett_ai/git_hooks/chain_detector.rb +1 -0
  106. data/lib/rosett_ai/git_hooks/installer.rb +4 -0
  107. data/lib/rosett_ai/git_hooks/script_generator.rb +2 -0
  108. data/lib/rosett_ai/gitlab/validators/supplementary_gitlab_ci_yaml_validator.rb +6 -0
  109. data/lib/rosett_ai/i18n/utf8_checker.rb +1 -0
  110. data/lib/rosett_ai/init/config_file_writer.rb +4 -0
  111. data/lib/rosett_ai/init/directory_builder.rb +15 -0
  112. data/lib/rosett_ai/init/file_copier.rb +51 -0
  113. data/lib/rosett_ai/init/mcp_registrar.rb +1 -0
  114. data/lib/rosett_ai/init/project_initializer.rb +1 -0
  115. data/lib/rosett_ai/licensing/license_key.rb +4 -0
  116. data/lib/rosett_ai/licensing/license_store.rb +11 -0
  117. data/lib/rosett_ai/licensing/tier.rb +9 -0
  118. data/lib/rosett_ai/mcp/admin/auditor.rb +1 -0
  119. data/lib/rosett_ai/mcp/admin/health_checker.rb +1 -0
  120. data/lib/rosett_ai/mcp/admin/registry.rb +1 -0
  121. data/lib/rosett_ai/mcp/enforcement/hook_generator.rb +27 -4
  122. data/lib/rosett_ai/mcp/enforcement/validator.rb +24 -3
  123. data/lib/rosett_ai/mcp/governance.rb +9 -0
  124. data/lib/rosett_ai/mcp/http_security_config.rb +22 -0
  125. data/lib/rosett_ai/mcp/key_hasher.rb +4 -2
  126. data/lib/rosett_ai/mcp/keyfile.rb +4 -0
  127. data/lib/rosett_ai/mcp/middleware/cors.rb +4 -0
  128. data/lib/rosett_ai/mcp/middleware/origin_validation.rb +1 -0
  129. data/lib/rosett_ai/mcp/middleware/rate_limit.rb +3 -0
  130. data/lib/rosett_ai/mcp/plugins.rb +1 -0
  131. data/lib/rosett_ai/mcp/prompts/compilation_prompt.rb +2 -0
  132. data/lib/rosett_ai/mcp/prompts/compliance_prompt.rb +3 -0
  133. data/lib/rosett_ai/mcp/prompts/diagnostics_prompt.rb +2 -0
  134. data/lib/rosett_ai/mcp/prompts/validation_prompt.rb +2 -0
  135. data/lib/rosett_ai/mcp/resources/behaviour_resource.rb +2 -0
  136. data/lib/rosett_ai/mcp/resources/config_resource.rb +2 -0
  137. data/lib/rosett_ai/mcp/resources/design_resource.rb +1 -0
  138. data/lib/rosett_ai/mcp/resources/hooks_resource.rb +3 -0
  139. data/lib/rosett_ai/mcp/resources/provenance_resource.rb +2 -0
  140. data/lib/rosett_ai/mcp/resources/rules_resource.rb +1 -0
  141. data/lib/rosett_ai/mcp/resources/schema_resource.rb +1 -0
  142. data/lib/rosett_ai/mcp/server.rb +7 -1
  143. data/lib/rosett_ai/mcp/settings/trust_manager.rb +3 -0
  144. data/lib/rosett_ai/mcp/tools/adopt_tool.rb +4 -0
  145. data/lib/rosett_ai/mcp/tools/backup_tool.rb +4 -0
  146. data/lib/rosett_ai/mcp/tools/behaviour_display_tool.rb +4 -0
  147. data/lib/rosett_ai/mcp/tools/behaviour_list_tool.rb +3 -0
  148. data/lib/rosett_ai/mcp/tools/behaviour_manage_tool.rb +5 -0
  149. data/lib/rosett_ai/mcp/tools/behaviour_show_tool.rb +4 -0
  150. data/lib/rosett_ai/mcp/tools/compile_status_tool.rb +4 -0
  151. data/lib/rosett_ai/mcp/tools/compile_tool.rb +4 -0
  152. data/lib/rosett_ai/mcp/tools/comply_tool.rb +4 -0
  153. data/lib/rosett_ai/mcp/tools/config_compile_tool.rb +4 -0
  154. data/lib/rosett_ai/mcp/tools/config_status_tool.rb +3 -0
  155. data/lib/rosett_ai/mcp/tools/content_tool.rb +5 -0
  156. data/lib/rosett_ai/mcp/tools/context_query_tool.rb +4 -0
  157. data/lib/rosett_ai/mcp/tools/design_list_tool.rb +3 -0
  158. data/lib/rosett_ai/mcp/tools/design_show_tool.rb +4 -0
  159. data/lib/rosett_ai/mcp/tools/doctor_tool.rb +4 -0
  160. data/lib/rosett_ai/mcp/tools/documentation_status_tool.rb +3 -0
  161. data/lib/rosett_ai/mcp/tools/engines_tool.rb +5 -0
  162. data/lib/rosett_ai/mcp/tools/hook_install_tool.rb +7 -0
  163. data/lib/rosett_ai/mcp/tools/hook_preview_tool.rb +33 -8
  164. data/lib/rosett_ai/mcp/tools/hooks_status_tool.rb +5 -0
  165. data/lib/rosett_ai/mcp/tools/init_tool.rb +5 -0
  166. data/lib/rosett_ai/mcp/tools/license_status_tool.rb +3 -0
  167. data/lib/rosett_ai/mcp/tools/project_tool.rb +5 -0
  168. data/lib/rosett_ai/mcp/tools/provenance_tool.rb +5 -0
  169. data/lib/rosett_ai/mcp/tools/provenance_write_tool.rb +3 -0
  170. data/lib/rosett_ai/mcp/tools/retrofit_tool.rb +5 -0
  171. data/lib/rosett_ai/mcp/tools/rule_search_tool.rb +4 -0
  172. data/lib/rosett_ai/mcp/tools/schema_get_tool.rb +5 -0
  173. data/lib/rosett_ai/mcp/tools/tooling_tool.rb +5 -0
  174. data/lib/rosett_ai/mcp/tools/validate_tool.rb +4 -0
  175. data/lib/rosett_ai/mcp/tools/workflow_execute_tool.rb +4 -0
  176. data/lib/rosett_ai/mcp/tools/workflow_tool.rb +5 -0
  177. data/lib/rosett_ai/migration/detector.rb +1 -0
  178. data/lib/rosett_ai/migration/nncc_config_migrator.rb +2 -0
  179. data/lib/rosett_ai/migration/xdg_migrator.rb +3 -1
  180. data/lib/rosett_ai/package_manager/apt.rb +5 -0
  181. data/lib/rosett_ai/package_manager/base.rb +1 -0
  182. data/lib/rosett_ai/package_manager/gem_backend.rb +1 -0
  183. data/lib/rosett_ai/packaging/variant_config.rb +12 -0
  184. data/lib/rosett_ai/plugins/contract.rb +1 -0
  185. data/lib/rosett_ai/plugins/engine_contract.rb +2 -0
  186. data/lib/rosett_ai/plugins/gui_contract.rb +2 -0
  187. data/lib/rosett_ai/plugins/mcp_contract.rb +2 -0
  188. data/lib/rosett_ai/plugins/registry.rb +10 -0
  189. data/lib/rosett_ai/policy/auditor.rb +1 -0
  190. data/lib/rosett_ai/policy/opt_out_scanner.rb +1 -0
  191. data/lib/rosett_ai/policy/tier_hierarchy.rb +2 -0
  192. data/lib/rosett_ai/policy/validator.rb +1 -0
  193. data/lib/rosett_ai/profiler.rb +7 -0
  194. data/lib/rosett_ai/project/drift_detector.rb +1 -0
  195. data/lib/rosett_ai/project/manager.rb +1 -0
  196. data/lib/rosett_ai/project/template_applier.rb +1 -0
  197. data/lib/rosett_ai/provenance/entry.rb +2 -0
  198. data/lib/rosett_ai/provenance/source.rb +1 -0
  199. data/lib/rosett_ai/provenance/store.rb +3 -0
  200. data/lib/rosett_ai/provenance/validator.rb +1 -0
  201. data/lib/rosett_ai/quorum/collector.rb +1 -0
  202. data/lib/rosett_ai/quorum/comparator.rb +2 -0
  203. data/lib/rosett_ai/quorum/strategies/adopt.rb +1 -0
  204. data/lib/rosett_ai/rai_config.rb +9 -0
  205. data/lib/rosett_ai/retrofit/engine.rb +2 -0
  206. data/lib/rosett_ai/retrofit/parsers/agents_md_parser.rb +8 -0
  207. data/lib/rosett_ai/retrofit/parsers/claude_parser.rb +10 -0
  208. data/lib/rosett_ai/retrofit/parsers/cursor_parser.rb +9 -0
  209. data/lib/rosett_ai/retrofit/secret_detector.rb +3 -0
  210. data/lib/rosett_ai/secrets_resolver.rb +1 -0
  211. data/lib/rosett_ai/session_hooks/installer.rb +130 -0
  212. data/lib/rosett_ai/smart_feedback/suggester.rb +4 -0
  213. data/lib/rosett_ai/smart_feedback/thor_middleware.rb +7 -0
  214. data/lib/rosett_ai/structured_logger.rb +1 -0
  215. data/lib/rosett_ai/telemetry/log_rotator.rb +1 -0
  216. data/lib/rosett_ai/telemetry.rb +1 -0
  217. data/lib/rosett_ai/thor/cli.rb +9 -0
  218. data/lib/rosett_ai/thor/tasks/adopt.rb +2 -0
  219. data/lib/rosett_ai/thor/tasks/backfill_user_yml.rb +207 -0
  220. data/lib/rosett_ai/thor/tasks/backup.rb +6 -0
  221. data/lib/rosett_ai/thor/tasks/behaviour.rb +12 -0
  222. data/lib/rosett_ai/thor/tasks/build.rb +106 -21
  223. data/lib/rosett_ai/thor/tasks/compile.rb +76 -32
  224. data/lib/rosett_ai/thor/tasks/completion.rb +9 -0
  225. data/lib/rosett_ai/thor/tasks/comply.rb +2 -0
  226. data/lib/rosett_ai/thor/tasks/config.rb +21 -5
  227. data/lib/rosett_ai/thor/tasks/content.rb +8 -0
  228. data/lib/rosett_ai/thor/tasks/dbus.rb +13 -0
  229. data/lib/rosett_ai/thor/tasks/design.rb +2 -0
  230. data/lib/rosett_ai/thor/tasks/desktop.rb +4 -0
  231. data/lib/rosett_ai/thor/tasks/doctor.rb +2 -0
  232. data/lib/rosett_ai/thor/tasks/documentation.rb +7 -0
  233. data/lib/rosett_ai/thor/tasks/engines.rb +8 -0
  234. data/lib/rosett_ai/thor/tasks/hooks.rb +8 -0
  235. data/lib/rosett_ai/thor/tasks/init.rb +1 -0
  236. data/lib/rosett_ai/thor/tasks/license.rb +8 -0
  237. data/lib/rosett_ai/thor/tasks/mcp.rb +40 -0
  238. data/lib/rosett_ai/thor/tasks/migrate.rb +2 -0
  239. data/lib/rosett_ai/thor/tasks/plugins.rb +15 -0
  240. data/lib/rosett_ai/thor/tasks/project.rb +8 -0
  241. data/lib/rosett_ai/thor/tasks/provenance.rb +8 -0
  242. data/lib/rosett_ai/thor/tasks/release.rb +8 -0
  243. data/lib/rosett_ai/thor/tasks/retrofit.rb +4 -0
  244. data/lib/rosett_ai/thor/tasks/validate.rb +1 -0
  245. data/lib/rosett_ai/thor/tasks/workflow.rb +14 -0
  246. data/lib/rosett_ai/tooling/version_checker.rb +1 -0
  247. data/lib/rosett_ai/ui/accessible_tui.rb +18 -0
  248. data/lib/rosett_ai/ui/base.rb +3 -0
  249. data/lib/rosett_ai/ui/gtk4.rb +19 -0
  250. data/lib/rosett_ai/ui/kde.rb +1 -0
  251. data/lib/rosett_ai/ui/qt6.rb +1 -0
  252. data/lib/rosett_ai/ui/registry.rb +15 -0
  253. data/lib/rosett_ai/ui/tui.rb +22 -0
  254. data/lib/rosett_ai/validators/behaviour_validator.rb +1 -0
  255. data/lib/rosett_ai/validators/design_validator.rb +2 -0
  256. data/lib/rosett_ai/validators/schema_validator.rb +4 -0
  257. data/lib/rosett_ai/validators/tooling_validator.rb +1 -0
  258. data/lib/rosett_ai/version.rb +2 -1
  259. data/lib/rosett_ai/version_consistency_checker.rb +6 -0
  260. data/lib/rosett_ai/workflow/engine.rb +1 -0
  261. data/lib/rosett_ai/workflow/manager.rb +1 -0
  262. data/lib/rosett_ai/workflow/schema_validator.rb +2 -0
  263. data/lib/rosett_ai/workflow/step_runner.rb +1 -0
  264. data/lib/rosett_ai/workflow/steps/rai_step.rb +1 -0
  265. data/lib/rosett_ai/yaml_loader.rb +2 -0
  266. data/lib/rosett_ai.rb +2 -0
  267. data/lib/scripts/generated/docker_hub_tags.rb +2 -0
  268. data/locales/ar.yml +2 -0
  269. data/locales/en.yml +5 -0
  270. data/locales/fr.yml +2 -0
  271. metadata +9 -189
  272. data/.ai-provenance.yml +0 -119
  273. data/.debride_whitelist +0 -186
  274. data/.fasterer.yml +0 -29
  275. data/.mdl_style.rb +0 -10
  276. data/.mdlrc +0 -3
  277. data/.mutant.yml +0 -49
  278. data/.namespace-allowlist +0 -42
  279. data/.reek.yml +0 -1040
  280. data/.rosett-ai/config.yml +0 -3
  281. data/.rspec +0 -5
  282. data/.rubocop.yml +0 -380
  283. data/.ruby-version +0 -1
  284. data/.yamllint +0 -51
  285. data/.yardopts +0 -12
  286. data/AI-DISCLOSURE.md +0 -48
  287. data/CLAUDE.md +0 -141
  288. data/CONTRIBUTING.md +0 -734
  289. data/INSTALL.md +0 -154
  290. data/LICENSE.md +0 -675
  291. data/QUICKSTART.md +0 -73
  292. data/Rakefile +0 -200
  293. data/SECURITY.md +0 -114
  294. data/cliff.toml +0 -52
  295. data/conf/behaviour/.gitkeep +0 -0
  296. data/conf/design/aaif_alignment.yml +0 -181
  297. data/conf/design/ab_testing.yml +0 -172
  298. data/conf/design/accessibility.yml +0 -84
  299. data/conf/design/ai_authorship.yml +0 -210
  300. data/conf/design/ai_provenance.yml +0 -224
  301. data/conf/design/ai_tool_configuration.yml +0 -207
  302. data/conf/design/architecture.yml +0 -139
  303. data/conf/design/autocompletion.yml +0 -115
  304. data/conf/design/backward_compatibility.yml +0 -112
  305. data/conf/design/behaviour_composition.yml +0 -246
  306. data/conf/design/build_rake_extraction.yml +0 -57
  307. data/conf/design/ci_pipeline.yml +0 -100
  308. data/conf/design/claude_code_configuration.yml +0 -157
  309. data/conf/design/compiler.yml +0 -128
  310. data/conf/design/comply.yml +0 -153
  311. data/conf/design/content_packs.yml +0 -84
  312. data/conf/design/desktop_integration.yml +0 -289
  313. data/conf/design/distribution.yml +0 -216
  314. data/conf/design/doctor.yml +0 -184
  315. data/conf/design/documentation.yml +0 -152
  316. data/conf/design/engine_architecture.yml +0 -257
  317. data/conf/design/error_handling.yml +0 -103
  318. data/conf/design/feature_flags.yml +0 -142
  319. data/conf/design/git_hooks.yml +0 -165
  320. data/conf/design/gui_plugins.yml +0 -475
  321. data/conf/design/i18n.yml +0 -84
  322. data/conf/design/integration_testing.yml +0 -56
  323. data/conf/design/licensing_system.yml +0 -88
  324. data/conf/design/lifecycle_management.yml +0 -208
  325. data/conf/design/mcp_integration.yml +0 -207
  326. data/conf/design/mcp_settings.yml +0 -126
  327. data/conf/design/migration.yml +0 -56
  328. data/conf/design/monitoring_observability.yml +0 -194
  329. data/conf/design/namespace_cleanup.yml +0 -145
  330. data/conf/design/plugin_test_segregation.yml +0 -145
  331. data/conf/design/policy_management.yml +0 -229
  332. data/conf/design/project_management.yml +0 -183
  333. data/conf/design/rai_mcp_asset_discovery.yml +0 -164
  334. data/conf/design/rai_mcp_server.yml +0 -605
  335. data/conf/design/release_management.yml +0 -117
  336. data/conf/design/retrofit.yml +0 -199
  337. data/conf/design/retrospective_analyzer.yml +0 -79
  338. data/conf/design/scope_hierarchy.yml +0 -352
  339. data/conf/design/security.yml +0 -115
  340. data/conf/design/session_retrospective.yml +0 -85
  341. data/conf/design/smart_ui_feedback.yml +0 -89
  342. data/conf/design/structured_logging.yml +0 -148
  343. data/conf/design/styles.yml +0 -123
  344. data/conf/design/test_peer_review.yml +0 -89
  345. data/conf/design/testing.yml +0 -136
  346. data/conf/design/threat_model.yml +0 -108
  347. data/conf/design/ui_framework.yml +0 -111
  348. data/conf/design/usage_optimization.yml +0 -122
  349. data/conf/design/version_management.yml +0 -60
  350. data/conf/design/workflow.yml +0 -227
  351. data/doc/AAIF_POSITIONING.md +0 -58
  352. data/doc/ADOPT.md +0 -224
  353. data/doc/AI_PROVENANCE.md +0 -139
  354. data/doc/ARCHITECTURE.md +0 -920
  355. data/doc/BEHAVIOUR.md +0 -409
  356. data/doc/BUILD.md +0 -138
  357. data/doc/CI_CD_RECIPES.md +0 -171
  358. data/doc/CLAUDE_SESSIONS_MOVED.md +0 -16
  359. data/doc/COMMAND_ANALYSIS.md +0 -229
  360. data/doc/CONFIGURATION.md +0 -281
  361. data/doc/DESIGN_AUDIT.md +0 -235
  362. data/doc/DESIGN_PEER_REVIEW.md +0 -771
  363. data/doc/DESKTOP.md +0 -447
  364. data/doc/ENGINES.md +0 -567
  365. data/doc/ENGINE_DEVELOPMENT_GUIDE.md +0 -417
  366. data/doc/FEATURE_AUDIT.md +0 -218
  367. data/doc/IMPLEMENTATION_PLAN.md +0 -669
  368. data/doc/INCIDENT_REPORT_2026-02-02.md +0 -251
  369. data/doc/MIGRATION_GUIDE.md +0 -88
  370. data/doc/PACKAGING.md +0 -232
  371. data/doc/PROJECT_DASHBOARD.md +0 -153
  372. data/doc/PULP_DEPLOYMENT.md +0 -164
  373. data/doc/QUALITY_FIX_SUMMARY.md +0 -110
  374. data/doc/QUICK_START.md +0 -162
  375. data/doc/REEK_CONFIGURATION.md +0 -166
  376. data/doc/REFERENCE.md +0 -253
  377. data/doc/REFERENCES.md +0 -324
  378. data/doc/SECURITY_REVIEW_CHECKLIST.md +0 -72
  379. data/doc/SESSION_2026-02-28_GTK4_HARDENING.md +0 -359
  380. data/doc/SETUP.md +0 -202
  381. data/doc/TEST_PEER_REVIEW.md +0 -152
  382. data/doc/THREAT_MODEL.md +0 -230
  383. data/doc/USAGE.md +0 -545
  384. data/doc/USER_MANUAL.md +0 -585
  385. data/doc/ai_test_review_checklist.md +0 -110
  386. data/doc/changes/2026-02-18-packaging-fpm.md +0 -155
  387. data/doc/changes/2026-02-19-testing-infrastructure.md +0 -221
  388. data/doc/changes/2026-02-20-security-implementation.md +0 -281
  389. data/doc/changes/2026-02-20-styles-implementation.md +0 -220
  390. data/doc/changes/2026-02-21-architecture-completion.md +0 -95
  391. data/doc/changes/2026-02-21-architecture-ui-layer.md +0 -253
  392. data/doc/changes/2026-02-21-cc-config-implementation.md +0 -108
  393. data/doc/changes/2026-02-21-ci-pipeline-implementation.md +0 -214
  394. data/doc/changes/2026-02-21-compiler-multi-target-pipeline.md +0 -241
  395. data/doc/changes/2026-02-21-config-design-show-commands.md +0 -61
  396. data/doc/changes/2026-02-21-design-implementation-overview.md +0 -455
  397. data/doc/changes/2026-02-21-lifecycle-management.md +0 -196
  398. data/doc/changes/2026-02-21-path-resolver.md +0 -128
  399. data/doc/changes/2026-02-24-ci-tmpdir-mutant-fetch.md +0 -45
  400. data/doc/changes/2026-03-01-ci-bundler-strategy.md +0 -120
  401. data/doc/changes/2026-03-20-security-hardening-phase2.md +0 -163
  402. data/doc/context/SESSION-HANDOFF.md +0 -69
  403. data/doc/context/ai-engine-usage-trends-2026.md +0 -80
  404. data/doc/context/plan-pluggable-engines.md +0 -590
  405. data/doc/decisions/001-flog-deferred.md +0 -32
  406. data/doc/decisions/002-path-resolution-strategy.md +0 -158
  407. data/doc/decisions/003-ui-adapter-selection.md +0 -193
  408. data/doc/decisions/004-design-document-validation.md +0 -179
  409. data/doc/decisions/005-package-splitting-strategy.md +0 -200
  410. data/doc/decisions/006-multi-engine-architecture.md +0 -147
  411. data/doc/decisions/007-engine-agnostic-pivot.md +0 -219
  412. data/doc/decisions/008-ci-bundler-strategy.md +0 -129
  413. data/doc/decisions/009-core-only-v1-release.md +0 -60
  414. data/doc/decisions/010-engine-debian-packaging.md +0 -66
  415. data/doc/decisions/011-context-aware-cli.md +0 -71
  416. data/doc/dependency_decisions.yml +0 -247
  417. data/doc/issues/001-wrapper-missing-environment-variables.md +0 -197
  418. data/doc/issues/002-embedded-ruby-wrong-prefix.md +0 -217
  419. data/doc/issues/003-smoke-test-false-positive.md +0 -127
  420. data/doc/issues/004-market-research-design-updates.md +0 -109
  421. data/doc/issues/005-compile-scope-coexistence.md +0 -161
  422. data/doc/locales/.gitkeep +0 -0
  423. data/doc/man/rai.1.ronn +0 -505
  424. data/doc/operations/packaging.md +0 -133
  425. data/doc/operations/rosett-ai-release.md +0 -65
  426. data/doc/reference/error-catalog.md +0 -107
  427. data/doc/reference/rosett-ai-technical-reference.pdf +0 -0
  428. data/doc/reference/src/Pictures/cover.jpg +0 -0
  429. data/doc/reference/src/Pictures/head1.jpg +0 -0
  430. data/doc/reference/src/Pictures/head2.jpg +0 -0
  431. data/doc/reference/src/Pictures/head3.jpg +0 -0
  432. data/doc/reference/src/Pictures/head4.jpg +0 -0
  433. data/doc/reference/src/Pictures/head5.jpg +0 -0
  434. data/doc/reference/src/Pictures/head6.jpg +0 -0
  435. data/doc/reference/src/Pictures/head7.jpg +0 -0
  436. data/doc/reference/src/Pictures/head8.jpg +0 -0
  437. data/doc/reference/src/StyleInd.ist +0 -4
  438. data/doc/reference/src/bibliography.bib +0 -79
  439. data/doc/reference/src/main.tex +0 -1288
  440. data/doc/reference/src/structure.tex +0 -303
  441. data/doc/rosett-ai-bookmarks.html +0 -301
  442. data/kitchen.yml +0 -46
  443. data/lib/rosett_ai/mcp/enforcement/.gitkeep +0 -0
  444. data/locales/.gitkeep +0 -0
  445. data/packaging/build-engine-deb.sh +0 -81
  446. data/packaging/scripts/postinst +0 -17
  447. data/packaging/scripts/postrm +0 -19
  448. data/packaging/scripts/prerm +0 -10
  449. data/packaging/wrapper.sh.template +0 -38
  450. data/rosett-ai.gemspec +0 -63
  451. data/rules/.gitkeep +0 -0
  452. data/scripts/publish/pulp_upload.sh +0 -123
  453. data/settings.json +0 -29
@@ -1,166 +0,0 @@
1
- # Reek Configuration Documentation
2
-
3
- This document describes the Reek configuration for the Rosett-AI project and documents issues that were identified and fixed.
4
-
5
- ## Reference
6
-
7
- - **Reek Version**: 6.5.0 (March 2025)
8
- - **Documentation Source**: <https://github.com/troessner/reek>
9
- - **Local Reference**: `~/git/Community/Github/troessner/reek`
10
-
11
- ## Issues Fixed (2026-01-20)
12
-
13
- ### Issue 1: Deprecated Ruby Regexp Syntax
14
-
15
- **Problem**: The configuration used Reek 4-style `!ruby/regexp` tags which are no longer supported in Reek 5+.
16
-
17
- **Error Message**:
18
-
19
- ```text
20
- Error: Invalid configuration file .reek.yml, error is Tried to load unspecified class: Regexp
21
- ```
22
-
23
- **Before (Invalid)**:
24
-
25
- ```yaml
26
- UncommunicativeMethodName:
27
- reject:
28
- - !ruby/regexp /^[a-z]$/
29
- - !ruby/regexp /[0-9]$/
30
- ```
31
-
32
- **After (Valid)**:
33
-
34
- ```yaml
35
- UncommunicativeMethodName:
36
- reject:
37
- - "/^[a-z]$/"
38
- - "/[0-9]$/"
39
- ```
40
-
41
- **Affected Detectors**:
42
-
43
- - `UncommunicativeMethodName`
44
- - `UncommunicativeModuleName`
45
- - `UncommunicativeParameterName`
46
- - `UncommunicativeVariableName`
47
-
48
- **Reference**: [Reek 4 to Reek 5 Migration Guide](https://github.com/troessner/reek/blob/master/docs/Reek-4-to-Reek-5-migration.md)
49
-
50
- ---
51
-
52
- ### Issue 2: Array Method Name Not Quoted
53
-
54
- **Problem**: The `[]` (array accessor) method name in `allow_calls` was interpreted as an empty YAML array instead of the string `"[]"`.
55
-
56
- **Error Message**:
57
-
58
- ```text
59
- Error: Invalid configuration file .reek.yml, error is
60
- [/detectors/DuplicateMethodCall/allow_calls/2] must be a string.
61
- ```
62
-
63
- **Before (Invalid)**:
64
-
65
- ```yaml
66
- DuplicateMethodCall:
67
- allow_calls:
68
- - puts
69
- - print
70
- - []
71
- ```
72
-
73
- **After (Valid)**:
74
-
75
- ```yaml
76
- DuplicateMethodCall:
77
- allow_calls:
78
- - puts
79
- - print
80
- - "[]"
81
- ```
82
-
83
- **Reference**: [Duplicate Method Call Documentation](https://github.com/troessner/reek/blob/master/docs/Duplicate-Method-Call.md)
84
-
85
- ---
86
-
87
- ### Issue 3: Duplicate YAML Keys
88
-
89
- **Problem**: The `TooManyStatements` detector had duplicate `exclude:` keys. In YAML, duplicate keys cause the second value to overwrite the first, silently breaking the configuration.
90
-
91
- **Before (Invalid)**:
92
-
93
- ```yaml
94
- TooManyStatements:
95
- enabled: true
96
- max_statements: 10
97
- exclude:
98
- - initialize
99
- exclude: [] # This overwrites the above!
100
- ```
101
-
102
- **After (Valid)**:
103
-
104
- ```yaml
105
- TooManyStatements:
106
- enabled: true
107
- max_statements: 10
108
- exclude:
109
- - initialize
110
- ```
111
-
112
- ---
113
-
114
- ## Custom Configuration Values
115
-
116
- The following settings deviate from Reek's defaults. These are intentional project-specific adjustments:
117
-
118
- | Detector | Option | Project Value | Default Value | Rationale |
119
- |----------|--------|---------------|---------------|-----------|
120
- | `DataClump` | `min_clump_size` | 3 | 2 | Less strict for small projects |
121
- | `DuplicateMethodCall` | `max_calls` | 2 | 1 | Allow reasonable duplication |
122
- | `LongParameterList` | `max_params` | 4 | 3 | Slightly more permissive |
123
- | `NestedIterators` | `max_allowed_nesting` | 2 | 1 | Allow one level of nesting |
124
- | `RepeatedConditional` | `max_ifs` | 3 | 2 | Allow more conditionals |
125
- | `TooManyConstants` | `max_constants` | 7 | 5 | Configuration-heavy modules |
126
- | `TooManyInstanceVariables` | `max_instance_variables` | 5 | 4 | Slightly more permissive |
127
- | `TooManyStatements` | `max_statements` | 10 | 5 | Allow longer methods |
128
- | `UtilityFunction` | `public_methods_only` | true | false | Only check public methods |
129
- | `UnusedPrivateMethod` | `enabled` | true | false | Enable unused method detection |
130
- | `IrresponsibleModule` | `enabled` | false | true | Disabled (no mandatory docs) |
131
- | `MissingSafeMethod` | `enabled` | false | true | Disabled |
132
-
133
- ## Disabled Checks for Specific Contexts
134
-
135
- ### Spec Directory
136
-
137
- The following detectors are disabled for the `spec/` directory:
138
-
139
- - `UtilityFunction`
140
- - `FeatureEnvy`
141
- - `TooManyStatements`
142
-
143
- ### Excluded Classes/Methods
144
-
145
- - `DuplicateMethodCall`: `RosettAi::Thor::Tasks::Behaviour`, `RosettAi::Thor::Tasks::Documentation`
146
- - `FeatureEnvy`: `RosettAi::Configuration#deep_merge`
147
- - `SubclassedFromCoreClass`: `RosettAi::Error`
148
- - `TooManyInstanceVariables`: `RosettAi::Thor::Tasks::Behaviour`
149
- - `TooManyMethods`: `RosettAi::Thor::Tasks::Behaviour`, `RosettAi::Thor::Tasks::Documentation`
150
-
151
- ## Excluded Paths
152
-
153
- The following paths are excluded from analysis:
154
-
155
- - `vendor/`
156
- - `tmp/`
157
- - `cache/`
158
- - `coverage/`
159
-
160
- ## Best Practices
161
-
162
- 1. **Always quote method names that are special characters**: `"[]"`, `"[]="`
163
- 2. **Use string-wrapped regex patterns**: `"/pattern/"` instead of `!ruby/regexp /pattern/`
164
- 3. **Avoid duplicate YAML keys**: YAML parsers silently use the last value
165
- 4. **Keep local reference documentation**: Clone tool repositories for offline reference
166
- 5. **Verify against latest versions**: Check tool documentation before configuration changes
data/doc/REFERENCE.md DELETED
@@ -1,253 +0,0 @@
1
- # Configuration Reference
2
-
3
- This document provides a comprehensive reference for all rai configuration, file locations, environment variables, and CLI options.
4
-
5
- ## Configuration Hierarchy
6
-
7
- Configuration is resolved in order of increasing specificity:
8
-
9
- 1. **Built-in defaults** (compiled into rosett-ai)
10
- 2. **Global rai config** (`~/.config/rosett-ai/config.yml`)
11
- 3. **Global Claude Code settings** (`~/.claude/settings.json`)
12
- 4. **Local Claude Code settings** (`~/.claude/settings.local.json`)
13
- 5. **Project rai config** (`.rosett-ai/config.yml`)
14
- 6. **Project Claude Code settings** (`.claude/settings.json`)
15
- 7. **CLI flags** (always override everything)
16
-
17
- ## Global Configuration
18
-
19
- ### `~/.config/rosett-ai/config.yml`
20
-
21
- Runtime configuration for rosett-ai itself. Created by `rai init --global`.
22
-
23
- ```yaml
24
- default_engine: claude # Engine used when --engine is not specified
25
- cache:
26
- enabled: true # Cache adopt analysis results
27
- ttl_hours: 24 # Cache time-to-live in hours
28
- detect:
29
- on_init: true # Run engine detection during init --global
30
- ```
31
-
32
- **Schema**: `conf/schemas/rai_config_schema.json`
33
-
34
- ### Available engines
35
-
36
- | Engine | Package | Description |
37
- |--------|---------|-------------|
38
- | `claude` | `rosett-ai-engine-claude` | Claude Code (Anthropic) |
39
- | `generic` | `rosett-ai-engine-generic` | Generic AI assistant |
40
- | `agents_md` | `rosett-ai-engine-agents-md` | AGENTS.md (vendor-neutral) |
41
- | `ollama` | `rosett-ai-engine-ollama` | Ollama (local LLM) |
42
- | `gpt_neox` | `rosett-ai-engine-gpt-neox` | GPT-NeoX (EleutherAI) |
43
- | `goose` | `rosett-ai-engine-goose` | Goose (Block) |
44
- | `aider` | `rosett-ai-engine-aider` | Aider (AI pair programming) |
45
- | `cursor` | `rosett-ai-engine-cursor` | Cursor (Anysphere) |
46
- | `copilot` | `rosett-ai-engine-copilot` | GitHub Copilot |
47
- | `windsurf` | `rosett-ai-engine-windsurf` | Windsurf (Codeium) |
48
-
49
- ## Project Configuration
50
-
51
- ### `.rosett-ai/config.yml`
52
-
53
- Per-project rai configuration. Created by `rai init --project`.
54
-
55
- ```yaml
56
- project_name: my-project # Project identifier
57
- default_engine: claude # Override global default engine
58
- ```
59
-
60
- ### `.rosett-ai/conf/`
61
-
62
- Project-specific source files:
63
-
64
- | Directory | Content |
65
- |-----------|---------|
66
- | `conf/behaviour/` | Behaviour YAML files (rules, priorities) |
67
- | `conf/design/` | Design document YAML files |
68
-
69
- ## Engine Configuration
70
-
71
- ### Discovery
72
-
73
- raictl discovers engine plugins through three mechanisms:
74
-
75
- 1. **Gem discovery** (`Gem.find_files`): Standard RubyGems path. Works when `GEM_PATH` matches the Ruby ABI version.
76
- 2. **Embedded fallback** (`/opt/rosett-ai/embedded/lib/ruby/gems/`): Version-agnostic scan of the embedded gem tree. Handles ABI mismatch between embedded Ruby and engine gems.
77
- 3. **Custom path** (`RAI_ENGINE_PATH`): Colon-separated list of directories for development/testing.
78
-
79
- ### Installation
80
-
81
- Engines are installed as separate `.deb` packages:
82
-
83
- ```bash
84
- apt install rosett-ai-engine-claude
85
- apt install rosett-ai-engine-generic
86
- ```
87
-
88
- ### Target Profiles
89
-
90
- Each engine provides a target profile (`conf/target.yml`) declaring:
91
-
92
- ```yaml
93
- name: claude
94
- description: Claude Code (Anthropic) target
95
- backend: claude
96
- engine_version: ">=1.0.0"
97
- output_format: markdown
98
- output_dir: null
99
- max_context_window: 200000
100
- rendering:
101
- include_source_metadata: true
102
- include_priority_annotations: true
103
- include_generated_marker: true
104
- ```
105
-
106
- **Schema**: `conf/schemas/target_schema.json`
107
-
108
- ## Behaviour Files
109
-
110
- ### Schema
111
-
112
- ```yaml
113
- name: string # Unique identifier
114
- description: string # Human-readable description
115
- version: string # Semver version
116
- author: string # Author name
117
- created_at: string # ISO date
118
- modified_at: string # ISO date
119
- modified_by: string # Last modifier
120
- sensitive: boolean # Exclude from API analysis
121
- used_in: [string] # Cross-references
122
- rules:
123
- - id: string # Unique rule ID (e.g. rule_001)
124
- description: string # Rule description (supports multiline)
125
- priority: integer # 1-100 (higher = more important)
126
- enabled: boolean # Whether rule is active
127
- ```
128
-
129
- **Schema**: `conf/schemas/behaviour_schema.json`
130
-
131
- ## Design Documents
132
-
133
- ### Schema
134
-
135
- ```yaml
136
- name: string # Unique identifier
137
- domain: string # Domain area (core, security, etc.)
138
- version: string # Semver version
139
- status: string # draft | review | approved | deprecated
140
- intent: string # What this design achieves
141
- constraints: [string] # Technical/business constraints
142
- acceptance_criteria: [string] # Verification criteria
143
- dependencies: [string] # Other design dependencies (optional)
144
- examples: [{scenario, expected, not_expected}] # Examples (optional)
145
- anti_patterns: [string] # What to avoid (optional)
146
- preferences: [string] # Soft preferences (optional)
147
- ```
148
-
149
- **Schema**: `conf/schemas/design_schema.json`
150
-
151
- ## Claude Code Configuration
152
-
153
- Scope files in `conf/claude_code/` (or engine-specific config dirs) compile to Claude Code JSON settings.
154
-
155
- | Scope | Output | Purpose |
156
- |-------|--------|---------|
157
- | `managed` | `managed-settings.json` | rosett-ai-managed settings |
158
- | `user` | `settings.json` | User-level preferences |
159
- | `project` | `project-settings.json` | Project-specific settings |
160
- | `local` | `settings.local.json` | Machine-local overrides |
161
-
162
- ## CLI Options Reference
163
-
164
- ### Global Options
165
-
166
- | Flag | Description |
167
- |------|-------------|
168
- | `--version`, `-v` | Show version |
169
- | `--help`, `-h` | Show help |
170
-
171
- ### `rai compile`
172
-
173
- | Flag | Default | Description |
174
- |------|---------|-------------|
175
- | `--engine NAME` | configured | Target engine |
176
- | `--verbose` | false | Show detailed output |
177
- | `--simulate` | false | Dry run with diffs |
178
- | `--vendor` | false | Write lockfile |
179
- | `--strict` | false | Treat warnings as errors |
180
- | `--locales` | false | Compile locale files |
181
-
182
- ### `rai config compile`
183
-
184
- | Flag | Default | Description |
185
- |------|---------|-------------|
186
- | `--engine NAME` | configured | Target engine |
187
- | `--verbose` | false | Show detailed output |
188
- | `--simulate` | false | Dry run |
189
- | `--scope NAME` | all | Compile specific scope only |
190
-
191
- ### `rai init`
192
-
193
- | Flag | Default | Description |
194
- |------|---------|-------------|
195
- | `--global` | false | Set up `~/.claude/` structure |
196
- | `--local` | false | Set up `.claude/` structure |
197
- | `--project` | false | Set up `.rosett-ai/` structure |
198
- | `--no-compile` | false | Skip rule compilation |
199
-
200
- ### `rai adopt`
201
-
202
- | Flag | Default | Description |
203
- |------|---------|-------------|
204
- | `--api` | false | Enable remote API analysis |
205
- | `--verbose` | false | Show processing details |
206
- | `--elaborate` | false | Show detailed findings |
207
-
208
- ### `raictl build package`
209
-
210
- | Flag | Default | Description |
211
- |------|---------|-------------|
212
- | `--clean` | false | Clean staging directory |
213
- | `--verbose` | false | Show build details |
214
- | `--architecture` | native | Target architecture |
215
- | `--ruby-version` | current | Override Ruby version |
216
- | `--output-dir` | `pkg/` | Output directory |
217
-
218
- ## Environment Variables
219
-
220
- | Variable | Purpose | Set By |
221
- |----------|---------|--------|
222
- | `RAI_ORIGINAL_PWD` | Preserves user's working directory when running from `.deb` wrapper | `wrapper.sh` |
223
- | `RAI_ENGINE_PATH` | Colon-separated custom engine discovery paths | User |
224
- | `RAI_LOG_LEVEL` | Log verbosity (`DEBUG`, `INFO`, `WARN`, `ERROR`) | User |
225
-
226
- ## File Locations Summary
227
-
228
- ### Global (per-user)
229
-
230
- | Path | Purpose |
231
- |------|---------|
232
- | `~/.config/rosett-ai/config.yml` | rosett-ai runtime config |
233
- | `~/.claude/settings.json` | Claude Code user settings |
234
- | `~/.claude/settings.local.json` | Machine-local overrides |
235
- | `~/.claude/rules/` | Compiled rule files |
236
-
237
- ### Project
238
-
239
- | Path | Purpose |
240
- |------|---------|
241
- | `.rosett-ai/config.yml` | Project rai config |
242
- | `.rosett-ai/conf/behaviour/` | Project behaviours |
243
- | `.rosett-ai/conf/design/` | Project design docs |
244
- | `.claude/` | Project Claude Code config |
245
-
246
- ### Installation (`.deb`)
247
-
248
- | Path | Purpose |
249
- |------|---------|
250
- | `/opt/rosett-ai/app/` | Application code |
251
- | `/opt/rosett-ai/embedded/` | Embedded Ruby + gems |
252
- | `/opt/rosett-ai/bin/raictl` | Wrapper script |
253
- | `/usr/local/bin/raictl` | Symlink |