codd-dev 2.102.0__tar.gz → 3.1.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 (630) hide show
  1. {codd_dev-2.102.0 → codd_dev-3.1.0}/.gitignore +30 -23
  2. codd_dev-3.1.0/PKG-INFO +215 -0
  3. codd_dev-3.1.0/README.md +173 -0
  4. codd_dev-3.1.0/bench_fixture/README.md +21 -0
  5. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/__init__.py +1 -1
  6. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/adapters/__init__.py +4 -1
  7. codd_dev-3.1.0/codd/stack/adapters/nextjs.py +197 -0
  8. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/adapters/playwright.py +18 -4
  9. codd_dev-3.1.0/codd/stack/adapters/prisma.py +85 -0
  10. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/command_authenticity.py +63 -1
  11. codd_dev-3.1.0/codd/stack/command_override.py +603 -0
  12. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/command_plan.py +80 -3
  13. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/compose.py +75 -1
  14. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/project.py +40 -36
  15. codd_dev-3.1.0/codd/stack/resolve.py +188 -0
  16. {codd_dev-2.102.0 → codd_dev-3.1.0}/pyproject.toml +1 -1
  17. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-evolve/SKILL.md +1 -1
  18. codd_dev-2.102.0/PKG-INFO +0 -244
  19. codd_dev-2.102.0/README.md +0 -202
  20. codd_dev-2.102.0/bench_fixture/README.md +0 -21
  21. codd_dev-2.102.0/codd/stack/adapters/nextjs.py +0 -77
  22. codd_dev-2.102.0/codd/stack/resolve.py +0 -79
  23. codd_dev-2.102.0/dogfood/README.md +0 -415
  24. codd_dev-2.102.0/dogfood/fixtures/flat_py_app/README.md +0 -5
  25. {codd_dev-2.102.0 → codd_dev-3.1.0}/LICENSE +0 -0
  26. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/__main__.py +0 -0
  27. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/_git_helper.py +0 -0
  28. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/action_outcome.py +0 -0
  29. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/ai_invoke.py +0 -0
  30. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/ai_patch.py +0 -0
  31. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/artifact_contract.py +0 -0
  32. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/artifact_ids.py +0 -0
  33. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/artifacts/catalog.yaml +0 -0
  34. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/ask_user_question_adapter.py +0 -0
  35. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/assembler.py +0 -0
  36. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/bridge.py +0 -0
  37. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/brownfield/__init__.py +0 -0
  38. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/brownfield/pipeline.py +0 -0
  39. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/capability_completeness.py +0 -0
  40. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/claude_cli.py +0 -0
  41. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/cli.py +0 -0
  42. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/clustering.py +0 -0
  43. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/coherence_adapters.py +0 -0
  44. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/coherence_engine.py +0 -0
  45. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/confidence.py +0 -0
  46. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/config.py +0 -0
  47. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/config_schema.py +0 -0
  48. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/contracts.py +0 -0
  49. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/contracts_registry/__init__.py +0 -0
  50. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/contracts_registry/__main__.py +0 -0
  51. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/contracts_registry/certify.py +0 -0
  52. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/contracts_registry/generate_matrix.py +0 -0
  53. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/contracts_registry/registry.py +0 -0
  54. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/coverage_auditor.py +0 -0
  55. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/coverage_execution_coherence.py +0 -0
  56. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/coverage_metrics.py +0 -0
  57. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/__init__.py +0 -0
  58. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/auto_repair.py +0 -0
  59. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/builder.py +0 -0
  60. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/__init__.py +0 -0
  61. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
  62. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/artifact_contract_check.py +0 -0
  63. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/ci_health.py +0 -0
  64. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/dependency_freshness.py +0 -0
  65. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/depends_on_consistency.py +0 -0
  66. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/deployment_completeness.py +0 -0
  67. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/edge_validity.py +0 -0
  68. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/environment_coverage.py +0 -0
  69. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/implementation_coverage.py +0 -0
  70. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/node_completeness.py +0 -0
  71. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/opt_out.py +0 -0
  72. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/task_completion.py +0 -0
  73. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/transitive_closure.py +0 -0
  74. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/ui_coherence.py +0 -0
  75. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/checks/user_journey_coherence.py +0 -0
  76. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/coverage_axes.py +0 -0
  77. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/cli.yaml +0 -0
  78. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
  79. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/csharp.yaml +0 -0
  80. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/elixir.yaml +0 -0
  81. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/generic.yaml +0 -0
  82. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/iot.yaml +0 -0
  83. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/java.yaml +0 -0
  84. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/kotlin.yaml +0 -0
  85. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/mobile.yaml +0 -0
  86. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/ruby.yaml +0 -0
  87. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/rust.yaml +0 -0
  88. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/scala.yaml +0 -0
  89. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/swift.yaml +0 -0
  90. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
  91. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/defaults/web.yaml +0 -0
  92. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/extractor.py +0 -0
  93. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/impact.py +0 -0
  94. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dag/runner.py +0 -0
  95. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/defaults.py +0 -0
  96. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/defaults.yaml +0 -0
  97. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/dependency_lock_coherence.py +0 -0
  98. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deploy_targets/__init__.py +0 -0
  99. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deploy_targets/app_service.py +0 -0
  100. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deploy_targets/base.py +0 -0
  101. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deploy_targets/docker_compose.py +0 -0
  102. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployer.py +0 -0
  103. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/__init__.py +0 -0
  104. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/checks/__init__.py +0 -0
  105. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
  106. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
  107. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
  108. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
  109. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/extractor.py +0 -0
  110. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/__init__.py +0 -0
  111. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/ai_command.py +0 -0
  112. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/ai_command_factory.py +0 -0
  113. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/codex_app_server.py +0 -0
  114. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/llm_consideration.py +0 -0
  115. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/schema/__init__.py +0 -0
  116. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/schema/prisma.py +0 -0
  117. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/target/__init__.py +0 -0
  118. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/target/docker_compose.py +0 -0
  119. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/__init__.py +0 -0
  120. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
  121. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
  122. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
  123. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
  124. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
  125. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/curl.py +0 -0
  126. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
  127. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
  128. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/playwright.py +0 -0
  129. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
  130. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/deployment/providers/verification/vitest.py +0 -0
  131. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/design_md.py +0 -0
  132. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/diff/__init__.py +0 -0
  133. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/diff/apply.py +0 -0
  134. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/diff/engine.py +0 -0
  135. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/diff/persistence.py +0 -0
  136. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/diff/templates/diff_prompt.md +0 -0
  137. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/discovery.py +0 -0
  138. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/drift.py +0 -0
  139. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/e2e_contract_coherence.py +0 -0
  140. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/e2e_extractor.py +0 -0
  141. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/e2e_generator.py +0 -0
  142. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/e2e_harness.py +0 -0
  143. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/e2e_runner.py +0 -0
  144. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/__init__.py +0 -0
  145. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/apply.py +0 -0
  146. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/engine.py +0 -0
  147. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/finding.py +0 -0
  148. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/formatters/__init__.py +0 -0
  149. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/formatters/base.py +0 -0
  150. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/formatters/interactive.py +0 -0
  151. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/formatters/json_fmt.py +0 -0
  152. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/formatters/md.py +0 -0
  153. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/lexicon_loader.py +0 -0
  154. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/persistence.py +0 -0
  155. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
  156. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/env_refs.py +0 -0
  157. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/extract_ai.py +0 -0
  158. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/extract_paths.py +0 -0
  159. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/extractor.py +0 -0
  160. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/__init__.py +0 -0
  161. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/candidate_selector.py +0 -0
  162. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/design_updater.py +0 -0
  163. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/impl_propagation.py +0 -0
  164. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/interactive_prompt.py +0 -0
  165. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/phenomenon_fixer.py +0 -0
  166. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/phenomenon_parser.py +0 -0
  167. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/risk_classifier.py +0 -0
  168. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/templates/clarification_question.txt +0 -0
  169. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/templates/design_update.txt +0 -0
  170. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/templates/impl_update.txt +0 -0
  171. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
  172. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/templates/risk_assessment.txt +0 -0
  173. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fix/templates_loader.py +0 -0
  174. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fixer.py +0 -0
  175. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fixup_drift.py +0 -0
  176. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fixup_drift_strategies/__init__.py +0 -0
  177. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
  178. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
  179. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
  180. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/frontmatter.py +0 -0
  181. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/generator.py +0 -0
  182. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/git_evidence.py +0 -0
  183. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/graph.py +0 -0
  184. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/greenfield/__init__.py +0 -0
  185. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/greenfield/pipeline.py +0 -0
  186. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hitl_session.py +0 -0
  187. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/__init__.py +0 -0
  188. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/pre-commit +0 -0
  189. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
  190. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
  191. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/recipes/codex_hook.sh +0 -0
  192. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
  193. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
  194. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/iac_nfr.py +0 -0
  195. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implement_oracle.py +0 -0
  196. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implement_oracle_scope.py +0 -0
  197. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implement_oracle_types.py +0 -0
  198. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implementer/__init__.py +0 -0
  199. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implementer/chunked_runner.py +0 -0
  200. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implementer/typecheck_loop.py +0 -0
  201. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/implementer.py +0 -0
  202. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/import_coherence.py +0 -0
  203. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/inheritance.py +0 -0
  204. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/init/__init__.py +0 -0
  205. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/init/lexicon_suggest.py +0 -0
  206. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/init/llm_lexicon_suggester.py +0 -0
  207. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/init/stack_detector.py +0 -0
  208. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/knowledge_fetcher.py +0 -0
  209. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/__init__.py +0 -0
  210. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/adapters/__init__.py +0 -0
  211. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/adapters/implement_oracle.py +0 -0
  212. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/adapters/oracle_go.py +0 -0
  213. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/adapters/oracle_python.py +0 -0
  214. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/adapters/oracle_typescript.py +0 -0
  215. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/adapters/runner_report.py +0 -0
  216. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/builtin_adapters.py +0 -0
  217. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/compat.py +0 -0
  218. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/contract.py +0 -0
  219. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/loader.py +0 -0
  220. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/oracle_executor.py +0 -0
  221. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/path_planner.py +0 -0
  222. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/profile.py +0 -0
  223. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/profiles/go.yaml +0 -0
  224. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/profiles/python.yaml +0 -0
  225. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/profiles/typescript.yaml +0 -0
  226. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/registry.py +0 -0
  227. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/verify_executor.py +0 -0
  228. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/languages/verify_plan.py +0 -0
  229. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon.py +0 -0
  230. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/__init__.py +0 -0
  231. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
  232. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/formatters/html.py +0 -0
  233. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
  234. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/formatters/md.py +0 -0
  235. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/inspector.py +0 -0
  236. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/manager.py +0 -0
  237. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/reporter.py +0 -0
  238. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/lexicon_cli/threshold.py +0 -0
  239. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/__init__.py +0 -0
  240. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/approval.py +0 -0
  241. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/best_practice_augmenter.py +0 -0
  242. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/criteria_expander.py +0 -0
  243. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/design_doc_extractor.py +0 -0
  244. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/impl_step_deriver.py +0 -0
  245. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/means_catalog_loader.py +0 -0
  246. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/parser.py +0 -0
  247. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/plan_deriver.py +0 -0
  248. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/prompt_builder.py +0 -0
  249. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/strategy_validator.py +0 -0
  250. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
  251. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
  252. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
  253. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
  254. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
  255. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/meta_instruction.md +0 -0
  256. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/plan_derive_meta.md +0 -0
  257. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
  258. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/mcp_server.py +0 -0
  259. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/measure.py +0 -0
  260. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/operational_e2e_audit.py +0 -0
  261. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/operations_derive.py +0 -0
  262. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/__init__.py +0 -0
  263. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/_shared.py +0 -0
  264. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/api_specs.py +0 -0
  265. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/extractor_registry.py +0 -0
  266. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/filesystem_routes.py +0 -0
  267. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/iac.py +0 -0
  268. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/python_ast.py +0 -0
  269. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/regex_strategies.py +0 -0
  270. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/schemas.py +0 -0
  271. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/tests_builddeps.py +0 -0
  272. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/parsing/treesitter.py +0 -0
  273. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/planner.py +0 -0
  274. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/policy.py +0 -0
  275. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/preflight/__init__.py +0 -0
  276. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/preflight/defaults/cli.yaml +0 -0
  277. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/preflight/defaults/generic.yaml +0 -0
  278. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/preflight/defaults/iot.yaml +0 -0
  279. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/preflight/defaults/mobile.yaml +0 -0
  280. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/preflight/defaults/web.yaml +0 -0
  281. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/project_types.py +0 -0
  282. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/propagate.py +0 -0
  283. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/propagation_common.py +0 -0
  284. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/propagator.py +0 -0
  285. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/reconciliation_ledger.py +0 -0
  286. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/reference_resolution.py +0 -0
  287. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/registry.py +0 -0
  288. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/__init__.py +0 -0
  289. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/approval_repair.py +0 -0
  290. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/auto_scope_guard.py +0 -0
  291. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/engine.py +0 -0
  292. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/git_patcher.py +0 -0
  293. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/history.py +0 -0
  294. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/llm_repair_engine.py +0 -0
  295. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/loop.py +0 -0
  296. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/primary_picker.py +0 -0
  297. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/proof_breaks.py +0 -0
  298. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/repair_result.py +0 -0
  299. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/repairability_classifier.py +0 -0
  300. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/schema.py +0 -0
  301. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/templates/analyze_meta.md +0 -0
  302. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/templates/propose_meta.md +0 -0
  303. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
  304. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/templates/repairability_meta.md +0 -0
  305. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/test_failure_attribution.py +0 -0
  306. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair/verify_runner.py +0 -0
  307. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/repair_slice.py +0 -0
  308. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/require.py +0 -0
  309. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/require_plugins.py +0 -0
  310. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/require_propagate.py +0 -0
  311. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
  312. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
  313. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
  314. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
  315. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/required_artifacts/defaults/web.yaml +0 -0
  316. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/required_artifacts_deriver.py +0 -0
  317. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
  318. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
  319. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
  320. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
  321. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
  322. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_completeness_auditor.py +0 -0
  323. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirement_reconciliation.py +0 -0
  324. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/requirements_meta.py +0 -0
  325. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/restoration_report.py +0 -0
  326. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/restore.py +0 -0
  327. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/routes_extractor.py +0 -0
  328. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/runtime_smoke/__init__.py +0 -0
  329. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/runtime_smoke/checks.py +0 -0
  330. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/runtime_smoke/config.py +0 -0
  331. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/runtime_smoke/report.py +0 -0
  332. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/runtime_smoke/runner.py +0 -0
  333. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/scanner.py +0 -0
  334. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/schema_refs.py +0 -0
  335. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/screen_flow_validator.py +0 -0
  336. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/screen_transition_extractor.py +0 -0
  337. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/screen_transitions/defaults.yaml +0 -0
  338. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/skills_cli/__init__.py +0 -0
  339. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/skills_cli/discovery.py +0 -0
  340. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/skills_cli/manager.py +0 -0
  341. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/skills_cli/paths.py +0 -0
  342. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/__init__.py +0 -0
  343. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/adapters/_base.py +0 -0
  344. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/loader.py +0 -0
  345. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/lock.py +0 -0
  346. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/obligations.py +0 -0
  347. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/profile.py +0 -0
  348. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/profiles/addons/playwright.yaml +0 -0
  349. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/profiles/addons/prisma.yaml +0 -0
  350. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/profiles/frameworks/nextjs.yaml +0 -0
  351. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/registry.py +0 -0
  352. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/stack/replacement_proof.py +0 -0
  353. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/surface_reconciliation.py +0 -0
  354. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/synth.py +0 -0
  355. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/codd.yaml.tmpl +0 -0
  356. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/conventions.yaml.tmpl +0 -0
  357. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
  358. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/doc_links.yaml.tmpl +0 -0
  359. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
  360. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
  361. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
  362. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
  363. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
  364. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/extracted/system-context.md.j2 +0 -0
  365. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/gitignore.tmpl +0 -0
  366. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/lexicon_questions.md +0 -0
  367. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/lexicon_schema.yaml +0 -0
  368. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/templates/overrides.yaml.tmpl +0 -0
  369. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/test_detection.py +0 -0
  370. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/test_import_coherence.py +0 -0
  371. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/traceability.py +0 -0
  372. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/validator.py +0 -0
  373. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/vb_marker_authenticity.py +0 -0
  374. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/vb_rerun_scope.py +0 -0
  375. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/verifiable_behavior_audit.py +0 -0
  376. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/watch/__init__.py +0 -0
  377. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/watch/events.py +0 -0
  378. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/watch/propagation_log.py +0 -0
  379. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/watch/propagation_pipeline.py +0 -0
  380. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/watch/test_runner.py +0 -0
  381. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/watch/watcher.py +0 -0
  382. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd/wiring.py +0 -0
  383. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
  384. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
  385. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
  386. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
  387. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
  388. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
  389. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
  390. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
  391. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
  392. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
  393. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
  394. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
  395. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
  396. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
  397. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
  398. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
  399. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
  400. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
  401. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
  402. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
  403. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
  404. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
  405. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
  406. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
  407. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
  408. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
  409. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
  410. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
  411. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
  412. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
  413. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
  414. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
  415. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
  416. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
  417. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
  418. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
  419. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
  420. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
  421. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
  422. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
  423. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
  424. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
  425. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
  426. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
  427. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
  428. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
  429. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
  430. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
  431. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
  432. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
  433. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
  434. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
  435. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
  436. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
  437. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
  438. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
  439. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
  440. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
  441. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
  442. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
  443. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
  444. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
  445. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
  446. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
  447. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
  448. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
  449. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
  450. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
  451. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
  452. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
  453. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
  454. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
  455. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
  456. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
  457. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
  458. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
  459. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
  460. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
  461. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
  462. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
  463. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
  464. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
  465. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
  466. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
  467. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
  468. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
  469. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
  470. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
  471. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
  472. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
  473. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
  474. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
  475. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
  476. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
  477. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
  478. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
  479. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
  480. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
  481. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
  482. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
  483. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
  484. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
  485. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
  486. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
  487. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
  488. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
  489. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
  490. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
  491. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
  492. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
  493. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
  494. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
  495. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
  496. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
  497. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
  498. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
  499. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
  500. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
  501. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
  502. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
  503. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
  504. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
  505. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
  506. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
  507. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
  508. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
  509. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
  510. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
  511. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
  512. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
  513. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
  514. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
  515. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
  516. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
  517. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
  518. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
  519. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
  520. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
  521. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
  522. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
  523. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
  524. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
  525. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
  526. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
  527. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
  528. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
  529. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
  530. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
  531. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
  532. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
  533. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
  534. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
  535. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
  536. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
  537. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
  538. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
  539. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
  540. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
  541. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
  542. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
  543. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
  544. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
  545. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
  546. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
  547. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
  548. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
  549. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
  550. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
  551. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
  552. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
  553. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
  554. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
  555. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
  556. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
  557. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
  558. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
  559. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
  560. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
  561. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
  562. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
  563. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
  564. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
  565. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
  566. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
  567. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
  568. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
  569. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
  570. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
  571. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
  572. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
  573. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
  574. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
  575. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
  576. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
  577. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
  578. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
  579. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
  580. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
  581. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
  582. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
  583. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
  584. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
  585. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
  586. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
  587. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
  588. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
  589. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
  590. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
  591. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
  592. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
  593. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
  594. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
  595. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
  596. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
  597. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
  598. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
  599. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
  600. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
  601. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
  602. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
  603. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
  604. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
  605. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
  606. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
  607. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
  608. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
  609. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
  610. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
  611. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
  612. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
  613. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
  614. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
  615. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
  616. {codd_dev-2.102.0 → codd_dev-3.1.0}/codd_plugins/stack_map.yaml +0 -0
  617. {codd_dev-2.102.0 → codd_dev-3.1.0}/docs/cookbook/cdp_browser/README.md +0 -0
  618. {codd_dev-2.102.0 → codd_dev-3.1.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
  619. {codd_dev-2.102.0 → codd_dev-3.1.0}/docs/requirements/README.md +0 -0
  620. {codd_dev-2.102.0 → codd_dev-3.1.0}/examples/README.md +0 -0
  621. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-assemble/SKILL.md +0 -0
  622. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-generate/SKILL.md +0 -0
  623. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-greenfield/SKILL.md +0 -0
  624. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-impact/SKILL.md +0 -0
  625. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-init/SKILL.md +0 -0
  626. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-propagate/SKILL.md +0 -0
  627. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-restore/SKILL.md +0 -0
  628. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-scan/SKILL.md +0 -0
  629. {codd_dev-2.102.0 → codd_dev-3.1.0}/skills/codd-validate/SKILL.md +0 -0
  630. {codd_dev-2.102.0 → codd_dev-3.1.0}/tests/integration/standalone_repair_skeleton/README.md +0 -0
@@ -1,28 +1,35 @@
1
- # Python
2
- __pycache__/
3
- *.pyc
4
- *.pyo
5
- *.egg-info/
6
- dist/
7
- build/
8
- *.egg
9
-
10
- # Virtual environments
11
- .venv*/
12
- venv/
13
-
14
- # IDE
15
- .idea/
16
- .vscode/
17
- *.swp
18
-
19
- # Test
20
- .coverage
21
- htmlcov/
22
- .pytest_cache/
23
-
1
+ # Python
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.egg-info/
6
+ dist/
7
+ build/
8
+ *.egg
9
+
10
+ # Virtual environments
11
+ .venv*/
12
+ venv/
13
+
14
+ # IDE
15
+ .idea/
16
+ .vscode/
17
+ *.swp
18
+
19
+ # Test
20
+ .coverage
21
+ htmlcov/
22
+ .pytest_cache/
23
+
24
24
  # CoDD generated (for development/testing)
25
25
  codd/scan/
26
26
  codd/reports/
27
27
  codd/codd.yaml.bak
28
28
  .codd/codd.yaml.bak
29
+
30
+ # Internal CoDD dogfood (dev process, GPT consults, ledger, fixtures) — kept LOCAL, not published
31
+ dogfood/*
32
+ !dogfood/contract_matrix.yaml
33
+
34
+ # Internal task reports (cmd_* process records) — kept LOCAL, not published
35
+ reports/
@@ -0,0 +1,215 @@
1
+ Metadata-Version: 2.4
2
+ Name: codd-dev
3
+ Version: 3.1.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
+ <p align="center">
59
+ <em>Write what you want. CoDD builds it from your requirements, keeps the docs and code in sync as things change, and runs the tests so they can't fake a "pass."</em>
60
+ </p>
61
+
62
+ ---
63
+
64
+ ## What is CoDD?
65
+
66
+ Picture a normal day on a real codebase:
67
+
68
+ - You change one function — and three other places that quietly depended on it break, because nobody remembered they were connected.
69
+ - The test suite goes green — but it never actually ran the code you just changed.
70
+ - The design doc still describes how the feature worked last month.
71
+
72
+ On a large project — or on code an AI wrote for you — this kind of drift is everywhere, and *"is everything still consistent?"* becomes impossible to answer by hand.
73
+
74
+ **CoDD turns that question into something a machine can answer.**
75
+
76
+ It builds a **map of how everything in your project connects** — which requirement is implemented by which code, which code is covered by which test, which config value switches which behavior. Once CoDD has that map, it can do three things for you:
77
+
78
+ 1. **Build** — turn your requirements into design, code, and tests.
79
+ 2. **Trace** — when you change anything, show everything the change affects, so nothing breaks silently.
80
+ 3. **Verify** — run the real build and tests through a check that **refuses to report a fake pass**.
81
+
82
+ ```mermaid
83
+ flowchart LR
84
+ R["Requirements"] <--> D["Design"]
85
+ D <--> C["Code"]
86
+ C <--> T["Tests"]
87
+ R -. "one connected map" .- T
88
+ ```
89
+
90
+ The map works **both ways**: edit the code, and CoDD points to the design docs and requirements that are now out of date; add a requirement, and it points to the code and tests that need to change. That two-way consistency is the "Co" (coherence) in CoDD.
91
+
92
+ ### How is this different from Copilot or Cursor?
93
+
94
+ Those tools make the *AI* smarter. CoDD makes the AI's *input* smarter. It hands the AI the exact map of what a change touches — with evidence for each connection — instead of letting it guess from whatever files happen to be open. And CoDD's verification is built so it **can't lie**: an empty test suite, a build script that's secretly just `true`, a missing test report — all come back **red**, never a quiet green.
95
+
96
+ ---
97
+
98
+ ## Install
99
+
100
+ ```bash
101
+ pip install codd-dev # needs Python 3.10+ · the command is `codd`
102
+ codd version
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Try it
108
+
109
+ There are three ways to start, depending on where you are.
110
+
111
+ ### 1. Start a brand-new project — `codd greenfield`
112
+
113
+ Write what you want as a plain Markdown file, then let CoDD build the whole thing unattended (design → code → tests → verify, fixing problems as it goes):
114
+
115
+ ```bash
116
+ codd greenfield --requirements docs/requirements/requirements.md
117
+ ```
118
+
119
+ It saves a checkpoint after every step, so `codd greenfield --resume` continues where it left off. Add `--dry-run` to preview the plan first, or `--ntfy-topic <topic>` to get progress pings on your phone.
120
+
121
+ The same one-command pipeline (`codd greenfield --requirements FILE`) also ships as three transparent, adaptable vehicles you can read and tweak: a shell script ([`examples/greenfield_autopilot.sh`](examples/greenfield_autopilot.sh)), a Claude Code workflow ([`examples/claude_workflows/codd-greenfield.js`](examples/claude_workflows/codd-greenfield.js)), and a skill (`codd skills install codd-greenfield --target both`).
122
+
123
+ ### 2. Work on an existing codebase — `codd init` + `codd scan`
124
+
125
+ CoDD reads your existing code, works out the design behind it, and keeps the two in sync from then on:
126
+
127
+ ```bash
128
+ codd init # set CoDD up in your repo
129
+ codd scan # build the connection map from your code
130
+ codd brownfield # recover design docs, compare them to reality, list the gaps
131
+ ```
132
+
133
+ ### 3. Already shipping? Just describe the change — `codd fix`
134
+
135
+ ```bash
136
+ codd fix "the login error messages are confusing"
137
+ ```
138
+
139
+ CoDD finds the design docs your request touches, updates them, then carries the change through **design → code → tests → verify**. It only edits the files the map says are involved, and if the final check fails, it rolls back exactly those files — nothing else.
140
+
141
+ ---
142
+
143
+ ## How it works — three jobs, one map
144
+
145
+ | Job | What it does | Main commands |
146
+ | --- | --- | --- |
147
+ | **1. Build from intent** | Turns requirements into design options, then code and test scaffolding. The AI proposes; you choose (you stay in control). | `greenfield`, `generate`, `implement`, `plan` |
148
+ | **2. Trace every change** *(the core)* | A connection map across requirements, design, code, config, data, and tests. Change one thing and CoDD shows the ripple — sorted into **Green** (safe to auto-fix), **Amber** (please review), **Gray** (just so you know) — with the reason for each link. | `scan`, `impact`, `propagate`, `diff` |
149
+ | **3. Verify for real** | Runs your actual build and tests so they can't fake a pass, and traces any failure back to the artifact that caused it. | `verify`, `check`, `coverage` |
150
+
151
+ These three feed each other in a loop: building decides *what* changes, tracing finds *where* it lands, verifying proves it holds — and every commit you make sharpens the map for next time. (Want the full story? See [`docs/explainer.md`](docs/explainer.md).)
152
+
153
+ ---
154
+
155
+ ## New in v3.0 — the Contract Kernel
156
+
157
+ Older CoDD had knowledge of specific languages and frameworks (Go, Python, Next.js…) baked into its core. **v3.0 takes all of that out of the core** and moves it into swappable description files ("profiles") plus small adapters:
158
+
159
+ - **The core no longer knows any language or framework by name.** It just reads the profiles. So adding support for a new language or framework is a new profile + adapter — **no change to the core**.
160
+ - **Frameworks compose.** Next.js + TypeScript + Playwright + Prisma combine into one resolved description that `codd verify` runs against your project, live.
161
+ - **The "no fake green" rule belongs to the core.** A profile can adjust settings, but it can **never weaken** the anti-fake-pass guarantee. (Proven end-to-end on a real Next.js app, on the actual toolchain, with deliberate breakages that each correctly come back red.)
162
+
163
+ In short: one core now serves Next.js, Django, FastAPI, Rails, Go services, and more — and anyone can add support without touching it.
164
+
165
+ ---
166
+
167
+ ## Use it with your AI tools
168
+
169
+ - **MCP server** — `codd mcp-server` exposes CoDD to any MCP client (such as Claude Code) over stdio.
170
+ - **Skills for Claude Code & Codex CLI** — `codd skills install <name> --target both` drops ready-made skills (e.g. the greenfield autopilot) into `~/.claude/skills/` and `~/.agents/skills/`.
171
+ - **Codex App Server** — route AI calls through a persistent connection instead of a fresh subprocess each time (`codex_app_server.enabled: true` in `codd.yaml`), with automatic fallback.
172
+
173
+ ---
174
+
175
+ ## Hook Integration
176
+
177
+ CoDD ships ready-made hook recipes (under `codd/hooks/recipes/`) so coherence checks run automatically as you work:
178
+
179
+ - **Claude Code `PostToolUse` hook** — runs CoDD checks right after each file edit.
180
+ - **Git `pre-commit` hook** — blocks a commit when it would break coherence.
181
+ - **Git `post-commit` hook** and a **Codex CLI hook** — keep the connection map fresh as you commit.
182
+ - **A requirements-nudge recipe** (`claude_requirements_nudge.json`) — reminds you to re-run `codd greenfield --resume` when your requirements change (print-only; it never runs a pipeline on its own).
183
+
184
+ Copy the recipe you want from `codd/hooks/recipes/` into your editor or Git config to turn it on.
185
+
186
+ ---
187
+
188
+ ## Coverage lexicons
189
+
190
+ CoDD ships **39 ready-made "lexicons"** — checklists drawn from real industry standards — that you can switch on so `codd elicit` finds the gaps in your spec. They span Web (WCAG, OWASP, Web Vitals), Mobile (HIG, Material 3, MASVS), Backend (REST, GraphQL, gRPC), Data (SQL, JSON Schema), Ops (Kubernetes, Terraform, DORA), Compliance (ISO 27001, HIPAA, PCI DSS, GDPR, EU AI Act), and more. Turn on the ones that fit; add your own without touching the core.
191
+
192
+ ---
193
+
194
+ ## Documentation
195
+
196
+ - [`docs/explainer.md`](docs/explainer.md) — the full idea, from the connection map to AI-driven development
197
+ - [`CHANGELOG.md`](CHANGELOG.md) — every release
198
+ - `codd --help` — the full command reference (in any project, `codd check` is the best place to start)
199
+ - [`docs/`](docs/) — architecture notes, setup guides, and a cookbook
200
+
201
+ ---
202
+
203
+ ## Contributing
204
+
205
+ Issues, pull requests, and lexicon proposals are all welcome — see [Issues](https://github.com/yohey-w/codd-dev/issues). CoDD is maintained by [@yohey-w](https://github.com/yohey-w), with thanks to everyone who reported the bugs and ideas that shaped it.
206
+
207
+ ---
208
+
209
+ ## License & links
210
+
211
+ MIT — see [LICENSE](LICENSE).
212
+
213
+ - [PyPI](https://pypi.org/project/codd-dev/)
214
+ - [GitHub Sponsors](https://github.com/sponsors/yohey-w) — support development
215
+ - [Issues](https://github.com/yohey-w/codd-dev/issues)
@@ -0,0 +1,173 @@
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
+ <p align="center">
17
+ <em>Write what you want. CoDD builds it from your requirements, keeps the docs and code in sync as things change, and runs the tests so they can't fake a "pass."</em>
18
+ </p>
19
+
20
+ ---
21
+
22
+ ## What is CoDD?
23
+
24
+ Picture a normal day on a real codebase:
25
+
26
+ - You change one function — and three other places that quietly depended on it break, because nobody remembered they were connected.
27
+ - The test suite goes green — but it never actually ran the code you just changed.
28
+ - The design doc still describes how the feature worked last month.
29
+
30
+ On a large project — or on code an AI wrote for you — this kind of drift is everywhere, and *"is everything still consistent?"* becomes impossible to answer by hand.
31
+
32
+ **CoDD turns that question into something a machine can answer.**
33
+
34
+ It builds a **map of how everything in your project connects** — which requirement is implemented by which code, which code is covered by which test, which config value switches which behavior. Once CoDD has that map, it can do three things for you:
35
+
36
+ 1. **Build** — turn your requirements into design, code, and tests.
37
+ 2. **Trace** — when you change anything, show everything the change affects, so nothing breaks silently.
38
+ 3. **Verify** — run the real build and tests through a check that **refuses to report a fake pass**.
39
+
40
+ ```mermaid
41
+ flowchart LR
42
+ R["Requirements"] <--> D["Design"]
43
+ D <--> C["Code"]
44
+ C <--> T["Tests"]
45
+ R -. "one connected map" .- T
46
+ ```
47
+
48
+ The map works **both ways**: edit the code, and CoDD points to the design docs and requirements that are now out of date; add a requirement, and it points to the code and tests that need to change. That two-way consistency is the "Co" (coherence) in CoDD.
49
+
50
+ ### How is this different from Copilot or Cursor?
51
+
52
+ Those tools make the *AI* smarter. CoDD makes the AI's *input* smarter. It hands the AI the exact map of what a change touches — with evidence for each connection — instead of letting it guess from whatever files happen to be open. And CoDD's verification is built so it **can't lie**: an empty test suite, a build script that's secretly just `true`, a missing test report — all come back **red**, never a quiet green.
53
+
54
+ ---
55
+
56
+ ## Install
57
+
58
+ ```bash
59
+ pip install codd-dev # needs Python 3.10+ · the command is `codd`
60
+ codd version
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Try it
66
+
67
+ There are three ways to start, depending on where you are.
68
+
69
+ ### 1. Start a brand-new project — `codd greenfield`
70
+
71
+ Write what you want as a plain Markdown file, then let CoDD build the whole thing unattended (design → code → tests → verify, fixing problems as it goes):
72
+
73
+ ```bash
74
+ codd greenfield --requirements docs/requirements/requirements.md
75
+ ```
76
+
77
+ It saves a checkpoint after every step, so `codd greenfield --resume` continues where it left off. Add `--dry-run` to preview the plan first, or `--ntfy-topic <topic>` to get progress pings on your phone.
78
+
79
+ The same one-command pipeline (`codd greenfield --requirements FILE`) also ships as three transparent, adaptable vehicles you can read and tweak: a shell script ([`examples/greenfield_autopilot.sh`](examples/greenfield_autopilot.sh)), a Claude Code workflow ([`examples/claude_workflows/codd-greenfield.js`](examples/claude_workflows/codd-greenfield.js)), and a skill (`codd skills install codd-greenfield --target both`).
80
+
81
+ ### 2. Work on an existing codebase — `codd init` + `codd scan`
82
+
83
+ CoDD reads your existing code, works out the design behind it, and keeps the two in sync from then on:
84
+
85
+ ```bash
86
+ codd init # set CoDD up in your repo
87
+ codd scan # build the connection map from your code
88
+ codd brownfield # recover design docs, compare them to reality, list the gaps
89
+ ```
90
+
91
+ ### 3. Already shipping? Just describe the change — `codd fix`
92
+
93
+ ```bash
94
+ codd fix "the login error messages are confusing"
95
+ ```
96
+
97
+ CoDD finds the design docs your request touches, updates them, then carries the change through **design → code → tests → verify**. It only edits the files the map says are involved, and if the final check fails, it rolls back exactly those files — nothing else.
98
+
99
+ ---
100
+
101
+ ## How it works — three jobs, one map
102
+
103
+ | Job | What it does | Main commands |
104
+ | --- | --- | --- |
105
+ | **1. Build from intent** | Turns requirements into design options, then code and test scaffolding. The AI proposes; you choose (you stay in control). | `greenfield`, `generate`, `implement`, `plan` |
106
+ | **2. Trace every change** *(the core)* | A connection map across requirements, design, code, config, data, and tests. Change one thing and CoDD shows the ripple — sorted into **Green** (safe to auto-fix), **Amber** (please review), **Gray** (just so you know) — with the reason for each link. | `scan`, `impact`, `propagate`, `diff` |
107
+ | **3. Verify for real** | Runs your actual build and tests so they can't fake a pass, and traces any failure back to the artifact that caused it. | `verify`, `check`, `coverage` |
108
+
109
+ These three feed each other in a loop: building decides *what* changes, tracing finds *where* it lands, verifying proves it holds — and every commit you make sharpens the map for next time. (Want the full story? See [`docs/explainer.md`](docs/explainer.md).)
110
+
111
+ ---
112
+
113
+ ## New in v3.0 — the Contract Kernel
114
+
115
+ Older CoDD had knowledge of specific languages and frameworks (Go, Python, Next.js…) baked into its core. **v3.0 takes all of that out of the core** and moves it into swappable description files ("profiles") plus small adapters:
116
+
117
+ - **The core no longer knows any language or framework by name.** It just reads the profiles. So adding support for a new language or framework is a new profile + adapter — **no change to the core**.
118
+ - **Frameworks compose.** Next.js + TypeScript + Playwright + Prisma combine into one resolved description that `codd verify` runs against your project, live.
119
+ - **The "no fake green" rule belongs to the core.** A profile can adjust settings, but it can **never weaken** the anti-fake-pass guarantee. (Proven end-to-end on a real Next.js app, on the actual toolchain, with deliberate breakages that each correctly come back red.)
120
+
121
+ In short: one core now serves Next.js, Django, FastAPI, Rails, Go services, and more — and anyone can add support without touching it.
122
+
123
+ ---
124
+
125
+ ## Use it with your AI tools
126
+
127
+ - **MCP server** — `codd mcp-server` exposes CoDD to any MCP client (such as Claude Code) over stdio.
128
+ - **Skills for Claude Code & Codex CLI** — `codd skills install <name> --target both` drops ready-made skills (e.g. the greenfield autopilot) into `~/.claude/skills/` and `~/.agents/skills/`.
129
+ - **Codex App Server** — route AI calls through a persistent connection instead of a fresh subprocess each time (`codex_app_server.enabled: true` in `codd.yaml`), with automatic fallback.
130
+
131
+ ---
132
+
133
+ ## Hook Integration
134
+
135
+ CoDD ships ready-made hook recipes (under `codd/hooks/recipes/`) so coherence checks run automatically as you work:
136
+
137
+ - **Claude Code `PostToolUse` hook** — runs CoDD checks right after each file edit.
138
+ - **Git `pre-commit` hook** — blocks a commit when it would break coherence.
139
+ - **Git `post-commit` hook** and a **Codex CLI hook** — keep the connection map fresh as you commit.
140
+ - **A requirements-nudge recipe** (`claude_requirements_nudge.json`) — reminds you to re-run `codd greenfield --resume` when your requirements change (print-only; it never runs a pipeline on its own).
141
+
142
+ Copy the recipe you want from `codd/hooks/recipes/` into your editor or Git config to turn it on.
143
+
144
+ ---
145
+
146
+ ## Coverage lexicons
147
+
148
+ CoDD ships **39 ready-made "lexicons"** — checklists drawn from real industry standards — that you can switch on so `codd elicit` finds the gaps in your spec. They span Web (WCAG, OWASP, Web Vitals), Mobile (HIG, Material 3, MASVS), Backend (REST, GraphQL, gRPC), Data (SQL, JSON Schema), Ops (Kubernetes, Terraform, DORA), Compliance (ISO 27001, HIPAA, PCI DSS, GDPR, EU AI Act), and more. Turn on the ones that fit; add your own without touching the core.
149
+
150
+ ---
151
+
152
+ ## Documentation
153
+
154
+ - [`docs/explainer.md`](docs/explainer.md) — the full idea, from the connection map to AI-driven development
155
+ - [`CHANGELOG.md`](CHANGELOG.md) — every release
156
+ - `codd --help` — the full command reference (in any project, `codd check` is the best place to start)
157
+ - [`docs/`](docs/) — architecture notes, setup guides, and a cookbook
158
+
159
+ ---
160
+
161
+ ## Contributing
162
+
163
+ Issues, pull requests, and lexicon proposals are all welcome — see [Issues](https://github.com/yohey-w/codd-dev/issues). CoDD is maintained by [@yohey-w](https://github.com/yohey-w), with thanks to everyone who reported the bugs and ideas that shaped it.
164
+
165
+ ---
166
+
167
+ ## License & links
168
+
169
+ MIT — see [LICENSE](LICENSE).
170
+
171
+ - [PyPI](https://pypi.org/project/codd-dev/)
172
+ - [GitHub Sponsors](https://github.com/sponsors/yohey-w) — support development
173
+ - [Issues](https://github.com/yohey-w/codd-dev/issues)
@@ -0,0 +1,21 @@
1
+ # bench_fixture
2
+
3
+ A working-directory placeholder for the `direct AiCommand` benchmark.
4
+
5
+ `scripts/bench_app_server_direct.py` passes `--project-root` to the `AiCommand`
6
+ instance, but this benchmark does **not** generate code, so the directory's
7
+ contents are irrelevant — only its existence matters (`SubprocessAiCommand`
8
+ uses it as `cwd`).
9
+
10
+ Reproduce:
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/bench_results.jsonl
19
+ ```
20
+
21
+ Detailed results are written to the `--output` path you choose.
@@ -1,3 +1,3 @@
1
1
  """CoDD — Coherence-Driven Development."""
2
2
 
3
- __version__ = "2.102.0"
3
+ __version__ = "3.1.0"
@@ -10,13 +10,15 @@ checker, so an unenforced release-blocker fails CI.
10
10
 
11
11
  from __future__ import annotations
12
12
 
13
- from . import nextjs, playwright
13
+ from . import nextjs, playwright, prisma
14
14
  from ._base import ObligationFinding
15
15
 
16
16
  #: obligation.checker ref (as written in a profile YAML) -> enforcing callable.
17
17
  OBLIGATION_CHECKERS = {
18
18
  "nextjs_adapter:check_ignore_build_errors": nextjs.check_ignore_build_errors,
19
+ "nextjs_adapter:check_route_coverage": nextjs.check_route_coverage,
19
20
  "playwright_adapter:check_executed": playwright.check_executed,
21
+ "prisma_adapter:check_schema_sync": prisma.check_schema_sync,
20
22
  }
21
23
 
22
24
 
@@ -33,4 +35,5 @@ __all__ = [
33
35
  "resolve_checker",
34
36
  "nextjs",
35
37
  "playwright",
38
+ "prisma",
36
39
  ]