rosett-ai 1.3.3

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 (527) hide show
  1. checksums.yaml +7 -0
  2. data/.ai-provenance.yml +119 -0
  3. data/.debride_whitelist +186 -0
  4. data/.fasterer.yml +29 -0
  5. data/.mdl_style.rb +10 -0
  6. data/.mdlrc +3 -0
  7. data/.mutant.yml +49 -0
  8. data/.namespace-allowlist +42 -0
  9. data/.reek.yml +1040 -0
  10. data/.rosett-ai/config.yml +3 -0
  11. data/.rspec +5 -0
  12. data/.rubocop.yml +380 -0
  13. data/.ruby-version +1 -0
  14. data/.yamllint +51 -0
  15. data/.yardopts +12 -0
  16. data/AI-DISCLOSURE.md +48 -0
  17. data/CHANGELOG.md +519 -0
  18. data/CLAUDE.md +141 -0
  19. data/CONTRIBUTING.md +734 -0
  20. data/INSTALL.md +154 -0
  21. data/LICENSE +674 -0
  22. data/LICENSE.md +675 -0
  23. data/QUICKSTART.md +73 -0
  24. data/README.md +366 -0
  25. data/Rakefile +200 -0
  26. data/SECURITY.md +114 -0
  27. data/bin/rai +1 -0
  28. data/cliff.toml +52 -0
  29. data/conf/adopt_redactions.yml +8 -0
  30. data/conf/behaviour/.gitkeep +0 -0
  31. data/conf/compliance/cra_rules.yml +25 -0
  32. data/conf/compliance/license_rules.yml +20 -0
  33. data/conf/design/aaif_alignment.yml +181 -0
  34. data/conf/design/ab_testing.yml +172 -0
  35. data/conf/design/accessibility.yml +84 -0
  36. data/conf/design/ai_authorship.yml +210 -0
  37. data/conf/design/ai_provenance.yml +224 -0
  38. data/conf/design/ai_tool_configuration.yml +207 -0
  39. data/conf/design/architecture.yml +139 -0
  40. data/conf/design/autocompletion.yml +115 -0
  41. data/conf/design/backward_compatibility.yml +112 -0
  42. data/conf/design/behaviour_composition.yml +246 -0
  43. data/conf/design/build_rake_extraction.yml +57 -0
  44. data/conf/design/ci_pipeline.yml +100 -0
  45. data/conf/design/claude_code_configuration.yml +157 -0
  46. data/conf/design/compiler.yml +128 -0
  47. data/conf/design/comply.yml +153 -0
  48. data/conf/design/content_packs.yml +84 -0
  49. data/conf/design/desktop_integration.yml +289 -0
  50. data/conf/design/distribution.yml +216 -0
  51. data/conf/design/doctor.yml +184 -0
  52. data/conf/design/documentation.yml +152 -0
  53. data/conf/design/engine_architecture.yml +257 -0
  54. data/conf/design/error_handling.yml +103 -0
  55. data/conf/design/feature_flags.yml +142 -0
  56. data/conf/design/git_hooks.yml +165 -0
  57. data/conf/design/gui_plugins.yml +475 -0
  58. data/conf/design/i18n.yml +84 -0
  59. data/conf/design/integration_testing.yml +56 -0
  60. data/conf/design/licensing_system.yml +88 -0
  61. data/conf/design/lifecycle_management.yml +208 -0
  62. data/conf/design/mcp_integration.yml +207 -0
  63. data/conf/design/mcp_settings.yml +126 -0
  64. data/conf/design/migration.yml +56 -0
  65. data/conf/design/monitoring_observability.yml +194 -0
  66. data/conf/design/namespace_cleanup.yml +145 -0
  67. data/conf/design/plugin_test_segregation.yml +145 -0
  68. data/conf/design/policy_management.yml +229 -0
  69. data/conf/design/project_management.yml +183 -0
  70. data/conf/design/rai_mcp_asset_discovery.yml +164 -0
  71. data/conf/design/rai_mcp_server.yml +605 -0
  72. data/conf/design/release_management.yml +117 -0
  73. data/conf/design/retrofit.yml +199 -0
  74. data/conf/design/retrospective_analyzer.yml +79 -0
  75. data/conf/design/scope_hierarchy.yml +352 -0
  76. data/conf/design/security.yml +115 -0
  77. data/conf/design/session_retrospective.yml +85 -0
  78. data/conf/design/smart_ui_feedback.yml +89 -0
  79. data/conf/design/structured_logging.yml +148 -0
  80. data/conf/design/styles.yml +123 -0
  81. data/conf/design/test_peer_review.yml +89 -0
  82. data/conf/design/testing.yml +136 -0
  83. data/conf/design/threat_model.yml +108 -0
  84. data/conf/design/ui_framework.yml +111 -0
  85. data/conf/design/usage_optimization.yml +122 -0
  86. data/conf/design/version_management.yml +60 -0
  87. data/conf/design/workflow.yml +227 -0
  88. data/conf/mcp/server_defaults.yml +42 -0
  89. data/conf/mcp/trust.yml +21 -0
  90. data/conf/packaging/core.yml +12 -0
  91. data/conf/packaging/gtk4.yml +11 -0
  92. data/conf/packaging/qt6.yml +11 -0
  93. data/conf/policy/default_deny_list.yml +197 -0
  94. data/conf/review/cli-command-audit.yml +857 -0
  95. data/conf/review/design-docs.yml +1064 -0
  96. data/conf/review/design-questionnaire.yml +153 -0
  97. data/conf/review/questionnaire.yml +146 -0
  98. data/conf/review/rosett-ai-core.yml +2919 -0
  99. data/conf/schemas/ai_config_schema.json +73 -0
  100. data/conf/schemas/behaviour_schema.json +132 -0
  101. data/conf/schemas/compliance_rule_schema.json +63 -0
  102. data/conf/schemas/content_pack_manifest_schema.json +51 -0
  103. data/conf/schemas/design_schema.json +210 -0
  104. data/conf/schemas/engine_manifest_schema.json +144 -0
  105. data/conf/schemas/lockfile_schema.json +74 -0
  106. data/conf/schemas/mcp_server_schema.json +48 -0
  107. data/conf/schemas/packaging_schema.json +70 -0
  108. data/conf/schemas/policy_schema.json +85 -0
  109. data/conf/schemas/provenance_schema.json +84 -0
  110. data/conf/schemas/rai_config_schema.json +56 -0
  111. data/conf/schemas/rai_project_schema.json +20 -0
  112. data/conf/schemas/scope_hierarchy_schema.json +49 -0
  113. data/conf/schemas/target_schema.json +67 -0
  114. data/conf/schemas/tooling_schema.json +65 -0
  115. data/conf/schemas/workflow_schema.json +112 -0
  116. data/conf/targets/agents_md.yml +17 -0
  117. data/conf/targets/claude.yml +12 -0
  118. data/conf/tooling/tools.yml +58 -0
  119. data/dist/rosett-ai-mcp.service +48 -0
  120. data/dist/rosett-ai-mcp.yml.default +45 -0
  121. data/doc/AAIF_POSITIONING.md +58 -0
  122. data/doc/ADOPT.md +224 -0
  123. data/doc/AI_PROVENANCE.md +139 -0
  124. data/doc/ARCHITECTURE.md +920 -0
  125. data/doc/BEHAVIOUR.md +409 -0
  126. data/doc/BUILD.md +138 -0
  127. data/doc/CI_CD_RECIPES.md +171 -0
  128. data/doc/CLAUDE_SESSIONS_MOVED.md +16 -0
  129. data/doc/COMMAND_ANALYSIS.md +229 -0
  130. data/doc/CONFIGURATION.md +281 -0
  131. data/doc/DESIGN_AUDIT.md +235 -0
  132. data/doc/DESIGN_PEER_REVIEW.md +771 -0
  133. data/doc/DESKTOP.md +447 -0
  134. data/doc/ENGINES.md +567 -0
  135. data/doc/ENGINE_DEVELOPMENT_GUIDE.md +417 -0
  136. data/doc/FEATURE_AUDIT.md +218 -0
  137. data/doc/IMPLEMENTATION_PLAN.md +669 -0
  138. data/doc/INCIDENT_REPORT_2026-02-02.md +251 -0
  139. data/doc/MIGRATION_GUIDE.md +88 -0
  140. data/doc/PACKAGING.md +232 -0
  141. data/doc/PROJECT_DASHBOARD.md +153 -0
  142. data/doc/PULP_DEPLOYMENT.md +164 -0
  143. data/doc/QUALITY_FIX_SUMMARY.md +110 -0
  144. data/doc/QUICK_START.md +162 -0
  145. data/doc/REEK_CONFIGURATION.md +166 -0
  146. data/doc/REFERENCE.md +253 -0
  147. data/doc/REFERENCES.md +324 -0
  148. data/doc/SECURITY_REVIEW_CHECKLIST.md +72 -0
  149. data/doc/SESSION_2026-02-28_GTK4_HARDENING.md +359 -0
  150. data/doc/SETUP.md +202 -0
  151. data/doc/TEST_PEER_REVIEW.md +152 -0
  152. data/doc/THREAT_MODEL.md +230 -0
  153. data/doc/USAGE.md +545 -0
  154. data/doc/USER_MANUAL.md +585 -0
  155. data/doc/ai_test_review_checklist.md +110 -0
  156. data/doc/changes/2026-02-18-packaging-fpm.md +155 -0
  157. data/doc/changes/2026-02-19-testing-infrastructure.md +221 -0
  158. data/doc/changes/2026-02-20-security-implementation.md +281 -0
  159. data/doc/changes/2026-02-20-styles-implementation.md +220 -0
  160. data/doc/changes/2026-02-21-architecture-completion.md +95 -0
  161. data/doc/changes/2026-02-21-architecture-ui-layer.md +253 -0
  162. data/doc/changes/2026-02-21-cc-config-implementation.md +108 -0
  163. data/doc/changes/2026-02-21-ci-pipeline-implementation.md +214 -0
  164. data/doc/changes/2026-02-21-compiler-multi-target-pipeline.md +241 -0
  165. data/doc/changes/2026-02-21-config-design-show-commands.md +61 -0
  166. data/doc/changes/2026-02-21-design-implementation-overview.md +455 -0
  167. data/doc/changes/2026-02-21-lifecycle-management.md +196 -0
  168. data/doc/changes/2026-02-21-path-resolver.md +128 -0
  169. data/doc/changes/2026-02-24-ci-tmpdir-mutant-fetch.md +45 -0
  170. data/doc/changes/2026-03-01-ci-bundler-strategy.md +120 -0
  171. data/doc/changes/2026-03-20-security-hardening-phase2.md +163 -0
  172. data/doc/context/SESSION-HANDOFF.md +69 -0
  173. data/doc/context/ai-engine-usage-trends-2026.md +80 -0
  174. data/doc/context/plan-pluggable-engines.md +590 -0
  175. data/doc/decisions/001-flog-deferred.md +32 -0
  176. data/doc/decisions/002-path-resolution-strategy.md +158 -0
  177. data/doc/decisions/003-ui-adapter-selection.md +193 -0
  178. data/doc/decisions/004-design-document-validation.md +179 -0
  179. data/doc/decisions/005-package-splitting-strategy.md +200 -0
  180. data/doc/decisions/006-multi-engine-architecture.md +147 -0
  181. data/doc/decisions/007-engine-agnostic-pivot.md +219 -0
  182. data/doc/decisions/008-ci-bundler-strategy.md +129 -0
  183. data/doc/decisions/009-core-only-v1-release.md +60 -0
  184. data/doc/decisions/010-engine-debian-packaging.md +66 -0
  185. data/doc/decisions/011-context-aware-cli.md +71 -0
  186. data/doc/dependency_decisions.yml +247 -0
  187. data/doc/issues/001-wrapper-missing-environment-variables.md +197 -0
  188. data/doc/issues/002-embedded-ruby-wrong-prefix.md +217 -0
  189. data/doc/issues/003-smoke-test-false-positive.md +127 -0
  190. data/doc/issues/004-market-research-design-updates.md +109 -0
  191. data/doc/issues/005-compile-scope-coexistence.md +161 -0
  192. data/doc/locales/.gitkeep +0 -0
  193. data/doc/man/rai.1.ronn +505 -0
  194. data/doc/operations/packaging.md +133 -0
  195. data/doc/operations/rosett-ai-release.md +65 -0
  196. data/doc/reference/error-catalog.md +107 -0
  197. data/doc/reference/rosett-ai-technical-reference.pdf +0 -0
  198. data/doc/reference/src/Pictures/cover.jpg +0 -0
  199. data/doc/reference/src/Pictures/head1.jpg +0 -0
  200. data/doc/reference/src/Pictures/head2.jpg +0 -0
  201. data/doc/reference/src/Pictures/head3.jpg +0 -0
  202. data/doc/reference/src/Pictures/head4.jpg +0 -0
  203. data/doc/reference/src/Pictures/head5.jpg +0 -0
  204. data/doc/reference/src/Pictures/head6.jpg +0 -0
  205. data/doc/reference/src/Pictures/head7.jpg +0 -0
  206. data/doc/reference/src/Pictures/head8.jpg +0 -0
  207. data/doc/reference/src/StyleInd.ist +4 -0
  208. data/doc/reference/src/bibliography.bib +79 -0
  209. data/doc/reference/src/main.tex +1288 -0
  210. data/doc/reference/src/structure.tex +303 -0
  211. data/doc/rosett-ai-bookmarks.html +301 -0
  212. data/kitchen.yml +46 -0
  213. data/lib/rosett_ai/adopter/executor_resolver.rb +77 -0
  214. data/lib/rosett_ai/adopter/local_analysis_collector.rb +154 -0
  215. data/lib/rosett_ai/adopter/rule_adopter.rb +254 -0
  216. data/lib/rosett_ai/ai_config/config_compiler.rb +111 -0
  217. data/lib/rosett_ai/ai_config/context_window.rb +55 -0
  218. data/lib/rosett_ai/ai_config/cost_controls.rb +44 -0
  219. data/lib/rosett_ai/ai_config/fallback_chain.rb +64 -0
  220. data/lib/rosett_ai/ai_config/model_router.rb +121 -0
  221. data/lib/rosett_ai/ai_config/validator.rb +45 -0
  222. data/lib/rosett_ai/authorship/attribution_compiler.rb +99 -0
  223. data/lib/rosett_ai/authorship/disclosure_policy.rb +81 -0
  224. data/lib/rosett_ai/authorship/review_validator.rb +39 -0
  225. data/lib/rosett_ai/authorship/trailer_generator.rb +88 -0
  226. data/lib/rosett_ai/backup/compressor.rb +180 -0
  227. data/lib/rosett_ai/backup/destination.rb +91 -0
  228. data/lib/rosett_ai/behaviour/manager.rb +156 -0
  229. data/lib/rosett_ai/compiler/backend.rb +86 -0
  230. data/lib/rosett_ai/compiler/backends/agents_md_backend.rb +80 -0
  231. data/lib/rosett_ai/compiler/backends/claude_backend.rb +88 -0
  232. data/lib/rosett_ai/compiler/backends/generic_backend.rb +15 -0
  233. data/lib/rosett_ai/compiler/behaviour_compiler.rb +40 -0
  234. data/lib/rosett_ai/compiler/capability_checker.rb +104 -0
  235. data/lib/rosett_ai/compiler/compilation_pipeline.rb +361 -0
  236. data/lib/rosett_ai/compiler/compiled_output.rb +39 -0
  237. data/lib/rosett_ai/compiler/locale_compiler.rb +250 -0
  238. data/lib/rosett_ai/compiler/target_profile.rb +112 -0
  239. data/lib/rosett_ai/completion/generator.rb +101 -0
  240. data/lib/rosett_ai/completion/shells/bash_generator.rb +126 -0
  241. data/lib/rosett_ai/completion/shells/fish_generator.rb +78 -0
  242. data/lib/rosett_ai/completion/shells/zsh_generator.rb +126 -0
  243. data/lib/rosett_ai/comply/checkers/cra_checker.rb +102 -0
  244. data/lib/rosett_ai/comply/checkers/license_checker.rb +85 -0
  245. data/lib/rosett_ai/comply/checkers/spdx_header_checker.rb +98 -0
  246. data/lib/rosett_ai/comply/reporter.rb +113 -0
  247. data/lib/rosett_ai/comply/runner.rb +50 -0
  248. data/lib/rosett_ai/composition/circular_dependency_detector.rb +56 -0
  249. data/lib/rosett_ai/composition/composer.rb +158 -0
  250. data/lib/rosett_ai/composition/composition_result.rb +64 -0
  251. data/lib/rosett_ai/composition/conflict_detector.rb +53 -0
  252. data/lib/rosett_ai/composition/lockfile.rb +103 -0
  253. data/lib/rosett_ai/composition/merge_strategy.rb +131 -0
  254. data/lib/rosett_ai/composition/priority_sorter.rb +29 -0
  255. data/lib/rosett_ai/composition/scope_resolver.rb +55 -0
  256. data/lib/rosett_ai/config/compile_result.rb +37 -0
  257. data/lib/rosett_ai/config/compiler.rb +13 -0
  258. data/lib/rosett_ai/config/domain_transformer.rb +13 -0
  259. data/lib/rosett_ai/config/key_map.rb +13 -0
  260. data/lib/rosett_ai/config/masking_secret_resolver.rb +40 -0
  261. data/lib/rosett_ai/config/scope_router.rb +13 -0
  262. data/lib/rosett_ai/config/secret_resolver.rb +125 -0
  263. data/lib/rosett_ai/configuration.rb +119 -0
  264. data/lib/rosett_ai/content/content_client.rb +60 -0
  265. data/lib/rosett_ai/content/pack_installer.rb +117 -0
  266. data/lib/rosett_ai/content/pack_manifest.rb +50 -0
  267. data/lib/rosett_ai/content/pack_registry.rb +68 -0
  268. data/lib/rosett_ai/content_packs/manager.rb +50 -0
  269. data/lib/rosett_ai/dbus/compositor_detector.rb +77 -0
  270. data/lib/rosett_ai/dbus/focus_adapters/base.rb +59 -0
  271. data/lib/rosett_ai/dbus/focus_adapters/gnome_adapter.rb +172 -0
  272. data/lib/rosett_ai/dbus/focus_adapters/hyprland_adapter.rb +77 -0
  273. data/lib/rosett_ai/dbus/focus_adapters/i3_adapter.rb +65 -0
  274. data/lib/rosett_ai/dbus/focus_adapters/kwin_adapter.rb +103 -0
  275. data/lib/rosett_ai/dbus/focus_adapters/x11_adapter.rb +105 -0
  276. data/lib/rosett_ai/dbus/focus_monitor_interface.rb +103 -0
  277. data/lib/rosett_ai/dbus/manager_interface.rb +213 -0
  278. data/lib/rosett_ai/dbus/plugin_manager_interface.rb +169 -0
  279. data/lib/rosett_ai/dbus/rate_limiter.rb +89 -0
  280. data/lib/rosett_ai/dbus/service.rb +121 -0
  281. data/lib/rosett_ai/dbus/status_notifier_interface.rb +79 -0
  282. data/lib/rosett_ai/deprecation.rb +79 -0
  283. data/lib/rosett_ai/desktop/dbus_client.rb +259 -0
  284. data/lib/rosett_ai/desktop/gtk4_app.rb +371 -0
  285. data/lib/rosett_ai/desktop/gtk4_preferences.rb +331 -0
  286. data/lib/rosett_ai/desktop/gui_logger.rb +236 -0
  287. data/lib/rosett_ai/doctor/check.rb +92 -0
  288. data/lib/rosett_ai/doctor/checks/cache_health_check.rb +50 -0
  289. data/lib/rosett_ai/doctor/checks/dbus_availability_check.rb +39 -0
  290. data/lib/rosett_ai/doctor/checks/engine_detection_check.rb +46 -0
  291. data/lib/rosett_ai/doctor/checks/file_permission_check.rb +44 -0
  292. data/lib/rosett_ai/doctor/checks/gem_dependency_check.rb +55 -0
  293. data/lib/rosett_ai/doctor/checks/ruby_version_check.rb +50 -0
  294. data/lib/rosett_ai/doctor/checks/stale_config_nncc_check.rb +57 -0
  295. data/lib/rosett_ai/doctor/checks/stale_home_nncc_check.rb +59 -0
  296. data/lib/rosett_ai/doctor.rb +81 -0
  297. data/lib/rosett_ai/documentation/reference_compiler.rb +122 -0
  298. data/lib/rosett_ai/documentation/translator.rb +62 -0
  299. data/lib/rosett_ai/engines/base_config_compiler.rb +203 -0
  300. data/lib/rosett_ai/engines/detector.rb +63 -0
  301. data/lib/rosett_ai/engines/registry.rb +50 -0
  302. data/lib/rosett_ai/error_handler.rb +139 -0
  303. data/lib/rosett_ai/exit_codes.rb +76 -0
  304. data/lib/rosett_ai/feature_flags.rb +102 -0
  305. data/lib/rosett_ai/formatting.rb +33 -0
  306. data/lib/rosett_ai/gem_consistency_checker.rb +199 -0
  307. data/lib/rosett_ai/git_hooks/chain_detector.rb +86 -0
  308. data/lib/rosett_ai/git_hooks/installer.rb +175 -0
  309. data/lib/rosett_ai/git_hooks/script_generator.rb +125 -0
  310. data/lib/rosett_ai/gitlab/validators/supplementary_gitlab_ci_yaml_validator.rb +79 -0
  311. data/lib/rosett_ai/i18n/locale_resolver.rb +46 -0
  312. data/lib/rosett_ai/i18n/utf8_checker.rb +32 -0
  313. data/lib/rosett_ai/init/config_file_writer.rb +24 -0
  314. data/lib/rosett_ai/init/directory_builder.rb +38 -0
  315. data/lib/rosett_ai/init/file_copier.rb +95 -0
  316. data/lib/rosett_ai/init/global_initializer.rb +28 -0
  317. data/lib/rosett_ai/init/local_initializer.rb +27 -0
  318. data/lib/rosett_ai/init/mcp_registrar.rb +109 -0
  319. data/lib/rosett_ai/init/project_initializer.rb +38 -0
  320. data/lib/rosett_ai/licensing/license_key.rb +139 -0
  321. data/lib/rosett_ai/licensing/license_store.rb +64 -0
  322. data/lib/rosett_ai/licensing/license_validator.rb +60 -0
  323. data/lib/rosett_ai/licensing/tier.rb +42 -0
  324. data/lib/rosett_ai/mcp/admin/auditor.rb +88 -0
  325. data/lib/rosett_ai/mcp/admin/health_checker.rb +81 -0
  326. data/lib/rosett_ai/mcp/admin/registry.rb +100 -0
  327. data/lib/rosett_ai/mcp/admin/schema_validator.rb +63 -0
  328. data/lib/rosett_ai/mcp/enforcement/.gitkeep +0 -0
  329. data/lib/rosett_ai/mcp/enforcement/hook_generator.rb +197 -0
  330. data/lib/rosett_ai/mcp/enforcement/validator.rb +215 -0
  331. data/lib/rosett_ai/mcp/governance.rb +160 -0
  332. data/lib/rosett_ai/mcp/http_security_config.rb +158 -0
  333. data/lib/rosett_ai/mcp/instructions.rb +266 -0
  334. data/lib/rosett_ai/mcp/key_hasher.rb +66 -0
  335. data/lib/rosett_ai/mcp/keyfile.rb +221 -0
  336. data/lib/rosett_ai/mcp/middleware/authentication.rb +146 -0
  337. data/lib/rosett_ai/mcp/middleware/content_type.rb +56 -0
  338. data/lib/rosett_ai/mcp/middleware/cors.rb +83 -0
  339. data/lib/rosett_ai/mcp/middleware/origin_validation.rb +73 -0
  340. data/lib/rosett_ai/mcp/middleware/rate_limit.rb +106 -0
  341. data/lib/rosett_ai/mcp/middleware/request_size.rb +51 -0
  342. data/lib/rosett_ai/mcp/plugins.rb +143 -0
  343. data/lib/rosett_ai/mcp/prompts/compilation_prompt.rb +40 -0
  344. data/lib/rosett_ai/mcp/prompts/compliance_prompt.rb +41 -0
  345. data/lib/rosett_ai/mcp/prompts/diagnostics_prompt.rb +41 -0
  346. data/lib/rosett_ai/mcp/prompts/validation_prompt.rb +41 -0
  347. data/lib/rosett_ai/mcp/resources/behaviour_resource.rb +127 -0
  348. data/lib/rosett_ai/mcp/resources/config_resource.rb +72 -0
  349. data/lib/rosett_ai/mcp/resources/design_resource.rb +58 -0
  350. data/lib/rosett_ai/mcp/resources/hooks_resource.rb +74 -0
  351. data/lib/rosett_ai/mcp/resources/provenance_resource.rb +51 -0
  352. data/lib/rosett_ai/mcp/resources/rules_resource.rb +60 -0
  353. data/lib/rosett_ai/mcp/resources/schema_resource.rb +72 -0
  354. data/lib/rosett_ai/mcp/response_helper.rb +46 -0
  355. data/lib/rosett_ai/mcp/security_logger.rb +60 -0
  356. data/lib/rosett_ai/mcp/server.rb +212 -0
  357. data/lib/rosett_ai/mcp/settings/server_installer.rb +112 -0
  358. data/lib/rosett_ai/mcp/settings/trust_manager.rb +142 -0
  359. data/lib/rosett_ai/mcp/tools/adopt_tool.rb +70 -0
  360. data/lib/rosett_ai/mcp/tools/backup_tool.rb +64 -0
  361. data/lib/rosett_ai/mcp/tools/behaviour_display_tool.rb +72 -0
  362. data/lib/rosett_ai/mcp/tools/behaviour_list_tool.rb +56 -0
  363. data/lib/rosett_ai/mcp/tools/behaviour_manage_tool.rb +114 -0
  364. data/lib/rosett_ai/mcp/tools/behaviour_show_tool.rb +62 -0
  365. data/lib/rosett_ai/mcp/tools/compile_status_tool.rb +122 -0
  366. data/lib/rosett_ai/mcp/tools/compile_tool.rb +191 -0
  367. data/lib/rosett_ai/mcp/tools/comply_tool.rb +79 -0
  368. data/lib/rosett_ai/mcp/tools/config_compile_tool.rb +71 -0
  369. data/lib/rosett_ai/mcp/tools/config_status_tool.rb +79 -0
  370. data/lib/rosett_ai/mcp/tools/content_tool.rb +78 -0
  371. data/lib/rosett_ai/mcp/tools/context_query_tool.rb +156 -0
  372. data/lib/rosett_ai/mcp/tools/design_list_tool.rb +57 -0
  373. data/lib/rosett_ai/mcp/tools/design_show_tool.rb +69 -0
  374. data/lib/rosett_ai/mcp/tools/doctor_tool.rb +62 -0
  375. data/lib/rosett_ai/mcp/tools/documentation_status_tool.rb +45 -0
  376. data/lib/rosett_ai/mcp/tools/engines_tool.rb +84 -0
  377. data/lib/rosett_ai/mcp/tools/hook_install_tool.rb +190 -0
  378. data/lib/rosett_ai/mcp/tools/hook_preview_tool.rb +173 -0
  379. data/lib/rosett_ai/mcp/tools/hooks_status_tool.rb +84 -0
  380. data/lib/rosett_ai/mcp/tools/init_tool.rb +87 -0
  381. data/lib/rosett_ai/mcp/tools/license_status_tool.rb +44 -0
  382. data/lib/rosett_ai/mcp/tools/project_tool.rb +117 -0
  383. data/lib/rosett_ai/mcp/tools/provenance_tool.rb +97 -0
  384. data/lib/rosett_ai/mcp/tools/provenance_write_tool.rb +40 -0
  385. data/lib/rosett_ai/mcp/tools/retrofit_tool.rb +81 -0
  386. data/lib/rosett_ai/mcp/tools/rule_search_tool.rb +163 -0
  387. data/lib/rosett_ai/mcp/tools/schema_get_tool.rb +94 -0
  388. data/lib/rosett_ai/mcp/tools/tooling_tool.rb +86 -0
  389. data/lib/rosett_ai/mcp/tools/validate_tool.rb +105 -0
  390. data/lib/rosett_ai/mcp/tools/workflow_execute_tool.rb +74 -0
  391. data/lib/rosett_ai/mcp/tools/workflow_tool.rb +78 -0
  392. data/lib/rosett_ai/migration/detector.rb +117 -0
  393. data/lib/rosett_ai/migration/nncc_config_migrator.rb +94 -0
  394. data/lib/rosett_ai/migration/nncc_project_migrator.rb +90 -0
  395. data/lib/rosett_ai/migration/xdg_migrator.rb +123 -0
  396. data/lib/rosett_ai/package_manager/apt.rb +108 -0
  397. data/lib/rosett_ai/package_manager/base.rb +68 -0
  398. data/lib/rosett_ai/package_manager/gem_backend.rb +90 -0
  399. data/lib/rosett_ai/packaging/variant_config.rb +92 -0
  400. data/lib/rosett_ai/path_resolver.rb +115 -0
  401. data/lib/rosett_ai/plugins/contract.rb +43 -0
  402. data/lib/rosett_ai/plugins/engine_contract.rb +60 -0
  403. data/lib/rosett_ai/plugins/gui_contract.rb +74 -0
  404. data/lib/rosett_ai/plugins/mcp_contract.rb +48 -0
  405. data/lib/rosett_ai/plugins/registry.rb +150 -0
  406. data/lib/rosett_ai/policy/auditor.rb +41 -0
  407. data/lib/rosett_ai/policy/deny_list.rb +71 -0
  408. data/lib/rosett_ai/policy/opt_out_scanner.rb +37 -0
  409. data/lib/rosett_ai/policy/policy_compiler.rb +84 -0
  410. data/lib/rosett_ai/policy/protected_files.rb +47 -0
  411. data/lib/rosett_ai/policy/tier_hierarchy.rb +48 -0
  412. data/lib/rosett_ai/policy/validator.rb +35 -0
  413. data/lib/rosett_ai/profiler.rb +79 -0
  414. data/lib/rosett_ai/project/drift_detector.rb +126 -0
  415. data/lib/rosett_ai/project/manager.rb +115 -0
  416. data/lib/rosett_ai/project/sync_manager.rb +138 -0
  417. data/lib/rosett_ai/project/template_applier.rb +105 -0
  418. data/lib/rosett_ai/project_context.rb +82 -0
  419. data/lib/rosett_ai/provenance/entry.rb +63 -0
  420. data/lib/rosett_ai/provenance/file_source.rb +32 -0
  421. data/lib/rosett_ai/provenance/source.rb +62 -0
  422. data/lib/rosett_ai/provenance/store.rb +153 -0
  423. data/lib/rosett_ai/provenance/tracker.rb +62 -0
  424. data/lib/rosett_ai/provenance/trailer_generator.rb +43 -0
  425. data/lib/rosett_ai/provenance/validator.rb +45 -0
  426. data/lib/rosett_ai/quorum/collector.rb +59 -0
  427. data/lib/rosett_ai/quorum/comparator.rb +81 -0
  428. data/lib/rosett_ai/quorum/dispatcher.rb +57 -0
  429. data/lib/rosett_ai/quorum/strategies/adopt.rb +56 -0
  430. data/lib/rosett_ai/rai_config.rb +107 -0
  431. data/lib/rosett_ai/retrofit/base_parser.rb +66 -0
  432. data/lib/rosett_ai/retrofit/engine.rb +171 -0
  433. data/lib/rosett_ai/retrofit/parsers/agents_md_parser.rb +50 -0
  434. data/lib/rosett_ai/retrofit/parsers/claude_parser.rb +69 -0
  435. data/lib/rosett_ai/retrofit/parsers/cursor_parser.rb +82 -0
  436. data/lib/rosett_ai/retrofit/round_trip_validator.rb +65 -0
  437. data/lib/rosett_ai/retrofit/scanner.rb +47 -0
  438. data/lib/rosett_ai/retrofit/secret_detector.rb +87 -0
  439. data/lib/rosett_ai/secrets_resolver.rb +71 -0
  440. data/lib/rosett_ai/smart_feedback/suggester.rb +83 -0
  441. data/lib/rosett_ai/smart_feedback/thor_middleware.rb +84 -0
  442. data/lib/rosett_ai/structured_logger.rb +110 -0
  443. data/lib/rosett_ai/telemetry/json_lines_writer.rb +50 -0
  444. data/lib/rosett_ai/telemetry/log_rotator.rb +67 -0
  445. data/lib/rosett_ai/telemetry/provider.rb +26 -0
  446. data/lib/rosett_ai/telemetry/reporter.rb +144 -0
  447. data/lib/rosett_ai/telemetry.rb +47 -0
  448. data/lib/rosett_ai/text_sanitizer.rb +62 -0
  449. data/lib/rosett_ai/thor/cli.rb +269 -0
  450. data/lib/rosett_ai/thor/tasks/adopt.rb +250 -0
  451. data/lib/rosett_ai/thor/tasks/backup.rb +420 -0
  452. data/lib/rosett_ai/thor/tasks/behaviour.rb +474 -0
  453. data/lib/rosett_ai/thor/tasks/build.rb +1162 -0
  454. data/lib/rosett_ai/thor/tasks/compile.rb +415 -0
  455. data/lib/rosett_ai/thor/tasks/completion.rb +123 -0
  456. data/lib/rosett_ai/thor/tasks/comply.rb +82 -0
  457. data/lib/rosett_ai/thor/tasks/config.rb +265 -0
  458. data/lib/rosett_ai/thor/tasks/content.rb +193 -0
  459. data/lib/rosett_ai/thor/tasks/dbus.rb +321 -0
  460. data/lib/rosett_ai/thor/tasks/design.rb +258 -0
  461. data/lib/rosett_ai/thor/tasks/desktop.rb +129 -0
  462. data/lib/rosett_ai/thor/tasks/doctor.rb +127 -0
  463. data/lib/rosett_ai/thor/tasks/documentation.rb +321 -0
  464. data/lib/rosett_ai/thor/tasks/engines.rb +167 -0
  465. data/lib/rosett_ai/thor/tasks/hooks.rb +219 -0
  466. data/lib/rosett_ai/thor/tasks/init.rb +259 -0
  467. data/lib/rosett_ai/thor/tasks/license.rb +120 -0
  468. data/lib/rosett_ai/thor/tasks/mcp.rb +535 -0
  469. data/lib/rosett_ai/thor/tasks/migrate.rb +121 -0
  470. data/lib/rosett_ai/thor/tasks/plugins.rb +157 -0
  471. data/lib/rosett_ai/thor/tasks/project.rb +260 -0
  472. data/lib/rosett_ai/thor/tasks/provenance.rb +195 -0
  473. data/lib/rosett_ai/thor/tasks/release.rb +314 -0
  474. data/lib/rosett_ai/thor/tasks/retrofit.rb +90 -0
  475. data/lib/rosett_ai/thor/tasks/tooling.rb +308 -0
  476. data/lib/rosett_ai/thor/tasks/validate.rb +108 -0
  477. data/lib/rosett_ai/thor/tasks/workflow.rb +196 -0
  478. data/lib/rosett_ai/tooling/ci_yaml_validator.rb +37 -0
  479. data/lib/rosett_ai/tooling/version_checker.rb +35 -0
  480. data/lib/rosett_ai/ui/accessible_tui.rb +61 -0
  481. data/lib/rosett_ai/ui/base.rb +46 -0
  482. data/lib/rosett_ai/ui/gtk4.rb +98 -0
  483. data/lib/rosett_ai/ui/kde.rb +40 -0
  484. data/lib/rosett_ai/ui/qt6.rb +40 -0
  485. data/lib/rosett_ai/ui/registry.rb +60 -0
  486. data/lib/rosett_ai/ui/tty_helper.rb +74 -0
  487. data/lib/rosett_ai/ui/tui.rb +59 -0
  488. data/lib/rosett_ai/validators/behaviour_validator.rb +20 -0
  489. data/lib/rosett_ai/validators/design_validator.rb +17 -0
  490. data/lib/rosett_ai/validators/schema_validator.rb +84 -0
  491. data/lib/rosett_ai/validators/tooling_validator.rb +17 -0
  492. data/lib/rosett_ai/version.rb +8 -0
  493. data/lib/rosett_ai/version_consistency_checker.rb +129 -0
  494. data/lib/rosett_ai/workflow/audit_log.rb +86 -0
  495. data/lib/rosett_ai/workflow/engine.rb +142 -0
  496. data/lib/rosett_ai/workflow/manager.rb +82 -0
  497. data/lib/rosett_ai/workflow/schema_validator.rb +71 -0
  498. data/lib/rosett_ai/workflow/step_runner.rb +61 -0
  499. data/lib/rosett_ai/workflow/steps/prompt_step.rb +62 -0
  500. data/lib/rosett_ai/workflow/steps/rai_step.rb +74 -0
  501. data/lib/rosett_ai/workflow/steps/shell_step.rb +53 -0
  502. data/lib/rosett_ai/yaml_loader.rb +78 -0
  503. data/lib/rosett_ai.rb +221 -0
  504. data/lib/rubocop/cop/rosett_ai/shell_interpolation.rb +54 -0
  505. data/lib/rubocop/cop/rosett_ai/unsafe_const_get.rb +60 -0
  506. data/lib/rubocop/cop/rosett_ai/unsafe_send.rb +50 -0
  507. data/lib/rubocop/cop/rosett_ai/unsafe_yaml_load.rb +40 -0
  508. data/lib/rubocop/rosett_ai.rb +9 -0
  509. data/lib/scripts/generated/docker_hub_tags.rb +126 -0
  510. data/locales/.gitkeep +0 -0
  511. data/locales/ar.yml +579 -0
  512. data/locales/en.yml +571 -0
  513. data/locales/fr.yml +567 -0
  514. data/packaging/build-engine-deb.sh +81 -0
  515. data/packaging/scripts/postinst +17 -0
  516. data/packaging/scripts/postrm +19 -0
  517. data/packaging/scripts/prerm +10 -0
  518. data/packaging/wrapper.sh.template +38 -0
  519. data/rosett-ai.gemspec +63 -0
  520. data/rules/.gitkeep +0 -0
  521. data/scripts/publish/pulp_upload.sh +123 -0
  522. data/settings.json +29 -0
  523. data/share/applications/be.neatnerds.rosettai.desktop +29 -0
  524. data/share/dbus-1/interfaces/be.neatnerds.rosettai.xml +103 -0
  525. data/share/dbus-1/services/be.neatnerds.rosettai.service +3 -0
  526. data/share/templates/behaviour/criticalthinking.yml +69 -0
  527. metadata +810 -0
metadata ADDED
@@ -0,0 +1,810 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rosett-ai
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.3
5
+ platform: ruby
6
+ authors:
7
+ - Hugo Antonio Sepulveda Manriquez
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-04-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ed25519
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.14'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.14'
41
+ - !ruby/object:Gem::Dependency
42
+ name: gettext
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.5'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: i18n
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.14'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.14'
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.19'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.19'
83
+ - !ruby/object:Gem::Dependency
84
+ name: json_schemer
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.5'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.5'
97
+ - !ruby/object:Gem::Dependency
98
+ name: jwt
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.10'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2.10'
111
+ - !ruby/object:Gem::Dependency
112
+ name: jwt-eddsa
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.9'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.9'
125
+ - !ruby/object:Gem::Dependency
126
+ name: paint
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.3'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.3'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rainbow
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.1'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rubyzip
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '2.4'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.4'
167
+ - !ruby/object:Gem::Dependency
168
+ name: terminal-table
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '4.0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '4.0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: thor
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.5'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '1.5'
195
+ - !ruby/object:Gem::Dependency
196
+ name: tty-prompt
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '0.23'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0.23'
209
+ - !ruby/object:Gem::Dependency
210
+ name: tty-spinner
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '0.9'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '0.9'
223
+ - !ruby/object:Gem::Dependency
224
+ name: zeitwerk
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '2.7'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '2.7'
237
+ - !ruby/object:Gem::Dependency
238
+ name: mcp
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 0.9.2
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 0.9.2
251
+ description: Configuration management tool for AI-assisted development workflows.
252
+ Author rules once, compile to Claude Code, Cursor, AGENTS.md, and more.
253
+ email:
254
+ - query@neatnerds.be
255
+ executables:
256
+ - rai
257
+ extensions: []
258
+ extra_rdoc_files: []
259
+ files:
260
+ - ".ai-provenance.yml"
261
+ - ".debride_whitelist"
262
+ - ".fasterer.yml"
263
+ - ".mdl_style.rb"
264
+ - ".mdlrc"
265
+ - ".mutant.yml"
266
+ - ".namespace-allowlist"
267
+ - ".reek.yml"
268
+ - ".rosett-ai/config.yml"
269
+ - ".rspec"
270
+ - ".rubocop.yml"
271
+ - ".ruby-version"
272
+ - ".yamllint"
273
+ - ".yardopts"
274
+ - AI-DISCLOSURE.md
275
+ - CHANGELOG.md
276
+ - CLAUDE.md
277
+ - CONTRIBUTING.md
278
+ - INSTALL.md
279
+ - LICENSE
280
+ - LICENSE.md
281
+ - QUICKSTART.md
282
+ - README.md
283
+ - Rakefile
284
+ - SECURITY.md
285
+ - bin/rai
286
+ - cliff.toml
287
+ - conf/adopt_redactions.yml
288
+ - conf/behaviour/.gitkeep
289
+ - conf/compliance/cra_rules.yml
290
+ - conf/compliance/license_rules.yml
291
+ - conf/design/aaif_alignment.yml
292
+ - conf/design/ab_testing.yml
293
+ - conf/design/accessibility.yml
294
+ - conf/design/ai_authorship.yml
295
+ - conf/design/ai_provenance.yml
296
+ - conf/design/ai_tool_configuration.yml
297
+ - conf/design/architecture.yml
298
+ - conf/design/autocompletion.yml
299
+ - conf/design/backward_compatibility.yml
300
+ - conf/design/behaviour_composition.yml
301
+ - conf/design/build_rake_extraction.yml
302
+ - conf/design/ci_pipeline.yml
303
+ - conf/design/claude_code_configuration.yml
304
+ - conf/design/compiler.yml
305
+ - conf/design/comply.yml
306
+ - conf/design/content_packs.yml
307
+ - conf/design/desktop_integration.yml
308
+ - conf/design/distribution.yml
309
+ - conf/design/doctor.yml
310
+ - conf/design/documentation.yml
311
+ - conf/design/engine_architecture.yml
312
+ - conf/design/error_handling.yml
313
+ - conf/design/feature_flags.yml
314
+ - conf/design/git_hooks.yml
315
+ - conf/design/gui_plugins.yml
316
+ - conf/design/i18n.yml
317
+ - conf/design/integration_testing.yml
318
+ - conf/design/licensing_system.yml
319
+ - conf/design/lifecycle_management.yml
320
+ - conf/design/mcp_integration.yml
321
+ - conf/design/mcp_settings.yml
322
+ - conf/design/migration.yml
323
+ - conf/design/monitoring_observability.yml
324
+ - conf/design/namespace_cleanup.yml
325
+ - conf/design/plugin_test_segregation.yml
326
+ - conf/design/policy_management.yml
327
+ - conf/design/project_management.yml
328
+ - conf/design/rai_mcp_asset_discovery.yml
329
+ - conf/design/rai_mcp_server.yml
330
+ - conf/design/release_management.yml
331
+ - conf/design/retrofit.yml
332
+ - conf/design/retrospective_analyzer.yml
333
+ - conf/design/scope_hierarchy.yml
334
+ - conf/design/security.yml
335
+ - conf/design/session_retrospective.yml
336
+ - conf/design/smart_ui_feedback.yml
337
+ - conf/design/structured_logging.yml
338
+ - conf/design/styles.yml
339
+ - conf/design/test_peer_review.yml
340
+ - conf/design/testing.yml
341
+ - conf/design/threat_model.yml
342
+ - conf/design/ui_framework.yml
343
+ - conf/design/usage_optimization.yml
344
+ - conf/design/version_management.yml
345
+ - conf/design/workflow.yml
346
+ - conf/mcp/server_defaults.yml
347
+ - conf/mcp/trust.yml
348
+ - conf/packaging/core.yml
349
+ - conf/packaging/gtk4.yml
350
+ - conf/packaging/qt6.yml
351
+ - conf/policy/default_deny_list.yml
352
+ - conf/review/cli-command-audit.yml
353
+ - conf/review/design-docs.yml
354
+ - conf/review/design-questionnaire.yml
355
+ - conf/review/questionnaire.yml
356
+ - conf/review/rosett-ai-core.yml
357
+ - conf/schemas/ai_config_schema.json
358
+ - conf/schemas/behaviour_schema.json
359
+ - conf/schemas/compliance_rule_schema.json
360
+ - conf/schemas/content_pack_manifest_schema.json
361
+ - conf/schemas/design_schema.json
362
+ - conf/schemas/engine_manifest_schema.json
363
+ - conf/schemas/lockfile_schema.json
364
+ - conf/schemas/mcp_server_schema.json
365
+ - conf/schemas/packaging_schema.json
366
+ - conf/schemas/policy_schema.json
367
+ - conf/schemas/provenance_schema.json
368
+ - conf/schemas/rai_config_schema.json
369
+ - conf/schemas/rai_project_schema.json
370
+ - conf/schemas/scope_hierarchy_schema.json
371
+ - conf/schemas/target_schema.json
372
+ - conf/schemas/tooling_schema.json
373
+ - conf/schemas/workflow_schema.json
374
+ - conf/targets/agents_md.yml
375
+ - conf/targets/claude.yml
376
+ - conf/tooling/tools.yml
377
+ - dist/rosett-ai-mcp.service
378
+ - dist/rosett-ai-mcp.yml.default
379
+ - doc/AAIF_POSITIONING.md
380
+ - doc/ADOPT.md
381
+ - doc/AI_PROVENANCE.md
382
+ - doc/ARCHITECTURE.md
383
+ - doc/BEHAVIOUR.md
384
+ - doc/BUILD.md
385
+ - doc/CI_CD_RECIPES.md
386
+ - doc/CLAUDE_SESSIONS_MOVED.md
387
+ - doc/COMMAND_ANALYSIS.md
388
+ - doc/CONFIGURATION.md
389
+ - doc/DESIGN_AUDIT.md
390
+ - doc/DESIGN_PEER_REVIEW.md
391
+ - doc/DESKTOP.md
392
+ - doc/ENGINES.md
393
+ - doc/ENGINE_DEVELOPMENT_GUIDE.md
394
+ - doc/FEATURE_AUDIT.md
395
+ - doc/IMPLEMENTATION_PLAN.md
396
+ - doc/INCIDENT_REPORT_2026-02-02.md
397
+ - doc/MIGRATION_GUIDE.md
398
+ - doc/PACKAGING.md
399
+ - doc/PROJECT_DASHBOARD.md
400
+ - doc/PULP_DEPLOYMENT.md
401
+ - doc/QUALITY_FIX_SUMMARY.md
402
+ - doc/QUICK_START.md
403
+ - doc/REEK_CONFIGURATION.md
404
+ - doc/REFERENCE.md
405
+ - doc/REFERENCES.md
406
+ - doc/SECURITY_REVIEW_CHECKLIST.md
407
+ - doc/SESSION_2026-02-28_GTK4_HARDENING.md
408
+ - doc/SETUP.md
409
+ - doc/TEST_PEER_REVIEW.md
410
+ - doc/THREAT_MODEL.md
411
+ - doc/USAGE.md
412
+ - doc/USER_MANUAL.md
413
+ - doc/ai_test_review_checklist.md
414
+ - doc/changes/2026-02-18-packaging-fpm.md
415
+ - doc/changes/2026-02-19-testing-infrastructure.md
416
+ - doc/changes/2026-02-20-security-implementation.md
417
+ - doc/changes/2026-02-20-styles-implementation.md
418
+ - doc/changes/2026-02-21-architecture-completion.md
419
+ - doc/changes/2026-02-21-architecture-ui-layer.md
420
+ - doc/changes/2026-02-21-cc-config-implementation.md
421
+ - doc/changes/2026-02-21-ci-pipeline-implementation.md
422
+ - doc/changes/2026-02-21-compiler-multi-target-pipeline.md
423
+ - doc/changes/2026-02-21-config-design-show-commands.md
424
+ - doc/changes/2026-02-21-design-implementation-overview.md
425
+ - doc/changes/2026-02-21-lifecycle-management.md
426
+ - doc/changes/2026-02-21-path-resolver.md
427
+ - doc/changes/2026-02-24-ci-tmpdir-mutant-fetch.md
428
+ - doc/changes/2026-03-01-ci-bundler-strategy.md
429
+ - doc/changes/2026-03-20-security-hardening-phase2.md
430
+ - doc/context/SESSION-HANDOFF.md
431
+ - doc/context/ai-engine-usage-trends-2026.md
432
+ - doc/context/plan-pluggable-engines.md
433
+ - doc/decisions/001-flog-deferred.md
434
+ - doc/decisions/002-path-resolution-strategy.md
435
+ - doc/decisions/003-ui-adapter-selection.md
436
+ - doc/decisions/004-design-document-validation.md
437
+ - doc/decisions/005-package-splitting-strategy.md
438
+ - doc/decisions/006-multi-engine-architecture.md
439
+ - doc/decisions/007-engine-agnostic-pivot.md
440
+ - doc/decisions/008-ci-bundler-strategy.md
441
+ - doc/decisions/009-core-only-v1-release.md
442
+ - doc/decisions/010-engine-debian-packaging.md
443
+ - doc/decisions/011-context-aware-cli.md
444
+ - doc/dependency_decisions.yml
445
+ - doc/issues/001-wrapper-missing-environment-variables.md
446
+ - doc/issues/002-embedded-ruby-wrong-prefix.md
447
+ - doc/issues/003-smoke-test-false-positive.md
448
+ - doc/issues/004-market-research-design-updates.md
449
+ - doc/issues/005-compile-scope-coexistence.md
450
+ - doc/locales/.gitkeep
451
+ - doc/man/rai.1.ronn
452
+ - doc/operations/packaging.md
453
+ - doc/operations/rosett-ai-release.md
454
+ - doc/reference/error-catalog.md
455
+ - doc/reference/rosett-ai-technical-reference.pdf
456
+ - doc/reference/src/Pictures/cover.jpg
457
+ - doc/reference/src/Pictures/head1.jpg
458
+ - doc/reference/src/Pictures/head2.jpg
459
+ - doc/reference/src/Pictures/head3.jpg
460
+ - doc/reference/src/Pictures/head4.jpg
461
+ - doc/reference/src/Pictures/head5.jpg
462
+ - doc/reference/src/Pictures/head6.jpg
463
+ - doc/reference/src/Pictures/head7.jpg
464
+ - doc/reference/src/Pictures/head8.jpg
465
+ - doc/reference/src/StyleInd.ist
466
+ - doc/reference/src/bibliography.bib
467
+ - doc/reference/src/main.tex
468
+ - doc/reference/src/structure.tex
469
+ - doc/rosett-ai-bookmarks.html
470
+ - kitchen.yml
471
+ - lib/rosett_ai.rb
472
+ - lib/rosett_ai/adopter/executor_resolver.rb
473
+ - lib/rosett_ai/adopter/local_analysis_collector.rb
474
+ - lib/rosett_ai/adopter/rule_adopter.rb
475
+ - lib/rosett_ai/ai_config/config_compiler.rb
476
+ - lib/rosett_ai/ai_config/context_window.rb
477
+ - lib/rosett_ai/ai_config/cost_controls.rb
478
+ - lib/rosett_ai/ai_config/fallback_chain.rb
479
+ - lib/rosett_ai/ai_config/model_router.rb
480
+ - lib/rosett_ai/ai_config/validator.rb
481
+ - lib/rosett_ai/authorship/attribution_compiler.rb
482
+ - lib/rosett_ai/authorship/disclosure_policy.rb
483
+ - lib/rosett_ai/authorship/review_validator.rb
484
+ - lib/rosett_ai/authorship/trailer_generator.rb
485
+ - lib/rosett_ai/backup/compressor.rb
486
+ - lib/rosett_ai/backup/destination.rb
487
+ - lib/rosett_ai/behaviour/manager.rb
488
+ - lib/rosett_ai/compiler/backend.rb
489
+ - lib/rosett_ai/compiler/backends/agents_md_backend.rb
490
+ - lib/rosett_ai/compiler/backends/claude_backend.rb
491
+ - lib/rosett_ai/compiler/backends/generic_backend.rb
492
+ - lib/rosett_ai/compiler/behaviour_compiler.rb
493
+ - lib/rosett_ai/compiler/capability_checker.rb
494
+ - lib/rosett_ai/compiler/compilation_pipeline.rb
495
+ - lib/rosett_ai/compiler/compiled_output.rb
496
+ - lib/rosett_ai/compiler/locale_compiler.rb
497
+ - lib/rosett_ai/compiler/target_profile.rb
498
+ - lib/rosett_ai/completion/generator.rb
499
+ - lib/rosett_ai/completion/shells/bash_generator.rb
500
+ - lib/rosett_ai/completion/shells/fish_generator.rb
501
+ - lib/rosett_ai/completion/shells/zsh_generator.rb
502
+ - lib/rosett_ai/comply/checkers/cra_checker.rb
503
+ - lib/rosett_ai/comply/checkers/license_checker.rb
504
+ - lib/rosett_ai/comply/checkers/spdx_header_checker.rb
505
+ - lib/rosett_ai/comply/reporter.rb
506
+ - lib/rosett_ai/comply/runner.rb
507
+ - lib/rosett_ai/composition/circular_dependency_detector.rb
508
+ - lib/rosett_ai/composition/composer.rb
509
+ - lib/rosett_ai/composition/composition_result.rb
510
+ - lib/rosett_ai/composition/conflict_detector.rb
511
+ - lib/rosett_ai/composition/lockfile.rb
512
+ - lib/rosett_ai/composition/merge_strategy.rb
513
+ - lib/rosett_ai/composition/priority_sorter.rb
514
+ - lib/rosett_ai/composition/scope_resolver.rb
515
+ - lib/rosett_ai/config/compile_result.rb
516
+ - lib/rosett_ai/config/compiler.rb
517
+ - lib/rosett_ai/config/domain_transformer.rb
518
+ - lib/rosett_ai/config/key_map.rb
519
+ - lib/rosett_ai/config/masking_secret_resolver.rb
520
+ - lib/rosett_ai/config/scope_router.rb
521
+ - lib/rosett_ai/config/secret_resolver.rb
522
+ - lib/rosett_ai/configuration.rb
523
+ - lib/rosett_ai/content/content_client.rb
524
+ - lib/rosett_ai/content/pack_installer.rb
525
+ - lib/rosett_ai/content/pack_manifest.rb
526
+ - lib/rosett_ai/content/pack_registry.rb
527
+ - lib/rosett_ai/content_packs/manager.rb
528
+ - lib/rosett_ai/dbus/compositor_detector.rb
529
+ - lib/rosett_ai/dbus/focus_adapters/base.rb
530
+ - lib/rosett_ai/dbus/focus_adapters/gnome_adapter.rb
531
+ - lib/rosett_ai/dbus/focus_adapters/hyprland_adapter.rb
532
+ - lib/rosett_ai/dbus/focus_adapters/i3_adapter.rb
533
+ - lib/rosett_ai/dbus/focus_adapters/kwin_adapter.rb
534
+ - lib/rosett_ai/dbus/focus_adapters/x11_adapter.rb
535
+ - lib/rosett_ai/dbus/focus_monitor_interface.rb
536
+ - lib/rosett_ai/dbus/manager_interface.rb
537
+ - lib/rosett_ai/dbus/plugin_manager_interface.rb
538
+ - lib/rosett_ai/dbus/rate_limiter.rb
539
+ - lib/rosett_ai/dbus/service.rb
540
+ - lib/rosett_ai/dbus/status_notifier_interface.rb
541
+ - lib/rosett_ai/deprecation.rb
542
+ - lib/rosett_ai/desktop/dbus_client.rb
543
+ - lib/rosett_ai/desktop/gtk4_app.rb
544
+ - lib/rosett_ai/desktop/gtk4_preferences.rb
545
+ - lib/rosett_ai/desktop/gui_logger.rb
546
+ - lib/rosett_ai/doctor.rb
547
+ - lib/rosett_ai/doctor/check.rb
548
+ - lib/rosett_ai/doctor/checks/cache_health_check.rb
549
+ - lib/rosett_ai/doctor/checks/dbus_availability_check.rb
550
+ - lib/rosett_ai/doctor/checks/engine_detection_check.rb
551
+ - lib/rosett_ai/doctor/checks/file_permission_check.rb
552
+ - lib/rosett_ai/doctor/checks/gem_dependency_check.rb
553
+ - lib/rosett_ai/doctor/checks/ruby_version_check.rb
554
+ - lib/rosett_ai/doctor/checks/stale_config_nncc_check.rb
555
+ - lib/rosett_ai/doctor/checks/stale_home_nncc_check.rb
556
+ - lib/rosett_ai/documentation/reference_compiler.rb
557
+ - lib/rosett_ai/documentation/translator.rb
558
+ - lib/rosett_ai/engines/base_config_compiler.rb
559
+ - lib/rosett_ai/engines/detector.rb
560
+ - lib/rosett_ai/engines/registry.rb
561
+ - lib/rosett_ai/error_handler.rb
562
+ - lib/rosett_ai/exit_codes.rb
563
+ - lib/rosett_ai/feature_flags.rb
564
+ - lib/rosett_ai/formatting.rb
565
+ - lib/rosett_ai/gem_consistency_checker.rb
566
+ - lib/rosett_ai/git_hooks/chain_detector.rb
567
+ - lib/rosett_ai/git_hooks/installer.rb
568
+ - lib/rosett_ai/git_hooks/script_generator.rb
569
+ - lib/rosett_ai/gitlab/validators/supplementary_gitlab_ci_yaml_validator.rb
570
+ - lib/rosett_ai/i18n/locale_resolver.rb
571
+ - lib/rosett_ai/i18n/utf8_checker.rb
572
+ - lib/rosett_ai/init/config_file_writer.rb
573
+ - lib/rosett_ai/init/directory_builder.rb
574
+ - lib/rosett_ai/init/file_copier.rb
575
+ - lib/rosett_ai/init/global_initializer.rb
576
+ - lib/rosett_ai/init/local_initializer.rb
577
+ - lib/rosett_ai/init/mcp_registrar.rb
578
+ - lib/rosett_ai/init/project_initializer.rb
579
+ - lib/rosett_ai/licensing/license_key.rb
580
+ - lib/rosett_ai/licensing/license_store.rb
581
+ - lib/rosett_ai/licensing/license_validator.rb
582
+ - lib/rosett_ai/licensing/tier.rb
583
+ - lib/rosett_ai/mcp/admin/auditor.rb
584
+ - lib/rosett_ai/mcp/admin/health_checker.rb
585
+ - lib/rosett_ai/mcp/admin/registry.rb
586
+ - lib/rosett_ai/mcp/admin/schema_validator.rb
587
+ - lib/rosett_ai/mcp/enforcement/.gitkeep
588
+ - lib/rosett_ai/mcp/enforcement/hook_generator.rb
589
+ - lib/rosett_ai/mcp/enforcement/validator.rb
590
+ - lib/rosett_ai/mcp/governance.rb
591
+ - lib/rosett_ai/mcp/http_security_config.rb
592
+ - lib/rosett_ai/mcp/instructions.rb
593
+ - lib/rosett_ai/mcp/key_hasher.rb
594
+ - lib/rosett_ai/mcp/keyfile.rb
595
+ - lib/rosett_ai/mcp/middleware/authentication.rb
596
+ - lib/rosett_ai/mcp/middleware/content_type.rb
597
+ - lib/rosett_ai/mcp/middleware/cors.rb
598
+ - lib/rosett_ai/mcp/middleware/origin_validation.rb
599
+ - lib/rosett_ai/mcp/middleware/rate_limit.rb
600
+ - lib/rosett_ai/mcp/middleware/request_size.rb
601
+ - lib/rosett_ai/mcp/plugins.rb
602
+ - lib/rosett_ai/mcp/prompts/compilation_prompt.rb
603
+ - lib/rosett_ai/mcp/prompts/compliance_prompt.rb
604
+ - lib/rosett_ai/mcp/prompts/diagnostics_prompt.rb
605
+ - lib/rosett_ai/mcp/prompts/validation_prompt.rb
606
+ - lib/rosett_ai/mcp/resources/behaviour_resource.rb
607
+ - lib/rosett_ai/mcp/resources/config_resource.rb
608
+ - lib/rosett_ai/mcp/resources/design_resource.rb
609
+ - lib/rosett_ai/mcp/resources/hooks_resource.rb
610
+ - lib/rosett_ai/mcp/resources/provenance_resource.rb
611
+ - lib/rosett_ai/mcp/resources/rules_resource.rb
612
+ - lib/rosett_ai/mcp/resources/schema_resource.rb
613
+ - lib/rosett_ai/mcp/response_helper.rb
614
+ - lib/rosett_ai/mcp/security_logger.rb
615
+ - lib/rosett_ai/mcp/server.rb
616
+ - lib/rosett_ai/mcp/settings/server_installer.rb
617
+ - lib/rosett_ai/mcp/settings/trust_manager.rb
618
+ - lib/rosett_ai/mcp/tools/adopt_tool.rb
619
+ - lib/rosett_ai/mcp/tools/backup_tool.rb
620
+ - lib/rosett_ai/mcp/tools/behaviour_display_tool.rb
621
+ - lib/rosett_ai/mcp/tools/behaviour_list_tool.rb
622
+ - lib/rosett_ai/mcp/tools/behaviour_manage_tool.rb
623
+ - lib/rosett_ai/mcp/tools/behaviour_show_tool.rb
624
+ - lib/rosett_ai/mcp/tools/compile_status_tool.rb
625
+ - lib/rosett_ai/mcp/tools/compile_tool.rb
626
+ - lib/rosett_ai/mcp/tools/comply_tool.rb
627
+ - lib/rosett_ai/mcp/tools/config_compile_tool.rb
628
+ - lib/rosett_ai/mcp/tools/config_status_tool.rb
629
+ - lib/rosett_ai/mcp/tools/content_tool.rb
630
+ - lib/rosett_ai/mcp/tools/context_query_tool.rb
631
+ - lib/rosett_ai/mcp/tools/design_list_tool.rb
632
+ - lib/rosett_ai/mcp/tools/design_show_tool.rb
633
+ - lib/rosett_ai/mcp/tools/doctor_tool.rb
634
+ - lib/rosett_ai/mcp/tools/documentation_status_tool.rb
635
+ - lib/rosett_ai/mcp/tools/engines_tool.rb
636
+ - lib/rosett_ai/mcp/tools/hook_install_tool.rb
637
+ - lib/rosett_ai/mcp/tools/hook_preview_tool.rb
638
+ - lib/rosett_ai/mcp/tools/hooks_status_tool.rb
639
+ - lib/rosett_ai/mcp/tools/init_tool.rb
640
+ - lib/rosett_ai/mcp/tools/license_status_tool.rb
641
+ - lib/rosett_ai/mcp/tools/project_tool.rb
642
+ - lib/rosett_ai/mcp/tools/provenance_tool.rb
643
+ - lib/rosett_ai/mcp/tools/provenance_write_tool.rb
644
+ - lib/rosett_ai/mcp/tools/retrofit_tool.rb
645
+ - lib/rosett_ai/mcp/tools/rule_search_tool.rb
646
+ - lib/rosett_ai/mcp/tools/schema_get_tool.rb
647
+ - lib/rosett_ai/mcp/tools/tooling_tool.rb
648
+ - lib/rosett_ai/mcp/tools/validate_tool.rb
649
+ - lib/rosett_ai/mcp/tools/workflow_execute_tool.rb
650
+ - lib/rosett_ai/mcp/tools/workflow_tool.rb
651
+ - lib/rosett_ai/migration/detector.rb
652
+ - lib/rosett_ai/migration/nncc_config_migrator.rb
653
+ - lib/rosett_ai/migration/nncc_project_migrator.rb
654
+ - lib/rosett_ai/migration/xdg_migrator.rb
655
+ - lib/rosett_ai/package_manager/apt.rb
656
+ - lib/rosett_ai/package_manager/base.rb
657
+ - lib/rosett_ai/package_manager/gem_backend.rb
658
+ - lib/rosett_ai/packaging/variant_config.rb
659
+ - lib/rosett_ai/path_resolver.rb
660
+ - lib/rosett_ai/plugins/contract.rb
661
+ - lib/rosett_ai/plugins/engine_contract.rb
662
+ - lib/rosett_ai/plugins/gui_contract.rb
663
+ - lib/rosett_ai/plugins/mcp_contract.rb
664
+ - lib/rosett_ai/plugins/registry.rb
665
+ - lib/rosett_ai/policy/auditor.rb
666
+ - lib/rosett_ai/policy/deny_list.rb
667
+ - lib/rosett_ai/policy/opt_out_scanner.rb
668
+ - lib/rosett_ai/policy/policy_compiler.rb
669
+ - lib/rosett_ai/policy/protected_files.rb
670
+ - lib/rosett_ai/policy/tier_hierarchy.rb
671
+ - lib/rosett_ai/policy/validator.rb
672
+ - lib/rosett_ai/profiler.rb
673
+ - lib/rosett_ai/project/drift_detector.rb
674
+ - lib/rosett_ai/project/manager.rb
675
+ - lib/rosett_ai/project/sync_manager.rb
676
+ - lib/rosett_ai/project/template_applier.rb
677
+ - lib/rosett_ai/project_context.rb
678
+ - lib/rosett_ai/provenance/entry.rb
679
+ - lib/rosett_ai/provenance/file_source.rb
680
+ - lib/rosett_ai/provenance/source.rb
681
+ - lib/rosett_ai/provenance/store.rb
682
+ - lib/rosett_ai/provenance/tracker.rb
683
+ - lib/rosett_ai/provenance/trailer_generator.rb
684
+ - lib/rosett_ai/provenance/validator.rb
685
+ - lib/rosett_ai/quorum/collector.rb
686
+ - lib/rosett_ai/quorum/comparator.rb
687
+ - lib/rosett_ai/quorum/dispatcher.rb
688
+ - lib/rosett_ai/quorum/strategies/adopt.rb
689
+ - lib/rosett_ai/rai_config.rb
690
+ - lib/rosett_ai/retrofit/base_parser.rb
691
+ - lib/rosett_ai/retrofit/engine.rb
692
+ - lib/rosett_ai/retrofit/parsers/agents_md_parser.rb
693
+ - lib/rosett_ai/retrofit/parsers/claude_parser.rb
694
+ - lib/rosett_ai/retrofit/parsers/cursor_parser.rb
695
+ - lib/rosett_ai/retrofit/round_trip_validator.rb
696
+ - lib/rosett_ai/retrofit/scanner.rb
697
+ - lib/rosett_ai/retrofit/secret_detector.rb
698
+ - lib/rosett_ai/secrets_resolver.rb
699
+ - lib/rosett_ai/smart_feedback/suggester.rb
700
+ - lib/rosett_ai/smart_feedback/thor_middleware.rb
701
+ - lib/rosett_ai/structured_logger.rb
702
+ - lib/rosett_ai/telemetry.rb
703
+ - lib/rosett_ai/telemetry/json_lines_writer.rb
704
+ - lib/rosett_ai/telemetry/log_rotator.rb
705
+ - lib/rosett_ai/telemetry/provider.rb
706
+ - lib/rosett_ai/telemetry/reporter.rb
707
+ - lib/rosett_ai/text_sanitizer.rb
708
+ - lib/rosett_ai/thor/cli.rb
709
+ - lib/rosett_ai/thor/tasks/adopt.rb
710
+ - lib/rosett_ai/thor/tasks/backup.rb
711
+ - lib/rosett_ai/thor/tasks/behaviour.rb
712
+ - lib/rosett_ai/thor/tasks/build.rb
713
+ - lib/rosett_ai/thor/tasks/compile.rb
714
+ - lib/rosett_ai/thor/tasks/completion.rb
715
+ - lib/rosett_ai/thor/tasks/comply.rb
716
+ - lib/rosett_ai/thor/tasks/config.rb
717
+ - lib/rosett_ai/thor/tasks/content.rb
718
+ - lib/rosett_ai/thor/tasks/dbus.rb
719
+ - lib/rosett_ai/thor/tasks/design.rb
720
+ - lib/rosett_ai/thor/tasks/desktop.rb
721
+ - lib/rosett_ai/thor/tasks/doctor.rb
722
+ - lib/rosett_ai/thor/tasks/documentation.rb
723
+ - lib/rosett_ai/thor/tasks/engines.rb
724
+ - lib/rosett_ai/thor/tasks/hooks.rb
725
+ - lib/rosett_ai/thor/tasks/init.rb
726
+ - lib/rosett_ai/thor/tasks/license.rb
727
+ - lib/rosett_ai/thor/tasks/mcp.rb
728
+ - lib/rosett_ai/thor/tasks/migrate.rb
729
+ - lib/rosett_ai/thor/tasks/plugins.rb
730
+ - lib/rosett_ai/thor/tasks/project.rb
731
+ - lib/rosett_ai/thor/tasks/provenance.rb
732
+ - lib/rosett_ai/thor/tasks/release.rb
733
+ - lib/rosett_ai/thor/tasks/retrofit.rb
734
+ - lib/rosett_ai/thor/tasks/tooling.rb
735
+ - lib/rosett_ai/thor/tasks/validate.rb
736
+ - lib/rosett_ai/thor/tasks/workflow.rb
737
+ - lib/rosett_ai/tooling/ci_yaml_validator.rb
738
+ - lib/rosett_ai/tooling/version_checker.rb
739
+ - lib/rosett_ai/ui/accessible_tui.rb
740
+ - lib/rosett_ai/ui/base.rb
741
+ - lib/rosett_ai/ui/gtk4.rb
742
+ - lib/rosett_ai/ui/kde.rb
743
+ - lib/rosett_ai/ui/qt6.rb
744
+ - lib/rosett_ai/ui/registry.rb
745
+ - lib/rosett_ai/ui/tty_helper.rb
746
+ - lib/rosett_ai/ui/tui.rb
747
+ - lib/rosett_ai/validators/behaviour_validator.rb
748
+ - lib/rosett_ai/validators/design_validator.rb
749
+ - lib/rosett_ai/validators/schema_validator.rb
750
+ - lib/rosett_ai/validators/tooling_validator.rb
751
+ - lib/rosett_ai/version.rb
752
+ - lib/rosett_ai/version_consistency_checker.rb
753
+ - lib/rosett_ai/workflow/audit_log.rb
754
+ - lib/rosett_ai/workflow/engine.rb
755
+ - lib/rosett_ai/workflow/manager.rb
756
+ - lib/rosett_ai/workflow/schema_validator.rb
757
+ - lib/rosett_ai/workflow/step_runner.rb
758
+ - lib/rosett_ai/workflow/steps/prompt_step.rb
759
+ - lib/rosett_ai/workflow/steps/rai_step.rb
760
+ - lib/rosett_ai/workflow/steps/shell_step.rb
761
+ - lib/rosett_ai/yaml_loader.rb
762
+ - lib/rubocop/cop/rosett_ai/shell_interpolation.rb
763
+ - lib/rubocop/cop/rosett_ai/unsafe_const_get.rb
764
+ - lib/rubocop/cop/rosett_ai/unsafe_send.rb
765
+ - lib/rubocop/cop/rosett_ai/unsafe_yaml_load.rb
766
+ - lib/rubocop/rosett_ai.rb
767
+ - lib/scripts/generated/docker_hub_tags.rb
768
+ - locales/.gitkeep
769
+ - locales/ar.yml
770
+ - locales/en.yml
771
+ - locales/fr.yml
772
+ - packaging/build-engine-deb.sh
773
+ - packaging/scripts/postinst
774
+ - packaging/scripts/postrm
775
+ - packaging/scripts/prerm
776
+ - packaging/wrapper.sh.template
777
+ - rosett-ai.gemspec
778
+ - rules/.gitkeep
779
+ - scripts/publish/pulp_upload.sh
780
+ - settings.json
781
+ - share/applications/be.neatnerds.rosettai.desktop
782
+ - share/dbus-1/interfaces/be.neatnerds.rosettai.xml
783
+ - share/dbus-1/services/be.neatnerds.rosettai.service
784
+ - share/templates/behaviour/criticalthinking.yml
785
+ homepage: https://gitlab.neatnerds.be/foss/rosett-ai/rosett-ai
786
+ licenses:
787
+ - GPL-3.0-only
788
+ metadata:
789
+ homepage_uri: https://gitlab.neatnerds.be/foss/rosett-ai/rosett-ai
790
+ source_code_uri: https://gitlab.neatnerds.be/foss/rosett-ai/rosett-ai
791
+ post_install_message:
792
+ rdoc_options: []
793
+ require_paths:
794
+ - lib
795
+ required_ruby_version: !ruby/object:Gem::Requirement
796
+ requirements:
797
+ - - ">="
798
+ - !ruby/object:Gem::Version
799
+ version: 3.3.0
800
+ required_rubygems_version: !ruby/object:Gem::Requirement
801
+ requirements:
802
+ - - ">="
803
+ - !ruby/object:Gem::Version
804
+ version: '0'
805
+ requirements: []
806
+ rubygems_version: 3.5.22
807
+ signing_key:
808
+ specification_version: 4
809
+ summary: Rosett-AI — author AI assistant rules once, compile to many
810
+ test_files: []