codd-dev 2.18.0__tar.gz → 2.19.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. {codd_dev-2.18.0 → codd_dev-2.19.0}/PKG-INFO +3 -3
  2. {codd_dev-2.18.0 → codd_dev-2.19.0}/README.md +2 -2
  3. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/bridge.py +10 -11
  4. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/cli.py +19 -73
  5. {codd_dev-2.18.0 → codd_dev-2.19.0}/pyproject.toml +1 -1
  6. {codd_dev-2.18.0 → codd_dev-2.19.0}/.gitignore +0 -0
  7. {codd_dev-2.18.0 → codd_dev-2.19.0}/LICENSE +0 -0
  8. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/__init__.py +0 -0
  9. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/__main__.py +0 -0
  10. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/_git_helper.py +0 -0
  11. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/ask_user_question_adapter.py +0 -0
  12. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/assembler.py +0 -0
  13. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/brownfield/__init__.py +0 -0
  14. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/brownfield/pipeline.py +0 -0
  15. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/clustering.py +0 -0
  16. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/coherence_adapters.py +0 -0
  17. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/coherence_engine.py +0 -0
  18. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/config.py +0 -0
  19. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/contracts.py +0 -0
  20. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/coverage_auditor.py +0 -0
  21. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/coverage_metrics.py +0 -0
  22. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/__init__.py +0 -0
  23. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/auto_repair.py +0 -0
  24. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/builder.py +0 -0
  25. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/__init__.py +0 -0
  26. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/ci_health.py +0 -0
  27. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/depends_on_consistency.py +0 -0
  28. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/deployment_completeness.py +0 -0
  29. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/edge_validity.py +0 -0
  30. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/environment_coverage.py +0 -0
  31. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/implementation_coverage.py +0 -0
  32. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/node_completeness.py +0 -0
  33. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/opt_out.py +0 -0
  34. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/task_completion.py +0 -0
  35. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/transitive_closure.py +0 -0
  36. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/checks/user_journey_coherence.py +0 -0
  37. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/coverage_axes.py +0 -0
  38. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/cli.yaml +0 -0
  39. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
  40. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/csharp.yaml +0 -0
  41. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/elixir.yaml +0 -0
  42. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/generic.yaml +0 -0
  43. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/iot.yaml +0 -0
  44. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/java.yaml +0 -0
  45. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/kotlin.yaml +0 -0
  46. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/mobile.yaml +0 -0
  47. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/ruby.yaml +0 -0
  48. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/rust.yaml +0 -0
  49. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/scala.yaml +0 -0
  50. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/swift.yaml +0 -0
  51. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
  52. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/defaults/web.yaml +0 -0
  53. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/extractor.py +0 -0
  54. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/dag/runner.py +0 -0
  55. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/defaults.py +0 -0
  56. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/defaults.yaml +0 -0
  57. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deploy_targets/__init__.py +0 -0
  58. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deploy_targets/app_service.py +0 -0
  59. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deploy_targets/base.py +0 -0
  60. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deploy_targets/docker_compose.py +0 -0
  61. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployer.py +0 -0
  62. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/__init__.py +0 -0
  63. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/checks/__init__.py +0 -0
  64. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
  65. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
  66. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
  67. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
  68. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/extractor.py +0 -0
  69. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/__init__.py +0 -0
  70. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/ai_command.py +0 -0
  71. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/llm_consideration.py +0 -0
  72. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/schema/__init__.py +0 -0
  73. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/schema/prisma.py +0 -0
  74. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/target/__init__.py +0 -0
  75. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/target/docker_compose.py +0 -0
  76. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/__init__.py +0 -0
  77. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
  78. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
  79. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
  80. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
  81. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
  82. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/curl.py +0 -0
  83. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
  84. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
  85. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/deployment/providers/verification/playwright.py +0 -0
  86. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/design_md.py +0 -0
  87. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/diff/__init__.py +0 -0
  88. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/diff/apply.py +0 -0
  89. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/diff/engine.py +0 -0
  90. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/diff/persistence.py +0 -0
  91. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/diff/templates/diff_prompt.md +0 -0
  92. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/drift.py +0 -0
  93. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/e2e_extractor.py +0 -0
  94. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/e2e_generator.py +0 -0
  95. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/e2e_runner.py +0 -0
  96. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/__init__.py +0 -0
  97. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/apply.py +0 -0
  98. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/engine.py +0 -0
  99. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/finding.py +0 -0
  100. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/formatters/__init__.py +0 -0
  101. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/formatters/base.py +0 -0
  102. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/formatters/interactive.py +0 -0
  103. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/formatters/json_fmt.py +0 -0
  104. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/formatters/md.py +0 -0
  105. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/lexicon_loader.py +0 -0
  106. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/persistence.py +0 -0
  107. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
  108. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/env_refs.py +0 -0
  109. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/extract_ai.py +0 -0
  110. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/extractor.py +0 -0
  111. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/__init__.py +0 -0
  112. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/candidate_selector.py +0 -0
  113. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/design_updater.py +0 -0
  114. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/interactive_prompt.py +0 -0
  115. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/phenomenon_fixer.py +0 -0
  116. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/phenomenon_parser.py +0 -0
  117. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/risk_classifier.py +0 -0
  118. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/templates/clarification_question.txt +0 -0
  119. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/templates/design_update.txt +0 -0
  120. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
  121. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/templates/risk_assessment.txt +0 -0
  122. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fix/templates_loader.py +0 -0
  123. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fixer.py +0 -0
  124. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fixup_drift.py +0 -0
  125. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fixup_drift_strategies/__init__.py +0 -0
  126. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
  127. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
  128. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
  129. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/generator.py +0 -0
  130. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/graph.py +0 -0
  131. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hitl_session.py +0 -0
  132. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hooks/__init__.py +0 -0
  133. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hooks/pre-commit +0 -0
  134. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
  135. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hooks/recipes/codex_hook.sh +0 -0
  136. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
  137. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
  138. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/implementer/__init__.py +0 -0
  139. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/implementer/chunked_runner.py +0 -0
  140. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/implementer/typecheck_loop.py +0 -0
  141. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/implementer.py +0 -0
  142. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/inheritance.py +0 -0
  143. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/init/__init__.py +0 -0
  144. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/init/lexicon_suggest.py +0 -0
  145. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/init/llm_lexicon_suggester.py +0 -0
  146. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/init/stack_detector.py +0 -0
  147. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/knowledge_fetcher.py +0 -0
  148. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon.py +0 -0
  149. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/__init__.py +0 -0
  150. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
  151. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/formatters/html.py +0 -0
  152. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
  153. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/formatters/md.py +0 -0
  154. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/inspector.py +0 -0
  155. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/manager.py +0 -0
  156. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/reporter.py +0 -0
  157. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/lexicon_cli/threshold.py +0 -0
  158. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/__init__.py +0 -0
  159. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/approval.py +0 -0
  160. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/best_practice_augmenter.py +0 -0
  161. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/criteria_expander.py +0 -0
  162. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/design_doc_extractor.py +0 -0
  163. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/impl_step_deriver.py +0 -0
  164. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/means_catalog_loader.py +0 -0
  165. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/parser.py +0 -0
  166. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/plan_deriver.py +0 -0
  167. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/prompt_builder.py +0 -0
  168. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/strategy_validator.py +0 -0
  169. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
  170. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
  171. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
  172. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
  173. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
  174. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/meta_instruction.md +0 -0
  175. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/plan_derive_meta.md +0 -0
  176. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
  177. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/mcp_server.py +0 -0
  178. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/measure.py +0 -0
  179. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/parsing.py +0 -0
  180. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/planner.py +0 -0
  181. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/policy.py +0 -0
  182. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/preflight/__init__.py +0 -0
  183. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/preflight/defaults/cli.yaml +0 -0
  184. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/preflight/defaults/iot.yaml +0 -0
  185. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/preflight/defaults/mobile.yaml +0 -0
  186. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/preflight/defaults/web.yaml +0 -0
  187. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/propagate.py +0 -0
  188. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/propagator.py +0 -0
  189. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/registry.py +0 -0
  190. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/__init__.py +0 -0
  191. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/approval_repair.py +0 -0
  192. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/engine.py +0 -0
  193. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/git_patcher.py +0 -0
  194. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/history.py +0 -0
  195. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/llm_repair_engine.py +0 -0
  196. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/loop.py +0 -0
  197. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/primary_picker.py +0 -0
  198. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/proof_breaks.py +0 -0
  199. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/repair_result.py +0 -0
  200. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/repairability_classifier.py +0 -0
  201. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/schema.py +0 -0
  202. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/templates/analyze_meta.md +0 -0
  203. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/templates/propose_meta.md +0 -0
  204. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
  205. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/templates/repairability_meta.md +0 -0
  206. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair/verify_runner.py +0 -0
  207. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/repair_slice.py +0 -0
  208. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/require.py +0 -0
  209. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/require_plugins.py +0 -0
  210. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/require_propagate.py +0 -0
  211. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
  212. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
  213. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
  214. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/required_artifacts/defaults/web.yaml +0 -0
  215. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/required_artifacts_deriver.py +0 -0
  216. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
  217. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
  218. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
  219. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
  220. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/requirement_completeness_auditor.py +0 -0
  221. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/restore.py +0 -0
  222. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/routes_extractor.py +0 -0
  223. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/scanner.py +0 -0
  224. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/schema_refs.py +0 -0
  225. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/screen_flow_validator.py +0 -0
  226. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/screen_transition_extractor.py +0 -0
  227. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/screen_transitions/defaults.yaml +0 -0
  228. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/synth.py +0 -0
  229. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/codd.yaml.tmpl +0 -0
  230. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/conventions.yaml.tmpl +0 -0
  231. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
  232. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/doc_links.yaml.tmpl +0 -0
  233. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
  234. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
  235. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
  236. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
  237. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
  238. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/extracted/system-context.md.j2 +0 -0
  239. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/gitignore.tmpl +0 -0
  240. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/lexicon_questions.md +0 -0
  241. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/lexicon_schema.yaml +0 -0
  242. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/templates/overrides.yaml.tmpl +0 -0
  243. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/traceability.py +0 -0
  244. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/validator.py +0 -0
  245. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/watch/__init__.py +0 -0
  246. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/watch/events.py +0 -0
  247. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/watch/propagation_log.py +0 -0
  248. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/watch/propagation_pipeline.py +0 -0
  249. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/watch/test_runner.py +0 -0
  250. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/watch/watcher.py +0 -0
  251. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd/wiring.py +0 -0
  252. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
  253. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
  254. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
  255. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
  256. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
  257. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
  258. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
  259. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
  260. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
  261. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
  262. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
  263. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
  264. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
  265. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
  266. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
  267. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
  268. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
  269. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
  270. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
  271. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
  272. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
  273. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
  274. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
  275. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
  276. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
  277. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
  278. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
  279. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
  280. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
  281. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
  282. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
  283. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
  284. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
  285. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
  286. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
  287. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
  288. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
  289. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
  290. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
  291. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
  292. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
  293. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
  294. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
  295. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
  296. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
  297. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
  298. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
  299. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
  300. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
  301. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
  302. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
  303. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
  304. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
  305. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
  306. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
  307. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
  308. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
  309. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
  310. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
  311. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
  312. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
  313. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
  314. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
  315. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
  316. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
  317. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
  318. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
  319. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
  320. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
  321. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
  322. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
  323. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
  324. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
  325. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
  326. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
  327. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
  328. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
  329. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
  330. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
  331. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
  332. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
  333. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
  334. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
  335. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
  336. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
  337. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
  338. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
  339. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
  340. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
  341. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
  342. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
  343. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
  344. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
  345. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
  346. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
  347. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
  348. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
  349. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
  350. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
  351. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
  352. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
  353. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
  354. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
  355. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
  356. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
  357. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
  358. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
  359. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
  360. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
  361. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
  362. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
  363. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
  364. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
  365. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
  366. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
  367. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
  368. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
  369. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
  370. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
  371. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
  372. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
  373. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
  374. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
  375. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
  376. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
  377. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
  378. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
  379. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
  380. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
  381. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
  382. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
  383. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
  384. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
  385. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
  386. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
  387. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
  388. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
  389. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
  390. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
  391. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
  392. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
  393. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
  394. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
  395. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
  396. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
  397. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
  398. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
  399. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
  400. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
  401. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
  402. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
  403. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
  404. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
  405. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
  406. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
  407. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
  408. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
  409. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
  410. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
  411. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
  412. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
  413. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
  414. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
  415. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
  416. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
  417. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
  418. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
  419. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
  420. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
  421. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
  422. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
  423. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
  424. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
  425. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
  426. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
  427. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
  428. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
  429. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
  430. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
  431. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
  432. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
  433. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
  434. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
  435. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
  436. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
  437. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
  438. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
  439. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
  440. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
  441. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
  442. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
  443. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
  444. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
  445. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
  446. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
  447. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
  448. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
  449. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
  450. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
  451. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
  452. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
  453. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
  454. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
  455. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
  456. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
  457. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
  458. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
  459. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
  460. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
  461. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
  462. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
  463. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
  464. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
  465. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
  466. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
  467. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
  468. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
  469. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
  470. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
  471. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
  472. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
  473. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
  474. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
  475. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
  476. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
  477. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
  478. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
  479. {codd_dev-2.18.0 → codd_dev-2.19.0}/codd_plugins/stack_map.yaml +0 -0
  480. {codd_dev-2.18.0 → codd_dev-2.19.0}/docs/cookbook/cdp_browser/README.md +0 -0
  481. {codd_dev-2.18.0 → codd_dev-2.19.0}/docs/requirements/README.md +0 -0
  482. {codd_dev-2.18.0 → codd_dev-2.19.0}/tests/integration/standalone_repair_skeleton/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codd-dev
3
- Version: 2.18.0
3
+ Version: 2.19.0
4
4
  Summary: CoDD: Coherence-Driven Development — cross-artifact change impact analysis
5
5
  Project-URL: Homepage, https://github.com/yohey-w/codd-dev
6
6
  Project-URL: Repository, https://github.com/yohey-w/codd-dev
@@ -102,8 +102,8 @@ codd fix "login error messages are hard to understand" # natural-language phen
102
102
  flowchart LR
103
103
  R["Requirements (.md)"] --> E["codd elicit"]
104
104
  E -->|gap findings| H{HITL: approve / reject}
105
- H -->|[x]| L["project_lexicon.yaml + requirements TODOs"]
106
- H -->|[r]| I["ignored_findings.yaml"]
105
+ H -->|approve| L["project_lexicon.yaml + requirements TODOs"]
106
+ H -->|reject| I["ignored_findings.yaml"]
107
107
  L --> V["codd dag verify --auto-repair"]
108
108
  V -->|violation| AR["LLM patch propose → apply"]
109
109
  AR --> V
@@ -62,8 +62,8 @@ codd fix "login error messages are hard to understand" # natural-language phen
62
62
  flowchart LR
63
63
  R["Requirements (.md)"] --> E["codd elicit"]
64
64
  E -->|gap findings| H{HITL: approve / reject}
65
- H -->|[x]| L["project_lexicon.yaml + requirements TODOs"]
66
- H -->|[r]| I["ignored_findings.yaml"]
65
+ H -->|approve| L["project_lexicon.yaml + requirements TODOs"]
66
+ H -->|reject| I["ignored_findings.yaml"]
67
67
  L --> V["codd dag verify --auto-repair"]
68
68
  V -->|violation| AR["LLM patch propose → apply"]
69
69
  AR --> V
@@ -1,4 +1,4 @@
1
- """Bridge helpers for optional codd-pro extensions and plugin registration."""
1
+ """Bridge helpers for optional plugin registration."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -8,10 +8,6 @@ from typing import Any, Callable
8
8
 
9
9
 
10
10
  PLUGIN_GROUP = "codd.plugins"
11
- PRO_COMMAND_INSTALL_MESSAGE = (
12
- "このコマンドは codd-pro に移動しました。"
13
- "pip install codd-pro でインストールできます。"
14
- )
15
11
 
16
12
 
17
13
  @dataclass
@@ -22,7 +18,6 @@ class BridgeRegistry:
22
18
  validator_handler: Callable[..., Any] | None = None
23
19
  policy_handler: Callable[..., Any] | None = None
24
20
  risk_builder: Callable[..., Any] | None = None
25
- command_handlers: dict[str, Callable[..., Any]] = field(default_factory=dict)
26
21
  mcp_tools: dict[str, dict[str, Any]] = field(default_factory=dict)
27
22
  mcp_handlers: dict[str, Callable[..., Any]] = field(default_factory=dict)
28
23
 
@@ -38,9 +33,6 @@ class BridgeRegistry:
38
33
  def register_risk_builder(self, handler: Callable[..., Any]) -> None:
39
34
  self.risk_builder = handler
40
35
 
41
- def register_command(self, name: str, handler: Callable[..., Any]) -> None:
42
- self.command_handlers[name] = handler
43
-
44
36
  def register_mcp_tool(self, tool: dict[str, Any], handler: Callable[..., Any]) -> None:
45
37
  name = str(tool.get("name") or "")
46
38
  if not name:
@@ -79,5 +71,12 @@ def load_bridge_registry() -> BridgeRegistry:
79
71
 
80
72
 
81
73
  def get_command_handler(name: str) -> Callable[..., Any] | None:
82
- """Return the registered handler for a Pro-only CLI command."""
83
- return load_bridge_registry().command_handlers.get(name)
74
+ """Return an optional plugin-provided command handler."""
75
+ registry = load_bridge_registry()
76
+ resolver = getattr(registry, "resolve_command_handler", None)
77
+ if callable(resolver):
78
+ handler = resolver(name)
79
+ return handler if callable(handler) else None
80
+
81
+ handler = getattr(registry, f"{name}_handler", None)
82
+ return handler if callable(handler) else None
@@ -14,7 +14,7 @@ from typing import Any
14
14
  import click
15
15
  import yaml
16
16
 
17
- from codd.bridge import PRO_COMMAND_INSTALL_MESSAGE, get_command_handler
17
+ from codd.bridge import get_command_handler
18
18
  from codd.config import find_codd_dir, load_project_config
19
19
  from codd.lexicon import LEXICON_FILENAME, load_lexicon, load_project_extends
20
20
 
@@ -172,18 +172,6 @@ def _compare_version_keys(installed: tuple[int, ...], op: str, expected: tuple[i
172
172
  return False
173
173
 
174
174
 
175
- def _run_pro_command(name: str, **kwargs):
176
- """Dispatch a Pro-only command when the bridge plugin is installed."""
177
- handler = get_command_handler(name)
178
- if handler is None:
179
- click.echo(PRO_COMMAND_INSTALL_MESSAGE)
180
- raise SystemExit(1)
181
-
182
- result = handler(**kwargs)
183
- if type(result) is int:
184
- raise SystemExit(result)
185
-
186
-
187
175
  def _require_codd_dir(project_root: Path) -> Path:
188
176
  """Return the CoDD config dir or exit with a helpful message."""
189
177
  codd_dir = find_codd_dir(project_root)
@@ -2433,11 +2421,12 @@ def verify(
2433
2421
  return
2434
2422
  if e2e or deploy:
2435
2423
  from codd.e2e_runner import run_e2e
2424
+
2436
2425
  run_e2e(path=path, deploy=deploy, base_url=base_url)
2437
2426
  return
2438
2427
 
2439
2428
  if not auto_repair:
2440
- _run_pro_command("verify", path=path, sprint=sprint)
2429
+ _run_verify_once(path=path, sprint=sprint, prefer_standalone=True)
2441
2430
  return
2442
2431
 
2443
2432
  project_root = Path(path).resolve()
@@ -2825,28 +2814,6 @@ def repair_slice_cmd(path, files, issue, issue_file, language, source_dirs, top_
2825
2814
  click.echo(result)
2826
2815
 
2827
2816
 
2828
- @main.command()
2829
- @click.option("--path", default=".", help="Project root directory")
2830
- @click.option("--scope", default=None, help="Review a single document by node_id")
2831
- @click.option("--json", "as_json", is_flag=True, help="Output results as JSON")
2832
- @click.option(
2833
- "--ai-cmd",
2834
- default=None,
2835
- help="Override AI CLI command (defaults to codd.yaml ai_command)",
2836
- )
2837
- def review(path: str, scope: str | None, as_json: bool, ai_cmd: str | None):
2838
- """Review design documents for content quality using AI.
2839
-
2840
- Evaluates artifacts against type-specific criteria (architecture soundness,
2841
- completeness, consistency with upstream docs, etc.) and returns PASS/FAIL
2842
- with a score and detailed feedback.
2843
-
2844
- Without --scope: reviews all documents.
2845
- With --scope: reviews a single document by node_id.
2846
- """
2847
- _run_pro_command("review", path=path, scope=scope, as_json=as_json, ai_cmd=ai_cmd)
2848
-
2849
-
2850
2817
  @main.command()
2851
2818
  @click.option("--lexicon", is_flag=True, default=False, help="Validate against project_lexicon.yaml")
2852
2819
  @click.option(
@@ -3317,41 +3284,6 @@ def fixup_drift(path: str, dry_run: bool, severity: str, kind: str):
3317
3284
  click.echo(f"Error: {error}")
3318
3285
 
3319
3286
 
3320
- @main.command()
3321
- @click.option("--diff", default="HEAD", help="Git diff target (default: HEAD)")
3322
- @click.option("--path", default=".", help="Project root directory")
3323
- @click.option("--json", "as_json", is_flag=True, help="Output as JSON")
3324
- @click.option("--skip-review", is_flag=True, help="Skip AI review (faster, no AI cost)")
3325
- @click.option("--output", default=None, help="Output file (default: stdout)")
3326
- @click.option("--ai-cmd", default=None, help="Override AI command for review phase")
3327
- def audit(diff: str, path: str, as_json: bool, skip_review: bool, output: str | None, ai_cmd: str | None):
3328
- """Change review pack — validate + impact + policy + review in one report.
3329
-
3330
- Produces a consolidated audit report for PM/QA to make merge/release
3331
- decisions. Runs four phases: structural validation, impact analysis,
3332
- policy check (enterprise rules from codd.yaml), and (optionally) AI
3333
- quality review.
3334
-
3335
- Exit code: 0 = APPROVE, 1 = CONDITIONAL or REJECT.
3336
- """
3337
- _run_pro_command(
3338
- "audit",
3339
- diff=diff,
3340
- path=path,
3341
- as_json=as_json,
3342
- skip_review=skip_review,
3343
- output=output,
3344
- ai_cmd=ai_cmd,
3345
- )
3346
-
3347
-
3348
- @main.command()
3349
- @click.option("--path", default=".", help="Project root directory")
3350
- def risk(path: str):
3351
- """Analyze change risk using the codd-pro extension pack."""
3352
- _run_pro_command("risk", path=path)
3353
-
3354
-
3355
3287
  @main.command()
3356
3288
  @click.argument("phenomenon", nargs=-1)
3357
3289
  @click.option("--path", default=".", help="Project root directory")
@@ -4563,11 +4495,12 @@ def _run_verify_once(
4563
4495
  *,
4564
4496
  prefer_standalone: bool = False,
4565
4497
  ) -> _CliVerificationResult:
4566
- if prefer_standalone or get_command_handler("verify") is None:
4498
+ handler = None if prefer_standalone else get_command_handler("verify")
4499
+ if handler is None:
4567
4500
  return _run_standalone_verify_once(path)
4568
4501
 
4569
4502
  try:
4570
- _run_pro_command("verify", path=path, sprint=sprint)
4503
+ result = handler(path=path, sprint=sprint)
4571
4504
  except SystemExit as exc:
4572
4505
  exit_code = _system_exit_code(exc)
4573
4506
  passed = exit_code == 0
@@ -4580,6 +4513,19 @@ def _run_verify_once(
4580
4513
  {},
4581
4514
  )
4582
4515
  return _CliVerificationResult(passed=passed, exit_code=exit_code, failure=failure)
4516
+ if isinstance(result, _CliVerificationResult):
4517
+ return result
4518
+ if type(result) is int:
4519
+ passed = result == 0
4520
+ failure = None
4521
+ if not passed:
4522
+ failure = _verification_failure_report(
4523
+ "verify",
4524
+ [],
4525
+ [f"codd verify exited with code {result}"],
4526
+ {},
4527
+ )
4528
+ return _CliVerificationResult(passed=passed, exit_code=result, failure=failure)
4583
4529
  return _CliVerificationResult(passed=True, exit_code=0, failure=None)
4584
4530
 
4585
4531
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "codd-dev"
7
- version = "2.18.0"
7
+ version = "2.19.0"
8
8
  description = "CoDD: Coherence-Driven Development — cross-artifact change impact analysis"
9
9
  readme = "README.md"
10
10
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes