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.
- checksums.yaml +7 -0
- data/.ai-provenance.yml +119 -0
- data/.debride_whitelist +186 -0
- data/.fasterer.yml +29 -0
- data/.mdl_style.rb +10 -0
- data/.mdlrc +3 -0
- data/.mutant.yml +49 -0
- data/.namespace-allowlist +42 -0
- data/.reek.yml +1040 -0
- data/.rosett-ai/config.yml +3 -0
- data/.rspec +5 -0
- data/.rubocop.yml +380 -0
- data/.ruby-version +1 -0
- data/.yamllint +51 -0
- data/.yardopts +12 -0
- data/AI-DISCLOSURE.md +48 -0
- data/CHANGELOG.md +519 -0
- data/CLAUDE.md +141 -0
- data/CONTRIBUTING.md +734 -0
- data/INSTALL.md +154 -0
- data/LICENSE +674 -0
- data/LICENSE.md +675 -0
- data/QUICKSTART.md +73 -0
- data/README.md +366 -0
- data/Rakefile +200 -0
- data/SECURITY.md +114 -0
- data/bin/rai +1 -0
- data/cliff.toml +52 -0
- data/conf/adopt_redactions.yml +8 -0
- data/conf/behaviour/.gitkeep +0 -0
- data/conf/compliance/cra_rules.yml +25 -0
- data/conf/compliance/license_rules.yml +20 -0
- data/conf/design/aaif_alignment.yml +181 -0
- data/conf/design/ab_testing.yml +172 -0
- data/conf/design/accessibility.yml +84 -0
- data/conf/design/ai_authorship.yml +210 -0
- data/conf/design/ai_provenance.yml +224 -0
- data/conf/design/ai_tool_configuration.yml +207 -0
- data/conf/design/architecture.yml +139 -0
- data/conf/design/autocompletion.yml +115 -0
- data/conf/design/backward_compatibility.yml +112 -0
- data/conf/design/behaviour_composition.yml +246 -0
- data/conf/design/build_rake_extraction.yml +57 -0
- data/conf/design/ci_pipeline.yml +100 -0
- data/conf/design/claude_code_configuration.yml +157 -0
- data/conf/design/compiler.yml +128 -0
- data/conf/design/comply.yml +153 -0
- data/conf/design/content_packs.yml +84 -0
- data/conf/design/desktop_integration.yml +289 -0
- data/conf/design/distribution.yml +216 -0
- data/conf/design/doctor.yml +184 -0
- data/conf/design/documentation.yml +152 -0
- data/conf/design/engine_architecture.yml +257 -0
- data/conf/design/error_handling.yml +103 -0
- data/conf/design/feature_flags.yml +142 -0
- data/conf/design/git_hooks.yml +165 -0
- data/conf/design/gui_plugins.yml +475 -0
- data/conf/design/i18n.yml +84 -0
- data/conf/design/integration_testing.yml +56 -0
- data/conf/design/licensing_system.yml +88 -0
- data/conf/design/lifecycle_management.yml +208 -0
- data/conf/design/mcp_integration.yml +207 -0
- data/conf/design/mcp_settings.yml +126 -0
- data/conf/design/migration.yml +56 -0
- data/conf/design/monitoring_observability.yml +194 -0
- data/conf/design/namespace_cleanup.yml +145 -0
- data/conf/design/plugin_test_segregation.yml +145 -0
- data/conf/design/policy_management.yml +229 -0
- data/conf/design/project_management.yml +183 -0
- data/conf/design/rai_mcp_asset_discovery.yml +164 -0
- data/conf/design/rai_mcp_server.yml +605 -0
- data/conf/design/release_management.yml +117 -0
- data/conf/design/retrofit.yml +199 -0
- data/conf/design/retrospective_analyzer.yml +79 -0
- data/conf/design/scope_hierarchy.yml +352 -0
- data/conf/design/security.yml +115 -0
- data/conf/design/session_retrospective.yml +85 -0
- data/conf/design/smart_ui_feedback.yml +89 -0
- data/conf/design/structured_logging.yml +148 -0
- data/conf/design/styles.yml +123 -0
- data/conf/design/test_peer_review.yml +89 -0
- data/conf/design/testing.yml +136 -0
- data/conf/design/threat_model.yml +108 -0
- data/conf/design/ui_framework.yml +111 -0
- data/conf/design/usage_optimization.yml +122 -0
- data/conf/design/version_management.yml +60 -0
- data/conf/design/workflow.yml +227 -0
- data/conf/mcp/server_defaults.yml +42 -0
- data/conf/mcp/trust.yml +21 -0
- data/conf/packaging/core.yml +12 -0
- data/conf/packaging/gtk4.yml +11 -0
- data/conf/packaging/qt6.yml +11 -0
- data/conf/policy/default_deny_list.yml +197 -0
- data/conf/review/cli-command-audit.yml +857 -0
- data/conf/review/design-docs.yml +1064 -0
- data/conf/review/design-questionnaire.yml +153 -0
- data/conf/review/questionnaire.yml +146 -0
- data/conf/review/rosett-ai-core.yml +2919 -0
- data/conf/schemas/ai_config_schema.json +73 -0
- data/conf/schemas/behaviour_schema.json +132 -0
- data/conf/schemas/compliance_rule_schema.json +63 -0
- data/conf/schemas/content_pack_manifest_schema.json +51 -0
- data/conf/schemas/design_schema.json +210 -0
- data/conf/schemas/engine_manifest_schema.json +144 -0
- data/conf/schemas/lockfile_schema.json +74 -0
- data/conf/schemas/mcp_server_schema.json +48 -0
- data/conf/schemas/packaging_schema.json +70 -0
- data/conf/schemas/policy_schema.json +85 -0
- data/conf/schemas/provenance_schema.json +84 -0
- data/conf/schemas/rai_config_schema.json +56 -0
- data/conf/schemas/rai_project_schema.json +20 -0
- data/conf/schemas/scope_hierarchy_schema.json +49 -0
- data/conf/schemas/target_schema.json +67 -0
- data/conf/schemas/tooling_schema.json +65 -0
- data/conf/schemas/workflow_schema.json +112 -0
- data/conf/targets/agents_md.yml +17 -0
- data/conf/targets/claude.yml +12 -0
- data/conf/tooling/tools.yml +58 -0
- data/dist/rosett-ai-mcp.service +48 -0
- data/dist/rosett-ai-mcp.yml.default +45 -0
- data/doc/AAIF_POSITIONING.md +58 -0
- data/doc/ADOPT.md +224 -0
- data/doc/AI_PROVENANCE.md +139 -0
- data/doc/ARCHITECTURE.md +920 -0
- data/doc/BEHAVIOUR.md +409 -0
- data/doc/BUILD.md +138 -0
- data/doc/CI_CD_RECIPES.md +171 -0
- data/doc/CLAUDE_SESSIONS_MOVED.md +16 -0
- data/doc/COMMAND_ANALYSIS.md +229 -0
- data/doc/CONFIGURATION.md +281 -0
- data/doc/DESIGN_AUDIT.md +235 -0
- data/doc/DESIGN_PEER_REVIEW.md +771 -0
- data/doc/DESKTOP.md +447 -0
- data/doc/ENGINES.md +567 -0
- data/doc/ENGINE_DEVELOPMENT_GUIDE.md +417 -0
- data/doc/FEATURE_AUDIT.md +218 -0
- data/doc/IMPLEMENTATION_PLAN.md +669 -0
- data/doc/INCIDENT_REPORT_2026-02-02.md +251 -0
- data/doc/MIGRATION_GUIDE.md +88 -0
- data/doc/PACKAGING.md +232 -0
- data/doc/PROJECT_DASHBOARD.md +153 -0
- data/doc/PULP_DEPLOYMENT.md +164 -0
- data/doc/QUALITY_FIX_SUMMARY.md +110 -0
- data/doc/QUICK_START.md +162 -0
- data/doc/REEK_CONFIGURATION.md +166 -0
- data/doc/REFERENCE.md +253 -0
- data/doc/REFERENCES.md +324 -0
- data/doc/SECURITY_REVIEW_CHECKLIST.md +72 -0
- data/doc/SESSION_2026-02-28_GTK4_HARDENING.md +359 -0
- data/doc/SETUP.md +202 -0
- data/doc/TEST_PEER_REVIEW.md +152 -0
- data/doc/THREAT_MODEL.md +230 -0
- data/doc/USAGE.md +545 -0
- data/doc/USER_MANUAL.md +585 -0
- data/doc/ai_test_review_checklist.md +110 -0
- data/doc/changes/2026-02-18-packaging-fpm.md +155 -0
- data/doc/changes/2026-02-19-testing-infrastructure.md +221 -0
- data/doc/changes/2026-02-20-security-implementation.md +281 -0
- data/doc/changes/2026-02-20-styles-implementation.md +220 -0
- data/doc/changes/2026-02-21-architecture-completion.md +95 -0
- data/doc/changes/2026-02-21-architecture-ui-layer.md +253 -0
- data/doc/changes/2026-02-21-cc-config-implementation.md +108 -0
- data/doc/changes/2026-02-21-ci-pipeline-implementation.md +214 -0
- data/doc/changes/2026-02-21-compiler-multi-target-pipeline.md +241 -0
- data/doc/changes/2026-02-21-config-design-show-commands.md +61 -0
- data/doc/changes/2026-02-21-design-implementation-overview.md +455 -0
- data/doc/changes/2026-02-21-lifecycle-management.md +196 -0
- data/doc/changes/2026-02-21-path-resolver.md +128 -0
- data/doc/changes/2026-02-24-ci-tmpdir-mutant-fetch.md +45 -0
- data/doc/changes/2026-03-01-ci-bundler-strategy.md +120 -0
- data/doc/changes/2026-03-20-security-hardening-phase2.md +163 -0
- data/doc/context/SESSION-HANDOFF.md +69 -0
- data/doc/context/ai-engine-usage-trends-2026.md +80 -0
- data/doc/context/plan-pluggable-engines.md +590 -0
- data/doc/decisions/001-flog-deferred.md +32 -0
- data/doc/decisions/002-path-resolution-strategy.md +158 -0
- data/doc/decisions/003-ui-adapter-selection.md +193 -0
- data/doc/decisions/004-design-document-validation.md +179 -0
- data/doc/decisions/005-package-splitting-strategy.md +200 -0
- data/doc/decisions/006-multi-engine-architecture.md +147 -0
- data/doc/decisions/007-engine-agnostic-pivot.md +219 -0
- data/doc/decisions/008-ci-bundler-strategy.md +129 -0
- data/doc/decisions/009-core-only-v1-release.md +60 -0
- data/doc/decisions/010-engine-debian-packaging.md +66 -0
- data/doc/decisions/011-context-aware-cli.md +71 -0
- data/doc/dependency_decisions.yml +247 -0
- data/doc/issues/001-wrapper-missing-environment-variables.md +197 -0
- data/doc/issues/002-embedded-ruby-wrong-prefix.md +217 -0
- data/doc/issues/003-smoke-test-false-positive.md +127 -0
- data/doc/issues/004-market-research-design-updates.md +109 -0
- data/doc/issues/005-compile-scope-coexistence.md +161 -0
- data/doc/locales/.gitkeep +0 -0
- data/doc/man/rai.1.ronn +505 -0
- data/doc/operations/packaging.md +133 -0
- data/doc/operations/rosett-ai-release.md +65 -0
- data/doc/reference/error-catalog.md +107 -0
- data/doc/reference/rosett-ai-technical-reference.pdf +0 -0
- data/doc/reference/src/Pictures/cover.jpg +0 -0
- data/doc/reference/src/Pictures/head1.jpg +0 -0
- data/doc/reference/src/Pictures/head2.jpg +0 -0
- data/doc/reference/src/Pictures/head3.jpg +0 -0
- data/doc/reference/src/Pictures/head4.jpg +0 -0
- data/doc/reference/src/Pictures/head5.jpg +0 -0
- data/doc/reference/src/Pictures/head6.jpg +0 -0
- data/doc/reference/src/Pictures/head7.jpg +0 -0
- data/doc/reference/src/Pictures/head8.jpg +0 -0
- data/doc/reference/src/StyleInd.ist +4 -0
- data/doc/reference/src/bibliography.bib +79 -0
- data/doc/reference/src/main.tex +1288 -0
- data/doc/reference/src/structure.tex +303 -0
- data/doc/rosett-ai-bookmarks.html +301 -0
- data/kitchen.yml +46 -0
- data/lib/rosett_ai/adopter/executor_resolver.rb +77 -0
- data/lib/rosett_ai/adopter/local_analysis_collector.rb +154 -0
- data/lib/rosett_ai/adopter/rule_adopter.rb +254 -0
- data/lib/rosett_ai/ai_config/config_compiler.rb +111 -0
- data/lib/rosett_ai/ai_config/context_window.rb +55 -0
- data/lib/rosett_ai/ai_config/cost_controls.rb +44 -0
- data/lib/rosett_ai/ai_config/fallback_chain.rb +64 -0
- data/lib/rosett_ai/ai_config/model_router.rb +121 -0
- data/lib/rosett_ai/ai_config/validator.rb +45 -0
- data/lib/rosett_ai/authorship/attribution_compiler.rb +99 -0
- data/lib/rosett_ai/authorship/disclosure_policy.rb +81 -0
- data/lib/rosett_ai/authorship/review_validator.rb +39 -0
- data/lib/rosett_ai/authorship/trailer_generator.rb +88 -0
- data/lib/rosett_ai/backup/compressor.rb +180 -0
- data/lib/rosett_ai/backup/destination.rb +91 -0
- data/lib/rosett_ai/behaviour/manager.rb +156 -0
- data/lib/rosett_ai/compiler/backend.rb +86 -0
- data/lib/rosett_ai/compiler/backends/agents_md_backend.rb +80 -0
- data/lib/rosett_ai/compiler/backends/claude_backend.rb +88 -0
- data/lib/rosett_ai/compiler/backends/generic_backend.rb +15 -0
- data/lib/rosett_ai/compiler/behaviour_compiler.rb +40 -0
- data/lib/rosett_ai/compiler/capability_checker.rb +104 -0
- data/lib/rosett_ai/compiler/compilation_pipeline.rb +361 -0
- data/lib/rosett_ai/compiler/compiled_output.rb +39 -0
- data/lib/rosett_ai/compiler/locale_compiler.rb +250 -0
- data/lib/rosett_ai/compiler/target_profile.rb +112 -0
- data/lib/rosett_ai/completion/generator.rb +101 -0
- data/lib/rosett_ai/completion/shells/bash_generator.rb +126 -0
- data/lib/rosett_ai/completion/shells/fish_generator.rb +78 -0
- data/lib/rosett_ai/completion/shells/zsh_generator.rb +126 -0
- data/lib/rosett_ai/comply/checkers/cra_checker.rb +102 -0
- data/lib/rosett_ai/comply/checkers/license_checker.rb +85 -0
- data/lib/rosett_ai/comply/checkers/spdx_header_checker.rb +98 -0
- data/lib/rosett_ai/comply/reporter.rb +113 -0
- data/lib/rosett_ai/comply/runner.rb +50 -0
- data/lib/rosett_ai/composition/circular_dependency_detector.rb +56 -0
- data/lib/rosett_ai/composition/composer.rb +158 -0
- data/lib/rosett_ai/composition/composition_result.rb +64 -0
- data/lib/rosett_ai/composition/conflict_detector.rb +53 -0
- data/lib/rosett_ai/composition/lockfile.rb +103 -0
- data/lib/rosett_ai/composition/merge_strategy.rb +131 -0
- data/lib/rosett_ai/composition/priority_sorter.rb +29 -0
- data/lib/rosett_ai/composition/scope_resolver.rb +55 -0
- data/lib/rosett_ai/config/compile_result.rb +37 -0
- data/lib/rosett_ai/config/compiler.rb +13 -0
- data/lib/rosett_ai/config/domain_transformer.rb +13 -0
- data/lib/rosett_ai/config/key_map.rb +13 -0
- data/lib/rosett_ai/config/masking_secret_resolver.rb +40 -0
- data/lib/rosett_ai/config/scope_router.rb +13 -0
- data/lib/rosett_ai/config/secret_resolver.rb +125 -0
- data/lib/rosett_ai/configuration.rb +119 -0
- data/lib/rosett_ai/content/content_client.rb +60 -0
- data/lib/rosett_ai/content/pack_installer.rb +117 -0
- data/lib/rosett_ai/content/pack_manifest.rb +50 -0
- data/lib/rosett_ai/content/pack_registry.rb +68 -0
- data/lib/rosett_ai/content_packs/manager.rb +50 -0
- data/lib/rosett_ai/dbus/compositor_detector.rb +77 -0
- data/lib/rosett_ai/dbus/focus_adapters/base.rb +59 -0
- data/lib/rosett_ai/dbus/focus_adapters/gnome_adapter.rb +172 -0
- data/lib/rosett_ai/dbus/focus_adapters/hyprland_adapter.rb +77 -0
- data/lib/rosett_ai/dbus/focus_adapters/i3_adapter.rb +65 -0
- data/lib/rosett_ai/dbus/focus_adapters/kwin_adapter.rb +103 -0
- data/lib/rosett_ai/dbus/focus_adapters/x11_adapter.rb +105 -0
- data/lib/rosett_ai/dbus/focus_monitor_interface.rb +103 -0
- data/lib/rosett_ai/dbus/manager_interface.rb +213 -0
- data/lib/rosett_ai/dbus/plugin_manager_interface.rb +169 -0
- data/lib/rosett_ai/dbus/rate_limiter.rb +89 -0
- data/lib/rosett_ai/dbus/service.rb +121 -0
- data/lib/rosett_ai/dbus/status_notifier_interface.rb +79 -0
- data/lib/rosett_ai/deprecation.rb +79 -0
- data/lib/rosett_ai/desktop/dbus_client.rb +259 -0
- data/lib/rosett_ai/desktop/gtk4_app.rb +371 -0
- data/lib/rosett_ai/desktop/gtk4_preferences.rb +331 -0
- data/lib/rosett_ai/desktop/gui_logger.rb +236 -0
- data/lib/rosett_ai/doctor/check.rb +92 -0
- data/lib/rosett_ai/doctor/checks/cache_health_check.rb +50 -0
- data/lib/rosett_ai/doctor/checks/dbus_availability_check.rb +39 -0
- data/lib/rosett_ai/doctor/checks/engine_detection_check.rb +46 -0
- data/lib/rosett_ai/doctor/checks/file_permission_check.rb +44 -0
- data/lib/rosett_ai/doctor/checks/gem_dependency_check.rb +55 -0
- data/lib/rosett_ai/doctor/checks/ruby_version_check.rb +50 -0
- data/lib/rosett_ai/doctor/checks/stale_config_nncc_check.rb +57 -0
- data/lib/rosett_ai/doctor/checks/stale_home_nncc_check.rb +59 -0
- data/lib/rosett_ai/doctor.rb +81 -0
- data/lib/rosett_ai/documentation/reference_compiler.rb +122 -0
- data/lib/rosett_ai/documentation/translator.rb +62 -0
- data/lib/rosett_ai/engines/base_config_compiler.rb +203 -0
- data/lib/rosett_ai/engines/detector.rb +63 -0
- data/lib/rosett_ai/engines/registry.rb +50 -0
- data/lib/rosett_ai/error_handler.rb +139 -0
- data/lib/rosett_ai/exit_codes.rb +76 -0
- data/lib/rosett_ai/feature_flags.rb +102 -0
- data/lib/rosett_ai/formatting.rb +33 -0
- data/lib/rosett_ai/gem_consistency_checker.rb +199 -0
- data/lib/rosett_ai/git_hooks/chain_detector.rb +86 -0
- data/lib/rosett_ai/git_hooks/installer.rb +175 -0
- data/lib/rosett_ai/git_hooks/script_generator.rb +125 -0
- data/lib/rosett_ai/gitlab/validators/supplementary_gitlab_ci_yaml_validator.rb +79 -0
- data/lib/rosett_ai/i18n/locale_resolver.rb +46 -0
- data/lib/rosett_ai/i18n/utf8_checker.rb +32 -0
- data/lib/rosett_ai/init/config_file_writer.rb +24 -0
- data/lib/rosett_ai/init/directory_builder.rb +38 -0
- data/lib/rosett_ai/init/file_copier.rb +95 -0
- data/lib/rosett_ai/init/global_initializer.rb +28 -0
- data/lib/rosett_ai/init/local_initializer.rb +27 -0
- data/lib/rosett_ai/init/mcp_registrar.rb +109 -0
- data/lib/rosett_ai/init/project_initializer.rb +38 -0
- data/lib/rosett_ai/licensing/license_key.rb +139 -0
- data/lib/rosett_ai/licensing/license_store.rb +64 -0
- data/lib/rosett_ai/licensing/license_validator.rb +60 -0
- data/lib/rosett_ai/licensing/tier.rb +42 -0
- data/lib/rosett_ai/mcp/admin/auditor.rb +88 -0
- data/lib/rosett_ai/mcp/admin/health_checker.rb +81 -0
- data/lib/rosett_ai/mcp/admin/registry.rb +100 -0
- data/lib/rosett_ai/mcp/admin/schema_validator.rb +63 -0
- data/lib/rosett_ai/mcp/enforcement/.gitkeep +0 -0
- data/lib/rosett_ai/mcp/enforcement/hook_generator.rb +197 -0
- data/lib/rosett_ai/mcp/enforcement/validator.rb +215 -0
- data/lib/rosett_ai/mcp/governance.rb +160 -0
- data/lib/rosett_ai/mcp/http_security_config.rb +158 -0
- data/lib/rosett_ai/mcp/instructions.rb +266 -0
- data/lib/rosett_ai/mcp/key_hasher.rb +66 -0
- data/lib/rosett_ai/mcp/keyfile.rb +221 -0
- data/lib/rosett_ai/mcp/middleware/authentication.rb +146 -0
- data/lib/rosett_ai/mcp/middleware/content_type.rb +56 -0
- data/lib/rosett_ai/mcp/middleware/cors.rb +83 -0
- data/lib/rosett_ai/mcp/middleware/origin_validation.rb +73 -0
- data/lib/rosett_ai/mcp/middleware/rate_limit.rb +106 -0
- data/lib/rosett_ai/mcp/middleware/request_size.rb +51 -0
- data/lib/rosett_ai/mcp/plugins.rb +143 -0
- data/lib/rosett_ai/mcp/prompts/compilation_prompt.rb +40 -0
- data/lib/rosett_ai/mcp/prompts/compliance_prompt.rb +41 -0
- data/lib/rosett_ai/mcp/prompts/diagnostics_prompt.rb +41 -0
- data/lib/rosett_ai/mcp/prompts/validation_prompt.rb +41 -0
- data/lib/rosett_ai/mcp/resources/behaviour_resource.rb +127 -0
- data/lib/rosett_ai/mcp/resources/config_resource.rb +72 -0
- data/lib/rosett_ai/mcp/resources/design_resource.rb +58 -0
- data/lib/rosett_ai/mcp/resources/hooks_resource.rb +74 -0
- data/lib/rosett_ai/mcp/resources/provenance_resource.rb +51 -0
- data/lib/rosett_ai/mcp/resources/rules_resource.rb +60 -0
- data/lib/rosett_ai/mcp/resources/schema_resource.rb +72 -0
- data/lib/rosett_ai/mcp/response_helper.rb +46 -0
- data/lib/rosett_ai/mcp/security_logger.rb +60 -0
- data/lib/rosett_ai/mcp/server.rb +212 -0
- data/lib/rosett_ai/mcp/settings/server_installer.rb +112 -0
- data/lib/rosett_ai/mcp/settings/trust_manager.rb +142 -0
- data/lib/rosett_ai/mcp/tools/adopt_tool.rb +70 -0
- data/lib/rosett_ai/mcp/tools/backup_tool.rb +64 -0
- data/lib/rosett_ai/mcp/tools/behaviour_display_tool.rb +72 -0
- data/lib/rosett_ai/mcp/tools/behaviour_list_tool.rb +56 -0
- data/lib/rosett_ai/mcp/tools/behaviour_manage_tool.rb +114 -0
- data/lib/rosett_ai/mcp/tools/behaviour_show_tool.rb +62 -0
- data/lib/rosett_ai/mcp/tools/compile_status_tool.rb +122 -0
- data/lib/rosett_ai/mcp/tools/compile_tool.rb +191 -0
- data/lib/rosett_ai/mcp/tools/comply_tool.rb +79 -0
- data/lib/rosett_ai/mcp/tools/config_compile_tool.rb +71 -0
- data/lib/rosett_ai/mcp/tools/config_status_tool.rb +79 -0
- data/lib/rosett_ai/mcp/tools/content_tool.rb +78 -0
- data/lib/rosett_ai/mcp/tools/context_query_tool.rb +156 -0
- data/lib/rosett_ai/mcp/tools/design_list_tool.rb +57 -0
- data/lib/rosett_ai/mcp/tools/design_show_tool.rb +69 -0
- data/lib/rosett_ai/mcp/tools/doctor_tool.rb +62 -0
- data/lib/rosett_ai/mcp/tools/documentation_status_tool.rb +45 -0
- data/lib/rosett_ai/mcp/tools/engines_tool.rb +84 -0
- data/lib/rosett_ai/mcp/tools/hook_install_tool.rb +190 -0
- data/lib/rosett_ai/mcp/tools/hook_preview_tool.rb +173 -0
- data/lib/rosett_ai/mcp/tools/hooks_status_tool.rb +84 -0
- data/lib/rosett_ai/mcp/tools/init_tool.rb +87 -0
- data/lib/rosett_ai/mcp/tools/license_status_tool.rb +44 -0
- data/lib/rosett_ai/mcp/tools/project_tool.rb +117 -0
- data/lib/rosett_ai/mcp/tools/provenance_tool.rb +97 -0
- data/lib/rosett_ai/mcp/tools/provenance_write_tool.rb +40 -0
- data/lib/rosett_ai/mcp/tools/retrofit_tool.rb +81 -0
- data/lib/rosett_ai/mcp/tools/rule_search_tool.rb +163 -0
- data/lib/rosett_ai/mcp/tools/schema_get_tool.rb +94 -0
- data/lib/rosett_ai/mcp/tools/tooling_tool.rb +86 -0
- data/lib/rosett_ai/mcp/tools/validate_tool.rb +105 -0
- data/lib/rosett_ai/mcp/tools/workflow_execute_tool.rb +74 -0
- data/lib/rosett_ai/mcp/tools/workflow_tool.rb +78 -0
- data/lib/rosett_ai/migration/detector.rb +117 -0
- data/lib/rosett_ai/migration/nncc_config_migrator.rb +94 -0
- data/lib/rosett_ai/migration/nncc_project_migrator.rb +90 -0
- data/lib/rosett_ai/migration/xdg_migrator.rb +123 -0
- data/lib/rosett_ai/package_manager/apt.rb +108 -0
- data/lib/rosett_ai/package_manager/base.rb +68 -0
- data/lib/rosett_ai/package_manager/gem_backend.rb +90 -0
- data/lib/rosett_ai/packaging/variant_config.rb +92 -0
- data/lib/rosett_ai/path_resolver.rb +115 -0
- data/lib/rosett_ai/plugins/contract.rb +43 -0
- data/lib/rosett_ai/plugins/engine_contract.rb +60 -0
- data/lib/rosett_ai/plugins/gui_contract.rb +74 -0
- data/lib/rosett_ai/plugins/mcp_contract.rb +48 -0
- data/lib/rosett_ai/plugins/registry.rb +150 -0
- data/lib/rosett_ai/policy/auditor.rb +41 -0
- data/lib/rosett_ai/policy/deny_list.rb +71 -0
- data/lib/rosett_ai/policy/opt_out_scanner.rb +37 -0
- data/lib/rosett_ai/policy/policy_compiler.rb +84 -0
- data/lib/rosett_ai/policy/protected_files.rb +47 -0
- data/lib/rosett_ai/policy/tier_hierarchy.rb +48 -0
- data/lib/rosett_ai/policy/validator.rb +35 -0
- data/lib/rosett_ai/profiler.rb +79 -0
- data/lib/rosett_ai/project/drift_detector.rb +126 -0
- data/lib/rosett_ai/project/manager.rb +115 -0
- data/lib/rosett_ai/project/sync_manager.rb +138 -0
- data/lib/rosett_ai/project/template_applier.rb +105 -0
- data/lib/rosett_ai/project_context.rb +82 -0
- data/lib/rosett_ai/provenance/entry.rb +63 -0
- data/lib/rosett_ai/provenance/file_source.rb +32 -0
- data/lib/rosett_ai/provenance/source.rb +62 -0
- data/lib/rosett_ai/provenance/store.rb +153 -0
- data/lib/rosett_ai/provenance/tracker.rb +62 -0
- data/lib/rosett_ai/provenance/trailer_generator.rb +43 -0
- data/lib/rosett_ai/provenance/validator.rb +45 -0
- data/lib/rosett_ai/quorum/collector.rb +59 -0
- data/lib/rosett_ai/quorum/comparator.rb +81 -0
- data/lib/rosett_ai/quorum/dispatcher.rb +57 -0
- data/lib/rosett_ai/quorum/strategies/adopt.rb +56 -0
- data/lib/rosett_ai/rai_config.rb +107 -0
- data/lib/rosett_ai/retrofit/base_parser.rb +66 -0
- data/lib/rosett_ai/retrofit/engine.rb +171 -0
- data/lib/rosett_ai/retrofit/parsers/agents_md_parser.rb +50 -0
- data/lib/rosett_ai/retrofit/parsers/claude_parser.rb +69 -0
- data/lib/rosett_ai/retrofit/parsers/cursor_parser.rb +82 -0
- data/lib/rosett_ai/retrofit/round_trip_validator.rb +65 -0
- data/lib/rosett_ai/retrofit/scanner.rb +47 -0
- data/lib/rosett_ai/retrofit/secret_detector.rb +87 -0
- data/lib/rosett_ai/secrets_resolver.rb +71 -0
- data/lib/rosett_ai/smart_feedback/suggester.rb +83 -0
- data/lib/rosett_ai/smart_feedback/thor_middleware.rb +84 -0
- data/lib/rosett_ai/structured_logger.rb +110 -0
- data/lib/rosett_ai/telemetry/json_lines_writer.rb +50 -0
- data/lib/rosett_ai/telemetry/log_rotator.rb +67 -0
- data/lib/rosett_ai/telemetry/provider.rb +26 -0
- data/lib/rosett_ai/telemetry/reporter.rb +144 -0
- data/lib/rosett_ai/telemetry.rb +47 -0
- data/lib/rosett_ai/text_sanitizer.rb +62 -0
- data/lib/rosett_ai/thor/cli.rb +269 -0
- data/lib/rosett_ai/thor/tasks/adopt.rb +250 -0
- data/lib/rosett_ai/thor/tasks/backup.rb +420 -0
- data/lib/rosett_ai/thor/tasks/behaviour.rb +474 -0
- data/lib/rosett_ai/thor/tasks/build.rb +1162 -0
- data/lib/rosett_ai/thor/tasks/compile.rb +415 -0
- data/lib/rosett_ai/thor/tasks/completion.rb +123 -0
- data/lib/rosett_ai/thor/tasks/comply.rb +82 -0
- data/lib/rosett_ai/thor/tasks/config.rb +265 -0
- data/lib/rosett_ai/thor/tasks/content.rb +193 -0
- data/lib/rosett_ai/thor/tasks/dbus.rb +321 -0
- data/lib/rosett_ai/thor/tasks/design.rb +258 -0
- data/lib/rosett_ai/thor/tasks/desktop.rb +129 -0
- data/lib/rosett_ai/thor/tasks/doctor.rb +127 -0
- data/lib/rosett_ai/thor/tasks/documentation.rb +321 -0
- data/lib/rosett_ai/thor/tasks/engines.rb +167 -0
- data/lib/rosett_ai/thor/tasks/hooks.rb +219 -0
- data/lib/rosett_ai/thor/tasks/init.rb +259 -0
- data/lib/rosett_ai/thor/tasks/license.rb +120 -0
- data/lib/rosett_ai/thor/tasks/mcp.rb +535 -0
- data/lib/rosett_ai/thor/tasks/migrate.rb +121 -0
- data/lib/rosett_ai/thor/tasks/plugins.rb +157 -0
- data/lib/rosett_ai/thor/tasks/project.rb +260 -0
- data/lib/rosett_ai/thor/tasks/provenance.rb +195 -0
- data/lib/rosett_ai/thor/tasks/release.rb +314 -0
- data/lib/rosett_ai/thor/tasks/retrofit.rb +90 -0
- data/lib/rosett_ai/thor/tasks/tooling.rb +308 -0
- data/lib/rosett_ai/thor/tasks/validate.rb +108 -0
- data/lib/rosett_ai/thor/tasks/workflow.rb +196 -0
- data/lib/rosett_ai/tooling/ci_yaml_validator.rb +37 -0
- data/lib/rosett_ai/tooling/version_checker.rb +35 -0
- data/lib/rosett_ai/ui/accessible_tui.rb +61 -0
- data/lib/rosett_ai/ui/base.rb +46 -0
- data/lib/rosett_ai/ui/gtk4.rb +98 -0
- data/lib/rosett_ai/ui/kde.rb +40 -0
- data/lib/rosett_ai/ui/qt6.rb +40 -0
- data/lib/rosett_ai/ui/registry.rb +60 -0
- data/lib/rosett_ai/ui/tty_helper.rb +74 -0
- data/lib/rosett_ai/ui/tui.rb +59 -0
- data/lib/rosett_ai/validators/behaviour_validator.rb +20 -0
- data/lib/rosett_ai/validators/design_validator.rb +17 -0
- data/lib/rosett_ai/validators/schema_validator.rb +84 -0
- data/lib/rosett_ai/validators/tooling_validator.rb +17 -0
- data/lib/rosett_ai/version.rb +8 -0
- data/lib/rosett_ai/version_consistency_checker.rb +129 -0
- data/lib/rosett_ai/workflow/audit_log.rb +86 -0
- data/lib/rosett_ai/workflow/engine.rb +142 -0
- data/lib/rosett_ai/workflow/manager.rb +82 -0
- data/lib/rosett_ai/workflow/schema_validator.rb +71 -0
- data/lib/rosett_ai/workflow/step_runner.rb +61 -0
- data/lib/rosett_ai/workflow/steps/prompt_step.rb +62 -0
- data/lib/rosett_ai/workflow/steps/rai_step.rb +74 -0
- data/lib/rosett_ai/workflow/steps/shell_step.rb +53 -0
- data/lib/rosett_ai/yaml_loader.rb +78 -0
- data/lib/rosett_ai.rb +221 -0
- data/lib/rubocop/cop/rosett_ai/shell_interpolation.rb +54 -0
- data/lib/rubocop/cop/rosett_ai/unsafe_const_get.rb +60 -0
- data/lib/rubocop/cop/rosett_ai/unsafe_send.rb +50 -0
- data/lib/rubocop/cop/rosett_ai/unsafe_yaml_load.rb +40 -0
- data/lib/rubocop/rosett_ai.rb +9 -0
- data/lib/scripts/generated/docker_hub_tags.rb +126 -0
- data/locales/.gitkeep +0 -0
- data/locales/ar.yml +579 -0
- data/locales/en.yml +571 -0
- data/locales/fr.yml +567 -0
- data/packaging/build-engine-deb.sh +81 -0
- data/packaging/scripts/postinst +17 -0
- data/packaging/scripts/postrm +19 -0
- data/packaging/scripts/prerm +10 -0
- data/packaging/wrapper.sh.template +38 -0
- data/rosett-ai.gemspec +63 -0
- data/rules/.gitkeep +0 -0
- data/scripts/publish/pulp_upload.sh +123 -0
- data/settings.json +29 -0
- data/share/applications/be.neatnerds.rosettai.desktop +29 -0
- data/share/dbus-1/interfaces/be.neatnerds.rosettai.xml +103 -0
- data/share/dbus-1/services/be.neatnerds.rosettai.service +3 -0
- data/share/templates/behaviour/criticalthinking.yml +69 -0
- metadata +810 -0
|
@@ -0,0 +1,771 @@
|
|
|
1
|
+
# Design Document Peer Review — Interactive Questionnaire
|
|
2
|
+
|
|
3
|
+
**Date**: 2026-03-15
|
|
4
|
+
**Branch**: `chore/design-peer-review` (MR !36)
|
|
5
|
+
**Questionnaire**: `conf/review/design-questionnaire.yml`
|
|
6
|
+
**Registry**: `conf/review/design-docs.yml`
|
|
7
|
+
|
|
8
|
+
## How to Use
|
|
9
|
+
|
|
10
|
+
For each document below:
|
|
11
|
+
|
|
12
|
+
1. Read the AI assessment and excerpts
|
|
13
|
+
2. Confirm or override each Q1-Q10 verdict (pass / concern / fail)
|
|
14
|
+
3. Add any findings or comments
|
|
15
|
+
4. Sign off with your verdict (approved / approved_with_notes / needs_fix / rejected)
|
|
16
|
+
|
|
17
|
+
**Legend**: Verdicts marked with `[AI: pass]` are pre-filled from the AI review.
|
|
18
|
+
Override any you disagree with.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Batch 0: New Documents (3)
|
|
23
|
+
|
|
24
|
+
### 1/23 — `error_handling.yml`
|
|
25
|
+
|
|
26
|
+
**Domain**: core | **Priority**: P1 | **Version**: 0.1.0 (draft)
|
|
27
|
+
**Depends on**: security, architecture, i18n
|
|
28
|
+
|
|
29
|
+
**Intent excerpt**:
|
|
30
|
+
> Establish a structured error hierarchy, standardised exit codes, and localised
|
|
31
|
+
> error messages for rosett-ai. Every error the user encounters must be actionable —
|
|
32
|
+
> stating what went wrong, why, and how to fix it.
|
|
33
|
+
|
|
34
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
35
|
+
|---|----------|-----------|-------------|-------|
|
|
36
|
+
| Q1 | Intent Clarity | pass | | |
|
|
37
|
+
| Q2 | Constraint Quality | pass | | |
|
|
38
|
+
| Q3 | Criteria Testability | pass | | |
|
|
39
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
40
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
41
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
42
|
+
| Q7 | Security Alignment | pass | | |
|
|
43
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
44
|
+
| Q9 | Convention Compliance | pass | | |
|
|
45
|
+
| Q10 | Completeness | pass | | |
|
|
46
|
+
|
|
47
|
+
**AI findings**: None
|
|
48
|
+
**Your verdict**: _______________
|
|
49
|
+
**Sign-off date**: _______________
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### 2/23 — `threat_model.yml`
|
|
54
|
+
|
|
55
|
+
**Domain**: security | **Priority**: P1 | **Version**: 0.1.0 (draft)
|
|
56
|
+
**Depends on**: security, architecture, engine_architecture, content_packs, licensing_system
|
|
57
|
+
|
|
58
|
+
**Intent excerpt**:
|
|
59
|
+
> Define the adversary model, trust boundaries, and threat scenarios for rosett-ai.
|
|
60
|
+
> Security.yml establishes coding rules; this document maps the attack surface —
|
|
61
|
+
> who might attack, what they target, and which mitigations apply.
|
|
62
|
+
|
|
63
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
64
|
+
|---|----------|-----------|-------------|-------|
|
|
65
|
+
| Q1 | Intent Clarity | pass | | |
|
|
66
|
+
| Q2 | Constraint Quality | pass | | |
|
|
67
|
+
| Q3 | Criteria Testability | pass | | |
|
|
68
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
69
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
70
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
71
|
+
| Q7 | Security Alignment | pass | | |
|
|
72
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
73
|
+
| Q9 | Convention Compliance | pass | | |
|
|
74
|
+
| Q10 | Completeness | pass | | |
|
|
75
|
+
|
|
76
|
+
**AI findings**: None
|
|
77
|
+
**Your verdict**: _______________
|
|
78
|
+
**Sign-off date**: _______________
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### 3/23 — `backward_compatibility.yml`
|
|
83
|
+
|
|
84
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
85
|
+
**Depends on**: architecture, security, compiler, engine_architecture
|
|
86
|
+
|
|
87
|
+
**Intent excerpt**:
|
|
88
|
+
> Define the deprecation policy, migration paths, and versioning contracts for
|
|
89
|
+
> rosett-ai. Users and engine authors must know which interfaces are stable, how
|
|
90
|
+
> breaking changes are communicated, and what migration steps are required.
|
|
91
|
+
|
|
92
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
93
|
+
|---|----------|-----------|-------------|-------|
|
|
94
|
+
| Q1 | Intent Clarity | pass | | |
|
|
95
|
+
| Q2 | Constraint Quality | pass | | |
|
|
96
|
+
| Q3 | Criteria Testability | pass | | |
|
|
97
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
98
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
99
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
100
|
+
| Q7 | Security Alignment | pass | | |
|
|
101
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
102
|
+
| Q9 | Convention Compliance | pass | | |
|
|
103
|
+
| Q10 | Completeness | pass | | |
|
|
104
|
+
|
|
105
|
+
**AI findings**: None
|
|
106
|
+
**Your verdict**: _______________
|
|
107
|
+
**Sign-off date**: _______________
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Batch 1: Core P2 (4)
|
|
112
|
+
|
|
113
|
+
### 4/23 — `engine_architecture.yml`
|
|
114
|
+
|
|
115
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
116
|
+
**Depends on**: architecture, security, testing, compiler
|
|
117
|
+
|
|
118
|
+
**Intent excerpt**:
|
|
119
|
+
> Establish a pluggable engine architecture that enables rosett-ai to manage
|
|
120
|
+
> configuration for multiple AI coding tools from a single set of
|
|
121
|
+
> human-authored YAML source files.
|
|
122
|
+
|
|
123
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
124
|
+
|---|----------|-----------|-------------|-------|
|
|
125
|
+
| Q1 | Intent Clarity | pass | | Fixed: removed implementation phases from intent |
|
|
126
|
+
| Q2 | Constraint Quality | pass | | |
|
|
127
|
+
| Q3 | Criteria Testability | pass | | |
|
|
128
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
129
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
130
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
131
|
+
| Q7 | Security Alignment | pass | | |
|
|
132
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
133
|
+
| Q9 | Convention Compliance | pass | | |
|
|
134
|
+
| Q10 | Completeness | pass | | |
|
|
135
|
+
|
|
136
|
+
**AI findings**:
|
|
137
|
+
|
|
138
|
+
- (minor, Q1) Intent included implementation phases — removed
|
|
139
|
+
|
|
140
|
+
**Your verdict**: _______________
|
|
141
|
+
**Sign-off date**: _______________
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### 5/23 — `ai_tool_configuration.yml`
|
|
146
|
+
|
|
147
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
148
|
+
**Depends on**: engine_architecture, security, claude_code_configuration
|
|
149
|
+
|
|
150
|
+
**Intent excerpt**:
|
|
151
|
+
> Establish the engine-agnostic AI tool configuration layer for rosett-ai — model
|
|
152
|
+
> selection, context window settings, token budgets, API routing, and
|
|
153
|
+
> operational parameters that apply across all AI tools.
|
|
154
|
+
>
|
|
155
|
+
> Relationship to claude_code_configuration.yml: that document handles Claude
|
|
156
|
+
> Code's specific settings.json format. This document addresses the universal
|
|
157
|
+
> configuration layer that all engines share.
|
|
158
|
+
|
|
159
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
160
|
+
|---|----------|-----------|-------------|-------|
|
|
161
|
+
| Q1 | Intent Clarity | pass | | Fixed: removed feature list, added relationship note |
|
|
162
|
+
| Q2 | Constraint Quality | pass | | |
|
|
163
|
+
| Q3 | Criteria Testability | pass | | |
|
|
164
|
+
| Q4 | Dependency Soundness | pass | | Fixed: clarified cc_config relationship |
|
|
165
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
166
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
167
|
+
| Q7 | Security Alignment | pass | | |
|
|
168
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
169
|
+
| Q9 | Convention Compliance | pass | | |
|
|
170
|
+
| Q10 | Completeness | concern | | Missing interactions section |
|
|
171
|
+
|
|
172
|
+
**AI findings**:
|
|
173
|
+
|
|
174
|
+
- (minor, Q1) Intent listed "Key capabilities" inline — rewritten
|
|
175
|
+
- (minor, Q4) Relationship with claude_code_configuration unclear (audit #2) — clarified
|
|
176
|
+
- (minor, Q10) Missing interactions section — noted for future
|
|
177
|
+
|
|
178
|
+
**Your verdict**: _______________
|
|
179
|
+
**Sign-off date**: _______________
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### 6/23 — `mcp_integration.yml`
|
|
184
|
+
|
|
185
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
186
|
+
**Depends on**: security, architecture, compiler, engine_architecture
|
|
187
|
+
|
|
188
|
+
**Intent excerpt**:
|
|
189
|
+
> Enable rosett-ai to participate in the Model Context Protocol (MCP) ecosystem as
|
|
190
|
+
> both a provider and an administrator.
|
|
191
|
+
|
|
192
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
193
|
+
|---|----------|-----------|-------------|-------|
|
|
194
|
+
| Q1 | Intent Clarity | pass | | |
|
|
195
|
+
| Q2 | Constraint Quality | pass | | 13 constraints, all testable |
|
|
196
|
+
| Q3 | Criteria Testability | pass | | 16 criteria |
|
|
197
|
+
| Q4 | Dependency Soundness | pass | | Fixed: added engine_architecture |
|
|
198
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
199
|
+
| Q6 | Implementation Readiness | pass | | 8 detailed examples |
|
|
200
|
+
| Q7 | Security Alignment | pass | | |
|
|
201
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
202
|
+
| Q9 | Convention Compliance | pass | | |
|
|
203
|
+
| Q10 | Completeness | concern | | Missing interactions section |
|
|
204
|
+
|
|
205
|
+
**AI findings**:
|
|
206
|
+
|
|
207
|
+
- (minor, Q4) Missing engine_architecture in depends_on — added
|
|
208
|
+
- (minor, Q10) Missing interactions section — noted for future
|
|
209
|
+
|
|
210
|
+
**Your verdict**: _______________
|
|
211
|
+
**Sign-off date**: _______________
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
### 7/23 — `aaif_alignment.yml`
|
|
216
|
+
|
|
217
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
218
|
+
**Depends on**: security, architecture, compiler, mcp_integration
|
|
219
|
+
|
|
220
|
+
**Intent excerpt**:
|
|
221
|
+
> Position rosett-ai as a standards-compliant tool within the Agentic AI Foundation
|
|
222
|
+
> (AAIF) ecosystem by implementing AAIF-governed protocols and compilation
|
|
223
|
+
> targets.
|
|
224
|
+
|
|
225
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
226
|
+
|---|----------|-----------|-------------|-------|
|
|
227
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "Align rosett-ai with..." |
|
|
228
|
+
| Q2 | Constraint Quality | pass | | Fixed: process-oriented constraint rewritten |
|
|
229
|
+
| Q3 | Criteria Testability | pass | | Fixed: --target → --engine |
|
|
230
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
231
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
232
|
+
| Q6 | Implementation Readiness | pass | | 8 scenarios |
|
|
233
|
+
| Q7 | Security Alignment | pass | | |
|
|
234
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
235
|
+
| Q9 | Convention Compliance | pass | | Fixed: --target → --engine |
|
|
236
|
+
| Q10 | Completeness | concern | | Missing interactions section |
|
|
237
|
+
|
|
238
|
+
**AI findings**:
|
|
239
|
+
|
|
240
|
+
- (major, Q1) Intent was declarative — rewritten to imperative
|
|
241
|
+
- (major, Q2) "License compatibility must be evaluated" — rewritten to testable boundary
|
|
242
|
+
- (major, Q3) Used --target instead of --engine — fixed
|
|
243
|
+
- (minor, Q10) Missing interactions section
|
|
244
|
+
|
|
245
|
+
**Your verdict**: _______________
|
|
246
|
+
**Sign-off date**: _______________
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Batch 2: Core P3 (3)
|
|
251
|
+
|
|
252
|
+
### 8/23 — `workflow.yml`
|
|
253
|
+
|
|
254
|
+
**Domain**: core | **Priority**: P3 | **Version**: 0.1.0 (draft)
|
|
255
|
+
**Depends on**: architecture, engine_architecture, behaviour_composition, security
|
|
256
|
+
|
|
257
|
+
**Intent excerpt**:
|
|
258
|
+
> Provide repeatable, composable AI-assisted workflows that can be shared
|
|
259
|
+
> across projects and teams. Define and execute multi-step workflows as
|
|
260
|
+
> declarative YAML at three scopes.
|
|
261
|
+
|
|
262
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
263
|
+
|---|----------|-----------|-------------|-------|
|
|
264
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "Developers need..." |
|
|
265
|
+
| Q2 | Constraint Quality | pass | | 8 constraints |
|
|
266
|
+
| Q3 | Criteria Testability | pass | | 7 criteria |
|
|
267
|
+
| Q4 | Dependency Soundness | pass | | Fixed: added security |
|
|
268
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
269
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
270
|
+
| Q7 | Security Alignment | pass | | Array-form shell constraint |
|
|
271
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
272
|
+
| Q9 | Convention Compliance | pass | | |
|
|
273
|
+
| Q10 | Completeness | concern | | Error path examples sparse |
|
|
274
|
+
|
|
275
|
+
**AI findings**:
|
|
276
|
+
|
|
277
|
+
- (minor, Q1) Intent was declarative — rewritten
|
|
278
|
+
- (minor, Q4) Missing security despite shell execution — added
|
|
279
|
+
- (minor, Q10) Sparse error examples
|
|
280
|
+
|
|
281
|
+
**Your verdict**: _______________
|
|
282
|
+
**Sign-off date**: _______________
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### 9/23 — `project_management.yml`
|
|
287
|
+
|
|
288
|
+
**Domain**: core | **Priority**: P3 | **Version**: 0.1.0 (draft)
|
|
289
|
+
**Depends on**: architecture, engine_architecture, security
|
|
290
|
+
|
|
291
|
+
**Intent excerpt**:
|
|
292
|
+
> Provide project lifecycle management beyond initial scaffolding — adding
|
|
293
|
+
> behaviours, configuring engines, managing design documents, and
|
|
294
|
+
> synchronising with upstream rosett-ai updates.
|
|
295
|
+
|
|
296
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
297
|
+
|---|----------|-----------|-------------|-------|
|
|
298
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "Beyond the initial..." |
|
|
299
|
+
| Q2 | Constraint Quality | pass | | |
|
|
300
|
+
| Q3 | Criteria Testability | pass | | |
|
|
301
|
+
| Q4 | Dependency Soundness | pass | | Fixed: added security |
|
|
302
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
303
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
304
|
+
| Q7 | Security Alignment | pass | | |
|
|
305
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
306
|
+
| Q9 | Convention Compliance | pass | | |
|
|
307
|
+
| Q10 | Completeness | concern | | Sparse error examples |
|
|
308
|
+
|
|
309
|
+
**AI findings**:
|
|
310
|
+
|
|
311
|
+
- (minor, Q1) Intent was declarative — rewritten
|
|
312
|
+
- (minor, Q4) Missing security despite file manipulation — added
|
|
313
|
+
|
|
314
|
+
**Your verdict**: _______________
|
|
315
|
+
**Sign-off date**: _______________
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
### 10/23 — `mcp_settings.yml`
|
|
320
|
+
|
|
321
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
322
|
+
**Depends on**: mcp_integration, security, claude_code_configuration
|
|
323
|
+
|
|
324
|
+
**Intent excerpt**:
|
|
325
|
+
> Manage MCP server configuration with a trust-first model that prevents
|
|
326
|
+
> untrusted servers from being silently added to a developer's configuration.
|
|
327
|
+
|
|
328
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
329
|
+
|---|----------|-----------|-------------|-------|
|
|
330
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "MCP servers extend..." |
|
|
331
|
+
| Q2 | Constraint Quality | pass | | |
|
|
332
|
+
| Q3 | Criteria Testability | pass | | |
|
|
333
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
334
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
335
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
336
|
+
| Q7 | Security Alignment | pass | | HTTPS, trust verification |
|
|
337
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
338
|
+
| Q9 | Convention Compliance | pass | | |
|
|
339
|
+
| Q10 | Completeness | pass | | |
|
|
340
|
+
|
|
341
|
+
**AI findings**:
|
|
342
|
+
|
|
343
|
+
- (minor, Q1) Intent was descriptive — rewritten to imperative
|
|
344
|
+
|
|
345
|
+
**Your verdict**: _______________
|
|
346
|
+
**Sign-off date**: _______________
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Batch 3: Security (4)
|
|
351
|
+
|
|
352
|
+
### 11/23 — `ai_provenance.yml`
|
|
353
|
+
|
|
354
|
+
**Domain**: security | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
355
|
+
**Depends on**: security, engine_architecture, compiler
|
|
356
|
+
|
|
357
|
+
**Intent excerpt**:
|
|
358
|
+
> Establish structured, machine-readable provenance tracking for AI involvement
|
|
359
|
+
> in code contributions managed by rosett-ai. Record which AI tools contributed to
|
|
360
|
+
> which files, what role the AI played, and what external sources it drew from.
|
|
361
|
+
|
|
362
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
363
|
+
|---|----------|-----------|-------------|-------|
|
|
364
|
+
| Q1 | Intent Clarity | pass | | Fixed: strengthened to "Establish structured..." |
|
|
365
|
+
| Q2 | Constraint Quality | pass | | 10 constraints |
|
|
366
|
+
| Q3 | Criteria Testability | pass | | 12 criteria |
|
|
367
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
368
|
+
| Q5 | Scope Boundaries | pass | | Clean separation from ai_authorship |
|
|
369
|
+
| Q6 | Implementation Readiness | pass | | 4 examples |
|
|
370
|
+
| Q7 | Security Alignment | pass | | YAML.safe_load, PII restrictions |
|
|
371
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
372
|
+
| Q9 | Convention Compliance | pass | | |
|
|
373
|
+
| Q10 | Completeness | concern | | Could add more error path examples |
|
|
374
|
+
|
|
375
|
+
**AI findings**:
|
|
376
|
+
|
|
377
|
+
- (minor, Q1) Intent started with "Track and attribute" — strengthened
|
|
378
|
+
- (minor, Q10) Error paths covered by StackOverflow bare-URL example
|
|
379
|
+
|
|
380
|
+
**Your verdict**: _______________
|
|
381
|
+
**Sign-off date**: _______________
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
### 12/23 — `ai_authorship.yml`
|
|
386
|
+
|
|
387
|
+
**Domain**: core | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
388
|
+
**Depends on**: ai_provenance, security, engine_architecture
|
|
389
|
+
|
|
390
|
+
**Intent excerpt**:
|
|
391
|
+
> Define how AI co-authorship is attributed, disclosed, and managed across
|
|
392
|
+
> all projects using rosett-ai. While ai_provenance.yml tracks the raw data,
|
|
393
|
+
> this design governs the human-facing policies.
|
|
394
|
+
|
|
395
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
396
|
+
|---|----------|-----------|-------------|-------|
|
|
397
|
+
| Q1 | Intent Clarity | pass | | Imperative "Define how..." |
|
|
398
|
+
| Q2 | Constraint Quality | pass | | 10 constraints |
|
|
399
|
+
| Q3 | Criteria Testability | pass | | 11 criteria |
|
|
400
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
401
|
+
| Q5 | Scope Boundaries | pass | | Clear split from ai_provenance |
|
|
402
|
+
| Q6 | Implementation Readiness | pass | | 4 examples |
|
|
403
|
+
| Q7 | Security Alignment | pass | | |
|
|
404
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
405
|
+
| Q9 | Convention Compliance | pass | | |
|
|
406
|
+
| Q10 | Completeness | pass | | |
|
|
407
|
+
|
|
408
|
+
**AI findings**: None
|
|
409
|
+
**Your verdict**: _______________
|
|
410
|
+
**Sign-off date**: _______________
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
### 13/23 — `policy_management.yml`
|
|
415
|
+
|
|
416
|
+
**Domain**: security | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
417
|
+
**Depends on**: security, ai_provenance, ai_authorship, engine_architecture
|
|
418
|
+
|
|
419
|
+
**Intent excerpt**:
|
|
420
|
+
> Provide a structured framework for organisations to define, enforce, and
|
|
421
|
+
> audit AI usage policies across their development teams.
|
|
422
|
+
|
|
423
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
424
|
+
|---|----------|-----------|-------------|-------|
|
|
425
|
+
| Q1 | Intent Clarity | pass | | Imperative "Provide..." |
|
|
426
|
+
| Q2 | Constraint Quality | pass | | 10 constraints |
|
|
427
|
+
| Q3 | Criteria Testability | pass | | 12 criteria |
|
|
428
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
429
|
+
| Q5 | Scope Boundaries | pass | | Defers to security.yml |
|
|
430
|
+
| Q6 | Implementation Readiness | pass | | 4 examples |
|
|
431
|
+
| Q7 | Security Alignment | pass | | Multiple references |
|
|
432
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
433
|
+
| Q9 | Convention Compliance | pass | | |
|
|
434
|
+
| Q10 | Completeness | pass | | |
|
|
435
|
+
|
|
436
|
+
**AI findings**: None
|
|
437
|
+
**Your verdict**: _______________
|
|
438
|
+
**Sign-off date**: _______________
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
### 14/23 — `comply.yml`
|
|
443
|
+
|
|
444
|
+
**Domain**: security | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
445
|
+
**Depends on**: security, licensing_system, policy_management
|
|
446
|
+
|
|
447
|
+
**Intent excerpt**:
|
|
448
|
+
> Automate compliance checks for EU CRA and NIS2 directives, GPL-3.0
|
|
449
|
+
> licensing requirements, and organisational policy adherence.
|
|
450
|
+
|
|
451
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
452
|
+
|---|----------|-----------|-------------|-------|
|
|
453
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "Software distributed within the EU..." |
|
|
454
|
+
| Q2 | Constraint Quality | pass | | 7 constraints |
|
|
455
|
+
| Q3 | Criteria Testability | pass | | |
|
|
456
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
457
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
458
|
+
| Q6 | Implementation Readiness | pass | | |
|
|
459
|
+
| Q7 | Security Alignment | pass | | |
|
|
460
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
461
|
+
| Q9 | Convention Compliance | pass | | |
|
|
462
|
+
| Q10 | Completeness | concern | | Error path examples sparse |
|
|
463
|
+
|
|
464
|
+
**AI findings**:
|
|
465
|
+
|
|
466
|
+
- (minor, Q1) Intent was declarative — rewritten to imperative
|
|
467
|
+
- (minor, Q10) AGPL-3.0 detection example covers error path
|
|
468
|
+
|
|
469
|
+
**Your verdict**: _______________
|
|
470
|
+
**Sign-off date**: _______________
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
## Batch 4: Compiler (1)
|
|
475
|
+
|
|
476
|
+
### 15/23 — `behaviour_composition.yml`
|
|
477
|
+
|
|
478
|
+
**Domain**: compiler | **Priority**: P2 | **Version**: 0.1.0 (draft)
|
|
479
|
+
**Depends on**: compiler, architecture, engine_architecture, security
|
|
480
|
+
|
|
481
|
+
**Intent excerpt**:
|
|
482
|
+
> Define how multiple behaviour YAML files are composed, layered, and
|
|
483
|
+
> merged during compilation. This design governs the composition rules:
|
|
484
|
+
> what happens when behaviours conflict, how priorities resolve ties.
|
|
485
|
+
|
|
486
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
487
|
+
|---|----------|-----------|-------------|-------|
|
|
488
|
+
| Q1 | Intent Clarity | pass | | |
|
|
489
|
+
| Q2 | Constraint Quality | pass | | 10 constraints |
|
|
490
|
+
| Q3 | Criteria Testability | pass | | 13 criteria |
|
|
491
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
492
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
493
|
+
| Q6 | Implementation Readiness | pass | | 5 detailed examples |
|
|
494
|
+
| Q7 | Security Alignment | pass | | Security-domain override protection |
|
|
495
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
496
|
+
| Q9 | Convention Compliance | pass | | |
|
|
497
|
+
| Q10 | Completeness | pass | | |
|
|
498
|
+
|
|
499
|
+
**AI findings**: None
|
|
500
|
+
**Your verdict**: _______________
|
|
501
|
+
**Sign-off date**: _______________
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## Batch 5: UI (4)
|
|
506
|
+
|
|
507
|
+
### 16/23 — `desktop_integration.yml`
|
|
508
|
+
|
|
509
|
+
**Domain**: ui | **Priority**: P3 | **Version**: 0.1.0 (draft)
|
|
510
|
+
**Depends on**: architecture, ui_framework, accessibility, i18n, security
|
|
511
|
+
|
|
512
|
+
**Intent excerpt**:
|
|
513
|
+
> Define how rosett-ai integrates with Linux desktop environments via a D-Bus
|
|
514
|
+
> session bus service (be.neatnerds.rosettai) and optional desktop-specific
|
|
515
|
+
> frontends.
|
|
516
|
+
|
|
517
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
518
|
+
|---|----------|-----------|-------------|-------|
|
|
519
|
+
| Q1 | Intent Clarity | pass | | |
|
|
520
|
+
| Q2 | Constraint Quality | pass | | 11 constraints |
|
|
521
|
+
| Q3 | Criteria Testability | pass | | 11 criteria |
|
|
522
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
523
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
524
|
+
| Q6 | Implementation Readiness | pass | | 4 examples |
|
|
525
|
+
| Q7 | Security Alignment | pass | | D-Bus handler security |
|
|
526
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
527
|
+
| Q9 | Convention Compliance | pass | | |
|
|
528
|
+
| Q10 | Completeness | pass | | gui_notes, interactions, accessibility |
|
|
529
|
+
|
|
530
|
+
**AI findings**: None
|
|
531
|
+
**Your verdict**: _______________
|
|
532
|
+
**Sign-off date**: _______________
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
### 17/23 — `gui_plugins.yml`
|
|
537
|
+
|
|
538
|
+
**Domain**: ui | **Priority**: P3 | **Version**: 0.1.0 (draft)
|
|
539
|
+
**Depends on**: architecture, engine_architecture, desktop_integration, security, distribution
|
|
540
|
+
|
|
541
|
+
**Intent excerpt**:
|
|
542
|
+
> Define the pluggable GUI architecture that treats desktop frontends as
|
|
543
|
+
> first-class plugins — the same pattern used for engine plugins.
|
|
544
|
+
|
|
545
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
546
|
+
|---|----------|-----------|-------------|-------|
|
|
547
|
+
| Q1 | Intent Clarity | pass | | |
|
|
548
|
+
| Q2 | Constraint Quality | pass | | 12 constraints |
|
|
549
|
+
| Q3 | Criteria Testability | pass | | 15 criteria |
|
|
550
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
551
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
552
|
+
| Q6 | Implementation Readiness | pass | | 4 examples, extensive gui_notes |
|
|
553
|
+
| Q7 | Security Alignment | pass | | |
|
|
554
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
555
|
+
| Q9 | Convention Compliance | pass | | |
|
|
556
|
+
| Q10 | Completeness | pass | | gui_notes, interactions, accessibility |
|
|
557
|
+
|
|
558
|
+
**AI findings**: None
|
|
559
|
+
**Your verdict**: _______________
|
|
560
|
+
**Sign-off date**: _______________
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
### 18/23 — `autocompletion.yml`
|
|
565
|
+
|
|
566
|
+
**Domain**: ui | **Priority**: P3 | **Version**: 0.1.0 (draft)
|
|
567
|
+
**Depends on**: ui_framework, architecture
|
|
568
|
+
|
|
569
|
+
**Intent excerpt**:
|
|
570
|
+
> Generate shell completion scripts for bash, zsh, and fish from the Thor
|
|
571
|
+
> command registry to reduce friction, prevent typos, and improve
|
|
572
|
+
> discoverability.
|
|
573
|
+
|
|
574
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
575
|
+
|---|----------|-----------|-------------|-------|
|
|
576
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "Tab-completion is..." |
|
|
577
|
+
| Q2 | Constraint Quality | pass | | 6 constraints |
|
|
578
|
+
| Q3 | Criteria Testability | pass | | 8 criteria |
|
|
579
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
580
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
581
|
+
| Q6 | Implementation Readiness | pass | | 3 examples |
|
|
582
|
+
| Q7 | Security Alignment | pass | | No security surface |
|
|
583
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
584
|
+
| Q9 | Convention Compliance | pass | | |
|
|
585
|
+
| Q10 | Completeness | pass | | |
|
|
586
|
+
|
|
587
|
+
**AI findings**:
|
|
588
|
+
|
|
589
|
+
- (minor, Q1) Intent was declarative — rewritten to imperative
|
|
590
|
+
|
|
591
|
+
**Your verdict**: _______________
|
|
592
|
+
**Sign-off date**: _______________
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
### 19/23 — `smart_ui_feedback.yml`
|
|
597
|
+
|
|
598
|
+
**Domain**: ui | **Priority**: P3 | **Version**: 0.1.0 (draft)
|
|
599
|
+
**Depends on**: ui_framework, architecture, autocompletion
|
|
600
|
+
|
|
601
|
+
**Intent excerpt**:
|
|
602
|
+
> Transform generic Thor error messages into actionable suggestions using
|
|
603
|
+
> edit distance (Levenshtein) matching. Provide "Did you mean?" feedback
|
|
604
|
+
> for mistyped commands, subcommands, flags, and arguments.
|
|
605
|
+
|
|
606
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
607
|
+
|---|----------|-----------|-------------|-------|
|
|
608
|
+
| Q1 | Intent Clarity | pass | | Fixed: was "When users mistype..." |
|
|
609
|
+
| Q2 | Constraint Quality | pass | | 7 constraints |
|
|
610
|
+
| Q3 | Criteria Testability | pass | | 7 criteria |
|
|
611
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
612
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
613
|
+
| Q6 | Implementation Readiness | pass | | 3 examples |
|
|
614
|
+
| Q7 | Security Alignment | pass | | No security surface |
|
|
615
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
616
|
+
| Q9 | Convention Compliance | pass | | |
|
|
617
|
+
| Q10 | Completeness | pass | | |
|
|
618
|
+
|
|
619
|
+
**AI findings**:
|
|
620
|
+
|
|
621
|
+
- (minor, Q1) Intent was declarative — rewritten to imperative
|
|
622
|
+
|
|
623
|
+
**Your verdict**: _______________
|
|
624
|
+
**Sign-off date**: _______________
|
|
625
|
+
|
|
626
|
+
---
|
|
627
|
+
|
|
628
|
+
## Batch 6: Operations (4)
|
|
629
|
+
|
|
630
|
+
### 20/23 — `monitoring_observability.yml`
|
|
631
|
+
|
|
632
|
+
**Domain**: operations | **Priority**: P6 | **Version**: 0.1.0 (draft)
|
|
633
|
+
**Depends on**: security, architecture
|
|
634
|
+
|
|
635
|
+
**Intent excerpt**:
|
|
636
|
+
> Provide structured runtime telemetry for the rosett-ai CLI so developers and
|
|
637
|
+
> operators can diagnose errors, measure compile performance, and audit
|
|
638
|
+
> command execution — all without sending any data externally.
|
|
639
|
+
|
|
640
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
641
|
+
|---|----------|-----------|-------------|-------|
|
|
642
|
+
| Q1 | Intent Clarity | pass | | Imperative "Provide..." |
|
|
643
|
+
| Q2 | Constraint Quality | pass | | 12 constraints |
|
|
644
|
+
| Q3 | Criteria Testability | pass | | 12 criteria |
|
|
645
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
646
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
647
|
+
| Q6 | Implementation Readiness | pass | | 3 examples |
|
|
648
|
+
| Q7 | Security Alignment | pass | | Never log secrets |
|
|
649
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
650
|
+
| Q9 | Convention Compliance | concern | | Fixed: was version 1.0.0 with status draft |
|
|
651
|
+
| Q10 | Completeness | pass | | |
|
|
652
|
+
|
|
653
|
+
**AI findings**:
|
|
654
|
+
|
|
655
|
+
- (minor, Q9) Version was 1.0.0 with status draft — changed to 0.1.0
|
|
656
|
+
|
|
657
|
+
**Your verdict**: _______________
|
|
658
|
+
**Sign-off date**: _______________
|
|
659
|
+
|
|
660
|
+
---
|
|
661
|
+
|
|
662
|
+
### 21/23 — `usage_optimization.yml`
|
|
663
|
+
|
|
664
|
+
**Domain**: operations | **Priority**: P6 | **Version**: 0.1.0 (draft)
|
|
665
|
+
**Depends on**: architecture, compiler
|
|
666
|
+
|
|
667
|
+
**Intent excerpt**:
|
|
668
|
+
> Ensure the rosett-ai CLI remains fast, memory-efficient, and scalable as the
|
|
669
|
+
> engine count and configuration corpus grow. Startup must feel instant
|
|
670
|
+
> (<200ms), compile must skip unchanged files via content-addressed caching.
|
|
671
|
+
|
|
672
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
673
|
+
|---|----------|-----------|-------------|-------|
|
|
674
|
+
| Q1 | Intent Clarity | pass | | Imperative "Ensure..." |
|
|
675
|
+
| Q2 | Constraint Quality | pass | | 13 constraints |
|
|
676
|
+
| Q3 | Criteria Testability | pass | | 11 criteria |
|
|
677
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
678
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
679
|
+
| Q6 | Implementation Readiness | pass | | 4 examples |
|
|
680
|
+
| Q7 | Security Alignment | pass | | No security surface |
|
|
681
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
682
|
+
| Q9 | Convention Compliance | concern | | Fixed: was version 1.0.0 with status draft |
|
|
683
|
+
| Q10 | Completeness | pass | | |
|
|
684
|
+
|
|
685
|
+
**AI findings**:
|
|
686
|
+
|
|
687
|
+
- (minor, Q9) Version was 1.0.0 with status draft — changed to 0.1.0
|
|
688
|
+
|
|
689
|
+
**Your verdict**: _______________
|
|
690
|
+
**Sign-off date**: _______________
|
|
691
|
+
|
|
692
|
+
---
|
|
693
|
+
|
|
694
|
+
### 22/23 — `distribution.yml`
|
|
695
|
+
|
|
696
|
+
**Domain**: ci | **Priority**: P5 | **Version**: 0.2.0 (draft)
|
|
697
|
+
**Depends on**: ci_pipeline, release_management, documentation, security
|
|
698
|
+
|
|
699
|
+
**Intent excerpt**:
|
|
700
|
+
> Define how built packages reach end users through a self-hosted,
|
|
701
|
+
> multi-format repository backed by Pulp (pulpproject.org).
|
|
702
|
+
|
|
703
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
704
|
+
|---|----------|-----------|-------------|-------|
|
|
705
|
+
| Q1 | Intent Clarity | pass | | Imperative "Define how..." |
|
|
706
|
+
| Q2 | Constraint Quality | pass | | 18 constraints |
|
|
707
|
+
| Q3 | Criteria Testability | pass | | 13 criteria |
|
|
708
|
+
| Q4 | Dependency Soundness | pass | | Fixed: added security |
|
|
709
|
+
| Q5 | Scope Boundaries | pass | | Phase-bounded |
|
|
710
|
+
| Q6 | Implementation Readiness | pass | | 4 examples |
|
|
711
|
+
| Q7 | Security Alignment | concern | | GPG, HTTPS, tokens present but no explicit security.yml ref |
|
|
712
|
+
| Q8 | Engine Agnosticism | pass | | Infrastructure doc |
|
|
713
|
+
| Q9 | Convention Compliance | pass | | 0.2.0 draft, revised once |
|
|
714
|
+
| Q10 | Completeness | pass | | Very thorough |
|
|
715
|
+
|
|
716
|
+
**AI findings**:
|
|
717
|
+
|
|
718
|
+
- (minor, Q4) Missing security in depends_on — added
|
|
719
|
+
- (minor, Q7) Security-aware but no explicit security.yml reference
|
|
720
|
+
|
|
721
|
+
**Your verdict**: _______________
|
|
722
|
+
**Sign-off date**: _______________
|
|
723
|
+
|
|
724
|
+
---
|
|
725
|
+
|
|
726
|
+
### 23/23 — `test_peer_review.yml`
|
|
727
|
+
|
|
728
|
+
**Domain**: testing | **Priority**: P1 | **Version**: 0.1.0 (draft)
|
|
729
|
+
**Depends on**: testing, security
|
|
730
|
+
|
|
731
|
+
**Intent excerpt**:
|
|
732
|
+
> Establish a structured, questionnaire-based peer review process for all
|
|
733
|
+
> test suites across the rosett-ai ecosystem (core + 11 engine plugins).
|
|
734
|
+
|
|
735
|
+
| # | Question | AI Verdict | Your Verdict | Notes |
|
|
736
|
+
|---|----------|-----------|-------------|-------|
|
|
737
|
+
| Q1 | Intent Clarity | pass | | Imperative "Establish..." |
|
|
738
|
+
| Q2 | Constraint Quality | pass | | 8 constraints |
|
|
739
|
+
| Q3 | Criteria Testability | pass | | 8 criteria |
|
|
740
|
+
| Q4 | Dependency Soundness | pass | | |
|
|
741
|
+
| Q5 | Scope Boundaries | pass | | |
|
|
742
|
+
| Q6 | Implementation Readiness | pass | | 3 examples |
|
|
743
|
+
| Q7 | Security Alignment | pass | | AI cannot self-sign-off |
|
|
744
|
+
| Q8 | Engine Agnosticism | pass | | |
|
|
745
|
+
| Q9 | Convention Compliance | pass | | |
|
|
746
|
+
| Q10 | Completeness | concern | | Fixed: anti_patterns section was missing |
|
|
747
|
+
|
|
748
|
+
**AI findings**:
|
|
749
|
+
|
|
750
|
+
- (minor, Q10) Missing anti_patterns section — added 6 anti-patterns
|
|
751
|
+
|
|
752
|
+
**Your verdict**: _______________
|
|
753
|
+
**Sign-off date**: _______________
|
|
754
|
+
|
|
755
|
+
---
|
|
756
|
+
|
|
757
|
+
## Summary
|
|
758
|
+
|
|
759
|
+
| Batch | Domain | Count | AI Verdicts |
|
|
760
|
+
|-------|--------|-------|-------------|
|
|
761
|
+
| 0 | New docs | 3 | 3 approved |
|
|
762
|
+
| 1 | Core P2 | 4 | 4 approved_with_notes |
|
|
763
|
+
| 2 | Core P3 | 3 | 3 approved_with_notes |
|
|
764
|
+
| 3 | Security | 4 | 2 approved, 2 approved_with_notes |
|
|
765
|
+
| 4 | Compiler | 1 | 1 approved |
|
|
766
|
+
| 5 | UI | 4 | 2 approved, 2 approved_with_notes |
|
|
767
|
+
| 6 | Operations | 4 | 4 approved_with_notes |
|
|
768
|
+
| **Total** | | **23** | **8 approved, 15 approved_with_notes** |
|
|
769
|
+
|
|
770
|
+
All issues found during review were fixed inline before sign-off.
|
|
771
|
+
No documents received `needs_fix` or `rejected` verdicts.
|