codd-dev 2.75.0__tar.gz → 2.77.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.75.0 → codd_dev-2.77.0}/PKG-INFO +1 -1
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/__init__.py +1 -1
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/implement_oracle.py +5 -2
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/__init__.py +4 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/loader.py +94 -1
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/profile.py +59 -4
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/profiles/go.yaml +3 -1
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/profiles/python.yaml +2 -2
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/profiles/typescript.yaml +3 -2
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/verify_plan.py +28 -3
- {codd_dev-2.75.0 → codd_dev-2.77.0}/pyproject.toml +1 -1
- {codd_dev-2.75.0 → codd_dev-2.77.0}/.gitignore +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/LICENSE +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/bench_fixture/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/__main__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/_git_helper.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/action_outcome.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/ai_invoke.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/ai_patch.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/artifact_contract.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/artifact_ids.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/artifacts/catalog.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/ask_user_question_adapter.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/assembler.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/bridge.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/brownfield/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/brownfield/pipeline.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/capability_completeness.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/claude_cli.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/cli.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/clustering.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/coherence_adapters.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/coherence_engine.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/confidence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/config.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/config_schema.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/contracts.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/contracts_registry/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/contracts_registry/__main__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/contracts_registry/certify.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/contracts_registry/generate_matrix.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/contracts_registry/registry.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/coverage_auditor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/coverage_execution_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/coverage_metrics.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/auto_repair.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/builder.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/artifact_contract_check.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/ci_health.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/dependency_freshness.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/depends_on_consistency.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/deployment_completeness.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/edge_validity.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/environment_coverage.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/implementation_coverage.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/node_completeness.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/opt_out.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/task_completion.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/transitive_closure.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/ui_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/checks/user_journey_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/coverage_axes.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/cli.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/csharp.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/elixir.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/generic.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/iot.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/java.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/kotlin.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/mobile.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/ruby.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/rust.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/scala.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/swift.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/defaults/web.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/impact.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dag/runner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/defaults.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/defaults.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/dependency_lock_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deploy_targets/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deploy_targets/app_service.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deploy_targets/base.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deploy_targets/docker_compose.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployer.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/checks/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/ai_command.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/ai_command_factory.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/codex_app_server.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/llm_consideration.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/schema/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/schema/prisma.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/target/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/target/docker_compose.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/curl.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/playwright.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/deployment/providers/verification/vitest.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/design_md.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/diff/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/diff/apply.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/diff/engine.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/diff/persistence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/diff/templates/diff_prompt.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/discovery.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/drift.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/e2e_contract_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/e2e_extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/e2e_generator.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/e2e_harness.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/e2e_runner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/apply.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/engine.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/finding.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/formatters/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/formatters/base.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/formatters/interactive.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/formatters/json_fmt.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/formatters/md.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/lexicon_loader.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/persistence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/env_refs.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/extract_ai.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/extract_paths.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/candidate_selector.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/design_updater.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/impl_propagation.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/interactive_prompt.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/phenomenon_fixer.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/phenomenon_parser.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/risk_classifier.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/templates/clarification_question.txt +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/templates/design_update.txt +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/templates/impl_update.txt +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/templates/risk_assessment.txt +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fix/templates_loader.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fixer.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fixup_drift.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fixup_drift_strategies/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/frontmatter.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/generator.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/git_evidence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/graph.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/greenfield/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/greenfield/pipeline.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hitl_session.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/pre-commit +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/recipes/codex_hook.sh +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/iac_nfr.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/implement_oracle_scope.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/implementer/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/implementer/chunked_runner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/implementer/typecheck_loop.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/implementer.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/import_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/inheritance.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/init/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/init/lexicon_suggest.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/init/llm_lexicon_suggester.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/init/stack_detector.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/knowledge_fetcher.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/adapters/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/adapters/runner_report.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/builtin_adapters.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/compat.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/contract.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/path_planner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/registry.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/languages/verify_executor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/formatters/html.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/formatters/md.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/inspector.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/manager.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/reporter.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/lexicon_cli/threshold.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/approval.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/best_practice_augmenter.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/criteria_expander.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/design_doc_extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/impl_step_deriver.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/means_catalog_loader.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/parser.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/plan_deriver.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/prompt_builder.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/strategy_validator.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/meta_instruction.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/plan_derive_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/mcp_server.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/measure.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/operational_e2e_audit.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/operations_derive.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/_shared.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/api_specs.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/filesystem_routes.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/iac.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/python_ast.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/schemas.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/tests_builddeps.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/parsing/treesitter.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/planner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/policy.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/preflight/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/preflight/defaults/cli.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/preflight/defaults/generic.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/preflight/defaults/iot.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/preflight/defaults/mobile.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/preflight/defaults/web.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/project_types.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/propagate.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/propagation_common.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/propagator.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/reconciliation_ledger.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/reference_resolution.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/registry.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/approval_repair.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/auto_scope_guard.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/engine.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/git_patcher.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/history.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/llm_repair_engine.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/loop.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/primary_picker.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/proof_breaks.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/repair_result.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/repairability_classifier.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/schema.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/templates/analyze_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/templates/propose_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/templates/repairability_meta.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/test_failure_attribution.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair/verify_runner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/repair_slice.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/require.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/require_plugins.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/require_propagate.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/required_artifacts/defaults/web.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/required_artifacts_deriver.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_completeness_auditor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirement_reconciliation.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/requirements_meta.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/restoration_report.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/restore.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/routes_extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/runtime_smoke/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/runtime_smoke/checks.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/runtime_smoke/config.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/runtime_smoke/report.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/runtime_smoke/runner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/scanner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/schema_refs.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/screen_flow_validator.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/screen_transition_extractor.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/screen_transitions/defaults.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/skills_cli/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/skills_cli/discovery.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/skills_cli/manager.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/skills_cli/paths.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/adapters/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/adapters/_base.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/adapters/nextjs.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/adapters/playwright.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/compose.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/loader.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/lock.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/obligations.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/profile.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/profiles/addons/playwright.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/profiles/addons/prisma.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/profiles/frameworks/nextjs.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/project.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/registry.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/stack/resolve.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/surface_reconciliation.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/synth.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/codd.yaml.tmpl +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/conventions.yaml.tmpl +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/doc_links.yaml.tmpl +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/extracted/system-context.md.j2 +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/gitignore.tmpl +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/lexicon_questions.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/lexicon_schema.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/templates/overrides.yaml.tmpl +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/test_detection.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/test_import_coherence.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/traceability.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/validator.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/vb_marker_authenticity.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/vb_rerun_scope.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/verifiable_behavior_audit.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/watch/__init__.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/watch/events.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/watch/propagation_log.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/watch/propagation_pipeline.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/watch/test_runner.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/watch/watcher.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd/wiring.py +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/codd_plugins/stack_map.yaml +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/docs/cookbook/cdp_browser/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/docs/requirements/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/dogfood/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/dogfood/fixtures/flat_py_app/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/examples/README.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-assemble/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-evolve/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-generate/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-greenfield/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-impact/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-init/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-propagate/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-restore/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-scan/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.0}/skills/codd-validate/SKILL.md +0 -0
- {codd_dev-2.75.0 → codd_dev-2.77.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.77.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
|
|
@@ -3012,8 +3012,11 @@ def _resolve_registry_composite_oracle(
|
|
|
3012
3012
|
lang_profile = default_registry.resolve(lang)
|
|
3013
3013
|
except Exception: # noqa: BLE001 — no registry profile ⇒ NO-OP, not a crash.
|
|
3014
3014
|
return None
|
|
3015
|
-
|
|
3016
|
-
|
|
3015
|
+
# implement_oracle is now a modeled first-class field (Contract Kernel §1),
|
|
3016
|
+
# no longer a raw mapping in ``.extra``. Behaviour is preserved: only a Go
|
|
3017
|
+
# profile declaring kind="composite" synthesizes the composite spec below.
|
|
3018
|
+
oracle_decl = lang_profile.implement_oracle
|
|
3019
|
+
if oracle_decl is None or oracle_decl.kind != "composite":
|
|
3017
3020
|
return None
|
|
3018
3021
|
module_root = _norm(getattr(lang_profile.layout, "module_root", ".") or ".") or "."
|
|
3019
3022
|
synthetic = LayoutProfile(
|
|
@@ -21,6 +21,8 @@ from .profile import (
|
|
|
21
21
|
CommandSpec,
|
|
22
22
|
DependencyIntegrityFile,
|
|
23
23
|
Identity,
|
|
24
|
+
ImplementOracleProfileSpec,
|
|
25
|
+
ImplementOracleStepSpec,
|
|
24
26
|
ImportsSpec,
|
|
25
27
|
LanguageProfile,
|
|
26
28
|
LayoutSpec,
|
|
@@ -75,6 +77,8 @@ __all__ = [
|
|
|
75
77
|
"CommandSpec",
|
|
76
78
|
"DependencyIntegrityFile",
|
|
77
79
|
"Identity",
|
|
80
|
+
"ImplementOracleProfileSpec",
|
|
81
|
+
"ImplementOracleStepSpec",
|
|
78
82
|
"ImportsSpec",
|
|
79
83
|
"LanguageProfile",
|
|
80
84
|
"LayoutSpec",
|
|
@@ -25,6 +25,8 @@ from .profile import (
|
|
|
25
25
|
CommandSpec,
|
|
26
26
|
DependencyIntegrityFile,
|
|
27
27
|
Identity,
|
|
28
|
+
ImplementOracleProfileSpec,
|
|
29
|
+
ImplementOracleStepSpec,
|
|
28
30
|
ImportsSpec,
|
|
29
31
|
LanguageProfile,
|
|
30
32
|
LayoutSpec,
|
|
@@ -367,6 +369,94 @@ def _parse_ci(doc: Mapping[str, Any]) -> CiSpec | None:
|
|
|
367
369
|
)
|
|
368
370
|
|
|
369
371
|
|
|
372
|
+
_IMPLEMENT_ORACLE_KINDS = frozenset({"command", "composite", "adapter"})
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
def _parse_implement_oracle(
|
|
376
|
+
doc: Mapping[str, Any], commands: Mapping[str, Any]
|
|
377
|
+
) -> ImplementOracleProfileSpec | None:
|
|
378
|
+
"""Parse + FAIL-CLOSED validate the ``implement_oracle:`` block.
|
|
379
|
+
|
|
380
|
+
Contract Kernel §1: the oracle declaration references command ids / an
|
|
381
|
+
adapter id; it never carries argv/cwd/env. Every malformed shape is a hard
|
|
382
|
+
:class:`LanguageProfileError` (a profile is a contract, not a way to slip a
|
|
383
|
+
broken / silent-green oracle past the gate).
|
|
384
|
+
"""
|
|
385
|
+
raw = doc.get("implement_oracle")
|
|
386
|
+
if raw is None:
|
|
387
|
+
return None
|
|
388
|
+
where = "implement_oracle"
|
|
389
|
+
m = _as_mapping(raw, where=where)
|
|
390
|
+
|
|
391
|
+
kind = m.get("kind")
|
|
392
|
+
if kind not in _IMPLEMENT_ORACLE_KINDS:
|
|
393
|
+
raise LanguageProfileError(
|
|
394
|
+
f"{where}: unknown kind {kind!r}; expected one of "
|
|
395
|
+
f"{sorted(_IMPLEMENT_ORACLE_KINDS)}"
|
|
396
|
+
)
|
|
397
|
+
|
|
398
|
+
# Every kind needs an adapter id (never inferred from the language id).
|
|
399
|
+
adapter = m.get("adapter")
|
|
400
|
+
if adapter is None or not str(adapter).strip():
|
|
401
|
+
raise LanguageProfileError(f"{where}: missing required key 'adapter'")
|
|
402
|
+
adapter = str(adapter)
|
|
403
|
+
|
|
404
|
+
command = m.get("command")
|
|
405
|
+
command = str(command) if command is not None else None
|
|
406
|
+
raw_steps = _as_tuple(m.get("steps"))
|
|
407
|
+
|
|
408
|
+
if kind == "command":
|
|
409
|
+
if command is None:
|
|
410
|
+
raise LanguageProfileError(
|
|
411
|
+
f"{where}: kind 'command' requires a 'command' id"
|
|
412
|
+
)
|
|
413
|
+
if raw_steps:
|
|
414
|
+
raise LanguageProfileError(
|
|
415
|
+
f"{where}: kind 'command' must not declare 'steps'"
|
|
416
|
+
)
|
|
417
|
+
if command not in commands:
|
|
418
|
+
raise LanguageProfileError(
|
|
419
|
+
f"{where}: command {command!r} is not declared in 'commands'"
|
|
420
|
+
)
|
|
421
|
+
return ImplementOracleProfileSpec(kind="command", adapter=adapter, command=command)
|
|
422
|
+
|
|
423
|
+
if kind == "composite":
|
|
424
|
+
if command is not None:
|
|
425
|
+
raise LanguageProfileError(
|
|
426
|
+
f"{where}: kind 'composite' must not declare 'command' "
|
|
427
|
+
f"(use 'steps')"
|
|
428
|
+
)
|
|
429
|
+
if not raw_steps:
|
|
430
|
+
raise LanguageProfileError(
|
|
431
|
+
f"{where}: kind 'composite' requires a non-empty 'steps' list"
|
|
432
|
+
)
|
|
433
|
+
steps: list[ImplementOracleStepSpec] = []
|
|
434
|
+
for i, raw_step in enumerate(raw_steps):
|
|
435
|
+
sm = _as_mapping(raw_step, where=f"{where}.steps[{i}]")
|
|
436
|
+
step_cmd = _require(sm, "command", where=f"{where}.steps[{i}]")
|
|
437
|
+
step_cmd = str(step_cmd)
|
|
438
|
+
if step_cmd not in commands:
|
|
439
|
+
raise LanguageProfileError(
|
|
440
|
+
f"{where}.steps[{i}]: command {step_cmd!r} is not declared "
|
|
441
|
+
f"in 'commands'"
|
|
442
|
+
)
|
|
443
|
+
steps.append(ImplementOracleStepSpec(command=step_cmd))
|
|
444
|
+
return ImplementOracleProfileSpec(
|
|
445
|
+
kind="composite", adapter=adapter, steps=tuple(steps)
|
|
446
|
+
)
|
|
447
|
+
|
|
448
|
+
# kind == "adapter": the adapter does everything; no command/steps.
|
|
449
|
+
if command is not None:
|
|
450
|
+
raise LanguageProfileError(
|
|
451
|
+
f"{where}: kind 'adapter' must not declare 'command'"
|
|
452
|
+
)
|
|
453
|
+
if raw_steps:
|
|
454
|
+
raise LanguageProfileError(
|
|
455
|
+
f"{where}: kind 'adapter' must not declare 'steps'"
|
|
456
|
+
)
|
|
457
|
+
return ImplementOracleProfileSpec(kind="adapter", adapter=adapter)
|
|
458
|
+
|
|
459
|
+
|
|
370
460
|
# ---------------------------------------------------------------------------
|
|
371
461
|
# public entry point
|
|
372
462
|
# ---------------------------------------------------------------------------
|
|
@@ -388,6 +478,7 @@ _KNOWN_TOP_LEVEL = frozenset(
|
|
|
388
478
|
"artifacts",
|
|
389
479
|
"scaffold",
|
|
390
480
|
"ci",
|
|
481
|
+
"implement_oracle",
|
|
391
482
|
}
|
|
392
483
|
)
|
|
393
484
|
|
|
@@ -420,17 +511,19 @@ def load_language_profile(path: str | Path) -> LanguageProfile:
|
|
|
420
511
|
|
|
421
512
|
extra = {k: v for k, v in doc.items() if k not in _KNOWN_TOP_LEVEL}
|
|
422
513
|
|
|
514
|
+
commands = _parse_commands(doc)
|
|
423
515
|
return LanguageProfile(
|
|
424
516
|
identity=_parse_identity(doc),
|
|
425
517
|
layout=_parse_layout(doc),
|
|
426
518
|
toolchain=_parse_toolchain(doc),
|
|
427
|
-
commands=
|
|
519
|
+
commands=commands,
|
|
428
520
|
imports=_parse_imports(doc),
|
|
429
521
|
tests=_parse_tests(doc),
|
|
430
522
|
verify=_parse_verify(doc),
|
|
431
523
|
artifacts=_parse_artifacts(doc),
|
|
432
524
|
scaffold=_parse_scaffold(doc),
|
|
433
525
|
ci=_parse_ci(doc),
|
|
526
|
+
implement_oracle=_parse_implement_oracle(doc, commands),
|
|
434
527
|
extra=extra,
|
|
435
528
|
raw=dict(doc),
|
|
436
529
|
)
|
|
@@ -446,6 +446,57 @@ class AdapterRef:
|
|
|
446
446
|
id: str
|
|
447
447
|
|
|
448
448
|
|
|
449
|
+
# ---------------------------------------------------------------------------
|
|
450
|
+
# implement_oracle declaration (Contract Kernel oracle dispatch §1)
|
|
451
|
+
# ---------------------------------------------------------------------------
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
@dataclass(frozen=True)
|
|
455
|
+
class ImplementOracleStepSpec:
|
|
456
|
+
"""One step of a composite implement-oracle (Contract Kernel §1).
|
|
457
|
+
|
|
458
|
+
``command`` is an id that MUST reference an entry in
|
|
459
|
+
``LanguageProfile.commands`` — the step carries NO argv/cwd/env of its own
|
|
460
|
+
(those live on the referenced :class:`CommandSpec`). The loader fail-closes
|
|
461
|
+
if the referenced command id is not declared.
|
|
462
|
+
"""
|
|
463
|
+
|
|
464
|
+
command: str
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
@dataclass(frozen=True)
|
|
468
|
+
class ImplementOracleProfileSpec:
|
|
469
|
+
"""The PROFILE's declaration of its implement-time oracle (Contract Kernel §1).
|
|
470
|
+
|
|
471
|
+
This is the *declaration* the language profile carries in YAML — NOT the
|
|
472
|
+
gate's runtime spec (:class:`codd.project_types.ImplementOracleSpec`, which
|
|
473
|
+
the dispatch still synthesizes). Distinct on purpose: this model only names
|
|
474
|
+
*what kind* of oracle the language has and *which command ids / adapter* it
|
|
475
|
+
references; it never duplicates argv/cwd/env.
|
|
476
|
+
|
|
477
|
+
* ``kind`` — one of:
|
|
478
|
+
- ``"command"`` — a single static checker (TS: ``tsc --noEmit``),
|
|
479
|
+
named by ``command`` (a command id). ``steps`` MUST be empty.
|
|
480
|
+
- ``"composite"`` — a sequence of weaker checkers unioned (Go:
|
|
481
|
+
``typecheck`` + ``vet``), named by ``steps``. ``command`` MUST be
|
|
482
|
+
unset.
|
|
483
|
+
- ``"adapter"`` — an in-process custom executor (Python's compile +
|
|
484
|
+
import-resolver + collect-only composite). Neither ``command`` nor
|
|
485
|
+
``steps`` is set; the ``adapter`` id does all the work.
|
|
486
|
+
* ``adapter`` — the (always-required) adapter id that resolves the oracle's
|
|
487
|
+
tool semantics (scope certify / output normalize, and execute for the
|
|
488
|
+
``adapter`` kind). The profile declares it EXPLICITLY — it is never
|
|
489
|
+
inferred from the language id (an implicit naming convention would create
|
|
490
|
+
silent-green on a declaration typo).
|
|
491
|
+
* ``command`` / ``steps`` — command-id references only (see above).
|
|
492
|
+
"""
|
|
493
|
+
|
|
494
|
+
kind: Literal["command", "composite", "adapter"]
|
|
495
|
+
adapter: str
|
|
496
|
+
command: str | None = None
|
|
497
|
+
steps: tuple[ImplementOracleStepSpec, ...] = ()
|
|
498
|
+
|
|
499
|
+
|
|
449
500
|
# ---------------------------------------------------------------------------
|
|
450
501
|
# top-level profile
|
|
451
502
|
# ---------------------------------------------------------------------------
|
|
@@ -456,9 +507,10 @@ class LanguageProfile:
|
|
|
456
507
|
"""The full declarative language contract (design §1).
|
|
457
508
|
|
|
458
509
|
Sub-structures that are not yet load-bearing for Phase 1 are optional.
|
|
459
|
-
``path_rules
|
|
460
|
-
|
|
461
|
-
|
|
510
|
+
``path_rules`` and any unknown top-level keys are preserved verbatim in
|
|
511
|
+
``raw`` / ``extra`` so a later phase can consume them without re-parsing the
|
|
512
|
+
YAML. ``implement_oracle`` is now modeled as a first-class field (Contract
|
|
513
|
+
Kernel §1) — no longer left in ``extra``.
|
|
462
514
|
"""
|
|
463
515
|
|
|
464
516
|
identity: Identity
|
|
@@ -473,7 +525,10 @@ class LanguageProfile:
|
|
|
473
525
|
artifacts: ArtifactsSpec | None = None
|
|
474
526
|
scaffold: ScaffoldSpec | None = None
|
|
475
527
|
ci: CiSpec | None = None
|
|
476
|
-
#:
|
|
528
|
+
#: The implement-time oracle declaration (Contract Kernel §1). ``None`` when
|
|
529
|
+
#: the profile declares no ``implement_oracle:`` block.
|
|
530
|
+
implement_oracle: "ImplementOracleProfileSpec | None" = None
|
|
531
|
+
#: ``path_rules`` etc., preserved but not modeled in Phase 1.
|
|
477
532
|
extra: Mapping[str, Any] = field(default_factory=lambda: MappingProxyType({}))
|
|
478
533
|
#: The full parsed YAML mapping, for round-trip / debugging.
|
|
479
534
|
raw: Mapping[str, Any] = field(default_factory=lambda: MappingProxyType({}))
|
|
@@ -185,9 +185,11 @@ commands:
|
|
|
185
185
|
scope:
|
|
186
186
|
must_include_test_sets: ["colocated", "e2e"]
|
|
187
187
|
|
|
188
|
-
#
|
|
188
|
+
# Implement-time oracle (Contract Kernel §1): a composite of typecheck + vet,
|
|
189
|
+
# resolved by the go-toolchain adapter. References command ids only.
|
|
189
190
|
implement_oracle:
|
|
190
191
|
kind: composite
|
|
192
|
+
adapter: go-toolchain
|
|
191
193
|
steps:
|
|
192
194
|
- command: typecheck
|
|
193
195
|
- command: vet
|
|
@@ -94,8 +94,8 @@ commands:
|
|
|
94
94
|
format: junit-xml
|
|
95
95
|
adapter: pytest-junit-xml
|
|
96
96
|
|
|
97
|
-
#
|
|
98
|
-
#
|
|
97
|
+
# Implement-time oracle (Contract Kernel §1): Python's compile + import-resolver
|
|
98
|
+
# + collect-only composite is an in-process custom executor, so kind=adapter.
|
|
99
99
|
implement_oracle:
|
|
100
100
|
kind: adapter
|
|
101
101
|
adapter: python-composite
|
|
@@ -96,10 +96,11 @@ commands:
|
|
|
96
96
|
format: vitest-json
|
|
97
97
|
adapter: vitest-json
|
|
98
98
|
|
|
99
|
-
#
|
|
100
|
-
#
|
|
99
|
+
# Implement-time oracle (Contract Kernel §1): tsc --noEmit is a sufficient static
|
|
100
|
+
# checker, so kind=command (the typecheck command id), resolved by typescript-tsc.
|
|
101
101
|
implement_oracle:
|
|
102
102
|
kind: command
|
|
103
|
+
adapter: typescript-tsc
|
|
103
104
|
command: typecheck
|
|
104
105
|
|
|
105
106
|
tests:
|
|
@@ -91,6 +91,26 @@ class VerifyRunPlan:
|
|
|
91
91
|
return " ".join(self.argv)
|
|
92
92
|
|
|
93
93
|
|
|
94
|
+
def _substitute_layout_placeholders(value: str | None, layout) -> str | None:
|
|
95
|
+
"""Resolve the layout path placeholders a verify command's ``cwd``/``env`` may
|
|
96
|
+
carry (``{module_root}`` / ``{repo_root}`` / ``{manifest_root}``).
|
|
97
|
+
|
|
98
|
+
Profiles keep these as LITERAL template strings (per design — full template
|
|
99
|
+
substitution is PathPlanner's job, a later phase). But the verify EXECUTOR
|
|
100
|
+
must run in a real directory: an unsubstituted ``cwd: "{module_root}"`` makes
|
|
101
|
+
the run spawn in ``<project>/{module_root}`` (a path that does not exist) →
|
|
102
|
+
a spurious TOOL_MISSING. So the plan resolves exactly the layout roots the
|
|
103
|
+
verify command needs to be runnable; everything else stays a literal template.
|
|
104
|
+
"""
|
|
105
|
+
if value is None:
|
|
106
|
+
return None
|
|
107
|
+
return (
|
|
108
|
+
value.replace("{module_root}", layout.module_root)
|
|
109
|
+
.replace("{repo_root}", layout.repo_root)
|
|
110
|
+
.replace("{manifest_root}", layout.manifest_root)
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
|
|
94
114
|
def build_verify_plan(contract: ResolvedLanguageContract) -> VerifyRunPlan | None:
|
|
95
115
|
"""Derive the verify run plan from ``contract.profile.commands['verify']``.
|
|
96
116
|
|
|
@@ -98,13 +118,15 @@ def build_verify_plan(contract: ResolvedLanguageContract) -> VerifyRunPlan | Non
|
|
|
98
118
|
stays on the legacy path). A declared ``report.path`` means the command is
|
|
99
119
|
expected to PRODUCE that report — its absence after a run is REPORT_MISSING
|
|
100
120
|
(a not-green outcome), enforced once adapters land (v2.72) / the switch
|
|
101
|
-
happens (v2.69b).
|
|
121
|
+
happens (v2.69b). ``cwd``/``env`` layout placeholders are resolved so the
|
|
122
|
+
executor runs in a real directory.
|
|
102
123
|
"""
|
|
103
124
|
cmd = contract.profile.commands.get("verify")
|
|
104
125
|
if cmd is None:
|
|
105
126
|
return None
|
|
106
127
|
report = cmd.report
|
|
107
128
|
scope = cmd.scope
|
|
129
|
+
layout = contract.profile.layout
|
|
108
130
|
must_include = scope.must_include_test_sets if scope else ()
|
|
109
131
|
# Resolve each must_include id to its TestSet ROOT (the scope check in the
|
|
110
132
|
# executor matches executed_files against roots, so it needs roots, not ids).
|
|
@@ -122,8 +144,11 @@ def build_verify_plan(contract: ResolvedLanguageContract) -> VerifyRunPlan | Non
|
|
|
122
144
|
return VerifyRunPlan(
|
|
123
145
|
language_id=contract.language_id,
|
|
124
146
|
argv=tuple(cmd.argv),
|
|
125
|
-
cwd=cmd.cwd,
|
|
126
|
-
env=
|
|
147
|
+
cwd=_substitute_layout_placeholders(cmd.cwd, layout),
|
|
148
|
+
env={
|
|
149
|
+
str(k): _substitute_layout_placeholders(str(v), layout)
|
|
150
|
+
for k, v in cmd.env.items()
|
|
151
|
+
},
|
|
127
152
|
report_path=(report.path if report else None),
|
|
128
153
|
report_adapter=(report.adapter if report else None),
|
|
129
154
|
report_required=bool(report and report.path),
|
|
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.75.0 → codd_dev-2.77.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
|