codd-dev 2.95.0__tar.gz → 2.96.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 (623) hide show
  1. {codd_dev-2.95.0 → codd_dev-2.96.0}/PKG-INFO +1 -1
  2. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/__init__.py +1 -1
  3. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/command_authenticity.py +161 -10
  4. {codd_dev-2.95.0 → codd_dev-2.96.0}/pyproject.toml +1 -1
  5. {codd_dev-2.95.0 → codd_dev-2.96.0}/.gitignore +0 -0
  6. {codd_dev-2.95.0 → codd_dev-2.96.0}/LICENSE +0 -0
  7. {codd_dev-2.95.0 → codd_dev-2.96.0}/README.md +0 -0
  8. {codd_dev-2.95.0 → codd_dev-2.96.0}/bench_fixture/README.md +0 -0
  9. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/__main__.py +0 -0
  10. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/_git_helper.py +0 -0
  11. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/action_outcome.py +0 -0
  12. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/ai_invoke.py +0 -0
  13. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/ai_patch.py +0 -0
  14. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/artifact_contract.py +0 -0
  15. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/artifact_ids.py +0 -0
  16. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/artifacts/catalog.yaml +0 -0
  17. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/ask_user_question_adapter.py +0 -0
  18. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/assembler.py +0 -0
  19. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/bridge.py +0 -0
  20. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/brownfield/__init__.py +0 -0
  21. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/brownfield/pipeline.py +0 -0
  22. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/capability_completeness.py +0 -0
  23. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/claude_cli.py +0 -0
  24. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/cli.py +0 -0
  25. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/clustering.py +0 -0
  26. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/coherence_adapters.py +0 -0
  27. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/coherence_engine.py +0 -0
  28. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/confidence.py +0 -0
  29. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/config.py +0 -0
  30. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/config_schema.py +0 -0
  31. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/contracts.py +0 -0
  32. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/contracts_registry/__init__.py +0 -0
  33. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/contracts_registry/__main__.py +0 -0
  34. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/contracts_registry/certify.py +0 -0
  35. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/contracts_registry/generate_matrix.py +0 -0
  36. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/contracts_registry/registry.py +0 -0
  37. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/coverage_auditor.py +0 -0
  38. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/coverage_execution_coherence.py +0 -0
  39. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/coverage_metrics.py +0 -0
  40. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/__init__.py +0 -0
  41. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/auto_repair.py +0 -0
  42. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/builder.py +0 -0
  43. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/__init__.py +0 -0
  44. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
  45. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/artifact_contract_check.py +0 -0
  46. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/ci_health.py +0 -0
  47. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/dependency_freshness.py +0 -0
  48. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/depends_on_consistency.py +0 -0
  49. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/deployment_completeness.py +0 -0
  50. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/edge_validity.py +0 -0
  51. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/environment_coverage.py +0 -0
  52. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/implementation_coverage.py +0 -0
  53. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/node_completeness.py +0 -0
  54. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/opt_out.py +0 -0
  55. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/task_completion.py +0 -0
  56. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/transitive_closure.py +0 -0
  57. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/ui_coherence.py +0 -0
  58. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/checks/user_journey_coherence.py +0 -0
  59. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/coverage_axes.py +0 -0
  60. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/cli.yaml +0 -0
  61. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
  62. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/csharp.yaml +0 -0
  63. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/elixir.yaml +0 -0
  64. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/generic.yaml +0 -0
  65. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/iot.yaml +0 -0
  66. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/java.yaml +0 -0
  67. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/kotlin.yaml +0 -0
  68. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/mobile.yaml +0 -0
  69. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/ruby.yaml +0 -0
  70. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/rust.yaml +0 -0
  71. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/scala.yaml +0 -0
  72. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/swift.yaml +0 -0
  73. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
  74. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/defaults/web.yaml +0 -0
  75. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/extractor.py +0 -0
  76. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/impact.py +0 -0
  77. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dag/runner.py +0 -0
  78. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/defaults.py +0 -0
  79. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/defaults.yaml +0 -0
  80. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/dependency_lock_coherence.py +0 -0
  81. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deploy_targets/__init__.py +0 -0
  82. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deploy_targets/app_service.py +0 -0
  83. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deploy_targets/base.py +0 -0
  84. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deploy_targets/docker_compose.py +0 -0
  85. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployer.py +0 -0
  86. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/__init__.py +0 -0
  87. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/checks/__init__.py +0 -0
  88. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
  89. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
  90. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
  91. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
  92. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/extractor.py +0 -0
  93. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/__init__.py +0 -0
  94. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/ai_command.py +0 -0
  95. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/ai_command_factory.py +0 -0
  96. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/codex_app_server.py +0 -0
  97. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/llm_consideration.py +0 -0
  98. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/schema/__init__.py +0 -0
  99. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/schema/prisma.py +0 -0
  100. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/target/__init__.py +0 -0
  101. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/target/docker_compose.py +0 -0
  102. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/__init__.py +0 -0
  103. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
  104. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
  105. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
  106. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
  107. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
  108. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/curl.py +0 -0
  109. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
  110. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
  111. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/playwright.py +0 -0
  112. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
  113. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/deployment/providers/verification/vitest.py +0 -0
  114. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/design_md.py +0 -0
  115. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/diff/__init__.py +0 -0
  116. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/diff/apply.py +0 -0
  117. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/diff/engine.py +0 -0
  118. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/diff/persistence.py +0 -0
  119. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/diff/templates/diff_prompt.md +0 -0
  120. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/discovery.py +0 -0
  121. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/drift.py +0 -0
  122. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/e2e_contract_coherence.py +0 -0
  123. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/e2e_extractor.py +0 -0
  124. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/e2e_generator.py +0 -0
  125. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/e2e_harness.py +0 -0
  126. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/e2e_runner.py +0 -0
  127. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/__init__.py +0 -0
  128. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/apply.py +0 -0
  129. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/engine.py +0 -0
  130. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/finding.py +0 -0
  131. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/formatters/__init__.py +0 -0
  132. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/formatters/base.py +0 -0
  133. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/formatters/interactive.py +0 -0
  134. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/formatters/json_fmt.py +0 -0
  135. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/formatters/md.py +0 -0
  136. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/lexicon_loader.py +0 -0
  137. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/persistence.py +0 -0
  138. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
  139. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/env_refs.py +0 -0
  140. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/extract_ai.py +0 -0
  141. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/extract_paths.py +0 -0
  142. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/extractor.py +0 -0
  143. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/__init__.py +0 -0
  144. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/candidate_selector.py +0 -0
  145. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/design_updater.py +0 -0
  146. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/impl_propagation.py +0 -0
  147. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/interactive_prompt.py +0 -0
  148. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/phenomenon_fixer.py +0 -0
  149. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/phenomenon_parser.py +0 -0
  150. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/risk_classifier.py +0 -0
  151. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/templates/clarification_question.txt +0 -0
  152. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/templates/design_update.txt +0 -0
  153. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/templates/impl_update.txt +0 -0
  154. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
  155. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/templates/risk_assessment.txt +0 -0
  156. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fix/templates_loader.py +0 -0
  157. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fixer.py +0 -0
  158. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fixup_drift.py +0 -0
  159. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fixup_drift_strategies/__init__.py +0 -0
  160. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
  161. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
  162. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
  163. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/frontmatter.py +0 -0
  164. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/generator.py +0 -0
  165. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/git_evidence.py +0 -0
  166. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/graph.py +0 -0
  167. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/greenfield/__init__.py +0 -0
  168. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/greenfield/pipeline.py +0 -0
  169. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hitl_session.py +0 -0
  170. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/__init__.py +0 -0
  171. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/pre-commit +0 -0
  172. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
  173. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
  174. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/recipes/codex_hook.sh +0 -0
  175. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
  176. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
  177. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/iac_nfr.py +0 -0
  178. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implement_oracle.py +0 -0
  179. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implement_oracle_scope.py +0 -0
  180. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implement_oracle_types.py +0 -0
  181. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implementer/__init__.py +0 -0
  182. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implementer/chunked_runner.py +0 -0
  183. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implementer/typecheck_loop.py +0 -0
  184. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/implementer.py +0 -0
  185. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/import_coherence.py +0 -0
  186. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/inheritance.py +0 -0
  187. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/init/__init__.py +0 -0
  188. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/init/lexicon_suggest.py +0 -0
  189. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/init/llm_lexicon_suggester.py +0 -0
  190. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/init/stack_detector.py +0 -0
  191. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/knowledge_fetcher.py +0 -0
  192. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/__init__.py +0 -0
  193. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/adapters/__init__.py +0 -0
  194. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/adapters/implement_oracle.py +0 -0
  195. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/adapters/oracle_go.py +0 -0
  196. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/adapters/oracle_python.py +0 -0
  197. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/adapters/oracle_typescript.py +0 -0
  198. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/adapters/runner_report.py +0 -0
  199. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/builtin_adapters.py +0 -0
  200. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/compat.py +0 -0
  201. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/contract.py +0 -0
  202. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/loader.py +0 -0
  203. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/oracle_executor.py +0 -0
  204. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/path_planner.py +0 -0
  205. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/profile.py +0 -0
  206. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/profiles/go.yaml +0 -0
  207. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/profiles/python.yaml +0 -0
  208. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/profiles/typescript.yaml +0 -0
  209. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/registry.py +0 -0
  210. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/verify_executor.py +0 -0
  211. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/languages/verify_plan.py +0 -0
  212. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon.py +0 -0
  213. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/__init__.py +0 -0
  214. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
  215. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/formatters/html.py +0 -0
  216. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
  217. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/formatters/md.py +0 -0
  218. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/inspector.py +0 -0
  219. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/manager.py +0 -0
  220. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/reporter.py +0 -0
  221. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/lexicon_cli/threshold.py +0 -0
  222. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/__init__.py +0 -0
  223. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/approval.py +0 -0
  224. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/best_practice_augmenter.py +0 -0
  225. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/criteria_expander.py +0 -0
  226. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/design_doc_extractor.py +0 -0
  227. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/impl_step_deriver.py +0 -0
  228. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/means_catalog_loader.py +0 -0
  229. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/parser.py +0 -0
  230. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/plan_deriver.py +0 -0
  231. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/prompt_builder.py +0 -0
  232. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/strategy_validator.py +0 -0
  233. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
  234. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
  235. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
  236. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
  237. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
  238. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/meta_instruction.md +0 -0
  239. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/plan_derive_meta.md +0 -0
  240. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
  241. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/mcp_server.py +0 -0
  242. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/measure.py +0 -0
  243. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/operational_e2e_audit.py +0 -0
  244. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/operations_derive.py +0 -0
  245. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/__init__.py +0 -0
  246. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/_shared.py +0 -0
  247. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/api_specs.py +0 -0
  248. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/extractor_registry.py +0 -0
  249. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/filesystem_routes.py +0 -0
  250. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/iac.py +0 -0
  251. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/python_ast.py +0 -0
  252. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/regex_strategies.py +0 -0
  253. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/schemas.py +0 -0
  254. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/tests_builddeps.py +0 -0
  255. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/parsing/treesitter.py +0 -0
  256. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/planner.py +0 -0
  257. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/policy.py +0 -0
  258. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/preflight/__init__.py +0 -0
  259. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/preflight/defaults/cli.yaml +0 -0
  260. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/preflight/defaults/generic.yaml +0 -0
  261. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/preflight/defaults/iot.yaml +0 -0
  262. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/preflight/defaults/mobile.yaml +0 -0
  263. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/preflight/defaults/web.yaml +0 -0
  264. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/project_types.py +0 -0
  265. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/propagate.py +0 -0
  266. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/propagation_common.py +0 -0
  267. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/propagator.py +0 -0
  268. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/reconciliation_ledger.py +0 -0
  269. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/reference_resolution.py +0 -0
  270. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/registry.py +0 -0
  271. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/__init__.py +0 -0
  272. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/approval_repair.py +0 -0
  273. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/auto_scope_guard.py +0 -0
  274. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/engine.py +0 -0
  275. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/git_patcher.py +0 -0
  276. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/history.py +0 -0
  277. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/llm_repair_engine.py +0 -0
  278. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/loop.py +0 -0
  279. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/primary_picker.py +0 -0
  280. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/proof_breaks.py +0 -0
  281. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/repair_result.py +0 -0
  282. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/repairability_classifier.py +0 -0
  283. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/schema.py +0 -0
  284. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/templates/analyze_meta.md +0 -0
  285. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/templates/propose_meta.md +0 -0
  286. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
  287. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/templates/repairability_meta.md +0 -0
  288. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/test_failure_attribution.py +0 -0
  289. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair/verify_runner.py +0 -0
  290. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/repair_slice.py +0 -0
  291. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/require.py +0 -0
  292. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/require_plugins.py +0 -0
  293. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/require_propagate.py +0 -0
  294. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
  295. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
  296. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
  297. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
  298. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/required_artifacts/defaults/web.yaml +0 -0
  299. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/required_artifacts_deriver.py +0 -0
  300. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
  301. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
  302. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
  303. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
  304. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
  305. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_completeness_auditor.py +0 -0
  306. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirement_reconciliation.py +0 -0
  307. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/requirements_meta.py +0 -0
  308. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/restoration_report.py +0 -0
  309. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/restore.py +0 -0
  310. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/routes_extractor.py +0 -0
  311. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/runtime_smoke/__init__.py +0 -0
  312. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/runtime_smoke/checks.py +0 -0
  313. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/runtime_smoke/config.py +0 -0
  314. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/runtime_smoke/report.py +0 -0
  315. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/runtime_smoke/runner.py +0 -0
  316. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/scanner.py +0 -0
  317. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/schema_refs.py +0 -0
  318. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/screen_flow_validator.py +0 -0
  319. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/screen_transition_extractor.py +0 -0
  320. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/screen_transitions/defaults.yaml +0 -0
  321. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/skills_cli/__init__.py +0 -0
  322. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/skills_cli/discovery.py +0 -0
  323. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/skills_cli/manager.py +0 -0
  324. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/skills_cli/paths.py +0 -0
  325. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/__init__.py +0 -0
  326. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/adapters/__init__.py +0 -0
  327. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/adapters/_base.py +0 -0
  328. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/adapters/nextjs.py +0 -0
  329. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/adapters/playwright.py +0 -0
  330. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/command_plan.py +0 -0
  331. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/compose.py +0 -0
  332. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/loader.py +0 -0
  333. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/lock.py +0 -0
  334. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/obligations.py +0 -0
  335. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/profile.py +0 -0
  336. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/profiles/addons/playwright.yaml +0 -0
  337. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/profiles/addons/prisma.yaml +0 -0
  338. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/profiles/frameworks/nextjs.yaml +0 -0
  339. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/project.py +0 -0
  340. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/registry.py +0 -0
  341. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/replacement_proof.py +0 -0
  342. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/stack/resolve.py +0 -0
  343. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/surface_reconciliation.py +0 -0
  344. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/synth.py +0 -0
  345. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/codd.yaml.tmpl +0 -0
  346. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/conventions.yaml.tmpl +0 -0
  347. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
  348. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/doc_links.yaml.tmpl +0 -0
  349. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
  350. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
  351. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
  352. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
  353. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
  354. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/extracted/system-context.md.j2 +0 -0
  355. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/gitignore.tmpl +0 -0
  356. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/lexicon_questions.md +0 -0
  357. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/lexicon_schema.yaml +0 -0
  358. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/templates/overrides.yaml.tmpl +0 -0
  359. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/test_detection.py +0 -0
  360. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/test_import_coherence.py +0 -0
  361. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/traceability.py +0 -0
  362. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/validator.py +0 -0
  363. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/vb_marker_authenticity.py +0 -0
  364. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/vb_rerun_scope.py +0 -0
  365. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/verifiable_behavior_audit.py +0 -0
  366. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/watch/__init__.py +0 -0
  367. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/watch/events.py +0 -0
  368. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/watch/propagation_log.py +0 -0
  369. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/watch/propagation_pipeline.py +0 -0
  370. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/watch/test_runner.py +0 -0
  371. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/watch/watcher.py +0 -0
  372. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd/wiring.py +0 -0
  373. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
  374. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
  375. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
  376. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
  377. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
  378. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
  379. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
  380. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
  381. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
  382. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
  383. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
  384. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
  385. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
  386. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
  387. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
  388. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
  389. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
  390. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
  391. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
  392. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
  393. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
  394. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
  395. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
  396. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
  397. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
  398. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
  399. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
  400. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
  401. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
  402. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
  403. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
  404. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
  405. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
  406. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
  407. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
  408. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
  409. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
  410. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
  411. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
  412. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
  413. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
  414. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
  415. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
  416. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
  417. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
  418. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
  419. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
  420. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
  421. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
  422. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
  423. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
  424. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
  425. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
  426. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
  427. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
  428. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
  429. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
  430. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
  431. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
  432. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
  433. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
  434. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
  435. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
  436. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
  437. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
  438. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
  439. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
  440. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
  441. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
  442. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
  443. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
  444. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
  445. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
  446. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
  447. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
  448. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
  449. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
  450. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
  451. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
  452. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
  453. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
  454. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
  455. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
  456. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
  457. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
  458. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
  459. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
  460. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
  461. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
  462. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
  463. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
  464. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
  465. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
  466. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
  467. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
  468. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
  469. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
  470. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
  471. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
  472. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
  473. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
  474. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
  475. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
  476. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
  477. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
  478. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
  479. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
  480. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
  481. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
  482. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
  483. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
  484. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
  485. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
  486. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
  487. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
  488. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
  489. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
  490. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
  491. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
  492. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
  493. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
  494. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
  495. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
  496. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
  497. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
  498. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
  499. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
  500. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
  501. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
  502. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
  503. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
  504. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
  505. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
  506. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
  507. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
  508. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
  509. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
  510. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
  511. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
  512. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
  513. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
  514. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
  515. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
  516. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
  517. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
  518. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
  519. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
  520. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
  521. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
  522. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
  523. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
  524. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
  525. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
  526. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
  527. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
  528. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
  529. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
  530. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
  531. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
  532. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
  533. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
  534. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
  535. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
  536. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
  537. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
  538. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
  539. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
  540. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
  541. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
  542. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
  543. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
  544. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
  545. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
  546. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
  547. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
  548. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
  549. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
  550. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
  551. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
  552. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
  553. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
  554. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
  555. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
  556. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
  557. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
  558. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
  559. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
  560. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
  561. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
  562. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
  563. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
  564. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
  565. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
  566. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
  567. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
  568. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
  569. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
  570. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
  571. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
  572. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
  573. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
  574. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
  575. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
  576. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
  577. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
  578. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
  579. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
  580. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
  581. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
  582. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
  583. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
  584. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
  585. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
  586. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
  587. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
  588. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
  589. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
  590. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
  591. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
  592. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
  593. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
  594. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
  595. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
  596. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
  597. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
  598. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
  599. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
  600. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
  601. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
  602. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
  603. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
  604. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
  605. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
  606. {codd_dev-2.95.0 → codd_dev-2.96.0}/codd_plugins/stack_map.yaml +0 -0
  607. {codd_dev-2.95.0 → codd_dev-2.96.0}/docs/cookbook/cdp_browser/README.md +0 -0
  608. {codd_dev-2.95.0 → codd_dev-2.96.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
  609. {codd_dev-2.95.0 → codd_dev-2.96.0}/docs/requirements/README.md +0 -0
  610. {codd_dev-2.95.0 → codd_dev-2.96.0}/dogfood/README.md +0 -0
  611. {codd_dev-2.95.0 → codd_dev-2.96.0}/dogfood/fixtures/flat_py_app/README.md +0 -0
  612. {codd_dev-2.95.0 → codd_dev-2.96.0}/examples/README.md +0 -0
  613. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-assemble/SKILL.md +0 -0
  614. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-evolve/SKILL.md +0 -0
  615. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-generate/SKILL.md +0 -0
  616. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-greenfield/SKILL.md +0 -0
  617. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-impact/SKILL.md +0 -0
  618. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-init/SKILL.md +0 -0
  619. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-propagate/SKILL.md +0 -0
  620. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-restore/SKILL.md +0 -0
  621. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-scan/SKILL.md +0 -0
  622. {codd_dev-2.95.0 → codd_dev-2.96.0}/skills/codd-validate/SKILL.md +0 -0
  623. {codd_dev-2.95.0 → codd_dev-2.96.0}/tests/integration/standalone_repair_skeleton/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codd-dev
3
- Version: 2.95.0
3
+ Version: 2.96.0
4
4
  Summary: CoDD: Coherence-Driven Development — cross-artifact change impact analysis
5
5
  Project-URL: Homepage, https://github.com/yohey-w/codd-dev
6
6
  Project-URL: Repository, https://github.com/yohey-w/codd-dev
@@ -1,3 +1,3 @@
1
1
  """CoDD — Coherence-Driven Development."""
2
2
 
3
- __version__ = "2.95.0"
3
+ __version__ = "2.96.0"
@@ -51,6 +51,7 @@ import json
51
51
  from dataclasses import dataclass, field
52
52
  from enum import Enum
53
53
  from pathlib import Path
54
+ from types import MappingProxyType
54
55
  from typing import Any, Mapping
55
56
 
56
57
  from codd.stack.command_plan import (
@@ -93,8 +94,9 @@ class StackCommandObservationPolicy:
93
94
  """What a command of a given kind must OBSERVE to be authentic (unweakenable here).
94
95
 
95
96
  The DEFAULTS for each kind are the invariant; a stack profile may STRENGTHEN via
96
- the contract's ``command_observation_policies`` but the classifier never lets a
97
- not-green observation become green.
97
+ the contract's ``command_observation_policies`` but never WEAKEN it strengthen-only
98
+ is enforced by :func:`resolve_stack_command_observation_policy` (a weakening override is
99
+ fail-closed RED), so the classifier never lets a not-green observation become green.
98
100
  """
99
101
 
100
102
  kind: StackCommandObservationKind
@@ -120,6 +122,46 @@ class StackCommandObservationPolicy:
120
122
  #: exists so the data model is ready without quietly broadening this release.
121
123
  require_build_outputs: bool = False
122
124
 
125
+ def __post_init__(self) -> None:
126
+ # Intrinsic validity (Cut C, GPT-5.5 Pro consult 2026-06-21): a policy may not
127
+ # exist in a state that is unsound FOR ITS KIND — you cannot even CONSTRUCT a
128
+ # no-op-accepting policy or a "test" policy that accepts zero tests / no report.
129
+ # This is defense-in-depth UNDER the resolver's strengthen-only check: a policy
130
+ # object handed around (or fed through the contract override for a custom slot)
131
+ # is invalid-by-construction if it falls below its kind's anti-false-green floor.
132
+ if not self.reject_static_noop:
133
+ raise ValueError(
134
+ "StackCommandObservationPolicy.reject_static_noop must be True for every "
135
+ "kind — a command that cannot fail (true / : / echo / no-op script) is not "
136
+ "a check (anti-false-green: a no-op-accepting policy is forbidden)"
137
+ )
138
+ if self.min_collected_tests < 0:
139
+ raise ValueError("StackCommandObservationPolicy.min_collected_tests must be >= 0")
140
+ if self.kind is StackCommandObservationKind.TEST_REPORT:
141
+ if not self.report_required:
142
+ raise ValueError(
143
+ "a TEST_REPORT policy must require a report (report_required=True) — a "
144
+ "test slot without a required machine-readable report is not proof-bearing"
145
+ )
146
+ if self.min_collected_tests < 1:
147
+ raise ValueError(
148
+ "a TEST_REPORT policy must require >= 1 collected/executed test "
149
+ "(min_collected_tests >= 1) — a test run that observed zero tests is the "
150
+ "canonical exit-0-no-tests false-green"
151
+ )
152
+ if not self.require_test_level_available:
153
+ raise ValueError(
154
+ "a TEST_REPORT policy must require test-level evidence "
155
+ "(require_test_level_available=True) — a summary-only report cannot prove "
156
+ "which tests ran"
157
+ )
158
+ if not self.fail_on_observed_failures:
159
+ raise ValueError(
160
+ "a TEST_REPORT policy must fail on observed failures "
161
+ "(fail_on_observed_failures=True) — an observed failure/skip is "
162
+ "incompatible with a green test command"
163
+ )
164
+
123
165
 
124
166
  #: TEST-kind: must observe >=1 executed test via a parseable, test-level report, with
125
167
  #: no observed failures. This is the anti-false-green invariant for a test command.
@@ -148,11 +190,93 @@ STATIC_EXECUTION_POLICY = StackCommandObservationPolicy(
148
190
  report_required=False,
149
191
  )
150
192
 
193
+
194
+ # ── strengthen-only ownership (Cut C: a profile may parameterize, never weaken) ──
195
+ #
196
+ # The contract override path (``command_observation_policies``) is a DECLARATIVE
197
+ # extension point: a stack profile may declare a policy for a NEW slot id, or
198
+ # STRENGTHEN a default. But "strengthen-only" must be OWNED BY THE CORE, not delegated
199
+ # to a docstring — an unconditional override could otherwise silently downgrade a known
200
+ # test slot to accept zero tests (the exact false-green the language ``observation``
201
+ # block forbids via :meth:`VerifyObservationPolicy.from_mapping`). These two predicates +
202
+ # the resolver's fail-closed check are the stack twin of that load-time rejection.
203
+
204
+
205
+ class StackObservationPolicyWeakeningError(ValueError):
206
+ """A contract override would WEAKEN a command's anti-false-green observation policy.
207
+
208
+ Raised by :func:`resolve_stack_command_observation_policy` when a stack contract
209
+ declares a ``command_observation_policies`` entry that is LESS strict than the slot's
210
+ built-in default (or, for a custom TEST slot, below the intrinsic test floor). A
211
+ profile may give the invariant's PARAMETERS (raise ``min_collected_tests``) or add a
212
+ policy for a new slot, but it may NEVER disable the invariant — that ownership lives in
213
+ the core, fail-closed (mirrors the language ``observation`` block's load-time
214
+ rejection).
215
+ """
216
+
217
+
218
+ def _intrinsic_floor_for_kind(
219
+ kind: StackCommandObservationKind,
220
+ ) -> "StackCommandObservationPolicy":
221
+ """The minimum a policy of ``kind`` must satisfy to be anti-false-green, regardless of
222
+ any slot default.
223
+
224
+ A TEST_REPORT policy of ANY slot (default or custom) must require a report, observe
225
+ ``>= 1`` test, have per-test granularity, and fail on observed failures — a "test"
226
+ command that accepts zero tests / no report is a false-green by construction. BUILD /
227
+ STATIC floors only reject a static no-op (v2.77d minimum)."""
228
+ if kind is StackCommandObservationKind.TEST_REPORT:
229
+ return TEST_REPORT_POLICY
230
+ if kind is StackCommandObservationKind.BUILD_EXECUTION:
231
+ return BUILD_EXECUTION_POLICY
232
+ return STATIC_EXECUTION_POLICY
233
+
234
+
235
+ def is_at_least_as_strict(
236
+ candidate: "StackCommandObservationPolicy",
237
+ baseline: "StackCommandObservationPolicy",
238
+ ) -> bool:
239
+ """True iff ``candidate`` is AT LEAST as anti-false-green-strict as ``baseline``.
240
+
241
+ The strictness partial order (a profile may move each axis only in the STRICTER
242
+ direction):
243
+
244
+ * ``kind`` must be IDENTICAL — a kind change is never a "strengthen" (downgrading
245
+ ``e2e_test`` to STATIC drops the whole test-count requirement; even a notional
246
+ "upgrade" would silently change the contract's meaning, so we require equality and
247
+ let a genuinely-different slot use a different id).
248
+ * every boolean gate (``reject_static_noop``, ``report_required``,
249
+ ``require_test_level_available``, ``fail_on_observed_failures``,
250
+ ``require_build_outputs``) may only go ``False -> True`` or stay — never ``True ->
251
+ False`` (turning a gate OFF is weakening).
252
+ * ``min_collected_tests`` may only RISE or stay (a lower threshold accepts fewer
253
+ tests — weaker).
254
+ """
255
+ if candidate.kind is not baseline.kind:
256
+ return False
257
+ bool_axes = (
258
+ "reject_static_noop",
259
+ "report_required",
260
+ "require_test_level_available",
261
+ "fail_on_observed_failures",
262
+ "require_build_outputs",
263
+ )
264
+ for axis in bool_axes:
265
+ if getattr(baseline, axis) and not getattr(candidate, axis):
266
+ return False # baseline had the gate ON; candidate turned it OFF — weaker.
267
+ if candidate.min_collected_tests < baseline.min_collected_tests:
268
+ return False
269
+ return True
270
+
151
271
  #: Slot id → required observation policy. DECLARATIVE; slot ids are the contract's
152
272
  #: semantic API (composer's ``VERIFICATION_SLOTS`` vocabulary + the curated build/
153
273
  #: codegen slots). NOT framework names. A slot id absent here AND not declared by the
154
274
  #: contract → fail-closed RED (the harness never guesses an unknown slot's kind).
155
- DEFAULT_STACK_COMMAND_OBSERVATION_POLICIES: Mapping[str, StackCommandObservationPolicy] = {
275
+ #: ``MappingProxyType`` (Cut C): the shared default map is IMMUTABLE so imported profile
276
+ #: code cannot mutate a default policy in place (e.g. flip ``e2e_test``'s policy to a
277
+ #: permissive one) after the core defined it — the strengthen-only ownership would be
278
+ #: meaningless if the baseline itself could be rewritten.
279
+ DEFAULT_STACK_COMMAND_OBSERVATION_POLICIES: Mapping[str, StackCommandObservationPolicy] = MappingProxyType({
156
280
  # TEST-kind — must observe real tests via a report.
157
281
  "unit_test": TEST_REPORT_POLICY,
158
282
  "integration_test": TEST_REPORT_POLICY,
@@ -176,7 +300,7 @@ DEFAULT_STACK_COMMAND_OBSERVATION_POLICIES: Mapping[str, StackCommandObservation
176
300
  # carry no observation requirement — STATIC_EXECUTION (reject no-op + exit 0).
177
301
  "dev": STATIC_EXECUTION_POLICY,
178
302
  "start": STATIC_EXECUTION_POLICY,
179
- }
303
+ })
180
304
 
181
305
 
182
306
  def resolve_stack_command_observation_policy(
@@ -186,14 +310,39 @@ def resolve_stack_command_observation_policy(
186
310
  ) -> StackCommandObservationPolicy | None:
187
311
  """Resolve a slot's observation policy: contract override > default > None (RED).
188
312
 
189
- A contract may DECLARE a policy for a custom slot id (or strengthen a default);
190
- that wins. Otherwise the built-in default map. An unknown slot with neither →
191
- ``None`` (the classifier turns that into ``AUTHENTICITY_POLICY_MISSING`` RED — the
192
- harness never defaults an unknown slot to a permissive kind).
313
+ A contract may DECLARE a policy for a custom slot id (or STRENGTHEN a default); that
314
+ wins. Otherwise the built-in default map. An unknown slot with neither → ``None`` (the
315
+ classifier turns that into ``AUTHENTICITY_POLICY_MISSING`` RED — the harness never
316
+ defaults an unknown slot to a permissive kind).
317
+
318
+ Cut C (strengthen-only is CORE-OWNED): a contract override is honored ONLY if it is at
319
+ least as strict as its baseline — the slot's built-in default when one exists, or the
320
+ intrinsic floor for the override's kind for a custom slot. A WEAKENING override raises
321
+ :class:`StackObservationPolicyWeakeningError` (fail-closed) rather than silently
322
+ downgrading the gate. This mirrors the language ``observation`` block, where
323
+ :meth:`VerifyObservationPolicy.from_mapping` rejects every weakening at load: a profile
324
+ may parameterize the invariant but may never disable it.
193
325
  """
326
+ default = DEFAULT_STACK_COMMAND_OBSERVATION_POLICIES.get(slot_id)
194
327
  if contract_policies and slot_id in contract_policies:
195
- return contract_policies[slot_id]
196
- return DEFAULT_STACK_COMMAND_OBSERVATION_POLICIES.get(slot_id)
328
+ override = contract_policies[slot_id]
329
+ # Baseline to compare against: the slot default if the core already protects this
330
+ # slot, else the intrinsic floor for the override's OWN kind (a custom slot must
331
+ # still meet its kind's anti-false-green floor — a "test" slot cannot accept zero
332
+ # tests / no report just because it has a novel id).
333
+ baseline = default if default is not None else _intrinsic_floor_for_kind(override.kind)
334
+ if not is_at_least_as_strict(override, baseline):
335
+ raise StackObservationPolicyWeakeningError(
336
+ f"stack contract command_observation_policies[{slot_id!r}] is WEAKER than "
337
+ f"its baseline ({'slot default' if default is not None else 'intrinsic ' + override.kind.value + ' floor'}): "
338
+ f"override={override!r} baseline={baseline!r}. A profile may STRENGTHEN a "
339
+ "policy (raise min_collected_tests, turn a gate on) or add a policy for a "
340
+ "new slot, but it may NEVER weaken the anti-false-green invariant "
341
+ "(strengthen-only is owned by the core, fail-closed — like the language "
342
+ "observation block's load-time rejection)."
343
+ )
344
+ return override
345
+ return default
197
346
 
198
347
 
199
348
  # ── static no-op detection (kind-independent; always RED) ──
@@ -715,6 +864,7 @@ def assert_stack_commands_authentic(
715
864
 
716
865
  __all__ = [
717
866
  "StackCommandAuthenticityError",
867
+ "StackObservationPolicyWeakeningError",
718
868
  "classify_plan_authenticity",
719
869
  "assert_stack_commands_authentic",
720
870
  "StackCommandObservationKind",
@@ -723,6 +873,7 @@ __all__ = [
723
873
  "BUILD_EXECUTION_POLICY",
724
874
  "STATIC_EXECUTION_POLICY",
725
875
  "DEFAULT_STACK_COMMAND_OBSERVATION_POLICIES",
876
+ "is_at_least_as_strict",
726
877
  "resolve_stack_command_observation_policy",
727
878
  "is_static_noop_command",
728
879
  "is_noop_shell_fragment",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "codd-dev"
7
- version = "2.95.0"
7
+ version = "2.96.0"
8
8
  description = "CoDD: Coherence-Driven Development — cross-artifact change impact analysis"
9
9
  readme = "README.md"
10
10
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes