codd-dev 2.55.0__tar.gz → 2.57.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.55.0 → codd_dev-2.57.0}/PKG-INFO +1 -1
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/__init__.py +1 -1
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/greenfield/pipeline.py +54 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/planner.py +79 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/vb_marker_authenticity.py +54 -7
- {codd_dev-2.55.0 → codd_dev-2.57.0}/pyproject.toml +1 -1
- {codd_dev-2.55.0 → codd_dev-2.57.0}/.gitignore +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/LICENSE +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/bench_fixture/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/__main__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/_git_helper.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/action_outcome.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/ai_invoke.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/ai_patch.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/artifact_contract.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/artifact_ids.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/artifacts/catalog.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/ask_user_question_adapter.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/assembler.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/bridge.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/brownfield/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/brownfield/pipeline.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/capability_completeness.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/claude_cli.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/cli.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/clustering.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/coherence_adapters.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/coherence_engine.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/confidence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/config.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/config_schema.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/contracts.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/contracts_registry/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/contracts_registry/__main__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/contracts_registry/certify.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/contracts_registry/generate_matrix.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/contracts_registry/registry.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/coverage_auditor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/coverage_execution_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/coverage_metrics.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/auto_repair.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/builder.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/artifact_contract_check.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/ci_health.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/dependency_freshness.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/depends_on_consistency.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/deployment_completeness.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/edge_validity.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/environment_coverage.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/implementation_coverage.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/node_completeness.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/opt_out.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/task_completion.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/transitive_closure.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/ui_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/checks/user_journey_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/coverage_axes.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/cli.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/csharp.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/elixir.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/generic.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/iot.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/java.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/kotlin.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/mobile.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/ruby.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/rust.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/scala.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/swift.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/defaults/web.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/impact.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dag/runner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/defaults.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/defaults.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/dependency_lock_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deploy_targets/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deploy_targets/app_service.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deploy_targets/base.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deploy_targets/docker_compose.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployer.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/checks/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/ai_command.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/ai_command_factory.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/codex_app_server.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/llm_consideration.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/schema/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/schema/prisma.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/target/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/target/docker_compose.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/curl.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/playwright.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/vitest.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/design_md.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/diff/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/diff/apply.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/diff/engine.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/diff/persistence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/diff/templates/diff_prompt.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/discovery.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/drift.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/e2e_contract_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/e2e_extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/e2e_generator.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/e2e_harness.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/e2e_runner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/apply.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/engine.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/finding.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/formatters/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/formatters/base.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/formatters/interactive.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/formatters/json_fmt.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/formatters/md.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/lexicon_loader.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/persistence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/env_refs.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/extract_ai.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/extract_paths.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/candidate_selector.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/design_updater.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/impl_propagation.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/interactive_prompt.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/phenomenon_fixer.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/phenomenon_parser.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/risk_classifier.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/templates/clarification_question.txt +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/templates/design_update.txt +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/templates/impl_update.txt +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/templates/risk_assessment.txt +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fix/templates_loader.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fixer.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fixup_drift.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fixup_drift_strategies/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/frontmatter.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/generator.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/git_evidence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/graph.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/greenfield/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hitl_session.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/pre-commit +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/recipes/codex_hook.sh +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/iac_nfr.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/implement_oracle.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/implement_oracle_scope.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/implementer/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/implementer/chunked_runner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/implementer/typecheck_loop.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/implementer.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/import_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/inheritance.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/init/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/init/lexicon_suggest.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/init/llm_lexicon_suggester.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/init/stack_detector.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/knowledge_fetcher.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/formatters/html.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/formatters/md.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/inspector.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/manager.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/reporter.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/lexicon_cli/threshold.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/approval.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/best_practice_augmenter.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/criteria_expander.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/design_doc_extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/impl_step_deriver.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/means_catalog_loader.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/parser.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/plan_deriver.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/prompt_builder.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/strategy_validator.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/meta_instruction.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/plan_derive_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/mcp_server.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/measure.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/operational_e2e_audit.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/operations_derive.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/_shared.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/api_specs.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/filesystem_routes.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/iac.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/python_ast.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/schemas.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/tests_builddeps.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/parsing/treesitter.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/policy.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/preflight/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/preflight/defaults/cli.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/preflight/defaults/generic.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/preflight/defaults/iot.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/preflight/defaults/mobile.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/preflight/defaults/web.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/project_types.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/propagate.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/propagation_common.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/propagator.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/reconciliation_ledger.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/reference_resolution.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/registry.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/approval_repair.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/auto_scope_guard.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/engine.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/git_patcher.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/history.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/llm_repair_engine.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/loop.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/primary_picker.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/proof_breaks.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/repair_result.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/repairability_classifier.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/schema.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/templates/analyze_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/templates/propose_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/templates/repairability_meta.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/test_failure_attribution.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair/verify_runner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/repair_slice.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/require.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/require_plugins.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/require_propagate.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/required_artifacts/defaults/web.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/required_artifacts_deriver.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_completeness_auditor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirement_reconciliation.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/requirements_meta.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/restoration_report.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/restore.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/routes_extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/runtime_smoke/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/runtime_smoke/checks.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/runtime_smoke/config.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/runtime_smoke/report.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/runtime_smoke/runner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/scanner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/schema_refs.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/screen_flow_validator.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/screen_transition_extractor.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/screen_transitions/defaults.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/skills_cli/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/skills_cli/discovery.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/skills_cli/manager.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/skills_cli/paths.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/surface_reconciliation.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/synth.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/codd.yaml.tmpl +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/conventions.yaml.tmpl +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/doc_links.yaml.tmpl +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/extracted/system-context.md.j2 +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/gitignore.tmpl +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/lexicon_questions.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/lexicon_schema.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/templates/overrides.yaml.tmpl +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/test_detection.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/test_import_coherence.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/traceability.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/validator.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/vb_rerun_scope.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/verifiable_behavior_audit.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/watch/__init__.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/watch/events.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/watch/propagation_log.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/watch/propagation_pipeline.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/watch/test_runner.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/watch/watcher.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd/wiring.py +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/codd_plugins/stack_map.yaml +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/docs/cookbook/cdp_browser/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/docs/requirements/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/dogfood/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/dogfood/fixtures/flat_py_app/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/examples/README.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-assemble/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-evolve/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-generate/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-greenfield/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-impact/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-init/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-propagate/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-restore/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-scan/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.0}/skills/codd-validate/SKILL.md +0 -0
- {codd_dev-2.55.0 → codd_dev-2.57.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.57.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
|
|
@@ -633,6 +633,60 @@ class GreenfieldPipeline:
|
|
|
633
633
|
raise StageError(f"plan --init failed: {exc}") from exc
|
|
634
634
|
record["detail"] = f"{wave_count} wave(s)"
|
|
635
635
|
record["waves"] = wave_count
|
|
636
|
+
self._enforce_greenfield_vb_plan_contract(project_root, options)
|
|
637
|
+
|
|
638
|
+
def _enforce_greenfield_vb_plan_contract(
|
|
639
|
+
self, project_root: Path, options: dict[str, Any]
|
|
640
|
+
) -> None:
|
|
641
|
+
"""Backstop: a greenfield run with the coverage gate ON must PLAN the canonical
|
|
642
|
+
VB registry doc (``test:test-strategy`` / ``docs/test/test_strategy.md``).
|
|
643
|
+
|
|
644
|
+
``planner._ensure_canonical_vb_doc_planned`` force-injects it on the normal path;
|
|
645
|
+
this catches a custom ``plan_runner``, a hand-written wave_config, or any future
|
|
646
|
+
path that bypasses the injection. Deliberately NOT gated on
|
|
647
|
+
``project_expects_vb_registry`` — that returns False in exactly the dangerous case
|
|
648
|
+
(AI omitted the canonical doc, no ``test_coverage.docs``, no file yet), which is the
|
|
649
|
+
hole this closes. Without the canonical doc the VB audit has zero declarations and
|
|
650
|
+
coverage trivially passes 0/0 (false-GREEN). Skipped when the coverage gate is
|
|
651
|
+
explicitly OFF (owner opt-out) or an explicit ``test_coverage.docs`` is pinned."""
|
|
652
|
+
|
|
653
|
+
from codd.config import load_project_config
|
|
654
|
+
from codd.verifiable_behavior_audit import (
|
|
655
|
+
coverage_gate_enabled,
|
|
656
|
+
load_verifiable_behaviors,
|
|
657
|
+
wave_config_plans_canonical_vb_doc,
|
|
658
|
+
)
|
|
659
|
+
|
|
660
|
+
if not bool(options.get("coverage_gate", True)):
|
|
661
|
+
return
|
|
662
|
+
try:
|
|
663
|
+
config = load_project_config(project_root)
|
|
664
|
+
except (FileNotFoundError, ValueError):
|
|
665
|
+
config = {}
|
|
666
|
+
if not coverage_gate_enabled(config):
|
|
667
|
+
return
|
|
668
|
+
section = config.get("test_coverage")
|
|
669
|
+
if isinstance(section, dict) and section.get("docs"):
|
|
670
|
+
return # owner pinned an explicit VB doc — respect it
|
|
671
|
+
if wave_config_plans_canonical_vb_doc(config):
|
|
672
|
+
return # the canonical VB doc is planned — SSOT will exist
|
|
673
|
+
# Not planned — but VBs may ALREADY be declared in a discoverable docs/test
|
|
674
|
+
# doc. The contract is "a VB SSOT must exist", satisfied by EITHER a planned
|
|
675
|
+
# canonical doc OR existing declarations. Only RED when NEITHER holds (e.g. a
|
|
676
|
+
# real greenfield at plan stage with no docs generated and no canonical planned).
|
|
677
|
+
try:
|
|
678
|
+
behaviors = load_verifiable_behaviors(project_root, config=config)
|
|
679
|
+
except Exception: # noqa: BLE001 — discovery failure ⇒ fall through to the RED below.
|
|
680
|
+
behaviors = []
|
|
681
|
+
if behaviors:
|
|
682
|
+
return # a VB surface already exists
|
|
683
|
+
raise StageError(
|
|
684
|
+
"greenfield coverage gate requires a verifiable-behavior SSOT: plan the canonical "
|
|
685
|
+
"VB registry document (test:test-strategy / docs/test/test_strategy.md) in wave_config "
|
|
686
|
+
"or declare VBs in a docs/test doc. Without it the declared-VB set is empty and the "
|
|
687
|
+
"coverage/authenticity gate can pass WITHOUT certifying any behavior (a false-green). "
|
|
688
|
+
"Disable the coverage gate explicitly if this build has no behaviors to verify."
|
|
689
|
+
)
|
|
636
690
|
|
|
637
691
|
# ── stage: generate ─────────────────────────────────────
|
|
638
692
|
|
|
@@ -424,6 +424,12 @@ def plan_init(
|
|
|
424
424
|
wave_config = _invoke_and_parse_wave_config(
|
|
425
425
|
resolved_ai_command, prompt, max_retries=_plan_init_max_retries(config)
|
|
426
426
|
)
|
|
427
|
+
if requirement_documents:
|
|
428
|
+
# Greenfield: GUARANTEE the canonical VB registry doc is planned so the VB
|
|
429
|
+
# coverage/authenticity SSOT is never silently absent (false-GREEN: 0/0 pass).
|
|
430
|
+
wave_config = _ensure_canonical_vb_doc_planned(
|
|
431
|
+
config, wave_config, requirement_documents
|
|
432
|
+
)
|
|
427
433
|
|
|
428
434
|
from codd.config import find_codd_dir
|
|
429
435
|
config["wave_config"] = wave_config
|
|
@@ -491,6 +497,79 @@ def _set_canonical_vb_doc_config(
|
|
|
491
497
|
config["test_coverage"] = section
|
|
492
498
|
|
|
493
499
|
|
|
500
|
+
def _ensure_canonical_vb_doc_planned(
|
|
501
|
+
config: dict[str, Any],
|
|
502
|
+
wave_config: dict[str, Any],
|
|
503
|
+
requirement_documents: list[RequirementDocument],
|
|
504
|
+
) -> dict[str, Any]:
|
|
505
|
+
"""GUARANTEE the canonical VB registry doc is planned (greenfield VB SSOT).
|
|
506
|
+
|
|
507
|
+
The AI's wave_config can omit ``test:test-strategy`` / ``docs/test/test_strategy.md``
|
|
508
|
+
non-deterministically; without it the VB audit has ZERO declarations and the coverage
|
|
509
|
+
gate trivially passes 0/0 — a false-GREEN (the requirements' behaviors are never
|
|
510
|
+
certified). When the canonical doc is absent — and the owner has NOT pinned an explicit
|
|
511
|
+
``test_coverage.docs`` — append it as a FINAL wave (so existing wave order/dependencies
|
|
512
|
+
are untouched) depending on the requirement docs + every already-planned artifact, so it
|
|
513
|
+
is generated last with full context. ``_set_canonical_vb_doc_config`` then detects+pins
|
|
514
|
+
it as usual (this stays the force-INJECT step; that one stays detection-only). Generic:
|
|
515
|
+
keys off the canonical naming, not any project's specifics.
|
|
516
|
+
"""
|
|
517
|
+
|
|
518
|
+
from codd.verifiable_behavior_audit import (
|
|
519
|
+
coverage_gate_enabled,
|
|
520
|
+
wave_config_plans_canonical_vb_doc,
|
|
521
|
+
)
|
|
522
|
+
|
|
523
|
+
if not coverage_gate_enabled(config):
|
|
524
|
+
return wave_config # coverage gate off (owner opt-out) — no VB SSOT needed
|
|
525
|
+
if wave_config_plans_canonical_vb_doc({"wave_config": wave_config}):
|
|
526
|
+
return wave_config # the AI already planned it — nothing to do
|
|
527
|
+
section = config.get("test_coverage")
|
|
528
|
+
if isinstance(section, dict) and section.get("docs"):
|
|
529
|
+
return wave_config # respect an explicit owner-pinned VB doc
|
|
530
|
+
|
|
531
|
+
out = deepcopy(wave_config)
|
|
532
|
+
new_wave = str(_max_wave_number(out) + 1)
|
|
533
|
+
existing_node_ids: list[str] = []
|
|
534
|
+
modules: set[str] = set()
|
|
535
|
+
for entries in out.values():
|
|
536
|
+
if not isinstance(entries, list):
|
|
537
|
+
continue
|
|
538
|
+
for entry in entries:
|
|
539
|
+
if not isinstance(entry, dict):
|
|
540
|
+
continue
|
|
541
|
+
node_id = entry.get("node_id") or entry.get("id")
|
|
542
|
+
if isinstance(node_id, str) and node_id.strip():
|
|
543
|
+
existing_node_ids.append(node_id.strip())
|
|
544
|
+
for module in entry.get("modules") or []:
|
|
545
|
+
if isinstance(module, str) and module.strip():
|
|
546
|
+
modules.add(module.strip())
|
|
547
|
+
|
|
548
|
+
depends_on: list[dict[str, str]] = [
|
|
549
|
+
{"id": doc.node_id, "relation": "derives_from", "semantic": "governance"}
|
|
550
|
+
for doc in requirement_documents
|
|
551
|
+
if getattr(doc, "node_id", None)
|
|
552
|
+
]
|
|
553
|
+
depends_on.extend(
|
|
554
|
+
{"id": node_id, "relation": "depends_on", "semantic": "verification"}
|
|
555
|
+
for node_id in existing_node_ids
|
|
556
|
+
)
|
|
557
|
+
|
|
558
|
+
out.setdefault(new_wave, [])
|
|
559
|
+
if isinstance(out[new_wave], list):
|
|
560
|
+
out[new_wave].append(
|
|
561
|
+
{
|
|
562
|
+
"node_id": "test:test-strategy",
|
|
563
|
+
"output": "docs/test/test_strategy.md",
|
|
564
|
+
"title": "Test Strategy and Verifiable Behavior Registry",
|
|
565
|
+
"depends_on": depends_on,
|
|
566
|
+
"conventions": [],
|
|
567
|
+
"modules": sorted(modules),
|
|
568
|
+
}
|
|
569
|
+
)
|
|
570
|
+
return {key: out[key] for key in sorted(out, key=_wave_key_sort_value)}
|
|
571
|
+
|
|
572
|
+
|
|
494
573
|
def _ensure_lexicon(project_root: Path) -> None:
|
|
495
574
|
"""Create an inferred draft project_lexicon.yaml when plan --init starts without one."""
|
|
496
575
|
from codd.lexicon import LEXICON_FILENAME
|
|
@@ -921,6 +921,10 @@ _PY_DIRECT_IGNORED_NAMES = frozenset(
|
|
|
921
921
|
"Exception",
|
|
922
922
|
"BaseException",
|
|
923
923
|
"AssertionError",
|
|
924
|
+
# the ``raise`` keyword: in the lexical (syntax-error) fallback path, a
|
|
925
|
+
# ``raise AssertionError("constant")`` must not look like it carries an
|
|
926
|
+
# observation name — without this it would mis-credit as a non-constant direct.
|
|
927
|
+
"raise",
|
|
924
928
|
"ValueError",
|
|
925
929
|
"TypeError",
|
|
926
930
|
"RuntimeError",
|
|
@@ -1017,17 +1021,39 @@ def _py_callee_name(node: ast.AST) -> str:
|
|
|
1017
1021
|
return ""
|
|
1018
1022
|
|
|
1019
1023
|
|
|
1024
|
+
def _is_py_assertion_error_raise(node: ast.AST) -> bool:
|
|
1025
|
+
"""Whether ``node`` is ``raise AssertionError`` / ``raise AssertionError(...)``.
|
|
1026
|
+
|
|
1027
|
+
``assert cond, msg`` IS ``if not cond: raise AssertionError(msg)``, so an explicit
|
|
1028
|
+
``raise AssertionError(...)`` is a primitive assertion (the same family as the
|
|
1029
|
+
already-recognized ``pytest.fail()``). Restricted to ``AssertionError`` ON PURPOSE:
|
|
1030
|
+
a bare ``raise``/``raise err``/``raise ValueError(...)`` is exception re-raise or
|
|
1031
|
+
error propagation, NOT an assertion — crediting those would widen the false-GREEN
|
|
1032
|
+
surface. Aliased / ``builtins.AssertionError`` forms are intentionally out of scope
|
|
1033
|
+
(alias tracking exceeds this false-RED fix).
|
|
1034
|
+
"""
|
|
1035
|
+
|
|
1036
|
+
if not isinstance(node, ast.Raise) or node.exc is None:
|
|
1037
|
+
return False
|
|
1038
|
+
exc = node.exc
|
|
1039
|
+
if isinstance(exc, ast.Call):
|
|
1040
|
+
exc = exc.func
|
|
1041
|
+
return isinstance(exc, ast.Name) and exc.id == "AssertionError"
|
|
1042
|
+
|
|
1043
|
+
|
|
1020
1044
|
def _is_py_primitive_assert_node(node: ast.AST) -> bool:
|
|
1021
1045
|
"""Whether ``node`` is a PRIMITIVE python assertion (mirrors ``_PY_PRIMITIVE_ASSERT_RE``).
|
|
1022
1046
|
|
|
1023
|
-
An ``assert`` statement, a ``with pytest.raises(...)``
|
|
1024
|
-
statement calling ``pytest.fail`` / ``self.fail`` /
|
|
1025
|
-
``np.testing.assert*``. A bare call to a NAMED helper is NOT
|
|
1026
|
-
resolved via the evidence graph), so it is not matched here.
|
|
1047
|
+
An ``assert`` statement, ``raise AssertionError(...)``, a ``with pytest.raises(...)``
|
|
1048
|
+
block, or an expression statement calling ``pytest.fail`` / ``self.fail`` /
|
|
1049
|
+
``self.assert*`` / ``np.testing.assert*``. A bare call to a NAMED helper is NOT
|
|
1050
|
+
primitive (it is resolved via the evidence graph), so it is not matched here.
|
|
1027
1051
|
"""
|
|
1028
1052
|
|
|
1029
1053
|
if isinstance(node, ast.Assert):
|
|
1030
1054
|
return True
|
|
1055
|
+
if _is_py_assertion_error_raise(node):
|
|
1056
|
+
return True
|
|
1031
1057
|
if isinstance(node, (ast.With, ast.AsyncWith)):
|
|
1032
1058
|
for item in node.items:
|
|
1033
1059
|
expr = item.context_expr
|
|
@@ -1045,6 +1071,22 @@ def _is_py_primitive_assert_node(node: ast.AST) -> bool:
|
|
|
1045
1071
|
return False
|
|
1046
1072
|
|
|
1047
1073
|
|
|
1074
|
+
def _python_body_has_primitive_assertion(body_text: str) -> bool:
|
|
1075
|
+
"""AST-first ``has_assertion`` for a python test body.
|
|
1076
|
+
|
|
1077
|
+
Prefer the AST (``_is_py_primitive_assert_node``) so a primitive token sitting in
|
|
1078
|
+
a STRING or COMMENT (e.g. ``x = "raise AssertionError(y)"``) does not spuriously
|
|
1079
|
+
set ``has_assertion`` — which would otherwise reach the fail-open direct-evidence
|
|
1080
|
+
path and become a false-GREEN. Falls back to the regex only when the body is not
|
|
1081
|
+
parseable in isolation (mirrors the line-scanner fallback elsewhere)."""
|
|
1082
|
+
|
|
1083
|
+
try:
|
|
1084
|
+
tree = ast.parse(textwrap.dedent(body_text))
|
|
1085
|
+
except (SyntaxError, ValueError):
|
|
1086
|
+
return bool(_PY_PRIMITIVE_ASSERT_RE.search(body_text))
|
|
1087
|
+
return any(_is_py_primitive_assert_node(node) for node in ast.walk(tree))
|
|
1088
|
+
|
|
1089
|
+
|
|
1048
1090
|
#: Python standard-library top-level module names (PEP-official frozenset; includes
|
|
1049
1091
|
#: platform-specific and disabled modules). Used to POSITIVELY classify a stdlib
|
|
1050
1092
|
#: import as a library reference. Absence here never forces a verdict (fail-open).
|
|
@@ -1488,7 +1530,12 @@ _PY_SKIP_DECORATOR_RE = re.compile(
|
|
|
1488
1530
|
#: is resolved via the evidence graph so a no-op helper cannot pass on its name.
|
|
1489
1531
|
_PY_PRIMITIVE_ASSERT_RE = re.compile(
|
|
1490
1532
|
r"(^|[^A-Za-z0-9_])(assert\b|pytest\.raises\b|pytest\.fail\s*\(|"
|
|
1491
|
-
r"self\.assert[A-Za-z]+\s*\(|self\.fail\s*\(|np\.testing\.assert)"
|
|
1533
|
+
r"self\.assert[A-Za-z]+\s*\(|self\.fail\s*\(|np\.testing\.assert)"
|
|
1534
|
+
# ``raise AssertionError`` (the explicit form of ``assert``) — LINE-ANCHORED so a
|
|
1535
|
+
# ``raise AssertionError`` inside a string/comment does not match (the AST-first
|
|
1536
|
+
# ``_python_body_has_primitive_assertion`` is the primary guard; this is fallback).
|
|
1537
|
+
r"|^[ \t]*raise\s+AssertionError\b",
|
|
1538
|
+
re.MULTILINE,
|
|
1492
1539
|
)
|
|
1493
1540
|
#: A python ``def helper(...):`` header (captures name + the parameter list so the
|
|
1494
1541
|
#: argument-anchor check can confirm the helper references its own arguments).
|
|
@@ -1605,7 +1652,7 @@ class PythonTestBlockProfile:
|
|
|
1605
1652
|
decorator_text = "\n".join(lines[start_line - 1 : def_line - 1])
|
|
1606
1653
|
if _PY_SKIP_DECORATOR_RE.search(decorator_text):
|
|
1607
1654
|
skipped = True
|
|
1608
|
-
has_assertion =
|
|
1655
|
+
has_assertion = _python_body_has_primitive_assertion(body_text)
|
|
1609
1656
|
blocks.append(
|
|
1610
1657
|
TestBlock(
|
|
1611
1658
|
start_line=start_line,
|
|
@@ -1672,7 +1719,7 @@ class PythonTestBlockProfile:
|
|
|
1672
1719
|
decorator_text = "\n".join(lines[start_line - 1 : index])
|
|
1673
1720
|
if _PY_SKIP_DECORATOR_RE.search(decorator_text):
|
|
1674
1721
|
skipped = True
|
|
1675
|
-
has_assertion =
|
|
1722
|
+
has_assertion = _python_body_has_primitive_assertion(body_text)
|
|
1676
1723
|
blocks.append(
|
|
1677
1724
|
TestBlock(
|
|
1678
1725
|
start_line=start_line,
|
|
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
|
{codd_dev-2.55.0 → codd_dev-2.57.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codd_dev-2.55.0 → codd_dev-2.57.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
|
{codd_dev-2.55.0 → codd_dev-2.57.0}/codd/deployment/providers/verification/form_strategies.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
|