codd-dev 2.9.0__tar.gz → 2.10.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 (466) hide show
  1. {codd_dev-2.9.0 → codd_dev-2.10.0}/PKG-INFO +1 -1
  2. codd_dev-2.10.0/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +17 -0
  3. codd_dev-2.10.0/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +70 -0
  4. codd_dev-2.10.0/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +121 -0
  5. codd_dev-2.10.0/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +24 -0
  6. codd_dev-2.10.0/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +8 -0
  7. codd_dev-2.10.0/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +32 -0
  8. codd_dev-2.10.0/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +19 -0
  9. codd_dev-2.10.0/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +54 -0
  10. codd_dev-2.10.0/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +121 -0
  11. codd_dev-2.10.0/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +23 -0
  12. codd_dev-2.10.0/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +10 -0
  13. codd_dev-2.10.0/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +45 -0
  14. codd_dev-2.10.0/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +17 -0
  15. codd_dev-2.10.0/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +72 -0
  16. codd_dev-2.10.0/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +129 -0
  17. codd_dev-2.10.0/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +27 -0
  18. codd_dev-2.10.0/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +9 -0
  19. codd_dev-2.10.0/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +35 -0
  20. codd_dev-2.10.0/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +18 -0
  21. codd_dev-2.10.0/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +49 -0
  22. codd_dev-2.10.0/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +145 -0
  23. codd_dev-2.10.0/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +26 -0
  24. codd_dev-2.10.0/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +10 -0
  25. codd_dev-2.10.0/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +34 -0
  26. codd_dev-2.10.0/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +18 -0
  27. codd_dev-2.10.0/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +73 -0
  28. codd_dev-2.10.0/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +129 -0
  29. codd_dev-2.10.0/codd_plugins/lexicons/ml_model_cards/manifest.yaml +23 -0
  30. codd_dev-2.10.0/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +9 -0
  31. codd_dev-2.10.0/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +35 -0
  32. codd_dev-2.10.0/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +16 -0
  33. codd_dev-2.10.0/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +51 -0
  34. codd_dev-2.10.0/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +117 -0
  35. codd_dev-2.10.0/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +25 -0
  36. codd_dev-2.10.0/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +8 -0
  37. codd_dev-2.10.0/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +39 -0
  38. codd_dev-2.10.0/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +21 -0
  39. codd_dev-2.10.0/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +53 -0
  40. codd_dev-2.10.0/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +193 -0
  41. codd_dev-2.10.0/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +29 -0
  42. codd_dev-2.10.0/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +13 -0
  43. codd_dev-2.10.0/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +40 -0
  44. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/stack_map.yaml +25 -1
  45. {codd_dev-2.9.0 → codd_dev-2.10.0}/pyproject.toml +1 -1
  46. {codd_dev-2.9.0 → codd_dev-2.10.0}/.gitignore +0 -0
  47. {codd_dev-2.9.0 → codd_dev-2.10.0}/LICENSE +0 -0
  48. {codd_dev-2.9.0 → codd_dev-2.10.0}/README.md +0 -0
  49. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/__init__.py +0 -0
  50. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/__main__.py +0 -0
  51. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/_git_helper.py +0 -0
  52. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/ask_user_question_adapter.py +0 -0
  53. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/assembler.py +0 -0
  54. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/bridge.py +0 -0
  55. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/brownfield/__init__.py +0 -0
  56. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/brownfield/pipeline.py +0 -0
  57. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/cli.py +0 -0
  58. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/clustering.py +0 -0
  59. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/coherence_adapters.py +0 -0
  60. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/coherence_engine.py +0 -0
  61. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/config.py +0 -0
  62. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/contracts.py +0 -0
  63. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/coverage_auditor.py +0 -0
  64. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/coverage_metrics.py +0 -0
  65. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/__init__.py +0 -0
  66. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/builder.py +0 -0
  67. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/__init__.py +0 -0
  68. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/depends_on_consistency.py +0 -0
  69. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/deployment_completeness.py +0 -0
  70. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/edge_validity.py +0 -0
  71. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/environment_coverage.py +0 -0
  72. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/implementation_coverage.py +0 -0
  73. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/node_completeness.py +0 -0
  74. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/task_completion.py +0 -0
  75. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/transitive_closure.py +0 -0
  76. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/checks/user_journey_coherence.py +0 -0
  77. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/coverage_axes.py +0 -0
  78. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/cli.yaml +0 -0
  79. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
  80. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/csharp.yaml +0 -0
  81. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/elixir.yaml +0 -0
  82. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/generic.yaml +0 -0
  83. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/iot.yaml +0 -0
  84. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/java.yaml +0 -0
  85. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/kotlin.yaml +0 -0
  86. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/mobile.yaml +0 -0
  87. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/ruby.yaml +0 -0
  88. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/rust.yaml +0 -0
  89. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/scala.yaml +0 -0
  90. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/swift.yaml +0 -0
  91. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
  92. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/defaults/web.yaml +0 -0
  93. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/extractor.py +0 -0
  94. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/dag/runner.py +0 -0
  95. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/defaults.yaml +0 -0
  96. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deploy_targets/__init__.py +0 -0
  97. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deploy_targets/app_service.py +0 -0
  98. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deploy_targets/base.py +0 -0
  99. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deploy_targets/docker_compose.py +0 -0
  100. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployer.py +0 -0
  101. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/__init__.py +0 -0
  102. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/checks/__init__.py +0 -0
  103. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
  104. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
  105. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
  106. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
  107. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/extractor.py +0 -0
  108. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/__init__.py +0 -0
  109. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/ai_command.py +0 -0
  110. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/llm_consideration.py +0 -0
  111. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/schema/__init__.py +0 -0
  112. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/schema/prisma.py +0 -0
  113. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/target/__init__.py +0 -0
  114. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/target/docker_compose.py +0 -0
  115. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/__init__.py +0 -0
  116. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
  117. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
  118. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
  119. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
  120. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
  121. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/curl.py +0 -0
  122. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
  123. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
  124. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/deployment/providers/verification/playwright.py +0 -0
  125. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/design_md.py +0 -0
  126. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/diff/__init__.py +0 -0
  127. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/diff/apply.py +0 -0
  128. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/diff/engine.py +0 -0
  129. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/diff/persistence.py +0 -0
  130. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/diff/templates/diff_prompt.md +0 -0
  131. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/drift.py +0 -0
  132. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/e2e_extractor.py +0 -0
  133. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/e2e_generator.py +0 -0
  134. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/e2e_runner.py +0 -0
  135. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/__init__.py +0 -0
  136. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/apply.py +0 -0
  137. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/engine.py +0 -0
  138. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/finding.py +0 -0
  139. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/formatters/__init__.py +0 -0
  140. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/formatters/base.py +0 -0
  141. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/formatters/interactive.py +0 -0
  142. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/formatters/json_fmt.py +0 -0
  143. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/formatters/md.py +0 -0
  144. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/lexicon_loader.py +0 -0
  145. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/persistence.py +0 -0
  146. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
  147. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/env_refs.py +0 -0
  148. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/extract_ai.py +0 -0
  149. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/extractor.py +0 -0
  150. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/fixer.py +0 -0
  151. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/fixup_drift.py +0 -0
  152. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/fixup_drift_strategies/__init__.py +0 -0
  153. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
  154. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
  155. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
  156. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/generator.py +0 -0
  157. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/graph.py +0 -0
  158. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hitl_session.py +0 -0
  159. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hooks/__init__.py +0 -0
  160. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hooks/pre-commit +0 -0
  161. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
  162. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hooks/recipes/codex_hook.sh +0 -0
  163. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
  164. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
  165. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/implementer/__init__.py +0 -0
  166. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/implementer/chunked_runner.py +0 -0
  167. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/implementer/typecheck_loop.py +0 -0
  168. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/implementer.py +0 -0
  169. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/inheritance.py +0 -0
  170. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/init/__init__.py +0 -0
  171. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/init/lexicon_suggest.py +0 -0
  172. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/init/llm_lexicon_suggester.py +0 -0
  173. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/init/stack_detector.py +0 -0
  174. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/knowledge_fetcher.py +0 -0
  175. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon.py +0 -0
  176. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/__init__.py +0 -0
  177. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
  178. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/formatters/html.py +0 -0
  179. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
  180. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/formatters/md.py +0 -0
  181. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/inspector.py +0 -0
  182. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/manager.py +0 -0
  183. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/reporter.py +0 -0
  184. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/lexicon_cli/threshold.py +0 -0
  185. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/__init__.py +0 -0
  186. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/approval.py +0 -0
  187. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/best_practice_augmenter.py +0 -0
  188. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/criteria_expander.py +0 -0
  189. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/design_doc_extractor.py +0 -0
  190. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/impl_step_deriver.py +0 -0
  191. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/means_catalog_loader.py +0 -0
  192. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/parser.py +0 -0
  193. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/plan_deriver.py +0 -0
  194. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/prompt_builder.py +0 -0
  195. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/strategy_validator.py +0 -0
  196. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
  197. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
  198. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
  199. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
  200. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
  201. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/meta_instruction.md +0 -0
  202. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/plan_derive_meta.md +0 -0
  203. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
  204. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/mcp_server.py +0 -0
  205. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/measure.py +0 -0
  206. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/parsing.py +0 -0
  207. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/planner.py +0 -0
  208. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/policy.py +0 -0
  209. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/preflight/__init__.py +0 -0
  210. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/preflight/defaults/cli.yaml +0 -0
  211. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/preflight/defaults/iot.yaml +0 -0
  212. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/preflight/defaults/mobile.yaml +0 -0
  213. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/preflight/defaults/web.yaml +0 -0
  214. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/propagate.py +0 -0
  215. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/propagator.py +0 -0
  216. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/registry.py +0 -0
  217. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/__init__.py +0 -0
  218. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/approval_repair.py +0 -0
  219. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/engine.py +0 -0
  220. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/git_patcher.py +0 -0
  221. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/history.py +0 -0
  222. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/llm_repair_engine.py +0 -0
  223. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/loop.py +0 -0
  224. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/primary_picker.py +0 -0
  225. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/proof_breaks.py +0 -0
  226. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/repair_result.py +0 -0
  227. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/repairability_classifier.py +0 -0
  228. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/schema.py +0 -0
  229. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/templates/analyze_meta.md +0 -0
  230. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/templates/propose_meta.md +0 -0
  231. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
  232. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/templates/repairability_meta.md +0 -0
  233. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair/verify_runner.py +0 -0
  234. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/repair_slice.py +0 -0
  235. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/require.py +0 -0
  236. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/require_plugins.py +0 -0
  237. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/require_propagate.py +0 -0
  238. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
  239. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
  240. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
  241. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/required_artifacts/defaults/web.yaml +0 -0
  242. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/required_artifacts_deriver.py +0 -0
  243. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
  244. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
  245. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
  246. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
  247. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/requirement_completeness_auditor.py +0 -0
  248. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/restore.py +0 -0
  249. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/routes_extractor.py +0 -0
  250. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/scanner.py +0 -0
  251. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/schema_refs.py +0 -0
  252. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/screen_flow_validator.py +0 -0
  253. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/screen_transition_extractor.py +0 -0
  254. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/screen_transitions/defaults.yaml +0 -0
  255. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/synth.py +0 -0
  256. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/codd.yaml.tmpl +0 -0
  257. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/conventions.yaml.tmpl +0 -0
  258. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
  259. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/doc_links.yaml.tmpl +0 -0
  260. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
  261. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
  262. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
  263. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
  264. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
  265. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/extracted/system-context.md.j2 +0 -0
  266. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/gitignore.tmpl +0 -0
  267. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/lexicon_questions.md +0 -0
  268. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/lexicon_schema.yaml +0 -0
  269. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/templates/overrides.yaml.tmpl +0 -0
  270. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/traceability.py +0 -0
  271. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/validator.py +0 -0
  272. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/watch/__init__.py +0 -0
  273. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/watch/events.py +0 -0
  274. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/watch/propagation_log.py +0 -0
  275. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/watch/propagation_pipeline.py +0 -0
  276. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/watch/test_runner.py +0 -0
  277. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/watch/watcher.py +0 -0
  278. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd/wiring.py +0 -0
  279. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
  280. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
  281. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
  282. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
  283. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
  284. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
  285. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
  286. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
  287. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
  288. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
  289. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
  290. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
  291. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
  292. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
  293. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
  294. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
  295. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
  296. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
  297. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
  298. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
  299. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
  300. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
  301. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
  302. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
  303. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
  304. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
  305. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
  306. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
  307. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
  308. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
  309. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
  310. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
  311. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
  312. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
  313. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
  314. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
  315. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
  316. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
  317. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
  318. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
  319. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
  320. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
  321. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
  322. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
  323. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
  324. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
  325. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
  326. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
  327. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
  328. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
  329. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
  330. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
  331. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
  332. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
  333. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
  334. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
  335. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
  336. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
  337. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
  338. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
  339. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
  340. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
  341. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
  342. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
  343. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
  344. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
  345. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
  346. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
  347. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
  348. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
  349. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
  350. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
  351. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
  352. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
  353. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
  354. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
  355. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
  356. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
  357. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
  358. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
  359. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
  360. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
  361. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
  362. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
  363. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
  364. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
  365. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
  366. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
  367. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
  368. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
  369. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
  370. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
  371. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
  372. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
  373. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
  374. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
  375. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
  376. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
  377. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
  378. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
  379. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
  380. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
  381. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
  382. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
  383. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
  384. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
  385. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
  386. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
  387. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
  388. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
  389. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
  390. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
  391. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
  392. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
  393. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
  394. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
  395. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
  396. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
  397. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
  398. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
  399. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
  400. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
  401. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
  402. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
  403. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
  404. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
  405. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
  406. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
  407. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
  408. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
  409. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
  410. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
  411. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
  412. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
  413. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
  414. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
  415. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
  416. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
  417. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
  418. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
  419. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
  420. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
  421. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
  422. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
  423. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
  424. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
  425. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
  426. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
  427. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
  428. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
  429. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
  430. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
  431. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
  432. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
  433. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
  434. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
  435. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
  436. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
  437. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
  438. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
  439. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
  440. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
  441. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
  442. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
  443. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
  444. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
  445. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
  446. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
  447. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
  448. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
  449. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
  450. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
  451. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
  452. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
  453. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
  454. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
  455. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
  456. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
  457. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
  458. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
  459. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
  460. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
  461. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
  462. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
  463. {codd_dev-2.9.0 → codd_dev-2.10.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
  464. {codd_dev-2.9.0 → codd_dev-2.10.0}/docs/cookbook/cdp_browser/README.md +0 -0
  465. {codd_dev-2.9.0 → codd_dev-2.10.0}/docs/requirements/README.md +0 -0
  466. {codd_dev-2.9.0 → codd_dev-2.10.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.9.0
3
+ Version: 2.10.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
@@ -0,0 +1,17 @@
1
+ # API Rate Limiting and Caching Coverage Matrix
2
+
3
+ Source: RFC 6585, RFC 7234, RFC 9110, RFC 9111, and common API platform
4
+ practice.
5
+
6
+ | Axis | Coverage target | Covered when | Gap signal |
7
+ | --- | --- | --- | --- |
8
+ | `rate_limit_strategy` | Rate subject and enforcement | Per-user, per-IP, per-tenant, or equivalent rate limiting scope and window is defined. | Public request volume can grow without a declared limit strategy. |
9
+ | `quota_management` | Plan or period usage limits | Daily, monthly, plan, or tenant quotas and overage behavior are declared. | Consumers do not know usage ceilings or exhaustion behavior. |
10
+ | `throttling_response` | Client-visible throttling | 429 Too Many Requests and retry guidance such as Retry-After are specified. | Clients cannot predict how to back off after throttling. |
11
+ | `cache_control_headers` | HTTP cache policy | Cache-Control directives such as max-age, private, no-cache, or no-store are declared. | Responses can be cached incorrectly or not cached when intended. |
12
+ | `etag_conditional_requests` | Representation validation | ETag, If-None-Match, or 304 Not Modified behavior is defined. | Clients cannot validate cached representations safely. |
13
+ | `cdn_edge_caching` | Shared or edge cache lifecycle | CDN cacheability, surrogate policy, and invalidation are specified. | Edge caches can serve stale objects or miss cacheable content. |
14
+ | `idempotency_keys` | Retry-safe mutations | Idempotency keys or duplicate request controls protect side-effecting operations. | Retried mutations can create duplicate payments, orders, or writes. |
15
+
16
+ Reviewers classify each axis as `covered`, `implicit`, or `gap`. Findings are
17
+ emitted only for `gap`.
@@ -0,0 +1,70 @@
1
+ ---
2
+ extends: codd/elicit/templates/elicit_prompt_L0.md
3
+ lexicon_name: api_rate_limiting_caching
4
+ observation_dimensions: 7
5
+ ---
6
+
7
+ # API Rate Limiting and Caching Coverage Lexicon
8
+
9
+ Apply the base elicitation prompt, then inspect requirements and design notes
10
+ through the 7 API platform axes declared in `lexicon.yaml`. Use HTTP and API
11
+ platform terms for rate limits, quotas, 429 responses, cache headers,
12
+ conditional requests, edge caching, and idempotent retries.
13
+
14
+ 1. `rate_limit_strategy`
15
+ 2. `quota_management`
16
+ 3. `throttling_response`
17
+ 4. `cache_control_headers`
18
+ 5. `etag_conditional_requests`
19
+ 6. `cdn_edge_caching`
20
+ 7. `idempotency_keys`
21
+
22
+ For every axis, classify coverage as:
23
+
24
+ - `covered`: the material explicitly states the API behavior, header, status
25
+ code, quota, cache policy, invalidation behavior, or retry-safe mutation
26
+ mechanism and gives enough detail to verify it.
27
+ - `implicit`: the material refers to a shared API platform standard that is
28
+ available in the same source set and clearly covers the axis.
29
+ - `gap`: the material omits API platform behavior needed to judge abuse
30
+ prevention, client retry behavior, cache correctness, or duplicate side-effect
31
+ prevention.
32
+
33
+ Emit findings only for `gap` axes. Populate `details.dimension` with the axis
34
+ identifier from `lexicon.yaml`, include `details.evidence`, and ask a
35
+ reviewer-facing question when the missing API behavior requires human
36
+ confirmation. Severity follows `severity_rules.yaml`.
37
+
38
+ ## Coverage-check examples
39
+
40
+ ### covered
41
+
42
+ Requirement: "Public API requests are limited per authenticated user and tenant.
43
+ Quota exhaustion returns 429 with Retry-After. Read endpoints define
44
+ Cache-Control, ETag, and If-None-Match behavior, CDN cache invalidation occurs on
45
+ publish, and mutation POST requests require Idempotency-Key."
46
+
47
+ Classification: `covered` for all axes because rate limits, quota response,
48
+ caching, conditional validation, edge invalidation, and retry-safe mutation
49
+ behavior are explicit.
50
+
51
+ ### implicit
52
+
53
+ Requirement: "The billing API follows the attached `api-platform-standard-v5`,
54
+ which defines quotas, cache headers, edge cache purge, and idempotency keys."
55
+
56
+ Classification: `implicit` for `quota_management`, `cache_control_headers`,
57
+ `cdn_edge_caching`, and `idempotency_keys` when the referenced standard is
58
+ available in the same source set.
59
+
60
+ ### gap
61
+
62
+ Requirement: "The endpoint is public and clients may retry failed payment
63
+ requests."
64
+
65
+ Classification: `gap` for `rate_limit_strategy`, `throttling_response`, and
66
+ `idempotency_keys` because the material does not define abuse controls,
67
+ throttling response, or duplicate mutation protection.
68
+
69
+ Do not invent axes outside `lexicon.yaml`. Findings outside this lexicon should
70
+ set `severity: info` and `details.note: "outside_lexicon_scope"`.
@@ -0,0 +1,121 @@
1
+ coverage_axes:
2
+ - axis_type: "rate_limit_strategy"
3
+ rationale: "Public APIs need a rate limit strategy that states the subject, window, scope, and enforcement model."
4
+ criticality_default: high
5
+ variants:
6
+ - id: "rate limit"
7
+ label: "Rate limit"
8
+ attributes: {source: "RFC 6585", coverage_target: "request rate control"}
9
+ criticality: high
10
+ - id: "per-user"
11
+ label: "Per-user limit"
12
+ attributes: {source: "API platform practice", coverage_target: "authenticated caller scope"}
13
+ criticality: high
14
+ - id: "per-IP"
15
+ label: "Per-IP limit"
16
+ attributes: {source: "API platform practice", coverage_target: "network caller scope"}
17
+ criticality: medium
18
+ - id: "per-tenant"
19
+ label: "Per-tenant limit"
20
+ attributes: {source: "API platform practice", coverage_target: "customer isolation"}
21
+ criticality: high
22
+ - axis_type: "quota_management"
23
+ rationale: "API products need quota limits and overage policy so consumers know daily, monthly, or plan-based usage boundaries."
24
+ criticality_default: medium
25
+ variants:
26
+ - id: "quota"
27
+ label: "Usage quota"
28
+ attributes: {source: "API platform practice", coverage_target: "consumption limit"}
29
+ criticality: medium
30
+ - id: "daily limit"
31
+ label: "Daily quota"
32
+ attributes: {source: "API platform practice", coverage_target: "daily consumption window"}
33
+ criticality: medium
34
+ - id: "monthly limit"
35
+ label: "Monthly quota"
36
+ attributes: {source: "API platform practice", coverage_target: "billing-period consumption window"}
37
+ criticality: medium
38
+ - id: "overage policy"
39
+ label: "Overage policy"
40
+ attributes: {source: "API platform practice", coverage_target: "behavior after quota exhaustion"}
41
+ criticality: medium
42
+ - axis_type: "throttling_response"
43
+ rationale: "RFC 6585 defines 429 Too Many Requests for rate limiting, and retry guidance helps clients recover predictably."
44
+ criticality_default: medium
45
+ variants:
46
+ - id: "429"
47
+ label: "429 Too Many Requests"
48
+ attributes: {source: "RFC 6585", source_literal: "429 Too Many Requests"}
49
+ criticality: medium
50
+ - id: "Retry-After"
51
+ label: "Retry-After"
52
+ attributes: {source: "RFC 6585", coverage_target: "client retry delay"}
53
+ criticality: medium
54
+ - id: "Too Many Requests"
55
+ label: "Too Many Requests response"
56
+ attributes: {source: "RFC 6585", coverage_target: "throttling status"}
57
+ criticality: medium
58
+ - axis_type: "cache_control_headers"
59
+ rationale: "HTTP caching relies on explicit Cache-Control directives for freshness, privacy, and revalidation behavior."
60
+ criticality_default: medium
61
+ variants:
62
+ - id: "Cache-Control"
63
+ label: "Cache-Control header"
64
+ attributes: {source: "RFC 7234", source_literal: "Cache-Control"}
65
+ criticality: medium
66
+ - id: "max-age"
67
+ label: "max-age directive"
68
+ attributes: {source: "RFC 7234", coverage_target: "freshness lifetime"}
69
+ criticality: medium
70
+ - id: "no-store"
71
+ label: "no-store directive"
72
+ attributes: {source: "RFC 7234", coverage_target: "sensitive response storage"}
73
+ criticality: high
74
+ - axis_type: "etag_conditional_requests"
75
+ rationale: "ETags and conditional requests let clients validate cached representations and reduce unnecessary transfers."
76
+ criticality_default: medium
77
+ variants:
78
+ - id: "ETag"
79
+ label: "ETag"
80
+ attributes: {source: "RFC 7232 / RFC 9110", coverage_target: "entity validator"}
81
+ criticality: medium
82
+ - id: "If-None-Match"
83
+ label: "If-None-Match"
84
+ attributes: {source: "RFC 7232 / RFC 9110", coverage_target: "conditional validation"}
85
+ criticality: medium
86
+ - id: "304 Not Modified"
87
+ label: "304 Not Modified"
88
+ attributes: {source: "HTTP semantics", coverage_target: "not-modified response"}
89
+ criticality: medium
90
+ - axis_type: "cdn_edge_caching"
91
+ rationale: "Edge caching needs declared cacheability, surrogate behavior, and invalidation so API freshness and distribution are governed."
92
+ criticality_default: medium
93
+ variants:
94
+ - id: "CDN"
95
+ label: "CDN caching"
96
+ attributes: {source: "HTTP caching practice", coverage_target: "edge cache layer"}
97
+ criticality: medium
98
+ - id: "cache invalidation"
99
+ label: "Cache invalidation"
100
+ attributes: {source: "HTTP caching practice", coverage_target: "stale edge object removal"}
101
+ criticality: medium
102
+ - id: "surrogate control"
103
+ label: "Surrogate cache control"
104
+ attributes: {source: "HTTP caching practice", coverage_target: "shared cache policy"}
105
+ criticality: medium
106
+ - axis_type: "idempotency_keys"
107
+ rationale: "Idempotency keys prevent duplicate side effects when clients retry payment, order, or mutation requests."
108
+ criticality_default: high
109
+ variants:
110
+ - id: "Idempotency-Key"
111
+ label: "Idempotency key"
112
+ attributes: {source: "API reliability practice", coverage_target: "retry-safe mutation identifier"}
113
+ criticality: high
114
+ - id: "idempotency"
115
+ label: "Idempotency contract"
116
+ attributes: {source: "HTTP semantics", coverage_target: "safe retry behavior"}
117
+ criticality: high
118
+ - id: "duplicate request"
119
+ label: "Duplicate request protection"
120
+ attributes: {source: "API reliability practice", coverage_target: "side-effect de-duplication"}
121
+ criticality: high
@@ -0,0 +1,24 @@
1
+ name: api_rate_limiting_caching
2
+ lexicon_name: api_rate_limiting_caching
3
+ version: "1.0.0"
4
+ source_url: "https://www.rfc-editor.org/rfc/rfc6585"
5
+ source_version: "RFC 6585 / RFC 7234 / IETF"
6
+ standard: "RFC 6585 / RFC 7234 / IETF"
7
+ domain: cross_industry
8
+ description: "API rate limiting, quota management, throttling response, idempotency, and HTTP caching coverage axes."
9
+ observation_dimensions: 7
10
+ extends: "codd/elicit/templates/elicit_prompt_L0.md"
11
+ prompt_extension: "elicit_extend.md"
12
+ recommended_kinds: "recommended_kinds.yaml"
13
+ lexicon: "lexicon.yaml"
14
+ severity_rules: "severity_rules.yaml"
15
+ coverage_matrix: "coverage_matrix.md"
16
+ references:
17
+ - title: "RFC 6585 - Additional HTTP Status Codes"
18
+ url: "https://www.rfc-editor.org/rfc/rfc6585"
19
+ - title: "RFC 7234 - HTTP/1.1 Caching"
20
+ url: "https://www.rfc-editor.org/rfc/rfc7234"
21
+ - title: "RFC 9111 - HTTP Caching"
22
+ url: "https://www.rfc-editor.org/rfc/rfc9111"
23
+ - title: "RFC 9110 - HTTP Semantics"
24
+ url: "https://www.rfc-editor.org/rfc/rfc9110"
@@ -0,0 +1,8 @@
1
+ recommended_kinds:
2
+ - rate_limit_strategy_gap
3
+ - quota_management_gap
4
+ - throttling_response_gap
5
+ - cache_control_headers_gap
6
+ - etag_conditional_requests_gap
7
+ - cdn_edge_caching_gap
8
+ - idempotency_keys_gap
@@ -0,0 +1,32 @@
1
+ defaults:
2
+ coverage_gap: high
3
+ implicit: medium
4
+ covered: info
5
+ rules:
6
+ - when: "axis=rate_limit_strategy AND coverage=gap"
7
+ severity: high
8
+ rationale: "Missing rate limit strategy can leave a public API vulnerable to abuse, noisy neighbors, or denial of service."
9
+ - when: "axis=quota_management AND coverage=gap"
10
+ severity: medium
11
+ rationale: "Missing quota management leaves consumers without clear usage boundaries or overage behavior."
12
+ - when: "axis=throttling_response AND coverage=gap"
13
+ severity: medium
14
+ rationale: "Missing 429 and Retry-After behavior leaves clients without a predictable throttling response."
15
+ - when: "axis=cache_control_headers AND coverage=gap"
16
+ severity: medium
17
+ rationale: "Missing Cache-Control coverage can create stale, over-shared, or under-cached API responses."
18
+ - when: "axis=etag_conditional_requests AND coverage=gap"
19
+ severity: medium
20
+ rationale: "Missing ETag or conditional request coverage can increase load and make cache validation ambiguous."
21
+ - when: "axis=cdn_edge_caching AND coverage=gap"
22
+ severity: medium
23
+ rationale: "Missing edge cache and invalidation coverage leaves distributed cache freshness and purge behavior unclear."
24
+ - when: "axis=idempotency_keys AND coverage=gap"
25
+ severity: high
26
+ rationale: "Missing idempotency keys can duplicate side effects for payment, order, or mutation retries."
27
+ - when: "coverage=implicit AND evidence=weak"
28
+ severity: medium
29
+ rationale: "Weak implicit API platform coverage needs reviewer confirmation before it can satisfy rate limit or cache axes."
30
+ - when: "coverage=covered AND finding=residual_observation"
31
+ severity: info
32
+ rationale: "Covered axes may still emit informational review notes outside release-blocking API platform gaps."
@@ -0,0 +1,19 @@
1
+ # Domain-Driven Design Coverage Matrix
2
+
3
+ Source: Eric Evans, Domain-Driven Design, and Vaughn Vernon, Implementing
4
+ Domain-Driven Design.
5
+
6
+ | Axis | Covered when | Implicit when | Gap or not_found when |
7
+ | --- | --- | --- | --- |
8
+ | `ubiquitous_language` | Shared domain terms, definitions, and naming expectations are stated. | The feature is purely technical and has no business vocabulary. | Business terms appear but their meaning or code/model usage is unstated. |
9
+ | `bounded_context` | Model boundaries, ownership, and language scope are explicit. | The change stays inside one already named context. | Multiple meanings, teams, products, or subdomains are involved without a boundary. |
10
+ | `aggregate_design` | Aggregate root, invariant boundary, and transaction scope are stated. | The feature has no mutable domain consistency rule. | State changes can break business invariants but no aggregate boundary exists. |
11
+ | `entity_value_object` | Identity-bearing entities and value-equality objects are distinguished. | The feature has no persistent domain objects or value semantics. | Objects have lifecycle, equality, or mutation rules but no semantic distinction. |
12
+ | `domain_events` | Significant state changes and event publication/handling behavior are stated. | No other process or model needs to react to state changes. | A business occurrence matters outside the command but event behavior is absent. |
13
+ | `repository_pattern` | Aggregate loading/saving abstraction and persistence boundaries are stated. | Persistence is entirely outside the feature or already covered by an existing repository. | Use cases need aggregate persistence but storage access boundaries are unclear. |
14
+ | `application_service` | Use case orchestration, transaction, authorization, and coordination boundaries are stated. | The feature is a simple domain operation already covered by an existing service. | Workflow coordination exists but its boundary is mixed with domain rules or UI code. |
15
+ | `context_mapping` | Upstream/downstream, ACL, shared kernel, or other context relationships are stated. | No other bounded context or external model participates. | Multiple models integrate but relationship and dependency direction are unstated. |
16
+ | `anti_corruption_layer` | Translation and isolation from legacy, vendor, or external models are stated. | No legacy or external model enters the domain model. | External concepts cross into the core model without a protective translation boundary. |
17
+
18
+ Reviewers classify each axis as `covered`, `implicit`, `gap`, or `not_found`.
19
+ Findings are emitted for `gap` and `not_found`.
@@ -0,0 +1,54 @@
1
+ ---
2
+ extends: codd/elicit/templates/elicit_prompt_L0.md
3
+ lexicon_name: ddd_domain_driven_design
4
+ observation_dimensions: 9
5
+ ---
6
+
7
+ # Domain-Driven Design Coverage Lexicon
8
+
9
+ Apply the base elicitation prompt, then inspect medium-to-large business
10
+ application requirements through these DDD strategic and tactical axes:
11
+
12
+ 1. `ubiquitous_language`
13
+ 2. `bounded_context`
14
+ 3. `aggregate_design`
15
+ 4. `entity_value_object`
16
+ 5. `domain_events`
17
+ 6. `repository_pattern`
18
+ 7. `application_service`
19
+ 8. `context_mapping`
20
+ 9. `anti_corruption_layer`
21
+
22
+ For each axis, classify coverage as:
23
+
24
+ - `covered`: requirements explicitly state the relevant DDD modeling decision or
25
+ pattern boundary.
26
+ - `implicit`: the axis is not independently relevant because the described
27
+ feature is too small, CRUD-only, or fully delegated to an existing model.
28
+ - `gap`: the axis can affect correctness or maintainability and no expectation
29
+ is specified.
30
+ - `not_found`: no evidence for the axis exists in the reviewed material when
31
+ downstream scoring needs a missing-modeling status distinct from `gap`.
32
+
33
+ Emit findings only for `gap` or `not_found` axes. Include the axis in
34
+ `details.dimension`, the evidence or omission signal in `details.evidence`, and
35
+ a reviewer-facing question in `question`.
36
+
37
+ ## Coverage-check examples
38
+
39
+ - `covered`: The requirement defines Order and Invoice as separate bounded
40
+ contexts, names their upstream/downstream relationship, and states that Order
41
+ is modified only through an Order aggregate root; classify `bounded_context`,
42
+ `context_mapping`, and `aggregate_design` as `covered`.
43
+ - `implicit`: A static admin lookup table has no domain behavior beyond simple
44
+ CRUD and inherits an existing model; classify `domain_events` and
45
+ `anti_corruption_layer` as `implicit`.
46
+ - `gap`: A payment workflow changes customer status, invoice state, and rewards
47
+ balance in one operation but no aggregate or invariant boundary is defined;
48
+ classify `aggregate_design` as `gap`.
49
+ - `not_found`: A specification for a multi-team business application contains no
50
+ shared vocabulary, bounded context, aggregate, or context map evidence; emit
51
+ `not_found` findings for the applicable DDD axes.
52
+
53
+ Use recommended kinds as guidance. Do not invent additional DDD axes outside
54
+ the nine listed above.
@@ -0,0 +1,121 @@
1
+ coverage_axes:
2
+ - axis_type: ubiquitous_language
3
+ rationale: "DDD uses a shared language between domain experts and delivery teams to keep the model, code, and conversations aligned."
4
+ criticality_default: medium
5
+ variants:
6
+ - id: "ubiquitous language"
7
+ label: "Shared domain vocabulary"
8
+ attributes: {source_literal: "ubiquitous language", coverage_target: "terms used consistently in model, code, and discussion"}
9
+ criticality: medium
10
+ - id: "domain expert language"
11
+ label: "Domain expert language"
12
+ attributes: {source_literal: "domain expert", coverage_target: "business terminology and definitions"}
13
+ criticality: medium
14
+ - axis_type: bounded_context
15
+ rationale: "DDD strategic design uses bounded contexts to make model boundaries explicit and prevent one model from being stretched across incompatible meanings."
16
+ criticality_default: high
17
+ variants:
18
+ - id: "bounded context"
19
+ label: "Explicit model boundary"
20
+ attributes: {source_literal: "bounded context", coverage_target: "scope of a domain model and language"}
21
+ criticality: high
22
+ - id: "context boundary"
23
+ label: "Context boundary"
24
+ attributes: {source_literal: "context boundary", coverage_target: "ownership and integration edge"}
25
+ criticality: high
26
+ - axis_type: aggregate_design
27
+ rationale: "DDD tactical design uses aggregates and aggregate roots to enforce invariants and transaction boundaries."
28
+ criticality_default: high
29
+ variants:
30
+ - id: "aggregate root"
31
+ label: "Aggregate root"
32
+ attributes: {source_literal: "aggregate root", coverage_target: "entry point for consistency boundary"}
33
+ criticality: high
34
+ - id: "invariant boundary"
35
+ label: "Invariant boundary"
36
+ attributes: {source_literal: "invariant", coverage_target: "rules protected inside the aggregate"}
37
+ criticality: high
38
+ - id: "transaction boundary"
39
+ label: "Transaction boundary"
40
+ attributes: {source_literal: "transaction boundary", coverage_target: "consistency and concurrency scope"}
41
+ criticality: high
42
+ - axis_type: entity_value_object
43
+ rationale: "DDD distinguishes entities with identity from value objects with equality-by-value to clarify lifecycle, mutation, and comparison semantics."
44
+ criticality_default: high
45
+ variants:
46
+ - id: "entity"
47
+ label: "Entity identity"
48
+ attributes: {source_literal: "entity", coverage_target: "identity and lifecycle"}
49
+ criticality: high
50
+ - id: "value object"
51
+ label: "Value object equality"
52
+ attributes: {source_literal: "value object", coverage_target: "immutable descriptive value"}
53
+ criticality: high
54
+ - id: "identity"
55
+ label: "Identity semantics"
56
+ attributes: {source_literal: "identity", coverage_target: "stable object identity across state changes"}
57
+ criticality: high
58
+ - axis_type: domain_events
59
+ rationale: "DDD domain events represent significant state changes and decouple follow-up behavior from the command that caused the change."
60
+ criticality_default: medium
61
+ variants:
62
+ - id: "domain event"
63
+ label: "Domain event"
64
+ attributes: {source_literal: "domain event", coverage_target: "significant business occurrence"}
65
+ criticality: medium
66
+ - id: "event publication"
67
+ label: "Event publication"
68
+ attributes: {source_literal: "event publication", coverage_target: "notification and downstream reaction"}
69
+ criticality: medium
70
+ - axis_type: repository_pattern
71
+ rationale: "DDD repositories provide collection-like persistence access for aggregate roots without exposing storage details to the domain model."
72
+ criticality_default: medium
73
+ variants:
74
+ - id: "repository"
75
+ label: "Repository abstraction"
76
+ attributes: {source_literal: "repository", coverage_target: "aggregate persistence abstraction"}
77
+ criticality: medium
78
+ - id: "aggregate persistence"
79
+ label: "Aggregate persistence"
80
+ attributes: {source_literal: "aggregate persistence", coverage_target: "load and save aggregate roots"}
81
+ criticality: medium
82
+ - axis_type: application_service
83
+ rationale: "DDD application services orchestrate use cases, transactions, authorization, and coordination while keeping domain rules in the model."
84
+ criticality_default: medium
85
+ variants:
86
+ - id: "application service"
87
+ label: "Use case orchestration"
88
+ attributes: {source_literal: "application service", coverage_target: "workflow coordination around domain model"}
89
+ criticality: medium
90
+ - id: "use case"
91
+ label: "Use case boundary"
92
+ attributes: {source_literal: "use case", coverage_target: "input, transaction, and response boundary"}
93
+ criticality: medium
94
+ - axis_type: context_mapping
95
+ rationale: "DDD context mapping records upstream/downstream relationships and integration patterns between bounded contexts."
96
+ criticality_default: high
97
+ variants:
98
+ - id: "context map"
99
+ label: "Context map"
100
+ attributes: {source_literal: "context map", coverage_target: "relationships between bounded contexts"}
101
+ criticality: high
102
+ - id: "upstream downstream"
103
+ label: "Upstream/downstream relationship"
104
+ attributes: {source_literal: "upstream/downstream", coverage_target: "dependency direction and influence"}
105
+ criticality: high
106
+ - id: "shared kernel"
107
+ label: "Shared kernel"
108
+ attributes: {source_literal: "shared kernel", coverage_target: "jointly owned model subset"}
109
+ criticality: medium
110
+ - axis_type: anti_corruption_layer
111
+ rationale: "DDD uses an anti-corruption layer to isolate a domain model from legacy, external, or differently modeled systems."
112
+ criticality_default: high
113
+ variants:
114
+ - id: "anti-corruption layer"
115
+ label: "Anti-corruption layer"
116
+ attributes: {source_literal: "anti-corruption layer", coverage_target: "translation and isolation boundary"}
117
+ criticality: high
118
+ - id: "legacy isolation"
119
+ label: "Legacy or external model isolation"
120
+ attributes: {source_literal: "legacy system", coverage_target: "protecting the domain model from external concepts"}
121
+ criticality: high
@@ -0,0 +1,23 @@
1
+ id: ddd_domain_driven_design
2
+ name: "Domain-Driven Design (DDD)"
3
+ lexicon_name: ddd_domain_driven_design
4
+ version: "1.0.0"
5
+ standard: "Evans 2003 / Vernon 2013"
6
+ domain: cross_industry
7
+ source_url: "https://www.domainlanguage.com/ddd/"
8
+ source_version: "Eric Evans Domain-Driven Design 2003 + Vaughn Vernon Implementing Domain-Driven Design 2013"
9
+ description: "Domain-Driven Design tactical and strategic patterns coverage"
10
+ observation_dimensions: 9
11
+ extends: "codd/elicit/templates/elicit_prompt_L0.md"
12
+ prompt_extension: "elicit_extend.md"
13
+ recommended_kinds: "recommended_kinds.yaml"
14
+ lexicon: "lexicon.yaml"
15
+ severity_rules: "severity_rules.yaml"
16
+ coverage_matrix: "coverage_matrix.md"
17
+ references:
18
+ - title: "Domain-Driven Design: Tackling Complexity in the Heart of Software"
19
+ url: "https://www.domainlanguage.com/ddd/"
20
+ source_version: "Evans 2003"
21
+ - title: "Implementing Domain-Driven Design"
22
+ url: "https://www.pearson.com/en-us/subject-catalog/p/implementing-domain-driven-design/P200000009616/9780321834577"
23
+ source_version: "Vernon 2013"
@@ -0,0 +1,10 @@
1
+ recommended_kinds:
2
+ - ddd_ubiquitous_language_gap
3
+ - ddd_bounded_context_gap
4
+ - ddd_aggregate_design_gap
5
+ - ddd_entity_value_object_gap
6
+ - ddd_domain_events_gap
7
+ - ddd_repository_pattern_gap
8
+ - ddd_application_service_gap
9
+ - ddd_context_mapping_gap
10
+ - ddd_anti_corruption_layer_gap
@@ -0,0 +1,45 @@
1
+ defaults:
2
+ coverage_gap: medium
3
+ not_found: medium
4
+ implicit: info
5
+ covered: info
6
+ rules:
7
+ - when: "axis=bounded_context AND coverage=not_found"
8
+ severity: high
9
+ rationale: "Missing bounded contexts can create model confusion across teams, features, and integrations."
10
+ - when: "axis=ubiquitous_language AND coverage=not_found"
11
+ severity: medium
12
+ rationale: "Missing shared language increases ambiguity between business intent, model names, and code."
13
+ - when: "axis=aggregate_design AND coverage=not_found"
14
+ severity: high
15
+ rationale: "Missing aggregate design can leave invariants and transaction boundaries unenforced."
16
+ - when: "axis=ubiquitous_language AND coverage=gap"
17
+ severity: medium
18
+ rationale: "Shared vocabulary gaps make requirements harder to validate with domain experts."
19
+ - when: "axis=bounded_context AND coverage=gap"
20
+ severity: high
21
+ rationale: "Bounded context gaps can stretch one model across incompatible meanings."
22
+ - when: "axis=aggregate_design AND coverage=gap"
23
+ severity: high
24
+ rationale: "Aggregate gaps can permit invariant violations and oversized transactions."
25
+ - when: "axis=entity_value_object AND coverage=gap"
26
+ severity: high
27
+ rationale: "Entity/value object gaps obscure identity, equality, mutation, and lifecycle semantics."
28
+ - when: "axis=domain_events AND coverage=gap"
29
+ severity: medium
30
+ rationale: "Domain event gaps can hide important state changes and downstream reactions."
31
+ - when: "axis=repository_pattern AND coverage=gap"
32
+ severity: medium
33
+ rationale: "Repository gaps can leak persistence details into the domain model or use cases."
34
+ - when: "axis=application_service AND coverage=gap"
35
+ severity: medium
36
+ rationale: "Application service gaps can mix orchestration, transactions, and domain rules ambiguously."
37
+ - when: "axis=context_mapping AND coverage=gap"
38
+ severity: high
39
+ rationale: "Context mapping gaps can hide ownership, dependency direction, and integration contracts."
40
+ - when: "axis=anti_corruption_layer AND coverage=gap"
41
+ severity: high
42
+ rationale: "Anti-corruption layer gaps can let external or legacy models contaminate the core model."
43
+ - when: "coverage=implicit AND evidence=weak"
44
+ severity: medium
45
+ rationale: "Weak implicit coverage should be reviewed before accepting a DDD axis as not applicable."
@@ -0,0 +1,17 @@
1
+ # DORA Metrics and SRE Principles Coverage Matrix
2
+
3
+ Source: DORA Accelerate research and the Google SRE Book.
4
+
5
+ | Axis | Coverage target | Covered when | Gap signal |
6
+ | --- | --- | --- | --- |
7
+ | `deployment_frequency` | Production deployment cadence | The material defines how often changes are released or deployed. | Release cadence is absent or only described informally. |
8
+ | `lead_time_for_changes` | Change delivery latency | Commit-to-production or change-to-production elapsed time is measured. | Delivery latency cannot be measured from the stated process. |
9
+ | `change_failure_rate` | Deployment-caused failures | Failed deployments, rollback, incident, or hotfix percentage is tracked. | Release stability is not measured after deployment. |
10
+ | `mean_time_to_restore` | Incident recovery time | Restore time after user-visible failure is measured and owned. | Recovery speed is not defined or is only ad hoc. |
11
+ | `slo_sli_definition` | User-visible reliability contract | SLIs and SLOs state what is measured and which target applies. | Reliability is asserted without measurable service-level targets. |
12
+ | `error_budget_policy` | Reliability risk governance | Error budget tracking, burn-rate alerting, or release policy is declared. | Reliability targets do not affect alerting or release decisions. |
13
+ | `toil_reduction` | Repetitive operations work | Manual repetitive work is identified and has an automation or reduction path. | Manual operations can grow without review or engineering follow-up. |
14
+ | `incident_management` | Response and learning process | On-call, runbook, escalation, restoration, and postmortem behavior is explicit. | Incidents rely on unnamed or informal response behavior. |
15
+
16
+ Reviewers classify each axis as `covered`, `implicit`, or `gap`. Findings are
17
+ emitted only for `gap`.