codd-dev 2.3.0__tar.gz → 2.4.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.
- {codd_dev-2.3.0 → codd_dev-2.4.0}/PKG-INFO +1 -1
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/builder.py +14 -1
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/extractor.py +103 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/stack_map.yaml +18 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/pyproject.toml +1 -1
- {codd_dev-2.3.0 → codd_dev-2.4.0}/.gitignore +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/LICENSE +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/README.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/__main__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/_git_helper.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/ask_user_question_adapter.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/assembler.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/bridge.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/brownfield/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/brownfield/pipeline.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/cli.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/clustering.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/coherence_adapters.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/coherence_engine.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/config.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/contracts.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/coverage_auditor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/coverage_metrics.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/depends_on_consistency.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/deployment_completeness.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/edge_validity.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/environment_coverage.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/implementation_coverage.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/node_completeness.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/task_completion.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/transitive_closure.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/checks/user_journey_coherence.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/coverage_axes.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/cli.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/csharp.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/elixir.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/generic.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/iot.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/java.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/kotlin.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/mobile.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/ruby.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/rust.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/scala.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/swift.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/defaults/web.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/extractor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/dag/runner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/defaults.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deploy_targets/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deploy_targets/app_service.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deploy_targets/base.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deploy_targets/docker_compose.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployer.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/checks/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/ai_command.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/llm_consideration.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/schema/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/schema/prisma.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/target/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/target/docker_compose.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/curl.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/playwright.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/design_md.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/diff/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/diff/apply.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/diff/engine.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/diff/persistence.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/diff/templates/diff_prompt.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/drift.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/e2e_extractor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/e2e_generator.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/e2e_runner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/apply.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/engine.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/finding.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/formatters/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/formatters/base.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/formatters/interactive.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/formatters/json_fmt.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/formatters/md.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/lexicon_loader.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/persistence.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/env_refs.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/extract_ai.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/extractor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/fixer.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/fixup_drift.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/fixup_drift_strategies/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/generator.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/graph.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hitl_session.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hooks/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hooks/pre-commit +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hooks/recipes/codex_hook.sh +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/implementer/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/implementer/chunked_runner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/implementer/typecheck_loop.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/implementer.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/inheritance.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/init/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/init/lexicon_suggest.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/init/stack_detector.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/knowledge_fetcher.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/formatters/html.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/formatters/md.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/inspector.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/manager.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/reporter.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/lexicon_cli/threshold.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/approval.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/best_practice_augmenter.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/criteria_expander.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/design_doc_extractor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/impl_step_deriver.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/means_catalog_loader.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/parser.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/plan_deriver.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/prompt_builder.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/strategy_validator.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/meta_instruction.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/plan_derive_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/mcp_server.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/measure.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/parsing.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/planner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/policy.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/preflight/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/preflight/defaults/cli.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/preflight/defaults/iot.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/preflight/defaults/mobile.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/preflight/defaults/web.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/propagate.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/propagator.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/registry.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/approval_repair.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/engine.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/git_patcher.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/history.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/llm_repair_engine.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/loop.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/primary_picker.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/proof_breaks.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/repair_result.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/repairability_classifier.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/schema.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/templates/analyze_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/templates/propose_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/templates/repairability_meta.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair/verify_runner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/repair_slice.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/require.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/require_plugins.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/require_propagate.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/required_artifacts/defaults/web.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/required_artifacts_deriver.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/requirement_completeness_auditor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/restore.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/routes_extractor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/scanner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/schema_refs.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/screen_flow_validator.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/screen_transition_extractor.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/screen_transitions/defaults.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/synth.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/codd.yaml.tmpl +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/conventions.yaml.tmpl +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/doc_links.yaml.tmpl +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/extracted/system-context.md.j2 +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/gitignore.tmpl +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/lexicon_questions.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/lexicon_schema.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/templates/overrides.yaml.tmpl +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/traceability.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/validator.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/watch/__init__.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/watch/events.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/watch/propagation_log.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/watch/propagation_pipeline.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/watch/test_runner.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/watch/watcher.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd/wiring.py +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/docs/cookbook/cdp_browser/README.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.0}/docs/requirements/README.md +0 -0
- {codd_dev-2.3.0 → codd_dev-2.4.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.
|
|
3
|
+
Version: 2.4.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
|
|
@@ -610,9 +610,13 @@ def _add_deployment_graph(
|
|
|
610
610
|
)
|
|
611
611
|
verification_tests = extract_verification_tests(project_root, project_config, design_docs)
|
|
612
612
|
|
|
613
|
-
from codd.deployment.extractor import
|
|
613
|
+
from codd.deployment.extractor import (
|
|
614
|
+
auto_runtime_states_for_impl,
|
|
615
|
+
discover_deployment_impl_candidates,
|
|
616
|
+
)
|
|
614
617
|
|
|
615
618
|
capability_patterns = _capability_patterns(project_config)
|
|
619
|
+
auto_impl_paths: list[Path] = []
|
|
616
620
|
for impl_path in discover_deployment_impl_candidates(project_root, deployment_docs):
|
|
617
621
|
rel_id = impl_path.relative_to(project_root).as_posix()
|
|
618
622
|
if rel_id in dag.nodes:
|
|
@@ -632,6 +636,15 @@ def _add_deployment_graph(
|
|
|
632
636
|
),
|
|
633
637
|
)
|
|
634
638
|
impl_nodes[rel_id] = impl_path.resolve()
|
|
639
|
+
auto_impl_paths.append(impl_path)
|
|
640
|
+
|
|
641
|
+
if auto_impl_paths:
|
|
642
|
+
existing_state_ids = {state.identifier for state in runtime_states}
|
|
643
|
+
for runtime_state in auto_runtime_states_for_impl(auto_impl_paths, project_root):
|
|
644
|
+
if runtime_state.identifier in existing_state_ids:
|
|
645
|
+
continue
|
|
646
|
+
runtime_states.append(runtime_state)
|
|
647
|
+
existing_state_ids.add(runtime_state.identifier)
|
|
635
648
|
|
|
636
649
|
for deployment_doc in deployment_docs:
|
|
637
650
|
_add_node_once(
|
|
@@ -192,6 +192,98 @@ def extract_verification_tests(
|
|
|
192
192
|
return [tests[key] for key in sorted(tests)]
|
|
193
193
|
|
|
194
194
|
|
|
195
|
+
_DEPLOYMENT_BINDINGS_CACHE: list[dict[str, Any]] | None = None
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
def load_deployment_bindings() -> list[dict[str, Any]]:
|
|
199
|
+
"""Load impl_pattern → runtime_state bindings from codd_plugins/stack_map.yaml.
|
|
200
|
+
|
|
201
|
+
Returns a list of dicts with normalized keys (compiled `impl_re`,
|
|
202
|
+
`runtime_state_kind`, `runtime_state_target`). The mapping itself lives
|
|
203
|
+
in the plug-in YAML so CoDD core stays free of stack-specific filenames.
|
|
204
|
+
"""
|
|
205
|
+
global _DEPLOYMENT_BINDINGS_CACHE
|
|
206
|
+
if _DEPLOYMENT_BINDINGS_CACHE is not None:
|
|
207
|
+
return _DEPLOYMENT_BINDINGS_CACHE
|
|
208
|
+
|
|
209
|
+
candidates = [
|
|
210
|
+
Path(__file__).resolve().parents[2] / "codd_plugins" / "stack_map.yaml",
|
|
211
|
+
Path.cwd() / "codd_plugins" / "stack_map.yaml",
|
|
212
|
+
]
|
|
213
|
+
payload: dict[str, Any] | None = None
|
|
214
|
+
for candidate in candidates:
|
|
215
|
+
if candidate.is_file():
|
|
216
|
+
payload = yaml.safe_load(candidate.read_text(encoding="utf-8")) or {}
|
|
217
|
+
break
|
|
218
|
+
|
|
219
|
+
bindings: list[dict[str, Any]] = []
|
|
220
|
+
raw_bindings = (payload or {}).get("deployment_bindings", [])
|
|
221
|
+
if isinstance(raw_bindings, list):
|
|
222
|
+
for entry in raw_bindings:
|
|
223
|
+
if not isinstance(entry, dict):
|
|
224
|
+
continue
|
|
225
|
+
pattern = str(entry.get("impl_pattern", "")).strip()
|
|
226
|
+
kind_str = str(entry.get("runtime_state_kind", "")).strip()
|
|
227
|
+
target = str(entry.get("runtime_state_target", "")).strip()
|
|
228
|
+
if not pattern or not kind_str or not target:
|
|
229
|
+
continue
|
|
230
|
+
try:
|
|
231
|
+
kind = RuntimeStateKind(kind_str)
|
|
232
|
+
except ValueError:
|
|
233
|
+
continue
|
|
234
|
+
try:
|
|
235
|
+
impl_re = re.compile(pattern)
|
|
236
|
+
except re.error:
|
|
237
|
+
continue
|
|
238
|
+
bindings.append({
|
|
239
|
+
"impl_re": impl_re,
|
|
240
|
+
"runtime_state_kind": kind,
|
|
241
|
+
"runtime_state_target": target,
|
|
242
|
+
})
|
|
243
|
+
_DEPLOYMENT_BINDINGS_CACHE = bindings
|
|
244
|
+
return bindings
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
def reset_deployment_bindings_cache() -> None:
|
|
248
|
+
"""Clear the cached bindings (used by tests)."""
|
|
249
|
+
global _DEPLOYMENT_BINDINGS_CACHE
|
|
250
|
+
_DEPLOYMENT_BINDINGS_CACHE = None
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def auto_runtime_states_for_impl(impl_paths: list[Path], project_root: Path) -> list[RuntimeStateNode]:
|
|
254
|
+
"""Generate runtime_state nodes for auto-discovered impl artifacts.
|
|
255
|
+
|
|
256
|
+
For each impl path, the first matching deployment binding produces one
|
|
257
|
+
RuntimeStateNode keyed `runtime:<kind>:<target>`. Duplicates (same
|
|
258
|
+
identifier) are coalesced.
|
|
259
|
+
"""
|
|
260
|
+
bindings = load_deployment_bindings()
|
|
261
|
+
if not bindings:
|
|
262
|
+
return []
|
|
263
|
+
seen: dict[str, RuntimeStateNode] = {}
|
|
264
|
+
root = Path(project_root)
|
|
265
|
+
for path in impl_paths:
|
|
266
|
+
rel = path.relative_to(root).as_posix() if path.is_absolute() else str(path)
|
|
267
|
+
for binding in bindings:
|
|
268
|
+
if not binding["impl_re"].search(rel):
|
|
269
|
+
continue
|
|
270
|
+
target = binding["runtime_state_target"]
|
|
271
|
+
kind = binding["runtime_state_kind"]
|
|
272
|
+
identifier = f"runtime:{kind.value}:{target}"
|
|
273
|
+
if identifier in seen:
|
|
274
|
+
break
|
|
275
|
+
seen[identifier] = RuntimeStateNode(
|
|
276
|
+
identifier=identifier,
|
|
277
|
+
kind=kind,
|
|
278
|
+
target=target,
|
|
279
|
+
expected_value=None,
|
|
280
|
+
actual_check_command=None,
|
|
281
|
+
capabilities_provided=[],
|
|
282
|
+
)
|
|
283
|
+
break
|
|
284
|
+
return list(seen.values())
|
|
285
|
+
|
|
286
|
+
|
|
195
287
|
def discover_deployment_impl_candidates(
|
|
196
288
|
project_root: Path,
|
|
197
289
|
deployment_docs: list[DeploymentDocNode],
|
|
@@ -569,6 +661,10 @@ def _runtime_kind_for_impl(impl_id: str) -> RuntimeStateKind | None:
|
|
|
569
661
|
return RuntimeStateKind.DB_SEED
|
|
570
662
|
if name in {"main.ts", "main.js", "server.ts", "server.js", "app.ts", "app.js", "index.ts", "index.js"}:
|
|
571
663
|
return RuntimeStateKind.SERVER_RUNNING
|
|
664
|
+
|
|
665
|
+
for binding in load_deployment_bindings():
|
|
666
|
+
if binding["impl_re"].search(impl_id):
|
|
667
|
+
return binding["runtime_state_kind"]
|
|
572
668
|
return None
|
|
573
669
|
|
|
574
670
|
|
|
@@ -586,6 +682,13 @@ def _verification_matches_runtime(
|
|
|
586
682
|
return _mentions_any(target, ("schema", "migration", "migrate", "database", "db"))
|
|
587
683
|
if runtime_state.kind is RuntimeStateKind.SERVER_RUNNING:
|
|
588
684
|
return _mentions_any(target, ("health", "server", "start", "running", "home"))
|
|
685
|
+
if runtime_state.kind is RuntimeStateKind.FILE_PRESENT:
|
|
686
|
+
return _mentions_any(
|
|
687
|
+
target,
|
|
688
|
+
("build", "image", "container", "deploy", "compose", "smoke", "artifact"),
|
|
689
|
+
)
|
|
690
|
+
if runtime_state.kind is RuntimeStateKind.ENV_VAR_SET:
|
|
691
|
+
return _mentions_any(target, ("env", "config", "secret"))
|
|
589
692
|
return False
|
|
590
693
|
|
|
591
694
|
|
|
@@ -76,3 +76,21 @@ stack_map:
|
|
|
76
76
|
suggested_lexicons:
|
|
77
77
|
- babok
|
|
78
78
|
|
|
79
|
+
# Deployment artifact bindings — used by the deployment plug-in to wire
|
|
80
|
+
# auto-discovered impl_file nodes (cmd_448) to runtime_state nodes
|
|
81
|
+
# (cmd_450). Keys: impl_pattern (regex against impl_id), runtime_state_kind
|
|
82
|
+
# (one of RuntimeStateKind values), runtime_state_target (string label used
|
|
83
|
+
# to form `runtime:<kind>:<target>` and to match verification tests).
|
|
84
|
+
# Adding entries does not require core code changes; CoDD core loads this
|
|
85
|
+
# block as data.
|
|
86
|
+
deployment_bindings:
|
|
87
|
+
- impl_pattern: "(^|/)Dockerfile$|(^|/)Containerfile$"
|
|
88
|
+
runtime_state_kind: file_present
|
|
89
|
+
runtime_state_target: build_artifact
|
|
90
|
+
- impl_pattern: "(^|/)docker-compose(\\.production|\\.staging)?\\.ya?ml$|(^|/)compose\\.ya?ml$"
|
|
91
|
+
runtime_state_kind: file_present
|
|
92
|
+
runtime_state_target: container_compose
|
|
93
|
+
- impl_pattern: "(^|/)package\\.json$"
|
|
94
|
+
runtime_state_kind: file_present
|
|
95
|
+
runtime_state_target: build_artifact
|
|
96
|
+
|
|
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
|
|
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
|
{codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/defaults/runtime_capability_inference.yaml
RENAMED
|
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
|
{codd_dev-2.3.0 → codd_dev-2.4.0}/codd/deployment/providers/verification/assertion_handlers.py
RENAMED
|
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
|
|
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
|
|
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
|