codd-dev 2.19.0__tar.gz → 2.24.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 (579) hide show
  1. codd_dev-2.24.0/PKG-INFO +244 -0
  2. codd_dev-2.24.0/README.md +202 -0
  3. codd_dev-2.24.0/bench_fixture/README.md +21 -0
  4. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/__init__.py +1 -1
  5. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/_git_helper.py +4 -0
  6. codd_dev-2.24.0/codd/action_outcome.py +360 -0
  7. codd_dev-2.24.0/codd/ai_invoke.py +810 -0
  8. codd_dev-2.24.0/codd/ai_patch.py +205 -0
  9. codd_dev-2.24.0/codd/artifact_contract.py +971 -0
  10. codd_dev-2.24.0/codd/artifact_ids.py +311 -0
  11. codd_dev-2.24.0/codd/artifacts/catalog.yaml +269 -0
  12. codd_dev-2.24.0/codd/capability_completeness.py +545 -0
  13. codd_dev-2.24.0/codd/claude_cli.py +49 -0
  14. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/cli.py +3586 -320
  15. codd_dev-2.24.0/codd/confidence.py +242 -0
  16. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/config.py +10 -0
  17. codd_dev-2.24.0/codd/config_schema.py +248 -0
  18. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/coverage_metrics.py +7 -1
  19. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/builder.py +13 -8
  20. codd_dev-2.24.0/codd/dag/checks/_one_to_many_detection.py +311 -0
  21. codd_dev-2.24.0/codd/dag/checks/artifact_contract_check.py +145 -0
  22. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/ci_health.py +23 -1
  23. codd_dev-2.24.0/codd/dag/checks/dependency_freshness.py +355 -0
  24. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/depends_on_consistency.py +48 -0
  25. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/environment_coverage.py +18 -1
  26. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/implementation_coverage.py +72 -14
  27. codd_dev-2.24.0/codd/dag/checks/ui_coherence.py +249 -0
  28. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/user_journey_coherence.py +326 -0
  29. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/coverage_axes.py +106 -3
  30. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/cli.yaml +1 -0
  31. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/generic.yaml +6 -0
  32. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/iot.yaml +1 -0
  33. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/mobile.yaml +1 -0
  34. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/web.yaml +1 -0
  35. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/extractor.py +35 -36
  36. codd_dev-2.24.0/codd/dag/impact.py +201 -0
  37. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/runner.py +30 -0
  38. codd_dev-2.24.0/codd/defaults.yaml +396 -0
  39. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/extractor.py +190 -51
  40. codd_dev-2.24.0/codd/deployment/providers/ai_command.py +368 -0
  41. codd_dev-2.24.0/codd/deployment/providers/ai_command_factory.py +132 -0
  42. codd_dev-2.24.0/codd/deployment/providers/codex_app_server.py +410 -0
  43. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/__init__.py +2 -0
  44. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/cdp_browser.py +27 -1
  45. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/playwright.py +56 -8
  46. codd_dev-2.24.0/codd/deployment/providers/verification/vitest.py +198 -0
  47. codd_dev-2.24.0/codd/discovery.py +220 -0
  48. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/drift.py +1 -1
  49. codd_dev-2.24.0/codd/e2e_contract_coherence.py +397 -0
  50. codd_dev-2.24.0/codd/e2e_extractor.py +1919 -0
  51. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/e2e_generator.py +134 -5
  52. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/lexicon_loader.py +12 -17
  53. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/extract_ai.py +175 -72
  54. codd_dev-2.24.0/codd/extract_paths.py +51 -0
  55. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/extractor.py +67 -10
  56. codd_dev-2.24.0/codd/fix/impl_propagation.py +557 -0
  57. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/phenomenon_fixer.py +250 -15
  58. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/templates/design_update.txt +16 -0
  59. codd_dev-2.24.0/codd/fix/templates/impl_update.txt +48 -0
  60. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fixer.py +38 -153
  61. codd_dev-2.24.0/codd/frontmatter.py +260 -0
  62. codd_dev-2.24.0/codd/generator.py +1528 -0
  63. codd_dev-2.24.0/codd/git_evidence.py +560 -0
  64. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/graph.py +8 -6
  65. codd_dev-2.24.0/codd/greenfield/__init__.py +1 -0
  66. codd_dev-2.24.0/codd/greenfield/pipeline.py +1908 -0
  67. codd_dev-2.24.0/codd/hooks/recipes/claude_requirements_nudge.json +15 -0
  68. codd_dev-2.24.0/codd/iac_nfr.py +1170 -0
  69. codd_dev-2.24.0/codd/implement_oracle.py +874 -0
  70. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/implementer/chunked_runner.py +3 -1
  71. codd_dev-2.24.0/codd/implementer.py +2559 -0
  72. codd_dev-2.24.0/codd/import_coherence.py +525 -0
  73. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/criteria_expander.py +165 -5
  74. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/design_doc_extractor.py +11 -4
  75. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/impl_step_deriver.py +18 -5
  76. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/criteria_expand_meta.md +3 -0
  77. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/impl_step_derive_meta.md +18 -0
  78. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/measure.py +10 -3
  79. codd_dev-2.24.0/codd/operational_e2e_audit.py +1342 -0
  80. codd_dev-2.24.0/codd/operations_derive.py +571 -0
  81. codd_dev-2.24.0/codd/parsing/__init__.py +219 -0
  82. codd_dev-2.24.0/codd/parsing/_shared.py +300 -0
  83. codd_dev-2.24.0/codd/parsing/api_specs.py +410 -0
  84. codd_dev-2.24.0/codd/parsing/filesystem_routes.py +245 -0
  85. codd_dev-2.24.0/codd/parsing/iac.py +1204 -0
  86. codd_dev-2.24.0/codd/parsing/python_ast.py +481 -0
  87. codd_dev-2.24.0/codd/parsing/schemas.py +304 -0
  88. codd_dev-2.24.0/codd/parsing/tests_builddeps.py +235 -0
  89. codd_dev-2.24.0/codd/parsing/treesitter.py +798 -0
  90. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/planner.py +316 -62
  91. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/policy.py +2 -1
  92. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/preflight/__init__.py +5 -3
  93. codd_dev-2.24.0/codd/preflight/defaults/generic.yaml +20 -0
  94. codd_dev-2.24.0/codd/project_types.py +1530 -0
  95. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/propagate.py +8 -19
  96. codd_dev-2.24.0/codd/propagation_common.py +343 -0
  97. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/propagator.py +314 -126
  98. codd_dev-2.24.0/codd/reconciliation_ledger.py +172 -0
  99. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/approval_repair.py +38 -0
  100. codd_dev-2.24.0/codd/repair/auto_scope_guard.py +410 -0
  101. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/llm_repair_engine.py +5 -7
  102. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/loop.py +105 -4
  103. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/repairability_classifier.py +41 -1
  104. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/schema.py +9 -0
  105. codd_dev-2.24.0/codd/repair/test_failure_attribution.py +733 -0
  106. codd_dev-2.24.0/codd/repair/verify_runner.py +1129 -0
  107. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/require_propagate.py +12 -95
  108. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/required_artifacts/defaults/cli.yaml +26 -0
  109. codd_dev-2.24.0/codd/required_artifacts/defaults/generic.yaml +62 -0
  110. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/required_artifacts/defaults/iot.yaml +26 -0
  111. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/required_artifacts/defaults/mobile.yaml +26 -0
  112. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/required_artifacts/defaults/web.yaml +26 -0
  113. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/required_artifacts_deriver.py +22 -7
  114. codd_dev-2.24.0/codd/requirement_completeness/defaults/generic.yaml +99 -0
  115. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/requirement_completeness_auditor.py +18 -5
  116. codd_dev-2.24.0/codd/requirement_reconciliation.py +555 -0
  117. codd_dev-2.24.0/codd/requirements_meta.py +168 -0
  118. codd_dev-2.24.0/codd/restoration_report.py +1110 -0
  119. codd_dev-2.24.0/codd/restore.py +944 -0
  120. codd_dev-2.24.0/codd/runtime_smoke/__init__.py +11 -0
  121. codd_dev-2.24.0/codd/runtime_smoke/checks.py +729 -0
  122. codd_dev-2.24.0/codd/runtime_smoke/config.py +471 -0
  123. codd_dev-2.24.0/codd/runtime_smoke/report.py +96 -0
  124. codd_dev-2.24.0/codd/runtime_smoke/runner.py +163 -0
  125. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/scanner.py +9 -21
  126. codd_dev-2.24.0/codd/skills_cli/__init__.py +1 -0
  127. codd_dev-2.24.0/codd/skills_cli/discovery.py +94 -0
  128. codd_dev-2.24.0/codd/skills_cli/manager.py +371 -0
  129. codd_dev-2.24.0/codd/skills_cli/paths.py +60 -0
  130. codd_dev-2.24.0/codd/surface_reconciliation.py +309 -0
  131. codd_dev-2.24.0/codd/templates/codd.yaml.tmpl +178 -0
  132. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/extract_ai_prompt_baseline.md +17 -10
  133. codd_dev-2.24.0/codd/test_detection.py +144 -0
  134. codd_dev-2.24.0/codd/test_import_coherence.py +538 -0
  135. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/validator.py +8 -16
  136. codd_dev-2.24.0/codd/verifiable_behavior_audit.py +819 -0
  137. codd_dev-2.24.0/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +11 -0
  138. codd_dev-2.24.0/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +31 -0
  139. codd_dev-2.24.0/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +117 -0
  140. codd_dev-2.24.0/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +20 -0
  141. codd_dev-2.24.0/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +8 -0
  142. codd_dev-2.24.0/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +25 -0
  143. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/stack_map.yaml +1 -0
  144. codd_dev-2.24.0/docs/cookbook/presentation_aggregation/README.md +37 -0
  145. codd_dev-2.24.0/dogfood/README.md +415 -0
  146. codd_dev-2.24.0/dogfood/fixtures/flat_py_app/README.md +5 -0
  147. codd_dev-2.24.0/examples/README.md +40 -0
  148. {codd_dev-2.19.0 → codd_dev-2.24.0}/pyproject.toml +13 -1
  149. codd_dev-2.24.0/skills/codd-assemble/SKILL.md +108 -0
  150. codd_dev-2.24.0/skills/codd-evolve/SKILL.md +338 -0
  151. codd_dev-2.24.0/skills/codd-generate/SKILL.md +150 -0
  152. codd_dev-2.24.0/skills/codd-greenfield/SKILL.md +197 -0
  153. codd_dev-2.24.0/skills/codd-impact/SKILL.md +166 -0
  154. codd_dev-2.24.0/skills/codd-init/SKILL.md +110 -0
  155. codd_dev-2.24.0/skills/codd-propagate/SKILL.md +157 -0
  156. codd_dev-2.24.0/skills/codd-restore/SKILL.md +125 -0
  157. codd_dev-2.24.0/skills/codd-scan/SKILL.md +123 -0
  158. codd_dev-2.24.0/skills/codd-validate/SKILL.md +61 -0
  159. codd_dev-2.19.0/PKG-INFO +0 -222
  160. codd_dev-2.19.0/README.md +0 -182
  161. codd_dev-2.19.0/codd/defaults.yaml +0 -73
  162. codd_dev-2.19.0/codd/deployment/providers/ai_command.py +0 -190
  163. codd_dev-2.19.0/codd/e2e_extractor.py +0 -494
  164. codd_dev-2.19.0/codd/generator.py +0 -1065
  165. codd_dev-2.19.0/codd/implementer.py +0 -1442
  166. codd_dev-2.19.0/codd/parsing.py +0 -3061
  167. codd_dev-2.19.0/codd/repair/verify_runner.py +0 -382
  168. codd_dev-2.19.0/codd/restore.py +0 -270
  169. codd_dev-2.19.0/codd/templates/codd.yaml.tmpl +0 -72
  170. {codd_dev-2.19.0 → codd_dev-2.24.0}/.gitignore +0 -0
  171. {codd_dev-2.19.0 → codd_dev-2.24.0}/LICENSE +0 -0
  172. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/__main__.py +0 -0
  173. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/ask_user_question_adapter.py +0 -0
  174. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/assembler.py +0 -0
  175. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/bridge.py +0 -0
  176. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/brownfield/__init__.py +0 -0
  177. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/brownfield/pipeline.py +0 -0
  178. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/clustering.py +0 -0
  179. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/coherence_adapters.py +0 -0
  180. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/coherence_engine.py +0 -0
  181. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/contracts.py +0 -0
  182. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/coverage_auditor.py +0 -0
  183. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/__init__.py +0 -0
  184. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/auto_repair.py +0 -0
  185. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/__init__.py +0 -0
  186. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/deployment_completeness.py +0 -0
  187. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/edge_validity.py +0 -0
  188. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/node_completeness.py +0 -0
  189. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/opt_out.py +0 -0
  190. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/task_completion.py +0 -0
  191. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/checks/transitive_closure.py +0 -0
  192. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
  193. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/csharp.yaml +0 -0
  194. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/elixir.yaml +0 -0
  195. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/java.yaml +0 -0
  196. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/kotlin.yaml +0 -0
  197. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/ruby.yaml +0 -0
  198. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/rust.yaml +0 -0
  199. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/scala.yaml +0 -0
  200. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/swift.yaml +0 -0
  201. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
  202. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/defaults.py +0 -0
  203. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deploy_targets/__init__.py +0 -0
  204. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deploy_targets/app_service.py +0 -0
  205. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deploy_targets/base.py +0 -0
  206. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deploy_targets/docker_compose.py +0 -0
  207. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployer.py +0 -0
  208. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/__init__.py +0 -0
  209. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/checks/__init__.py +0 -0
  210. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
  211. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
  212. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
  213. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
  214. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/__init__.py +0 -0
  215. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/llm_consideration.py +0 -0
  216. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/schema/__init__.py +0 -0
  217. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/schema/prisma.py +0 -0
  218. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/target/__init__.py +0 -0
  219. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/target/docker_compose.py +0 -0
  220. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
  221. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
  222. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
  223. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
  224. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/curl.py +0 -0
  225. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
  226. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
  227. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/design_md.py +0 -0
  228. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/diff/__init__.py +0 -0
  229. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/diff/apply.py +0 -0
  230. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/diff/engine.py +0 -0
  231. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/diff/persistence.py +0 -0
  232. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/diff/templates/diff_prompt.md +0 -0
  233. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/e2e_runner.py +0 -0
  234. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/__init__.py +0 -0
  235. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/apply.py +0 -0
  236. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/engine.py +0 -0
  237. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/finding.py +0 -0
  238. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/formatters/__init__.py +0 -0
  239. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/formatters/base.py +0 -0
  240. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/formatters/interactive.py +0 -0
  241. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/formatters/json_fmt.py +0 -0
  242. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/formatters/md.py +0 -0
  243. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/persistence.py +0 -0
  244. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
  245. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/env_refs.py +0 -0
  246. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/__init__.py +0 -0
  247. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/candidate_selector.py +0 -0
  248. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/design_updater.py +0 -0
  249. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/interactive_prompt.py +0 -0
  250. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/phenomenon_parser.py +0 -0
  251. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/risk_classifier.py +0 -0
  252. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/templates/clarification_question.txt +0 -0
  253. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
  254. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/templates/risk_assessment.txt +0 -0
  255. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fix/templates_loader.py +0 -0
  256. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fixup_drift.py +0 -0
  257. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fixup_drift_strategies/__init__.py +0 -0
  258. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
  259. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
  260. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
  261. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hitl_session.py +0 -0
  262. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hooks/__init__.py +0 -0
  263. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hooks/pre-commit +0 -0
  264. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
  265. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hooks/recipes/codex_hook.sh +0 -0
  266. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
  267. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
  268. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/implementer/__init__.py +0 -0
  269. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/implementer/typecheck_loop.py +0 -0
  270. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/inheritance.py +0 -0
  271. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/init/__init__.py +0 -0
  272. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/init/lexicon_suggest.py +0 -0
  273. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/init/llm_lexicon_suggester.py +0 -0
  274. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/init/stack_detector.py +0 -0
  275. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/knowledge_fetcher.py +0 -0
  276. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon.py +0 -0
  277. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/__init__.py +0 -0
  278. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
  279. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/formatters/html.py +0 -0
  280. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
  281. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/formatters/md.py +0 -0
  282. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/inspector.py +0 -0
  283. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/manager.py +0 -0
  284. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/reporter.py +0 -0
  285. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/lexicon_cli/threshold.py +0 -0
  286. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/__init__.py +0 -0
  287. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/approval.py +0 -0
  288. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/best_practice_augmenter.py +0 -0
  289. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/means_catalog_loader.py +0 -0
  290. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/parser.py +0 -0
  291. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/plan_deriver.py +0 -0
  292. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/prompt_builder.py +0 -0
  293. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/strategy_validator.py +0 -0
  294. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
  295. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
  296. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
  297. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/meta_instruction.md +0 -0
  298. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/plan_derive_meta.md +0 -0
  299. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
  300. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/mcp_server.py +0 -0
  301. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/preflight/defaults/cli.yaml +0 -0
  302. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/preflight/defaults/iot.yaml +0 -0
  303. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/preflight/defaults/mobile.yaml +0 -0
  304. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/preflight/defaults/web.yaml +0 -0
  305. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/registry.py +0 -0
  306. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/__init__.py +0 -0
  307. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/engine.py +0 -0
  308. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/git_patcher.py +0 -0
  309. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/history.py +0 -0
  310. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/primary_picker.py +0 -0
  311. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/proof_breaks.py +0 -0
  312. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/repair_result.py +0 -0
  313. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/templates/analyze_meta.md +0 -0
  314. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/templates/propose_meta.md +0 -0
  315. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
  316. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair/templates/repairability_meta.md +0 -0
  317. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/repair_slice.py +0 -0
  318. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/require.py +0 -0
  319. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/require_plugins.py +0 -0
  320. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
  321. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
  322. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
  323. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
  324. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/routes_extractor.py +0 -0
  325. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/schema_refs.py +0 -0
  326. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/screen_flow_validator.py +0 -0
  327. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/screen_transition_extractor.py +0 -0
  328. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/screen_transitions/defaults.yaml +0 -0
  329. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/synth.py +0 -0
  330. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/conventions.yaml.tmpl +0 -0
  331. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
  332. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/doc_links.yaml.tmpl +0 -0
  333. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
  334. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
  335. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
  336. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
  337. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/extracted/system-context.md.j2 +0 -0
  338. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/gitignore.tmpl +0 -0
  339. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/lexicon_questions.md +0 -0
  340. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/lexicon_schema.yaml +0 -0
  341. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/templates/overrides.yaml.tmpl +0 -0
  342. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/traceability.py +0 -0
  343. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/watch/__init__.py +0 -0
  344. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/watch/events.py +0 -0
  345. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/watch/propagation_log.py +0 -0
  346. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/watch/propagation_pipeline.py +0 -0
  347. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/watch/test_runner.py +0 -0
  348. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/watch/watcher.py +0 -0
  349. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd/wiring.py +0 -0
  350. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
  351. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
  352. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
  353. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
  354. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
  355. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
  356. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
  357. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
  358. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
  359. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
  360. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
  361. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
  362. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
  363. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
  364. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
  365. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
  366. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
  367. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
  368. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
  369. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
  370. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
  371. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
  372. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
  373. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
  374. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
  375. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
  376. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
  377. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
  378. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
  379. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
  380. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
  381. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
  382. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
  383. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
  384. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
  385. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
  386. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
  387. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
  388. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
  389. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
  390. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
  391. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
  392. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
  393. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
  394. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
  395. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
  396. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
  397. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
  398. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
  399. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
  400. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
  401. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
  402. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
  403. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
  404. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
  405. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
  406. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
  407. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
  408. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
  409. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
  410. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
  411. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
  412. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
  413. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
  414. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
  415. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
  416. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
  417. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
  418. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
  419. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
  420. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
  421. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
  422. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
  423. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
  424. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
  425. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
  426. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
  427. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
  428. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
  429. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
  430. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
  431. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
  432. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
  433. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
  434. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
  435. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
  436. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
  437. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
  438. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
  439. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
  440. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
  441. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
  442. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
  443. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
  444. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
  445. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
  446. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
  447. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
  448. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
  449. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
  450. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
  451. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
  452. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
  453. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
  454. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
  455. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
  456. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
  457. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
  458. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
  459. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
  460. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
  461. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
  462. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
  463. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
  464. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
  465. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
  466. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
  467. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
  468. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
  469. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
  470. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
  471. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
  472. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
  473. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
  474. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
  475. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
  476. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
  477. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
  478. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
  479. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
  480. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
  481. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
  482. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
  483. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
  484. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
  485. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
  486. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
  487. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
  488. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
  489. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
  490. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
  491. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
  492. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
  493. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
  494. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
  495. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
  496. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
  497. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
  498. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
  499. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
  500. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
  501. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
  502. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
  503. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
  504. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
  505. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
  506. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
  507. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
  508. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
  509. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
  510. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
  511. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
  512. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
  513. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
  514. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
  515. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
  516. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
  517. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
  518. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
  519. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
  520. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
  521. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
  522. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
  523. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
  524. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
  525. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
  526. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
  527. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
  528. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
  529. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
  530. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
  531. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
  532. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
  533. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
  534. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
  535. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
  536. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
  537. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
  538. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
  539. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
  540. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
  541. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
  542. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
  543. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
  544. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
  545. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
  546. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
  547. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
  548. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
  549. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
  550. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
  551. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
  552. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
  553. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
  554. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
  555. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
  556. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
  557. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
  558. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
  559. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
  560. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
  561. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
  562. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
  563. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
  564. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
  565. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
  566. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
  567. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
  568. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
  569. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
  570. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
  571. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
  572. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
  573. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
  574. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
  575. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
  576. {codd_dev-2.19.0 → codd_dev-2.24.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
  577. {codd_dev-2.19.0 → codd_dev-2.24.0}/docs/cookbook/cdp_browser/README.md +0 -0
  578. {codd_dev-2.19.0 → codd_dev-2.24.0}/docs/requirements/README.md +0 -0
  579. {codd_dev-2.19.0 → codd_dev-2.24.0}/tests/integration/standalone_repair_skeleton/README.md +0 -0
@@ -0,0 +1,244 @@
1
+ Metadata-Version: 2.4
2
+ Name: codd-dev
3
+ Version: 2.24.0
4
+ Summary: CoDD: Coherence-Driven Development — cross-artifact change impact analysis
5
+ Project-URL: Homepage, https://github.com/yohey-w/codd-dev
6
+ Project-URL: Repository, https://github.com/yohey-w/codd-dev
7
+ Project-URL: Issues, https://github.com/yohey-w/codd-dev/issues
8
+ Author-email: Yohei Watanabe <yohey-w@users.noreply.github.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: change-impact,claude-code,dependency-graph,plugin,software-engineering
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Software Development :: Quality Assurance
17
+ Requires-Python: >=3.10
18
+ Requires-Dist: click>=8.0
19
+ Requires-Dist: httpx>=0.27.0
20
+ Requires-Dist: jinja2>=3.1.0
21
+ Requires-Dist: python-hcl2>=7.0.0
22
+ Requires-Dist: pyyaml>=6.0
23
+ Requires-Dist: tomli>=2.0.1; python_version < '3.11'
24
+ Requires-Dist: watchdog>=4.0.0
25
+ Requires-Dist: websocket-client>=1.8.0
26
+ Provides-Extra: ai
27
+ Provides-Extra: api-parsers
28
+ Requires-Dist: graphql-core>=3.2.0; extra == 'api-parsers'
29
+ Provides-Extra: infra
30
+ Requires-Dist: python-hcl2>=7.0.0; extra == 'infra'
31
+ Provides-Extra: mcp
32
+ Provides-Extra: scan
33
+ Requires-Dist: tree-sitter-java>=0.22; extra == 'scan'
34
+ Requires-Dist: tree-sitter-python>=0.22; extra == 'scan'
35
+ Requires-Dist: tree-sitter-typescript>=0.22; extra == 'scan'
36
+ Requires-Dist: tree-sitter>=0.22; extra == 'scan'
37
+ Provides-Extra: tree-sitter
38
+ Requires-Dist: tree-sitter-python<0.26.0,>=0.25.0; extra == 'tree-sitter'
39
+ Requires-Dist: tree-sitter-typescript<0.24.0,>=0.23.0; extra == 'tree-sitter'
40
+ Requires-Dist: tree-sitter<0.26.0,>=0.25.0; extra == 'tree-sitter'
41
+ Description-Content-Type: text/markdown
42
+
43
+ <p align="center">
44
+ <strong>CoDD — Coherence-Driven Development</strong>
45
+ </p>
46
+
47
+ <p align="center">
48
+ <a href="https://pypi.org/project/codd-dev/"><img src="https://img.shields.io/pypi/v/codd-dev?style=flat-square&color=blue" alt="PyPI"></a>
49
+ <a href="https://pypi.org/project/codd-dev/"><img src="https://img.shields.io/pypi/pyversions/codd-dev?style=flat-square" alt="Python"></a>
50
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License"></a>
51
+ <a href="https://github.com/yohey-w/codd-dev/stargazers"><img src="https://img.shields.io/github/stars/yohey-w/codd-dev?style=flat-square" alt="Stars"></a>
52
+ </p>
53
+
54
+ <p align="center">
55
+ <a href="README_ja.md">日本語</a> | English | <a href="README_zh.md">中文</a>
56
+ </p>
57
+
58
+ > Write only functional requirements and constraints. CoDD generates the code, repairs the coherence, and verifies the result.
59
+
60
+ ---
61
+
62
+ ## 🌟 Why CoDD
63
+
64
+ > **"Write only functional requirements and constraints. Code is generated, repaired, and verified automatically."**
65
+
66
+ Most "AI-assisted dev" tools focus on the **generation** side. CoDD focuses on the **constraint** side: the LLM is most useful when it has a precise picture of what *must* be true. CoDD ties every artifact (requirements → design → lexicon → source → tests → runtime) into a single DAG, drives an LLM repair loop against it, and surfaces what is structurally unrepairable — honestly.
67
+
68
+ With an enabled artifact contract, `codd plan/generate/implement/verify` judge completion by the artifacts actually produced, not by the command merely returning — a harness-level mechanism that lets even a weaker model stay on the north star.
69
+
70
+ ---
71
+
72
+ ## 🚀 Get started in 60 seconds
73
+
74
+ ```bash
75
+ pip install codd-dev
76
+
77
+ # Greenfield: write requirements, walk away
78
+ codd greenfield --requirements docs/requirements/requirements.md
79
+ ```
80
+
81
+ One command runs the whole unattended pipeline — init → elicit → plan → generate → implement → verify (auto-repair) → propagate → check — checkpointing after every unit (`codd greenfield --resume` picks up where it stopped, `--ntfy-topic` sends progress pings, `--dry-run` previews). The same pipeline ships as three vehicles so any setup can use it: a transparent shell composition ([examples/greenfield_autopilot.sh](examples/greenfield_autopilot.sh)), a Claude Code Agent Workflow template ([examples/claude_workflows/codd-greenfield.js](examples/claude_workflows/codd-greenfield.js)), and the `codd-greenfield` skill (`codd skills install codd-greenfield --target both` — works in Claude Code and Codex CLI).
82
+
83
+ Working inside an existing project instead:
84
+
85
+ ```bash
86
+ codd init --suggest-lexicons --llm-enhanced # AI picks the lexicons that fit
87
+ codd elicit # AI finds gaps in your requirements
88
+ codd dag verify --auto-repair --max-attempts 10 # AI fixes coherence violations
89
+ ```
90
+
91
+ Already shipping? Describe what you want fixed:
92
+
93
+ ```bash
94
+ codd fix "login error messages are hard to understand" # natural-language phenomenon mode
95
+ ```
96
+
97
+ `codd fix [PHENOMENON]` is CoDD's second entry-point: state the desired change in plain words, CoDD locates the affected design docs via lexicon + semantic scoring and updates them with an LLM. From there the change flows **design → implementation → tests → verify**: Stage 4 deterministically resolves the affected implementation + test files from the DAG, makes an allowlist-confined LLM patch, and runs a verify gate (no new red DAG check + local tests pass) with targeted rollback (only files this run wrote are reverted) on failure. Opt out with `--no-propagate-impl`; add `--propagate` to also reconcile dependent design docs. `--dry-run` previews, `--non-interactive` runs in CI.
98
+
99
+ ---
100
+
101
+ ## 🎨 Visual flow
102
+
103
+ ```mermaid
104
+ flowchart LR
105
+ R["Requirements (.md)"] --> E["codd elicit"]
106
+ E -->|gap findings| H{HITL: approve / reject}
107
+ H -->|approve| L["project_lexicon.yaml + requirements TODOs"]
108
+ H -->|reject| I["ignored_findings.yaml"]
109
+ L --> V["codd dag verify --auto-repair"]
110
+ V -->|violation| AR["LLM patch propose → apply"]
111
+ AR --> V
112
+ V -->|SUCCESS| D["✅ deploy gate passes"]
113
+ AR -->|max attempts| P["PARTIAL_SUCCESS: unrepairable surfaced honestly"]
114
+ ```
115
+
116
+ Brownfield path:
117
+
118
+ ```mermaid
119
+ flowchart LR
120
+ Code["Existing codebase"] --> X["codd extract"]
121
+ X --> DIFF["codd diff (drift)"]
122
+ DIFF --> EL["codd elicit (coverage gaps)"]
123
+ EL --> H{HITL gate}
124
+ H --> Apply["codd elicit apply"]
125
+ Apply --> V["codd dag verify"]
126
+ ```
127
+
128
+ ---
129
+
130
+ ## ✨ What it does
131
+
132
+ CoDD is one CLI organised in four layers. Pick what you need; the rest stays out of your way.
133
+
134
+ ### Core commands
135
+
136
+ | Command | One-line summary |
137
+ | --- | --- |
138
+ | 🚀 **`codd greenfield --requirements FILE`** | Unattended autopilot: requirements in, system out. All gates auto-approved, checkpoint/resume via `--resume`, ntfy notify-only. Its building blocks (`generate --all-waves`, `implement list-tasks`, `verify --repair-mode`) also work standalone. |
139
+ | 🎯 **`codd init --suggest-lexicons --llm-enhanced`** | LLM scans code/docs, picks the right lexicon plug-ins. |
140
+ | 🔍 **`codd elicit`** | Finds *specification holes* against industry-standard lexicons. |
141
+ | 🔄 **`codd diff`** | Detects drift between requirements and actual implementation. |
142
+ | 🛠️ **`codd dag verify --auto-repair`** | Validates the full DAG; LLM proposes patches; loop until SUCCESS or MAX_ATTEMPTS. |
143
+ | 🎯 **`codd fix`** / **`codd fix [PHENOMENON]`** | Two modes — auto-detect CI failures, or describe a desired change in natural language; phenomenon mode flows design → implementation → tests → verify (opt out via `--no-propagate-impl`). |
144
+ | 🧭 **`codd operations {derive,show,approve,apply}`** | Detects requirement units anchored to no declared operation, has the AI propose `operation_flow` entries, and writes a proposal for human review — nothing reaches `codd.yaml` until `approve` + `apply`. Opt-in, non-destructive. (Legacy `merge` still works as a deprecated alias of `apply`.) |
145
+ | 📜 **`codd contract {derive,show,apply,verify}`** | V-model artifact contract. `derive`/`apply` are requirement-driven selection of *which* catalog artifacts a project declares per stage (`derive` detects the project's signals — requirement docs, design docs, lexicon, declared `operation_flow`, source dirs, test/e2e suites — and writes a reviewable proposal, never touching `codd.yaml`; `apply` merges it non-destructively and idempotently, `--enable` to turn the gate on). `verify`/gate are the completion side: with the contract enabled, a stage can't claim completion until its declared artifacts are produced/validate. `show` renders the catalog + this project's contract. Opt-in; absent/disabled contract = no-op. (Legacy `suggest`/`adopt` still work as deprecated aliases.) |
146
+ | 🌐 **`codd brownfield`** | Extract → diff → elicit pipeline for existing codebases. |
147
+
148
+ ### Quality gates
149
+
150
+ | Gate | Purpose |
151
+ | --- | --- |
152
+ | 🧪 **`codd verify --runtime`** | Step 8 runtime smoke (DB up + dev server reachable + smoke HTTP + real-browser E2E + opt-in CRUD reflection via `runtime.crud_flow_targets` + action outcome coverage via `runtime.action_outcome_targets`). `--runtime-skip` opts out per category and records the reason. |
153
+ | 📊 **`codd lexicon list/install/diff` + `codd coverage report`** | Plug-in management + JSON / Markdown / self-contained HTML coverage matrices. |
154
+ | 🛡️ **CI gate** | `.github/workflows/codd_coverage.yml` template + `codd coverage check` exit code blocks coverage regressions on merge. |
155
+
156
+ ### Skills & backends
157
+
158
+ | Capability | What it gives you |
159
+ | --- | --- |
160
+ | 🔁 **`codd skills {install,list,remove}`** | Distributes bundled skills (e.g. `codd-evolve`) to `~/.claude/skills/` and `~/.agents/skills/`. `--target {claude,codex,both}`, `--mode {symlink,copy}`, idempotent + `--force`. |
161
+ | 🪡 **codd-evolve skill** | Brownfield conversational evolution. Walks requirements → design → lexicon → source → tests → verify → propagate → Step 8 runtime smoke from a single natural-language intent. Stop-and-ask gates for new lexicon terms, breaking changes, and 1:N UI topology. |
162
+ | ⚡ **Codex App Server backend** (v2.20.0) | Set `codex_app_server.enabled: true` in `codd.yaml` to route AI calls through a persistent JSON-RPC thread instead of subprocess. `thread_strategy: per_session` amortises codex cold-start across `codd implement` / `codd verify --auto-repair` / `codd fix`. Automatic `subprocess` fallback when the binary or socket is missing. |
163
+
164
+ ### Lexicon plug-ins
165
+
166
+ 38 industry-standard lexicons ship as opt-in coverage axes — Web (WCAG / OWASP / Web Vitals / WebAuthn / forms / SEO / PWA), Mobile (HIG / Material 3 / a11y / MASVS), Backend (REST / GraphQL / gRPC / events), Data (SQL / JSON Schema / event sourcing / governance), Ops (CI/CD / Kubernetes / Terraform / observability / DORA), Compliance (ISO 27001 / HIPAA / PCI DSS / GDPR / EU AI Act), Process (ISO 25010 / 29119 / DDD / 12-factor / i18n / model cards / API rate-limit), and Methodology (BABOK).
167
+
168
+ ---
169
+
170
+ ## 📊 Case study
171
+
172
+ Dogfooded against a Next.js + Prisma + PostgreSQL multi-tenant LMS (~30 design docs, 12 DB tables, RLS-enforced isolation): `codd init --suggest-lexicons` matched 9 of 10 manually-chosen lexicons, `codd elicit` surfaced 70 spec holes, `codd dag verify --auto-repair` drove 16 unrepairable violations down to **PASS or amber-WARN with deploy allowed** — without a single line of CoDD core change per project. Project-specific concerns live entirely in `project_lexicon.yaml` and `codd_plugins/`.
173
+
174
+ ---
175
+
176
+ ## 🧱 Generality Gate (three-layer architecture)
177
+
178
+ | Layer | Where stack-specific names live | Examples |
179
+ | --- | --- | --- |
180
+ | **A — Core** | **Nowhere.** Zero `react`, `django`, `Stripe`, `LMS` literals. | `codd/elicit/`, `codd/dag/`, `codd/lexicon_cli/` |
181
+ | **B — Templates** | Generic placeholders only. | `codd/templates/*.j2`, `codd/templates/lexicon_schema.yaml` |
182
+ | **C — Plug-ins** | Free to name anything. | `codd_plugins/lexicons/*/`, `codd_plugins/stack_map.yaml` |
183
+
184
+ This is what lets one core work for Next.js, Django, FastAPI, Rails, Go services, mobile apps, ML model cards — and lets contributors add a lexicon without touching the core.
185
+
186
+ ---
187
+
188
+ ## 🧭 Roadmap
189
+
190
+ Up next:
191
+
192
+ - App-Server-driven benchmark publication (P50 / P95 / P99 for subprocess vs JSON-RPC)
193
+ - Lexicon plug-in marketplace
194
+
195
+ Past releases (v2.11.0 → v2.20.0) live in [CHANGELOG.md](CHANGELOG.md) with quality metrics.
196
+
197
+ ---
198
+
199
+ ## 🤝 Contributing
200
+
201
+ CoDD is shaped by:
202
+
203
+ - **[@yohey-w](https://github.com/yohey-w)** — Maintainer / Architect
204
+ - **[@Seika86](https://github.com/Seika86)** — Sprint regex insight (PR #11)
205
+ - **[@v-kato](https://github.com/v-kato)** — Brownfield reproduction reports (Issues #17 / #18 / #19 / #20 / #21 / #22)
206
+ - **[@dev-komenzar](https://github.com/dev-komenzar)** — `source_dirs` bug reproduction (Issue #13)
207
+
208
+ Issues, PRs, and lexicon proposals are welcome — see [Issues](https://github.com/yohey-w/codd-dev/issues).
209
+
210
+ ---
211
+
212
+ ## 📚 Documentation
213
+
214
+ - [CHANGELOG.md](CHANGELOG.md) — every release with quality metrics
215
+ - [docs/](docs/) — architecture notes
216
+ - `codd --help` — full CLI reference
217
+
218
+ ---
219
+
220
+ ## 📦 Hook Integration
221
+
222
+ CoDD ships hook recipes for editor and Git workflows:
223
+
224
+ - Claude Code `PostToolUse` hook recipe for running CoDD checks after file edits
225
+ - Claude Code requirements-nudge recipe (`claude_requirements_nudge.json`) — prints an advisory "requirements changed → run `codd greenfield --resume` or `codd check`" when files under `docs/requirements/` are edited (print-only; never auto-runs expensive pipelines)
226
+ - Git `pre-commit` hook recipe for blocking commits when coherence checks fail
227
+
228
+ Recipes live under `codd/hooks/recipes/`.
229
+
230
+ ---
231
+
232
+ ## License
233
+
234
+ MIT — see [LICENSE](LICENSE).
235
+
236
+ ## Links
237
+
238
+ - [PyPI](https://pypi.org/project/codd-dev/)
239
+ - [GitHub Sponsors](https://github.com/sponsors/yohey-w) — support development
240
+ - [Issues](https://github.com/yohey-w/codd-dev/issues)
241
+
242
+ ---
243
+
244
+ > When code changes, CoDD traces the impact, detects violations, and produces evidence for merge decisions.
@@ -0,0 +1,202 @@
1
+ <p align="center">
2
+ <strong>CoDD — Coherence-Driven Development</strong>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="https://pypi.org/project/codd-dev/"><img src="https://img.shields.io/pypi/v/codd-dev?style=flat-square&color=blue" alt="PyPI"></a>
7
+ <a href="https://pypi.org/project/codd-dev/"><img src="https://img.shields.io/pypi/pyversions/codd-dev?style=flat-square" alt="Python"></a>
8
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License"></a>
9
+ <a href="https://github.com/yohey-w/codd-dev/stargazers"><img src="https://img.shields.io/github/stars/yohey-w/codd-dev?style=flat-square" alt="Stars"></a>
10
+ </p>
11
+
12
+ <p align="center">
13
+ <a href="README_ja.md">日本語</a> | English | <a href="README_zh.md">中文</a>
14
+ </p>
15
+
16
+ > Write only functional requirements and constraints. CoDD generates the code, repairs the coherence, and verifies the result.
17
+
18
+ ---
19
+
20
+ ## 🌟 Why CoDD
21
+
22
+ > **"Write only functional requirements and constraints. Code is generated, repaired, and verified automatically."**
23
+
24
+ Most "AI-assisted dev" tools focus on the **generation** side. CoDD focuses on the **constraint** side: the LLM is most useful when it has a precise picture of what *must* be true. CoDD ties every artifact (requirements → design → lexicon → source → tests → runtime) into a single DAG, drives an LLM repair loop against it, and surfaces what is structurally unrepairable — honestly.
25
+
26
+ With an enabled artifact contract, `codd plan/generate/implement/verify` judge completion by the artifacts actually produced, not by the command merely returning — a harness-level mechanism that lets even a weaker model stay on the north star.
27
+
28
+ ---
29
+
30
+ ## 🚀 Get started in 60 seconds
31
+
32
+ ```bash
33
+ pip install codd-dev
34
+
35
+ # Greenfield: write requirements, walk away
36
+ codd greenfield --requirements docs/requirements/requirements.md
37
+ ```
38
+
39
+ One command runs the whole unattended pipeline — init → elicit → plan → generate → implement → verify (auto-repair) → propagate → check — checkpointing after every unit (`codd greenfield --resume` picks up where it stopped, `--ntfy-topic` sends progress pings, `--dry-run` previews). The same pipeline ships as three vehicles so any setup can use it: a transparent shell composition ([examples/greenfield_autopilot.sh](examples/greenfield_autopilot.sh)), a Claude Code Agent Workflow template ([examples/claude_workflows/codd-greenfield.js](examples/claude_workflows/codd-greenfield.js)), and the `codd-greenfield` skill (`codd skills install codd-greenfield --target both` — works in Claude Code and Codex CLI).
40
+
41
+ Working inside an existing project instead:
42
+
43
+ ```bash
44
+ codd init --suggest-lexicons --llm-enhanced # AI picks the lexicons that fit
45
+ codd elicit # AI finds gaps in your requirements
46
+ codd dag verify --auto-repair --max-attempts 10 # AI fixes coherence violations
47
+ ```
48
+
49
+ Already shipping? Describe what you want fixed:
50
+
51
+ ```bash
52
+ codd fix "login error messages are hard to understand" # natural-language phenomenon mode
53
+ ```
54
+
55
+ `codd fix [PHENOMENON]` is CoDD's second entry-point: state the desired change in plain words, CoDD locates the affected design docs via lexicon + semantic scoring and updates them with an LLM. From there the change flows **design → implementation → tests → verify**: Stage 4 deterministically resolves the affected implementation + test files from the DAG, makes an allowlist-confined LLM patch, and runs a verify gate (no new red DAG check + local tests pass) with targeted rollback (only files this run wrote are reverted) on failure. Opt out with `--no-propagate-impl`; add `--propagate` to also reconcile dependent design docs. `--dry-run` previews, `--non-interactive` runs in CI.
56
+
57
+ ---
58
+
59
+ ## 🎨 Visual flow
60
+
61
+ ```mermaid
62
+ flowchart LR
63
+ R["Requirements (.md)"] --> E["codd elicit"]
64
+ E -->|gap findings| H{HITL: approve / reject}
65
+ H -->|approve| L["project_lexicon.yaml + requirements TODOs"]
66
+ H -->|reject| I["ignored_findings.yaml"]
67
+ L --> V["codd dag verify --auto-repair"]
68
+ V -->|violation| AR["LLM patch propose → apply"]
69
+ AR --> V
70
+ V -->|SUCCESS| D["✅ deploy gate passes"]
71
+ AR -->|max attempts| P["PARTIAL_SUCCESS: unrepairable surfaced honestly"]
72
+ ```
73
+
74
+ Brownfield path:
75
+
76
+ ```mermaid
77
+ flowchart LR
78
+ Code["Existing codebase"] --> X["codd extract"]
79
+ X --> DIFF["codd diff (drift)"]
80
+ DIFF --> EL["codd elicit (coverage gaps)"]
81
+ EL --> H{HITL gate}
82
+ H --> Apply["codd elicit apply"]
83
+ Apply --> V["codd dag verify"]
84
+ ```
85
+
86
+ ---
87
+
88
+ ## ✨ What it does
89
+
90
+ CoDD is one CLI organised in four layers. Pick what you need; the rest stays out of your way.
91
+
92
+ ### Core commands
93
+
94
+ | Command | One-line summary |
95
+ | --- | --- |
96
+ | 🚀 **`codd greenfield --requirements FILE`** | Unattended autopilot: requirements in, system out. All gates auto-approved, checkpoint/resume via `--resume`, ntfy notify-only. Its building blocks (`generate --all-waves`, `implement list-tasks`, `verify --repair-mode`) also work standalone. |
97
+ | 🎯 **`codd init --suggest-lexicons --llm-enhanced`** | LLM scans code/docs, picks the right lexicon plug-ins. |
98
+ | 🔍 **`codd elicit`** | Finds *specification holes* against industry-standard lexicons. |
99
+ | 🔄 **`codd diff`** | Detects drift between requirements and actual implementation. |
100
+ | 🛠️ **`codd dag verify --auto-repair`** | Validates the full DAG; LLM proposes patches; loop until SUCCESS or MAX_ATTEMPTS. |
101
+ | 🎯 **`codd fix`** / **`codd fix [PHENOMENON]`** | Two modes — auto-detect CI failures, or describe a desired change in natural language; phenomenon mode flows design → implementation → tests → verify (opt out via `--no-propagate-impl`). |
102
+ | 🧭 **`codd operations {derive,show,approve,apply}`** | Detects requirement units anchored to no declared operation, has the AI propose `operation_flow` entries, and writes a proposal for human review — nothing reaches `codd.yaml` until `approve` + `apply`. Opt-in, non-destructive. (Legacy `merge` still works as a deprecated alias of `apply`.) |
103
+ | 📜 **`codd contract {derive,show,apply,verify}`** | V-model artifact contract. `derive`/`apply` are requirement-driven selection of *which* catalog artifacts a project declares per stage (`derive` detects the project's signals — requirement docs, design docs, lexicon, declared `operation_flow`, source dirs, test/e2e suites — and writes a reviewable proposal, never touching `codd.yaml`; `apply` merges it non-destructively and idempotently, `--enable` to turn the gate on). `verify`/gate are the completion side: with the contract enabled, a stage can't claim completion until its declared artifacts are produced/validate. `show` renders the catalog + this project's contract. Opt-in; absent/disabled contract = no-op. (Legacy `suggest`/`adopt` still work as deprecated aliases.) |
104
+ | 🌐 **`codd brownfield`** | Extract → diff → elicit pipeline for existing codebases. |
105
+
106
+ ### Quality gates
107
+
108
+ | Gate | Purpose |
109
+ | --- | --- |
110
+ | 🧪 **`codd verify --runtime`** | Step 8 runtime smoke (DB up + dev server reachable + smoke HTTP + real-browser E2E + opt-in CRUD reflection via `runtime.crud_flow_targets` + action outcome coverage via `runtime.action_outcome_targets`). `--runtime-skip` opts out per category and records the reason. |
111
+ | 📊 **`codd lexicon list/install/diff` + `codd coverage report`** | Plug-in management + JSON / Markdown / self-contained HTML coverage matrices. |
112
+ | 🛡️ **CI gate** | `.github/workflows/codd_coverage.yml` template + `codd coverage check` exit code blocks coverage regressions on merge. |
113
+
114
+ ### Skills & backends
115
+
116
+ | Capability | What it gives you |
117
+ | --- | --- |
118
+ | 🔁 **`codd skills {install,list,remove}`** | Distributes bundled skills (e.g. `codd-evolve`) to `~/.claude/skills/` and `~/.agents/skills/`. `--target {claude,codex,both}`, `--mode {symlink,copy}`, idempotent + `--force`. |
119
+ | 🪡 **codd-evolve skill** | Brownfield conversational evolution. Walks requirements → design → lexicon → source → tests → verify → propagate → Step 8 runtime smoke from a single natural-language intent. Stop-and-ask gates for new lexicon terms, breaking changes, and 1:N UI topology. |
120
+ | ⚡ **Codex App Server backend** (v2.20.0) | Set `codex_app_server.enabled: true` in `codd.yaml` to route AI calls through a persistent JSON-RPC thread instead of subprocess. `thread_strategy: per_session` amortises codex cold-start across `codd implement` / `codd verify --auto-repair` / `codd fix`. Automatic `subprocess` fallback when the binary or socket is missing. |
121
+
122
+ ### Lexicon plug-ins
123
+
124
+ 38 industry-standard lexicons ship as opt-in coverage axes — Web (WCAG / OWASP / Web Vitals / WebAuthn / forms / SEO / PWA), Mobile (HIG / Material 3 / a11y / MASVS), Backend (REST / GraphQL / gRPC / events), Data (SQL / JSON Schema / event sourcing / governance), Ops (CI/CD / Kubernetes / Terraform / observability / DORA), Compliance (ISO 27001 / HIPAA / PCI DSS / GDPR / EU AI Act), Process (ISO 25010 / 29119 / DDD / 12-factor / i18n / model cards / API rate-limit), and Methodology (BABOK).
125
+
126
+ ---
127
+
128
+ ## 📊 Case study
129
+
130
+ Dogfooded against a Next.js + Prisma + PostgreSQL multi-tenant LMS (~30 design docs, 12 DB tables, RLS-enforced isolation): `codd init --suggest-lexicons` matched 9 of 10 manually-chosen lexicons, `codd elicit` surfaced 70 spec holes, `codd dag verify --auto-repair` drove 16 unrepairable violations down to **PASS or amber-WARN with deploy allowed** — without a single line of CoDD core change per project. Project-specific concerns live entirely in `project_lexicon.yaml` and `codd_plugins/`.
131
+
132
+ ---
133
+
134
+ ## 🧱 Generality Gate (three-layer architecture)
135
+
136
+ | Layer | Where stack-specific names live | Examples |
137
+ | --- | --- | --- |
138
+ | **A — Core** | **Nowhere.** Zero `react`, `django`, `Stripe`, `LMS` literals. | `codd/elicit/`, `codd/dag/`, `codd/lexicon_cli/` |
139
+ | **B — Templates** | Generic placeholders only. | `codd/templates/*.j2`, `codd/templates/lexicon_schema.yaml` |
140
+ | **C — Plug-ins** | Free to name anything. | `codd_plugins/lexicons/*/`, `codd_plugins/stack_map.yaml` |
141
+
142
+ This is what lets one core work for Next.js, Django, FastAPI, Rails, Go services, mobile apps, ML model cards — and lets contributors add a lexicon without touching the core.
143
+
144
+ ---
145
+
146
+ ## 🧭 Roadmap
147
+
148
+ Up next:
149
+
150
+ - App-Server-driven benchmark publication (P50 / P95 / P99 for subprocess vs JSON-RPC)
151
+ - Lexicon plug-in marketplace
152
+
153
+ Past releases (v2.11.0 → v2.20.0) live in [CHANGELOG.md](CHANGELOG.md) with quality metrics.
154
+
155
+ ---
156
+
157
+ ## 🤝 Contributing
158
+
159
+ CoDD is shaped by:
160
+
161
+ - **[@yohey-w](https://github.com/yohey-w)** — Maintainer / Architect
162
+ - **[@Seika86](https://github.com/Seika86)** — Sprint regex insight (PR #11)
163
+ - **[@v-kato](https://github.com/v-kato)** — Brownfield reproduction reports (Issues #17 / #18 / #19 / #20 / #21 / #22)
164
+ - **[@dev-komenzar](https://github.com/dev-komenzar)** — `source_dirs` bug reproduction (Issue #13)
165
+
166
+ Issues, PRs, and lexicon proposals are welcome — see [Issues](https://github.com/yohey-w/codd-dev/issues).
167
+
168
+ ---
169
+
170
+ ## 📚 Documentation
171
+
172
+ - [CHANGELOG.md](CHANGELOG.md) — every release with quality metrics
173
+ - [docs/](docs/) — architecture notes
174
+ - `codd --help` — full CLI reference
175
+
176
+ ---
177
+
178
+ ## 📦 Hook Integration
179
+
180
+ CoDD ships hook recipes for editor and Git workflows:
181
+
182
+ - Claude Code `PostToolUse` hook recipe for running CoDD checks after file edits
183
+ - Claude Code requirements-nudge recipe (`claude_requirements_nudge.json`) — prints an advisory "requirements changed → run `codd greenfield --resume` or `codd check`" when files under `docs/requirements/` are edited (print-only; never auto-runs expensive pipelines)
184
+ - Git `pre-commit` hook recipe for blocking commits when coherence checks fail
185
+
186
+ Recipes live under `codd/hooks/recipes/`.
187
+
188
+ ---
189
+
190
+ ## License
191
+
192
+ MIT — see [LICENSE](LICENSE).
193
+
194
+ ## Links
195
+
196
+ - [PyPI](https://pypi.org/project/codd-dev/)
197
+ - [GitHub Sponsors](https://github.com/sponsors/yohey-w) — support development
198
+ - [Issues](https://github.com/yohey-w/codd-dev/issues)
199
+
200
+ ---
201
+
202
+ > When code changes, CoDD traces the impact, detects violations, and produces evidence for merge decisions.
@@ -0,0 +1,21 @@
1
+ # bench_fixture (cmd_364)
2
+
3
+ cmd_364 で行った "direct AiCommand benchmark" の作業ディレクトリプレースホルダ。
4
+
5
+ `scripts/bench_app_server_direct.py` は `--project-root` を `AiCommand`
6
+ インスタンスに渡すが、本 fixture は **コード生成を伴わない** ため
7
+ ファイル内容は不要。ディレクトリの存在だけが重要 (`SubprocessAiCommand`
8
+ が `cwd` に使う)。
9
+
10
+ 再現:
11
+
12
+ ```bash
13
+ python3 scripts/bench_app_server_direct.py \
14
+ --backend both \
15
+ --concurrency 1,10,30 \
16
+ --invocations 30 \
17
+ --turns-per-invocation 3 \
18
+ --output scripts/cmd_364_results.jsonl
19
+ ```
20
+
21
+ 詳細結果: `/home/tono/multi-agent-shogun/reports/cmd_364_codex_app_server_benchmark_v2.md`
@@ -1,3 +1,3 @@
1
1
  """CoDD — Coherence-Driven Development."""
2
2
 
3
- __version__ = "1.42.0"
3
+ __version__ = "2.24.0"
@@ -13,6 +13,10 @@ def _diff_files(base_ref: str, *, cwd: Path, paths: list[str] | None = None) ->
13
13
  "-c",
14
14
  "core.quotePath=false",
15
15
  "diff",
16
+ # ``--relative`` makes paths (and any pathspec) project-root-relative
17
+ # when ``cwd`` is a git-repo subdir (monorepo), aligning with DAG/scanner
18
+ # node ids so ``require_propagate``'s consumer lines up; no-op at repo root.
19
+ "--relative",
16
20
  "--unified=200",
17
21
  base_ref,
18
22
  ]