codd-dev 2.97.0__tar.gz → 2.99.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.97.0 → codd_dev-2.99.0}/PKG-INFO +1 -1
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/__init__.py +1 -1
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implement_oracle.py +58 -80
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/adapters/implement_oracle.py +15 -3
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/adapters/oracle_python.py +140 -24
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/command_plan.py +180 -8
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/compose.py +111 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/pyproject.toml +1 -1
- {codd_dev-2.97.0 → codd_dev-2.99.0}/.gitignore +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/LICENSE +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/bench_fixture/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/__main__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/_git_helper.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/action_outcome.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/ai_invoke.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/ai_patch.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/artifact_contract.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/artifact_ids.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/artifacts/catalog.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/ask_user_question_adapter.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/assembler.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/bridge.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/brownfield/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/brownfield/pipeline.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/capability_completeness.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/claude_cli.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/cli.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/clustering.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/coherence_adapters.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/coherence_engine.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/confidence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/config.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/config_schema.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/contracts.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/contracts_registry/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/contracts_registry/__main__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/contracts_registry/certify.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/contracts_registry/generate_matrix.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/contracts_registry/registry.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/coverage_auditor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/coverage_execution_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/coverage_metrics.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/auto_repair.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/builder.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/artifact_contract_check.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/ci_health.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/dependency_freshness.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/depends_on_consistency.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/deployment_completeness.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/edge_validity.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/environment_coverage.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/implementation_coverage.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/node_completeness.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/opt_out.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/task_completion.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/transitive_closure.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/ui_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/checks/user_journey_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/coverage_axes.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/cli.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/csharp.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/elixir.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/generic.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/iot.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/java.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/kotlin.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/mobile.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/ruby.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/rust.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/scala.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/swift.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/defaults/web.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/impact.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dag/runner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/defaults.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/defaults.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/dependency_lock_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deploy_targets/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deploy_targets/app_service.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deploy_targets/base.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deploy_targets/docker_compose.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployer.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/checks/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/ai_command.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/ai_command_factory.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/codex_app_server.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/llm_consideration.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/schema/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/schema/prisma.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/target/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/target/docker_compose.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/curl.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/playwright.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/deployment/providers/verification/vitest.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/design_md.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/diff/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/diff/apply.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/diff/engine.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/diff/persistence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/diff/templates/diff_prompt.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/discovery.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/drift.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/e2e_contract_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/e2e_extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/e2e_generator.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/e2e_harness.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/e2e_runner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/apply.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/engine.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/finding.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/formatters/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/formatters/base.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/formatters/interactive.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/formatters/json_fmt.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/formatters/md.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/lexicon_loader.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/persistence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/env_refs.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/extract_ai.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/extract_paths.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/candidate_selector.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/design_updater.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/impl_propagation.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/interactive_prompt.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/phenomenon_fixer.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/phenomenon_parser.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/risk_classifier.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/templates/clarification_question.txt +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/templates/design_update.txt +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/templates/impl_update.txt +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/templates/risk_assessment.txt +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fix/templates_loader.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fixer.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fixup_drift.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fixup_drift_strategies/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/frontmatter.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/generator.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/git_evidence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/graph.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/greenfield/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/greenfield/pipeline.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hitl_session.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/pre-commit +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/recipes/codex_hook.sh +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/iac_nfr.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implement_oracle_scope.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implement_oracle_types.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implementer/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implementer/chunked_runner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implementer/typecheck_loop.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/implementer.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/import_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/inheritance.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/init/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/init/lexicon_suggest.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/init/llm_lexicon_suggester.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/init/stack_detector.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/knowledge_fetcher.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/adapters/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/adapters/oracle_go.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/adapters/oracle_typescript.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/adapters/runner_report.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/builtin_adapters.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/compat.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/contract.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/loader.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/oracle_executor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/path_planner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/profile.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/profiles/go.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/profiles/python.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/profiles/typescript.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/registry.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/verify_executor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/languages/verify_plan.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/formatters/html.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/formatters/md.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/inspector.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/manager.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/reporter.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/lexicon_cli/threshold.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/approval.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/best_practice_augmenter.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/criteria_expander.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/design_doc_extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/impl_step_deriver.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/means_catalog_loader.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/parser.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/plan_deriver.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/prompt_builder.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/strategy_validator.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/meta_instruction.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/plan_derive_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/mcp_server.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/measure.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/operational_e2e_audit.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/operations_derive.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/_shared.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/api_specs.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/extractor_registry.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/filesystem_routes.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/iac.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/python_ast.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/regex_strategies.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/schemas.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/tests_builddeps.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/parsing/treesitter.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/planner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/policy.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/preflight/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/preflight/defaults/cli.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/preflight/defaults/generic.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/preflight/defaults/iot.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/preflight/defaults/mobile.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/preflight/defaults/web.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/project_types.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/propagate.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/propagation_common.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/propagator.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/reconciliation_ledger.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/reference_resolution.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/registry.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/approval_repair.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/auto_scope_guard.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/engine.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/git_patcher.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/history.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/llm_repair_engine.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/loop.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/primary_picker.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/proof_breaks.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/repair_result.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/repairability_classifier.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/schema.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/templates/analyze_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/templates/propose_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/templates/repairability_meta.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/test_failure_attribution.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair/verify_runner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/repair_slice.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/require.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/require_plugins.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/require_propagate.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/required_artifacts/defaults/web.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/required_artifacts_deriver.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_completeness_auditor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirement_reconciliation.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/requirements_meta.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/restoration_report.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/restore.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/routes_extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/runtime_smoke/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/runtime_smoke/checks.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/runtime_smoke/config.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/runtime_smoke/report.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/runtime_smoke/runner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/scanner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/schema_refs.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/screen_flow_validator.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/screen_transition_extractor.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/screen_transitions/defaults.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/skills_cli/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/skills_cli/discovery.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/skills_cli/manager.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/skills_cli/paths.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/adapters/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/adapters/_base.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/adapters/nextjs.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/adapters/playwright.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/command_authenticity.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/loader.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/lock.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/obligations.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/profile.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/profiles/addons/playwright.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/profiles/addons/prisma.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/profiles/frameworks/nextjs.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/project.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/registry.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/replacement_proof.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/stack/resolve.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/surface_reconciliation.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/synth.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/codd.yaml.tmpl +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/conventions.yaml.tmpl +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/doc_links.yaml.tmpl +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/extracted/system-context.md.j2 +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/gitignore.tmpl +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/lexicon_questions.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/lexicon_schema.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/templates/overrides.yaml.tmpl +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/test_detection.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/test_import_coherence.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/traceability.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/validator.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/vb_marker_authenticity.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/vb_rerun_scope.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/verifiable_behavior_audit.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/watch/__init__.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/watch/events.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/watch/propagation_log.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/watch/propagation_pipeline.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/watch/test_runner.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/watch/watcher.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd/wiring.py +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/codd_plugins/stack_map.yaml +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/docs/cookbook/cdp_browser/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/docs/requirements/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/dogfood/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/dogfood/fixtures/flat_py_app/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/examples/README.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-assemble/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-evolve/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-generate/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-greenfield/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-impact/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-init/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-propagate/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-restore/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-scan/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.0}/skills/codd-validate/SKILL.md +0 -0
- {codd_dev-2.97.0 → codd_dev-2.99.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.99.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
|
|
@@ -140,7 +140,6 @@ __all__ = [
|
|
|
140
140
|
"normalize_python_tool_output",
|
|
141
141
|
"resolve_implement_oracle",
|
|
142
142
|
"run_implement_oracle_gate",
|
|
143
|
-
"synthesize_minimal_layout_view",
|
|
144
143
|
]
|
|
145
144
|
|
|
146
145
|
#: Internal-but-tested campaign entry point (the anti-false-green acceptance tests
|
|
@@ -617,11 +616,12 @@ def certify_oracle_scope(
|
|
|
617
616
|
:func:`_resolve_contract_oracle` — with NO hardcoded language-name comparison
|
|
618
617
|
(Cut Condition A; the legacy in-gate tsc certifier moved to the TS adapter).
|
|
619
618
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
``
|
|
624
|
-
``
|
|
619
|
+
Cut A.3: the ``OracleContext.layout_profile`` is ALWAYS the resolved ``LayoutSpec``
|
|
620
|
+
(``lang_profile.layout``) — NO legacy ``LayoutProfile`` layout-VIEW override. A
|
|
621
|
+
``kind="adapter"`` language (Python) derives its ``source_root``/``test_root`` from
|
|
622
|
+
the ``LayoutSpec`` (``source_sets``/``package_root`` template) + the gate-resolved
|
|
623
|
+
``package_name`` carried on the context. A command-sequence oracle (Go reads
|
|
624
|
+
``module_root``; TS reads ``source_sets``/``test_sets``) reads the SAME ``LayoutSpec``.
|
|
625
625
|
"""
|
|
626
626
|
contract = _resolve_contract_oracle(profile.language)
|
|
627
627
|
if contract is None:
|
|
@@ -637,15 +637,13 @@ def certify_oracle_scope(
|
|
|
637
637
|
lang_profile, oracle_decl, adapter = contract
|
|
638
638
|
from codd.languages.adapters.implement_oracle import OracleContext
|
|
639
639
|
|
|
640
|
-
layout_view = (
|
|
641
|
-
profile if getattr(oracle_decl, "kind", None) == "adapter" else lang_profile.layout
|
|
642
|
-
)
|
|
643
640
|
ctx = OracleContext(
|
|
644
641
|
project_root=project_root,
|
|
645
|
-
layout_profile=
|
|
642
|
+
layout_profile=lang_profile.layout,
|
|
646
643
|
language_profile=lang_profile,
|
|
647
644
|
oracle=oracle_decl,
|
|
648
645
|
config=None,
|
|
646
|
+
package_name=getattr(profile, "package_name", None),
|
|
649
647
|
)
|
|
650
648
|
return adapter.certify_scope(ctx)
|
|
651
649
|
|
|
@@ -995,7 +993,7 @@ def _run_contract_oracle(
|
|
|
995
993
|
adapter: Any,
|
|
996
994
|
config: Mapping[str, Any] | None,
|
|
997
995
|
*,
|
|
998
|
-
|
|
996
|
+
package_name: str | None = None,
|
|
999
997
|
) -> ImplementOracleResult:
|
|
1000
998
|
"""Run a modeled oracle on the contract path (certify already done by caller).
|
|
1001
999
|
|
|
@@ -1012,14 +1010,12 @@ def _run_contract_oracle(
|
|
|
1012
1010
|
declared ``kind="adapter"`` with no ``execute`` is an incomplete contract →
|
|
1013
1011
|
RED, never a silent pass).
|
|
1014
1012
|
|
|
1015
|
-
``
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
command-sequence adapter
|
|
1020
|
-
(``
|
|
1021
|
-
field is duck-typed (the generic executor only reads ``module_root``/cwd/env from
|
|
1022
|
-
it on the command-sequence path, which the adapter path does not take).
|
|
1013
|
+
Cut A.3: ``OracleContext.layout_profile`` is ALWAYS ``lang_profile.layout`` (the
|
|
1014
|
+
resolved ``LayoutSpec``) — there is NO legacy ``LayoutProfile`` layout-VIEW
|
|
1015
|
+
override. A ``kind="adapter"`` language whose layout template carries
|
|
1016
|
+
``{package_name}`` (Python's ``src/{package_name}``) SUBSTITUTES the gate-resolved
|
|
1017
|
+
``package_name`` carried on the context; Go's command-sequence adapter reads
|
|
1018
|
+
``module_root`` from the same ``LayoutSpec`` (``package_name`` is ``None`` for it).
|
|
1023
1019
|
"""
|
|
1024
1020
|
from codd.languages.adapters.implement_oracle import (
|
|
1025
1021
|
OracleContext,
|
|
@@ -1029,10 +1025,11 @@ def _run_contract_oracle(
|
|
|
1029
1025
|
|
|
1030
1026
|
ctx = OracleContext(
|
|
1031
1027
|
project_root=project_root,
|
|
1032
|
-
layout_profile=
|
|
1028
|
+
layout_profile=lang_profile.layout,
|
|
1033
1029
|
language_profile=lang_profile,
|
|
1034
1030
|
oracle=oracle_decl,
|
|
1035
1031
|
config=config,
|
|
1032
|
+
package_name=package_name,
|
|
1036
1033
|
)
|
|
1037
1034
|
|
|
1038
1035
|
# Install preflight (language-free, BEFORE dispatch so run_command_sequence stays
|
|
@@ -1109,12 +1106,13 @@ def _run_oracle_command(
|
|
|
1109
1106
|
in-process ``execute`` (compile + first-party import resolver + ``pytest
|
|
1110
1107
|
--collect-only``).
|
|
1111
1108
|
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
``
|
|
1117
|
-
|
|
1109
|
+
Cut A.3: the ``OracleContext.layout_profile`` is ALWAYS the resolved ``LayoutSpec``
|
|
1110
|
+
(``lang_profile.layout``) — the legacy ``LayoutProfile`` layout-VIEW override is
|
|
1111
|
+
retired. The Python adapter derives its ``source_root`` / ``test_root`` /
|
|
1112
|
+
``package_root`` from the ``LayoutSpec`` (``source_sets`` / ``test_sets`` /
|
|
1113
|
+
``package_root`` template) + the gate-resolved ``package_name`` (carried on the
|
|
1114
|
+
context, not a synthesized legacy profile). A command-sequence oracle (Go reads
|
|
1115
|
+
``module_root``; TS reads ``source_sets``/``test_sets``) reads the SAME ``LayoutSpec``.
|
|
1118
1116
|
|
|
1119
1117
|
No contract resolves (an unsupported stack reaching here) → an honest
|
|
1120
1118
|
``environment_build_error`` RED, never a silent pass (anti-false-green).
|
|
@@ -1139,14 +1137,14 @@ def _run_oracle_command(
|
|
|
1139
1137
|
detail=f"no contract oracle for language {profile.language!r}",
|
|
1140
1138
|
)
|
|
1141
1139
|
lang_profile, oracle_decl, adapter = contract
|
|
1142
|
-
# A
|
|
1143
|
-
#
|
|
1144
|
-
#
|
|
1145
|
-
#
|
|
1146
|
-
|
|
1140
|
+
# Cut A.3: carry the gate-resolved canonical ``package_name`` (the legacy profile
|
|
1141
|
+
# resolved it via ``resolve_canonical_package_name``) so a ``kind="adapter"`` oracle
|
|
1142
|
+
# whose layout template carries ``{package_name}`` (Python's ``src/{package_name}``)
|
|
1143
|
+
# can SUBSTITUTE it — instead of handing the adapter a legacy LayoutProfile layout
|
|
1144
|
+
# view. No override mechanism; the layout authority is the LayoutSpec.
|
|
1147
1145
|
return _run_contract_oracle(
|
|
1148
1146
|
project_root, lang_profile, oracle_decl, adapter, config,
|
|
1149
|
-
|
|
1147
|
+
package_name=getattr(profile, "package_name", None),
|
|
1150
1148
|
)
|
|
1151
1149
|
|
|
1152
1150
|
|
|
@@ -1213,41 +1211,6 @@ def resolve_implement_oracle(
|
|
|
1213
1211
|
return profile, profile.implement_oracle
|
|
1214
1212
|
|
|
1215
1213
|
|
|
1216
|
-
def synthesize_minimal_layout_view(lang_profile: Any) -> LayoutProfile:
|
|
1217
|
-
"""A minimal :class:`LayoutProfile` COMPAT VIEW from a ``LanguageProfile.layout``.
|
|
1218
|
-
|
|
1219
|
-
GPT §5 "synthesize_minimal_layout_view": a ``kind="adapter"`` oracle (the
|
|
1220
|
-
Python-style in-process composite) reads ``source_root`` / ``test_root`` /
|
|
1221
|
-
``package_root`` / ``package_name`` off ``OracleContext.layout_profile`` — fields
|
|
1222
|
-
the modeled ``LayoutSpec`` does NOT carry. When such a language has NO legacy
|
|
1223
|
-
``LayoutProfile`` builder, this synthesizes those fields from the profile's
|
|
1224
|
-
``layout.source_sets`` / ``layout.test_sets`` (first set's ``root``; defensive
|
|
1225
|
-
``src`` / ``tests`` defaults) so the adapter still gets the layout view it needs.
|
|
1226
|
-
|
|
1227
|
-
This is a COMPAT VIEW, not the scope AUTHORITY: the real scope authority is the
|
|
1228
|
-
``LanguageProfile.layout`` + the oracle adapter's ``certify_scope`` (anti-false-
|
|
1229
|
-
green). It carries only what an ``adapter``-kind oracle reads, never a per-language
|
|
1230
|
-
policy. ``package_root`` defaults to ``source_root`` (a Python-style adapter
|
|
1231
|
-
derives the package root from ``package_name`` when one is set; an adapter with no
|
|
1232
|
-
package concept simply reads ``source_root``).
|
|
1233
|
-
"""
|
|
1234
|
-
layout = getattr(lang_profile, "layout", None)
|
|
1235
|
-
source_sets = tuple(getattr(layout, "source_sets", ()) or ()) if layout is not None else ()
|
|
1236
|
-
test_sets = tuple(getattr(layout, "test_sets", ()) or ()) if layout is not None else ()
|
|
1237
|
-
source_root = _norm(source_sets[0].root) if source_sets else "src"
|
|
1238
|
-
test_root = _norm(test_sets[0].root) if test_sets else "tests"
|
|
1239
|
-
source_root = source_root or "src"
|
|
1240
|
-
test_root = test_root or "tests"
|
|
1241
|
-
package_id = getattr(lang_profile, "id", "") or "app"
|
|
1242
|
-
return LayoutProfile(
|
|
1243
|
-
language=package_id, # canonical id — carried for the contract re-resolve
|
|
1244
|
-
package_name=package_id,
|
|
1245
|
-
source_root=source_root,
|
|
1246
|
-
package_root=source_root,
|
|
1247
|
-
test_root=test_root,
|
|
1248
|
-
)
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
1214
|
def _resolve_registry_oracle(
|
|
1252
1215
|
language: str | None,
|
|
1253
1216
|
) -> tuple[LayoutProfile, ImplementOracleSpec] | None:
|
|
@@ -1265,16 +1228,21 @@ def _resolve_registry_oracle(
|
|
|
1265
1228
|
``execute``) — no kind allowlist, so a synthetic ``kind="command"``/``"adapter"``
|
|
1266
1229
|
language runs its oracle instead of falling to a silent NO-OP (the gap §8 closes).
|
|
1267
1230
|
|
|
1268
|
-
|
|
1231
|
+
Cut A.3: the synthetic ``LayoutProfile`` is ONLY the gate's SPEC CARRIER (it
|
|
1232
|
+
carries ``language`` for the contract re-resolve, ``package_name`` for the
|
|
1233
|
+
context's ``{package_name}`` substitution, and the ``implement_oracle`` spec the
|
|
1234
|
+
certify/run/retry machinery reads) — it is NEVER a layout AUTHORITY. The adapter
|
|
1235
|
+
reads the real ``LayoutSpec`` off ``ctx.language_profile.layout`` (the
|
|
1236
|
+
``synthesize_minimal_layout_view`` compat-view bridge is retired):
|
|
1269
1237
|
|
|
1270
1238
|
* ``command`` / ``composite`` (Go: ``go-toolchain``) — the command-sequence
|
|
1271
|
-
executor reads cwd/env from ``lang_profile.layout`` (module root etc.)
|
|
1272
|
-
synthetic ``LayoutProfile``
|
|
1273
|
-
|
|
1239
|
+
executor reads cwd/env from ``lang_profile.layout`` (module root etc.); the
|
|
1240
|
+
synthetic ``LayoutProfile``'s ``source_root`` field is a vestigial carrier the
|
|
1241
|
+
adapter does not read.
|
|
1274
1242
|
* ``adapter`` (a Python-style in-process composite with no legacy profile) — the
|
|
1275
|
-
adapter
|
|
1276
|
-
|
|
1277
|
-
|
|
1243
|
+
adapter derives its source/test/package roots from ``ctx.language_profile.layout``
|
|
1244
|
+
(``source_sets``/``test_sets``/``package_root``) + ``ctx.package_name``; the
|
|
1245
|
+
synthetic profile only carries ``package_name`` + the spec.
|
|
1278
1246
|
|
|
1279
1247
|
In practice Go is the only BUILT-IN that reaches here (TS/Python HAVE legacy
|
|
1280
1248
|
``LayoutProfile`` builders); the command/adapter branches exist so a NEW language
|
|
@@ -1289,12 +1257,22 @@ def _resolve_registry_oracle(
|
|
|
1289
1257
|
lang_profile, oracle_decl, _adapter = contract
|
|
1290
1258
|
kind = getattr(oracle_decl, "kind", None)
|
|
1291
1259
|
if kind == "adapter":
|
|
1292
|
-
# An in-process ``kind="adapter"`` oracle reads the
|
|
1293
|
-
#
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1260
|
+
# An in-process ``kind="adapter"`` oracle reads the LayoutSpec off the resolved
|
|
1261
|
+
# LanguageProfile (Cut A.3 — no synthesized layout view). The synthetic profile
|
|
1262
|
+
# is only the gate's spec carrier: ``language`` (contract re-resolve) +
|
|
1263
|
+
# ``package_name`` (the context's ``{package_name}`` substitution) + the spec.
|
|
1264
|
+
# The topology fields are required by the dataclass but VESTIGIAL here (the
|
|
1265
|
+
# adapter never reads them — it uses ``ctx.language_profile.layout``); fill them
|
|
1266
|
+
# from the LayoutSpec's first source-set so the carrier stays well-formed.
|
|
1267
|
+
_src_sets = tuple(getattr(lang_profile.layout, "source_sets", ()) or ())
|
|
1268
|
+
_carrier_root = _norm(_src_sets[0].root) if _src_sets else "src"
|
|
1269
|
+
synthetic = LayoutProfile(
|
|
1270
|
+
language=lang_profile.id,
|
|
1271
|
+
package_name=lang_profile.id,
|
|
1272
|
+
source_root=_carrier_root,
|
|
1273
|
+
package_root=_carrier_root,
|
|
1274
|
+
test_root="tests",
|
|
1275
|
+
implement_oracle=ImplementOracleSpec(
|
|
1298
1276
|
command=f"{lang_profile.id}-adapter", # sentinel; kind dispatch runs the contract path
|
|
1299
1277
|
kind="adapter",
|
|
1300
1278
|
# An adapter bakes its own scope policy in certify_scope; the spec scope
|
|
@@ -55,9 +55,12 @@ class OracleContext:
|
|
|
55
55
|
|
|
56
56
|
project_root: Path
|
|
57
57
|
#: The resolved layout topology (``module_root`` / ``repo_root`` / ``manifest_root``
|
|
58
|
-
#:
|
|
59
|
-
#:
|
|
60
|
-
#:
|
|
58
|
+
#: / ``source_sets`` / ``test_sets`` / ``package_root``). It is ALWAYS the resolved
|
|
59
|
+
#: :class:`LayoutSpec` (``language_profile.layout``) — Cut A.3 retired the legacy
|
|
60
|
+
#: ``LayoutProfile`` layout-VIEW override: NO adapter reads a legacy
|
|
61
|
+
#: ``source_root``/``package_root`` off this field anymore (the Python adapter
|
|
62
|
+
#: derives its source/package/test roots from ``source_sets``/``package_root`` +
|
|
63
|
+
#: :attr:`package_name`, like the TS/Go adapters read ``source_sets``/``module_root``).
|
|
61
64
|
layout_profile: LayoutSpec
|
|
62
65
|
#: The resolved language contract the dispatch already produced — the adapter
|
|
63
66
|
#: reads ``commands[command_id]`` from it; it NEVER re-resolves a language.
|
|
@@ -66,6 +69,15 @@ class OracleContext:
|
|
|
66
69
|
oracle: ImplementOracleProfileSpec
|
|
67
70
|
#: The run config (``implement.*`` knobs: timeouts, etc.). ``None`` ⇒ defaults.
|
|
68
71
|
config: Mapping[str, Any] | None = None
|
|
72
|
+
#: The harness-owned RESOLVED package name (``resolve_canonical_package_name``:
|
|
73
|
+
#: config override → single top-level package on disk → project-name default).
|
|
74
|
+
#: The gate resolves it (it has ``project_name``); an adapter whose layout
|
|
75
|
+
#: template carries ``{package_name}`` (Python's ``src/{package_name}``)
|
|
76
|
+
#: SUBSTITUTES this — it is NOT the adapter's job to re-resolve a name. ``None``
|
|
77
|
+
#: when the stack's layout has no package-name placeholder (Go/TS): substituting
|
|
78
|
+
#: an absent ``{package_name}`` is a HARD FAIL, never a silent ``src`` fallback
|
|
79
|
+
#: (a wrong package_root is a false-green — Cut A.3 nuance).
|
|
80
|
+
package_name: str | None = None
|
|
69
81
|
|
|
70
82
|
|
|
71
83
|
@dataclass(frozen=True)
|
|
@@ -1345,13 +1345,20 @@ def _certify_python_tool_observability(
|
|
|
1345
1345
|
# ═════════════════════════════════════════════════════════════════════════════
|
|
1346
1346
|
# Layout reading (the Python-specific scope knowledge baked into the adapter).
|
|
1347
1347
|
#
|
|
1348
|
-
#
|
|
1349
|
-
#
|
|
1350
|
-
# ``
|
|
1351
|
-
#
|
|
1352
|
-
#
|
|
1353
|
-
# Python
|
|
1354
|
-
#
|
|
1348
|
+
# Cut A.3: the adapter derives ``(source_root, package_root, test_root)`` from the
|
|
1349
|
+
# resolved ``LayoutSpec`` (``ctx.language_profile.layout`` — ``source_sets`` /
|
|
1350
|
+
# ``test_sets`` / ``package_root`` template) + the gate-resolved ``ctx.package_name``,
|
|
1351
|
+
# NOT from a legacy ``LayoutProfile.source_root`` layout VIEW (that bridge is gone).
|
|
1352
|
+
# This MIRRORS the TS adapter's ``_ts_layout_roots`` (reads ``layout.source_sets`` /
|
|
1353
|
+
# ``test_sets``), but with Python's named-package nuance: Python's single source-set
|
|
1354
|
+
# root is ``src/{package_name}`` (the PACKAGE dir), so the bare ``source_root`` is
|
|
1355
|
+
# the PARENT of the substituted ``package_root`` (``src/app`` → ``src``) — the import
|
|
1356
|
+
# index keys a module under ``package_root`` as ``<pkg>.mod`` and a flat module under
|
|
1357
|
+
# ``source_root`` outside it as a bare name, so the two roots are NOT interchangeable.
|
|
1358
|
+
#
|
|
1359
|
+
# Python's scope policy (require source root; require test root for the collect
|
|
1360
|
+
# layer) is Python-specific knowledge → baked here, not depending on a legacy
|
|
1361
|
+
# OracleScopeSpec.
|
|
1355
1362
|
# ═════════════════════════════════════════════════════════════════════════════
|
|
1356
1363
|
|
|
1357
1364
|
#: Python's composite oracle requires BOTH a source scope (the keystone resolver +
|
|
@@ -1361,20 +1368,126 @@ _REQUIRE_SOURCE_ROOT = True
|
|
|
1361
1368
|
_REQUIRE_TEST_ROOT = True
|
|
1362
1369
|
|
|
1363
1370
|
|
|
1364
|
-
def
|
|
1365
|
-
"""
|
|
1371
|
+
def _py_parent_dir(path: str) -> str:
|
|
1372
|
+
"""Parent directory of a POSIX relative path (``src/app`` → ``src``).
|
|
1366
1373
|
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1374
|
+
Returns ``"."`` when there is no parent segment. Mirrors
|
|
1375
|
+
:func:`codd.languages.compat._parent_dir` (the proven-byte-identical derivation):
|
|
1376
|
+
a ``named_package`` layout always nests ``<src>/<pkg>``, so the legacy
|
|
1377
|
+
``source_root`` is the package_root's parent.
|
|
1378
|
+
"""
|
|
1379
|
+
norm = _py_norm(path)
|
|
1380
|
+
if "/" not in norm:
|
|
1381
|
+
return "."
|
|
1382
|
+
return norm.rsplit("/", 1)[0]
|
|
1383
|
+
|
|
1384
|
+
|
|
1385
|
+
def _py_layout_from_layout_spec(ctx: OracleContext) -> tuple[str, str, str]:
|
|
1386
|
+
"""``(source_root, package_root, test_root)`` derived from the resolved ``LayoutSpec``.
|
|
1387
|
+
|
|
1388
|
+
Cut A.3 (the Python oracle's layout AUTHORITY): the adapter reads the v3
|
|
1389
|
+
``LayoutSpec`` (``ctx.language_profile.layout``) + the gate-resolved
|
|
1390
|
+
``ctx.package_name``, NOT a legacy ``LayoutProfile.source_root``. Anti-false-green
|
|
1391
|
+
is paramount — a silent wrong layout here is a false-green — so this is strict:
|
|
1392
|
+
|
|
1393
|
+
* **Multi-source-set / multi-(required-)test-set → HARD FAIL** (RED via
|
|
1394
|
+
:class:`OracleScopeError`). Python declares exactly ONE source-set + ONE unit
|
|
1395
|
+
test-set today; the import index + collect scope are single-root. Reading only
|
|
1396
|
+
``source_sets[0]`` would SILENTLY drop the v3 set-semantics (a dropped root =
|
|
1397
|
+
unproven code = false-green), so >1 is an explicit unsupported RED, never a
|
|
1398
|
+
silent first-root collapse. (Multi-root observe-all is a later increment +
|
|
1399
|
+
Stage-5 poison test; this increment is behavior-preserving on single-root.)
|
|
1400
|
+
* **package_root** = the ``package_root`` template with ``{package_name}``
|
|
1401
|
+
SUBSTITUTED from ``ctx.package_name`` (``named_package`` → ``src/app``).
|
|
1402
|
+
* **source_root** = the PARENT of ``package_root`` for ``named_package``
|
|
1403
|
+
(``src/app`` → ``src``); the bare set root for ``path_root``.
|
|
1404
|
+
* **test_root** = the single test-set's root (``tests``).
|
|
1405
|
+
* **Unresolved ``{package_name}`` → HARD FAIL** (no ``src`` fallback): a leftover
|
|
1406
|
+
``{package_name}`` (gate did not resolve a name) means the package_root is
|
|
1407
|
+
UNKNOWN; a ``src`` fallback would point the oracle at the wrong tree (the
|
|
1408
|
+
biggest drift risk Cut A.3 flags) → RED, never a silent wrong package_root.
|
|
1370
1409
|
"""
|
|
1371
|
-
layout = ctx.
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1410
|
+
layout = ctx.language_profile.layout
|
|
1411
|
+
source_sets = tuple(getattr(layout, "source_sets", ()) or ())
|
|
1412
|
+
test_sets = tuple(getattr(layout, "test_sets", ()) or ())
|
|
1413
|
+
|
|
1414
|
+
# Multi-set → hard-fail (never a silent first-root collapse — anti-false-green).
|
|
1415
|
+
if len(source_sets) > 1:
|
|
1416
|
+
raise OracleScopeError(
|
|
1417
|
+
"python implement-time oracle cannot be certified: the resolved layout "
|
|
1418
|
+
f"declares {len(source_sets)} source_sets "
|
|
1419
|
+
f"({[s.id for s in source_sets]}), but the Python composite oracle is "
|
|
1420
|
+
"single-source-root (its first-party import index + compile + collect "
|
|
1421
|
+
"scope are rooted at ONE source tree). Observing only the first set would "
|
|
1422
|
+
"SILENTLY drop the others (unproven code = false-green); a multi-source-set "
|
|
1423
|
+
"Python layout is UNSUPPORTED by this oracle today (RED, never a silent "
|
|
1424
|
+
"first-root collapse)."
|
|
1425
|
+
)
|
|
1426
|
+
# A REQUIRED (non-optional) test-set count > 1 is the same hazard for the collect
|
|
1427
|
+
# scope. ``optional``/``colocated`` sets are not REQUIRED roots, so they do not
|
|
1428
|
+
# trigger the hard-fail (the collect layer runs over the single required test root).
|
|
1429
|
+
required_test_sets = tuple(s for s in test_sets if not getattr(s, "optional", False))
|
|
1430
|
+
if len(required_test_sets) > 1:
|
|
1431
|
+
raise OracleScopeError(
|
|
1432
|
+
"python implement-time oracle cannot be certified: the resolved layout "
|
|
1433
|
+
f"declares {len(required_test_sets)} required test_sets "
|
|
1434
|
+
f"({[s.id for s in required_test_sets]}), but the Python composite oracle "
|
|
1435
|
+
"collects a SINGLE test root. A multi-required-test-set Python layout is "
|
|
1436
|
+
"UNSUPPORTED by this oracle today (RED, never a silent first-root collapse)."
|
|
1437
|
+
)
|
|
1438
|
+
|
|
1439
|
+
pkg_spec = getattr(layout, "package_root", None)
|
|
1440
|
+
pkg_kind = getattr(pkg_spec, "kind", "none")
|
|
1441
|
+
pkg_path = getattr(pkg_spec, "path", None) or ""
|
|
1442
|
+
package_name = ctx.package_name
|
|
1443
|
+
|
|
1444
|
+
def _subst(template: str) -> str:
|
|
1445
|
+
"""Substitute ``{package_name}``; a leftover placeholder is a HARD FAIL."""
|
|
1446
|
+
rendered = template
|
|
1447
|
+
if "{package_name}" in template:
|
|
1448
|
+
if not package_name:
|
|
1449
|
+
raise OracleScopeError(
|
|
1450
|
+
"python implement-time oracle cannot be certified: the layout "
|
|
1451
|
+
f"template {template!r} carries an UNRESOLVED '{{package_name}}' "
|
|
1452
|
+
"(the gate did not resolve a canonical package name), so the "
|
|
1453
|
+
"package_root is UNKNOWN. A 'src' fallback would point the oracle "
|
|
1454
|
+
"at the WRONG package tree (silent wrong layout = false-green) — "
|
|
1455
|
+
"this is a HARD FAIL, not a fallback. Ensure the project's package "
|
|
1456
|
+
"name resolves (project.package_name / a single top-level package "
|
|
1457
|
+
"on disk / the project name)."
|
|
1458
|
+
)
|
|
1459
|
+
rendered = template.replace("{package_name}", package_name)
|
|
1460
|
+
if "{" in rendered and "}" in rendered:
|
|
1461
|
+
# Any OTHER leftover placeholder ({module_path}, …) is equally undecidable.
|
|
1462
|
+
raise OracleScopeError(
|
|
1463
|
+
"python implement-time oracle cannot be certified: the layout template "
|
|
1464
|
+
f"{template!r} has an unresolved placeholder after substitution "
|
|
1465
|
+
f"({rendered!r}); the scope is undecidable (HARD FAIL, never a guess)."
|
|
1466
|
+
)
|
|
1467
|
+
return _py_norm(rendered)
|
|
1468
|
+
|
|
1469
|
+
if pkg_kind == "named_package":
|
|
1470
|
+
if not pkg_path:
|
|
1471
|
+
raise OracleScopeError(
|
|
1472
|
+
"python implement-time oracle cannot be certified: package_root.kind="
|
|
1473
|
+
"named_package but no path (the layout is incomplete; HARD FAIL)."
|
|
1474
|
+
)
|
|
1475
|
+
package_root = _subst(pkg_path)
|
|
1476
|
+
source_root = _py_parent_dir(package_root)
|
|
1477
|
+
elif pkg_kind == "path_root":
|
|
1478
|
+
package_root = _subst(pkg_path) if pkg_path else ""
|
|
1479
|
+
source_root = package_root
|
|
1480
|
+
else:
|
|
1481
|
+
# ``none`` (no single package root — Go) or unknown: derive the source root
|
|
1482
|
+
# from the single source-set, package_root == source_root (no named package).
|
|
1483
|
+
source_root = _subst(source_sets[0].root) if source_sets else "src"
|
|
1484
|
+
package_root = source_root
|
|
1485
|
+
|
|
1486
|
+
if not source_root:
|
|
1487
|
+
source_root = "src"
|
|
1488
|
+
test_root = _subst(test_sets[0].root) if test_sets else "tests"
|
|
1489
|
+
if not test_root:
|
|
1490
|
+
test_root = "tests"
|
|
1378
1491
|
return source_root, package_root, test_root
|
|
1379
1492
|
|
|
1380
1493
|
|
|
@@ -1449,10 +1562,11 @@ class PythonCompositeOracleAdapter:
|
|
|
1449
1562
|
"""Certify the Python oracle's concrete file-list covers the required root(s).
|
|
1450
1563
|
|
|
1451
1564
|
Anti-false-green: a required source/test root with ZERO ``.py`` is a HARD
|
|
1452
|
-
FAIL (:class:`OracleScopeError`, never a silent pass).
|
|
1453
|
-
test_root from ``ctx.
|
|
1565
|
+
FAIL (:class:`OracleScopeError`, never a silent pass). Derives source_root /
|
|
1566
|
+
test_root from the resolved ``LayoutSpec`` (``ctx.language_profile.layout`` +
|
|
1567
|
+
``ctx.package_name``) — Cut A.3: NO legacy ``LayoutProfile.source_root`` read.
|
|
1454
1568
|
"""
|
|
1455
|
-
source_root, _package_root, test_root =
|
|
1569
|
+
source_root, _package_root, test_root = _py_layout_from_layout_spec(ctx)
|
|
1456
1570
|
scope = _python_oracle_scope(ctx.project_root, source_root, test_root)
|
|
1457
1571
|
missing_roots: list[str] = []
|
|
1458
1572
|
if _REQUIRE_SOURCE_ROOT and not scope.source_files:
|
|
@@ -1485,9 +1599,11 @@ class PythonCompositeOracleAdapter:
|
|
|
1485
1599
|
``diagnostics=[]`` (no scoped Python rerun — the bounded loop falls to broad
|
|
1486
1600
|
rerun, which is safe). Preserves EVERY tolerance precisely (third-party
|
|
1487
1601
|
import tolerate, third-party-only collection tolerate, pytest-missing →
|
|
1488
|
-
environment_build_error).
|
|
1602
|
+
environment_build_error). Derives its roots from the resolved ``LayoutSpec``
|
|
1603
|
+
(``ctx.language_profile.layout`` + ``ctx.package_name``) — Cut A.3: NO legacy
|
|
1604
|
+
``LayoutProfile.source_root`` read.
|
|
1489
1605
|
"""
|
|
1490
|
-
source_root, package_root, test_root =
|
|
1606
|
+
source_root, package_root, test_root = _py_layout_from_layout_spec(ctx)
|
|
1491
1607
|
project_root = ctx.project_root
|
|
1492
1608
|
config = ctx.config
|
|
1493
1609
|
scope = _python_oracle_scope(project_root, source_root, test_root)
|