codd-dev 2.81.0__tar.gz → 2.83.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.81.0 → codd_dev-2.83.0}/PKG-INFO +1 -1
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/__init__.py +1 -1
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/greenfield/pipeline.py +40 -4
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implement_oracle.py +264 -35
- {codd_dev-2.81.0 → codd_dev-2.83.0}/pyproject.toml +1 -1
- {codd_dev-2.81.0 → codd_dev-2.83.0}/.gitignore +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/LICENSE +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/bench_fixture/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/__main__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/_git_helper.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/action_outcome.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/ai_invoke.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/ai_patch.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/artifact_contract.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/artifact_ids.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/artifacts/catalog.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/ask_user_question_adapter.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/assembler.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/bridge.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/brownfield/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/brownfield/pipeline.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/capability_completeness.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/claude_cli.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/cli.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/clustering.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/coherence_adapters.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/coherence_engine.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/confidence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/config.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/config_schema.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/contracts.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/contracts_registry/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/contracts_registry/__main__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/contracts_registry/certify.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/contracts_registry/generate_matrix.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/contracts_registry/registry.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/coverage_auditor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/coverage_execution_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/coverage_metrics.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/auto_repair.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/builder.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/artifact_contract_check.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/ci_health.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/dependency_freshness.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/depends_on_consistency.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/deployment_completeness.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/edge_validity.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/environment_coverage.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/implementation_coverage.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/node_completeness.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/opt_out.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/task_completion.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/transitive_closure.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/ui_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/checks/user_journey_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/coverage_axes.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/cli.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/csharp.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/elixir.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/generic.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/iot.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/java.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/kotlin.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/mobile.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/ruby.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/rust.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/scala.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/swift.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/defaults/web.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/impact.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dag/runner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/defaults.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/defaults.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/dependency_lock_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deploy_targets/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deploy_targets/app_service.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deploy_targets/base.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deploy_targets/docker_compose.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployer.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/checks/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/ai_command.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/ai_command_factory.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/codex_app_server.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/llm_consideration.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/schema/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/schema/prisma.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/target/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/target/docker_compose.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/curl.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/playwright.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/deployment/providers/verification/vitest.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/design_md.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/diff/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/diff/apply.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/diff/engine.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/diff/persistence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/diff/templates/diff_prompt.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/discovery.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/drift.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/e2e_contract_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/e2e_extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/e2e_generator.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/e2e_harness.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/e2e_runner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/apply.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/engine.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/finding.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/formatters/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/formatters/base.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/formatters/interactive.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/formatters/json_fmt.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/formatters/md.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/lexicon_loader.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/persistence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/env_refs.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/extract_ai.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/extract_paths.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/candidate_selector.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/design_updater.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/impl_propagation.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/interactive_prompt.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/phenomenon_fixer.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/phenomenon_parser.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/risk_classifier.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/templates/clarification_question.txt +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/templates/design_update.txt +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/templates/impl_update.txt +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/templates/risk_assessment.txt +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fix/templates_loader.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fixer.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fixup_drift.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fixup_drift_strategies/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/frontmatter.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/generator.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/git_evidence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/graph.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/greenfield/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hitl_session.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/pre-commit +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/recipes/codex_hook.sh +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/iac_nfr.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implement_oracle_scope.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implement_oracle_types.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implementer/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implementer/chunked_runner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implementer/typecheck_loop.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/implementer.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/import_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/inheritance.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/init/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/init/lexicon_suggest.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/init/llm_lexicon_suggester.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/init/stack_detector.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/knowledge_fetcher.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/adapters/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/adapters/implement_oracle.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/adapters/oracle_go.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/adapters/oracle_python.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/adapters/oracle_typescript.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/adapters/runner_report.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/builtin_adapters.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/compat.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/contract.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/loader.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/oracle_executor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/path_planner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/profile.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/profiles/go.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/profiles/python.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/profiles/typescript.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/registry.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/verify_executor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/languages/verify_plan.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/formatters/html.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/formatters/md.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/inspector.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/manager.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/reporter.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/lexicon_cli/threshold.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/approval.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/best_practice_augmenter.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/criteria_expander.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/design_doc_extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/impl_step_deriver.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/means_catalog_loader.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/parser.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/plan_deriver.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/prompt_builder.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/strategy_validator.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/meta_instruction.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/plan_derive_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/mcp_server.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/measure.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/operational_e2e_audit.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/operations_derive.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/_shared.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/api_specs.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/filesystem_routes.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/iac.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/python_ast.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/schemas.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/tests_builddeps.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/parsing/treesitter.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/planner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/policy.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/preflight/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/preflight/defaults/cli.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/preflight/defaults/generic.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/preflight/defaults/iot.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/preflight/defaults/mobile.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/preflight/defaults/web.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/project_types.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/propagate.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/propagation_common.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/propagator.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/reconciliation_ledger.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/reference_resolution.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/registry.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/approval_repair.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/auto_scope_guard.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/engine.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/git_patcher.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/history.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/llm_repair_engine.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/loop.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/primary_picker.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/proof_breaks.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/repair_result.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/repairability_classifier.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/schema.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/templates/analyze_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/templates/propose_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/templates/repairability_meta.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/test_failure_attribution.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair/verify_runner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/repair_slice.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/require.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/require_plugins.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/require_propagate.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/required_artifacts/defaults/web.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/required_artifacts_deriver.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_completeness_auditor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirement_reconciliation.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/requirements_meta.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/restoration_report.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/restore.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/routes_extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/runtime_smoke/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/runtime_smoke/checks.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/runtime_smoke/config.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/runtime_smoke/report.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/runtime_smoke/runner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/scanner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/schema_refs.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/screen_flow_validator.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/screen_transition_extractor.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/screen_transitions/defaults.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/skills_cli/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/skills_cli/discovery.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/skills_cli/manager.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/skills_cli/paths.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/adapters/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/adapters/_base.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/adapters/nextjs.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/adapters/playwright.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/compose.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/loader.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/lock.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/obligations.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/profile.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/profiles/addons/playwright.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/profiles/addons/prisma.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/profiles/frameworks/nextjs.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/project.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/registry.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/stack/resolve.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/surface_reconciliation.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/synth.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/codd.yaml.tmpl +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/conventions.yaml.tmpl +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/doc_links.yaml.tmpl +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/extracted/system-context.md.j2 +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/gitignore.tmpl +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/lexicon_questions.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/lexicon_schema.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/templates/overrides.yaml.tmpl +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/test_detection.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/test_import_coherence.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/traceability.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/validator.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/vb_marker_authenticity.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/vb_rerun_scope.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/verifiable_behavior_audit.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/watch/__init__.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/watch/events.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/watch/propagation_log.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/watch/propagation_pipeline.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/watch/test_runner.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/watch/watcher.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd/wiring.py +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/codd_plugins/stack_map.yaml +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/docs/cookbook/cdp_browser/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/docs/requirements/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/dogfood/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/dogfood/fixtures/flat_py_app/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/examples/README.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-assemble/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-evolve/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-generate/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-greenfield/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-impact/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-init/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-propagate/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-restore/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-scan/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.0}/skills/codd-validate/SKILL.md +0 -0
- {codd_dev-2.81.0 → codd_dev-2.83.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.83.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
|
|
@@ -1133,7 +1133,9 @@ class GreenfieldPipeline:
|
|
|
1133
1133
|
declared implement-time oracle.
|
|
1134
1134
|
"""
|
|
1135
1135
|
from codd.implement_oracle import (
|
|
1136
|
+
ORACLE_STATE_UNSUPPORTED_EXPLICIT,
|
|
1136
1137
|
OracleScopeError,
|
|
1138
|
+
classify_implement_oracle_state,
|
|
1137
1139
|
resolve_implement_oracle,
|
|
1138
1140
|
run_implement_oracle_gate,
|
|
1139
1141
|
)
|
|
@@ -1141,17 +1143,51 @@ class GreenfieldPipeline:
|
|
|
1141
1143
|
config, language, source_dirs, test_dirs = self._layout_inputs(project_root)
|
|
1142
1144
|
project_name = self._layout_project_name(project_root, config)
|
|
1143
1145
|
|
|
1144
|
-
#
|
|
1145
|
-
#
|
|
1146
|
-
|
|
1146
|
+
# NO-OP short-circuit — but the 4-state model decides WHICH "no oracle" this is
|
|
1147
|
+
# (Contract Kernel oracle dispatch §9). ``_stage_implement`` is strict by
|
|
1148
|
+
# construction: it GENERATED the code and must PROVE it. So a DECLARED-but-
|
|
1149
|
+
# UNSUPPORTED stack must NOT be silently skipped here — that is the very false-
|
|
1150
|
+
# green §9 closes. Only a NON-DECLARED stack (LEGACY_ABSENT) or an explicit
|
|
1151
|
+
# opt-out (OPT_OUT) is genuinely skippable (the gate's visible trace covers the
|
|
1152
|
+
# observability; here the short-circuit avoids needless scaffolding).
|
|
1153
|
+
resolved = resolve_implement_oracle(
|
|
1147
1154
|
project_root,
|
|
1148
1155
|
language=language,
|
|
1149
1156
|
project_name=project_name,
|
|
1150
1157
|
source_dirs=source_dirs,
|
|
1151
1158
|
test_dirs=test_dirs,
|
|
1152
1159
|
config=config,
|
|
1153
|
-
)
|
|
1160
|
+
)
|
|
1161
|
+
if resolved is None:
|
|
1162
|
+
state = classify_implement_oracle_state(language, config, resolved=resolved)
|
|
1163
|
+
if state == ORACLE_STATE_UNSUPPORTED_EXPLICIT:
|
|
1164
|
+
# A declared stack CoDD cannot prove (no registered oracle adapter) —
|
|
1165
|
+
# the strict greenfield implement stage RED. Mirror the gate's verdict
|
|
1166
|
+
# as a StageError instead of silently advancing to verify (where the
|
|
1167
|
+
# incoherence would surface later, or not at all).
|
|
1168
|
+
raise StageError(
|
|
1169
|
+
f"implement-time native-oracle gate: language {language!r} is declared "
|
|
1170
|
+
"but UNSUPPORTED — no registered implement-oracle adapter, so the "
|
|
1171
|
+
"generated code's cross-artifact coherence is UNPROVEN. A declared-but-"
|
|
1172
|
+
"unsupported stack is RED, never a silent pass (add a LanguageProfile + "
|
|
1173
|
+
"oracle adapter for this stack, or opt out via implement.implement_oracle:"
|
|
1174
|
+
" false)."
|
|
1175
|
+
)
|
|
1176
|
+
# LEGACY_ABSENT / OPT_OUT — genuinely skippable (visible-trace cases). Run the
|
|
1177
|
+
# gate once anyway so its (now VISIBLE) NO-OP trace is emitted, then return —
|
|
1178
|
+
# cheap, and it keeps the observability promise (§9: NO-OP is never silent).
|
|
1179
|
+
run_implement_oracle_gate(
|
|
1180
|
+
project_root,
|
|
1181
|
+
language=language,
|
|
1182
|
+
project_name=project_name,
|
|
1183
|
+
source_dirs=source_dirs,
|
|
1184
|
+
test_dirs=test_dirs,
|
|
1185
|
+
config=config,
|
|
1186
|
+
echo=self.echo,
|
|
1187
|
+
)
|
|
1154
1188
|
return
|
|
1189
|
+
# A supported oracle resolved (resolved is not None) — fall through to
|
|
1190
|
+
# certify + run it below.
|
|
1155
1191
|
|
|
1156
1192
|
# The oracle needs the scaffolded config (tsconfig) present NOW, at
|
|
1157
1193
|
# implement-time — verify's scaffold runs later. Idempotent + non-
|
|
@@ -121,6 +121,10 @@ from codd.implement_oracle_types import ( # noqa: F401 — re-exported for back
|
|
|
121
121
|
|
|
122
122
|
__all__ = [
|
|
123
123
|
"EVIDENCE_CATEGORIES",
|
|
124
|
+
"ORACLE_STATE_LEGACY_ABSENT",
|
|
125
|
+
"ORACLE_STATE_OPT_OUT",
|
|
126
|
+
"ORACLE_STATE_SUPPORTED",
|
|
127
|
+
"ORACLE_STATE_UNSUPPORTED_EXPLICIT",
|
|
124
128
|
"ImplementOracleFinding",
|
|
125
129
|
"ImplementOracleResult",
|
|
126
130
|
"OracleRerunCallback",
|
|
@@ -131,10 +135,12 @@ __all__ = [
|
|
|
131
135
|
"certify_go_oracle_scope",
|
|
132
136
|
"certify_oracle_scope",
|
|
133
137
|
"certify_python_oracle_scope",
|
|
138
|
+
"classify_implement_oracle_state",
|
|
134
139
|
"normalize_oracle_output",
|
|
135
140
|
"normalize_python_tool_output",
|
|
136
141
|
"resolve_implement_oracle",
|
|
137
142
|
"run_implement_oracle_gate",
|
|
143
|
+
"synthesize_minimal_layout_view",
|
|
138
144
|
]
|
|
139
145
|
|
|
140
146
|
#: Internal-but-tested campaign entry point (the anti-false-green acceptance tests
|
|
@@ -207,6 +213,85 @@ def _oracle_opt_out(config: Mapping[str, Any] | None) -> bool:
|
|
|
207
213
|
return False
|
|
208
214
|
|
|
209
215
|
|
|
216
|
+
# ── the 4-state oracle dispatch model (Contract Kernel oracle dispatch §6, §9) ──
|
|
217
|
+
#
|
|
218
|
+
# When :func:`resolve_implement_oracle` returns ``None`` it means ONLY "no runnable
|
|
219
|
+
# oracle resolved" — it COLLAPSES four very different reasons into one signal. §9
|
|
220
|
+
# closes the false-green that collapse hid: a DECLARED-but-UNSUPPORTED stack (a
|
|
221
|
+
# non-empty language CoDD was told to build, with NO registered oracle adapter) was
|
|
222
|
+
# waved through as a silent NO-OP PASS. The gate must distinguish:
|
|
223
|
+
#
|
|
224
|
+
# SUPPORTED — a contract oracle resolved (run it; GREEN only if it
|
|
225
|
+
# actually passes). [resolved is not None]
|
|
226
|
+
# UNSUPPORTED_EXPLICIT — a NON-EMPTY language is declared but NO oracle resolves
|
|
227
|
+
# AND not opted out → RED (passed=False, executed=False,
|
|
228
|
+
# code="implement_oracle_unsupported"). The §9 closure: a
|
|
229
|
+
# declared stack CoDD cannot prove must NOT pass.
|
|
230
|
+
# LEGACY_ABSENT — language is None/empty (NO declared stack) → NO-OP, but
|
|
231
|
+
# a VISIBLE fallback trace; NON-RED (nothing to be
|
|
232
|
+
# "unsupported" about — there is no declared stack).
|
|
233
|
+
# OPT_OUT — ``implement.implement_oracle: false`` → NO-OP-WITH-TRACE
|
|
234
|
+
# (``unsupported_oracle_allowed_by_config``), excluded from
|
|
235
|
+
# the green-gate; NON-RED by default (preserves the
|
|
236
|
+
# documented opt-out contract), never silent.
|
|
237
|
+
#
|
|
238
|
+
# Cardinal rule: false-GREEN is forbidden, but do NOT over-RED a legitimate
|
|
239
|
+
# no-oracle case (no language at all, or an explicit opt-out) — those are
|
|
240
|
+
# NO-OP-WITH-TRACE (visible), never silent, never RED.
|
|
241
|
+
#
|
|
242
|
+
# Language-FREE: the classification keys on "did a contract oracle resolve?" + "is
|
|
243
|
+
# a non-empty language declared?" + "is it opted out?" — NEVER on a specific
|
|
244
|
+
# language name (Cut Condition A). Adding a new compiler stack is still one profile
|
|
245
|
+
# entry + one leaf adapter; it then resolves SUPPORTED with no edit here.
|
|
246
|
+
ORACLE_STATE_SUPPORTED = "supported"
|
|
247
|
+
ORACLE_STATE_UNSUPPORTED_EXPLICIT = "unsupported_explicit"
|
|
248
|
+
ORACLE_STATE_LEGACY_ABSENT = "legacy_absent"
|
|
249
|
+
ORACLE_STATE_OPT_OUT = "opt_out"
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def classify_implement_oracle_state(
|
|
253
|
+
language: str | None,
|
|
254
|
+
config: Mapping[str, Any] | None,
|
|
255
|
+
*,
|
|
256
|
+
resolved: object,
|
|
257
|
+
) -> str:
|
|
258
|
+
"""Classify the oracle dispatch state for ``language`` (the 4-state model, §9).
|
|
259
|
+
|
|
260
|
+
``resolved`` is the :func:`resolve_implement_oracle` result (a ``(profile, spec)``
|
|
261
|
+
tuple, or ``None``). The classification is language-FREE — it keys on whether a
|
|
262
|
+
runnable oracle resolved, whether a NON-EMPTY language is declared, and whether
|
|
263
|
+
the gate is opted out — never on a language name (Cut Condition A):
|
|
264
|
+
|
|
265
|
+
* ``resolved is not None`` → ``SUPPORTED``.
|
|
266
|
+
* opted out → ``OPT_OUT`` (NO-OP-with-trace).
|
|
267
|
+
* empty/None language → ``LEGACY_ABSENT`` (NO-OP-with-trace).
|
|
268
|
+
* a SUPPORTED contract resolves anyway → ``LEGACY_ABSENT`` (defensive: the
|
|
269
|
+
resolver returned ``None`` for some OTHER reason than "unsupported"; never
|
|
270
|
+
RED a stack that genuinely HAS an adapter — bound the blast radius).
|
|
271
|
+
* otherwise (non-empty language, no contract, not opted out)
|
|
272
|
+
→ ``UNSUPPORTED_EXPLICIT`` (RED).
|
|
273
|
+
|
|
274
|
+
The OPT_OUT check precedes the language-emptiness/contract checks because an
|
|
275
|
+
opt-out on a SUPPORTED language must read as the (visible, non-RED) opt-out, not
|
|
276
|
+
as supported — :func:`resolve_implement_oracle` already short-circuits opt-out to
|
|
277
|
+
``None`` before it ever looks at the profile.
|
|
278
|
+
"""
|
|
279
|
+
if resolved is not None:
|
|
280
|
+
return ORACLE_STATE_SUPPORTED
|
|
281
|
+
if _oracle_opt_out(config):
|
|
282
|
+
return ORACLE_STATE_OPT_OUT
|
|
283
|
+
if (language or "").strip() == "":
|
|
284
|
+
return ORACLE_STATE_LEGACY_ABSENT
|
|
285
|
+
# A non-empty language with no resolved (profile, spec). If a contract oracle
|
|
286
|
+
# nonetheless resolves (a registered adapter exists), the resolver returned None
|
|
287
|
+
# for an unrelated reason — do NOT RED a stack CoDD CAN actually prove; treat it
|
|
288
|
+
# as a (visible) legacy-absent NO-OP. Only a TRULY unsupported stack (no contract)
|
|
289
|
+
# is the §9 RED.
|
|
290
|
+
if _resolve_contract_oracle(language) is not None:
|
|
291
|
+
return ORACLE_STATE_LEGACY_ABSENT
|
|
292
|
+
return ORACLE_STATE_UNSUPPORTED_EXPLICIT
|
|
293
|
+
|
|
294
|
+
|
|
210
295
|
# ── broad-repair campaign config (the budgeted residual coherence campaign) ──
|
|
211
296
|
#
|
|
212
297
|
# When a wide-fan-out artifact forces the broad RUNG, broad's EXECUTION is no
|
|
@@ -1095,13 +1180,16 @@ def resolve_implement_oracle(
|
|
|
1095
1180
|
CONTRACT-PATH languages (the language→oracle map entry): a language with no
|
|
1096
1181
|
legacy ``LayoutProfile`` builder (Go — ``resolve_layout_profile('go')`` returns
|
|
1097
1182
|
None) but a modeled ``implement_oracle`` whose adapter is REGISTERED resolves
|
|
1098
|
-
via :func:`
|
|
1099
|
-
``(LayoutProfile, ImplementOracleSpec)``
|
|
1100
|
-
gate machinery (certify/run/retry) works
|
|
1101
|
-
:func:`_run_oracle_command` then routes it to the
|
|
1102
|
-
(:func:`_run_contract_oracle` →
|
|
1103
|
-
|
|
1104
|
-
``
|
|
1183
|
+
via :func:`_resolve_registry_oracle`, which synthesizes a minimal
|
|
1184
|
+
``(LayoutProfile, ImplementOracleSpec)`` for ANY oracle ``kind`` (composite /
|
|
1185
|
+
command / adapter) so the existing gate machinery (certify/run/retry) works
|
|
1186
|
+
unchanged; the SAME dispatch in :func:`_run_oracle_command` then routes it to the
|
|
1187
|
+
Contract-Kernel contract path (:func:`_run_contract_oracle` →
|
|
1188
|
+
``run_command_sequence`` for command/composite, the adapter's ``execute`` for
|
|
1189
|
+
``adapter``). The selection is GENERIC (modeled oracle + registered adapter) — no
|
|
1190
|
+
``if language=='go'`` literal in the gate, and NO kind allowlist (a synthetic
|
|
1191
|
+
``kind="command"``/``"adapter"`` language with no legacy ``LayoutProfile`` runs
|
|
1192
|
+
its oracle too, never silently passes — Contract Kernel oracle dispatch §8).
|
|
1105
1193
|
"""
|
|
1106
1194
|
if _oracle_opt_out(config):
|
|
1107
1195
|
return None
|
|
@@ -1115,43 +1203,110 @@ def resolve_implement_oracle(
|
|
|
1115
1203
|
project_root=project_root,
|
|
1116
1204
|
)
|
|
1117
1205
|
if profile is None:
|
|
1118
|
-
# No legacy LayoutProfile — try the declarative registry
|
|
1119
|
-
#
|
|
1120
|
-
|
|
1206
|
+
# No legacy LayoutProfile — try the declarative registry. ANY kind resolves
|
|
1207
|
+
# (Go's composite, a synthetic command/adapter language): the generic
|
|
1208
|
+
# synthesizer builds the minimal gate-machinery ``(LayoutProfile, spec)`` and
|
|
1209
|
+
# the kind-routed dispatch runs the registered adapter (no kind allowlist).
|
|
1210
|
+
return _resolve_registry_oracle(language)
|
|
1121
1211
|
if profile.implement_oracle is None:
|
|
1122
1212
|
return None
|
|
1123
1213
|
return profile, profile.implement_oracle
|
|
1124
1214
|
|
|
1125
1215
|
|
|
1126
|
-
def
|
|
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
|
+
def _resolve_registry_oracle(
|
|
1127
1252
|
language: str | None,
|
|
1128
1253
|
) -> tuple[LayoutProfile, ImplementOracleSpec] | None:
|
|
1129
|
-
"""Synthesize a
|
|
1130
|
-
|
|
1131
|
-
De-literalized (Contract Kernel oracle dispatch §5):
|
|
1132
|
-
``{"go", "golang"}``
|
|
1133
|
-
composite
|
|
1134
|
-
``
|
|
1135
|
-
|
|
1136
|
-
``LayoutProfile`` builder (
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1254
|
+
"""Synthesize a gate-machinery ``(LayoutProfile, spec)`` from the registry, or None.
|
|
1255
|
+
|
|
1256
|
+
De-literalized + de-kind-allowlisted (Contract Kernel oracle dispatch §5 + §8):
|
|
1257
|
+
BOTH the old hardcoded ``{"go", "golang"}`` language allowlist AND the old
|
|
1258
|
+
``kind == "composite"`` ONLY gate are gone. A language resolves to a synthesized
|
|
1259
|
+
``(LayoutProfile, spec)`` IFF :func:`_resolve_contract_oracle` returns a triple —
|
|
1260
|
+
i.e. a modeled ``implement_oracle`` (ANY kind: composite / command / adapter)
|
|
1261
|
+
whose adapter is REGISTERED — and it has NO legacy ``LayoutProfile`` builder (so it
|
|
1262
|
+
reached here). The synthesized ``spec.kind`` MIRRORS the real declaration so the
|
|
1263
|
+
SAME kind-routed dispatch in :func:`_run_oracle_command` runs the registered
|
|
1264
|
+
adapter (composite/command → ``run_command_sequence``; adapter → the adapter's
|
|
1265
|
+
``execute``) — no kind allowlist, so a synthetic ``kind="command"``/``"adapter"``
|
|
1266
|
+
language runs its oracle instead of falling to a silent NO-OP (the gap §8 closes).
|
|
1267
|
+
|
|
1268
|
+
LAYOUT VIEW per kind:
|
|
1269
|
+
|
|
1270
|
+
* ``command`` / ``composite`` (Go: ``go-toolchain``) — the command-sequence
|
|
1271
|
+
executor reads cwd/env from ``lang_profile.layout`` (module root etc.), so the
|
|
1272
|
+
synthetic ``LayoutProfile`` only needs to carry the module root (as
|
|
1273
|
+
``source_root``/etc.) + the canonical ``language`` for the contract re-resolve.
|
|
1274
|
+
* ``adapter`` (a Python-style in-process composite with no legacy profile) — the
|
|
1275
|
+
adapter reads ``source_root``/``test_root``/``package_root``/``package_name`` off
|
|
1276
|
+
the layout VIEW, so we synthesize that view from ``LanguageProfile.layout`` via
|
|
1277
|
+
:func:`synthesize_minimal_layout_view`.
|
|
1278
|
+
|
|
1279
|
+
In practice Go is the only BUILT-IN that reaches here (TS/Python HAVE legacy
|
|
1280
|
+
``LayoutProfile`` builders); the command/adapter branches exist so a NEW language
|
|
1281
|
+
(the §8 synthetic-language proof) is addable with NO core change. ``None`` for any
|
|
1282
|
+
language with neither a legacy profile nor a contract oracle (a strict NO-OP — step
|
|
1283
|
+
9 will make a profile-present-but-oracle-absent case explicit RED; untouched here).
|
|
1284
|
+
Best-effort: a registry error degrades to NO-OP (never a crash).
|
|
1145
1285
|
"""
|
|
1146
1286
|
contract = _resolve_contract_oracle(language)
|
|
1147
1287
|
if contract is None:
|
|
1148
1288
|
return None
|
|
1149
1289
|
lang_profile, oracle_decl, _adapter = contract
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1290
|
+
kind = getattr(oracle_decl, "kind", None)
|
|
1291
|
+
if kind == "adapter":
|
|
1292
|
+
# An in-process ``kind="adapter"`` oracle reads the richer layout view; build
|
|
1293
|
+
# it from the profile's modeled layout (the compat-view synthesis).
|
|
1294
|
+
synthetic = synthesize_minimal_layout_view(lang_profile)
|
|
1295
|
+
synthetic = _with_implement_oracle(
|
|
1296
|
+
synthetic,
|
|
1297
|
+
ImplementOracleSpec(
|
|
1298
|
+
command=f"{lang_profile.id}-adapter", # sentinel; kind dispatch runs the contract path
|
|
1299
|
+
kind="adapter",
|
|
1300
|
+
# An adapter bakes its own scope policy in certify_scope; the spec scope
|
|
1301
|
+
# is not the authority. Default both-required (the conservative, Python-
|
|
1302
|
+
# composite-matching choice) — the adapter may still strengthen.
|
|
1303
|
+
scope=OracleScopeSpec(require_source_root=True, require_test_root=True),
|
|
1304
|
+
requires_node_install=False,
|
|
1305
|
+
),
|
|
1306
|
+
)
|
|
1307
|
+
return synthetic, synthetic.implement_oracle
|
|
1308
|
+
# command / composite: a command-sequence oracle. Carry the module root for the
|
|
1309
|
+
# commands' cwd; the executor reads argv/cwd/env from lang_profile.layout.
|
|
1155
1310
|
module_root = _norm(getattr(lang_profile.layout, "module_root", ".") or ".") or "."
|
|
1156
1311
|
synthetic = LayoutProfile(
|
|
1157
1312
|
language=lang_profile.id, # canonical id ("go") — carried for the contract re-resolve
|
|
@@ -1160,8 +1315,8 @@ def _resolve_registry_composite_oracle(
|
|
|
1160
1315
|
package_root=module_root,
|
|
1161
1316
|
test_root=module_root,
|
|
1162
1317
|
implement_oracle=ImplementOracleSpec(
|
|
1163
|
-
command=f"{lang_profile.id}-
|
|
1164
|
-
kind="composite",
|
|
1318
|
+
command=f"{lang_profile.id}-{kind}", # sentinel; kind dispatch runs the contract path
|
|
1319
|
+
kind=str(kind or "composite"),
|
|
1165
1320
|
scope=OracleScopeSpec(require_source_root=True, require_test_root=False),
|
|
1166
1321
|
requires_node_install=False,
|
|
1167
1322
|
),
|
|
@@ -1169,6 +1324,15 @@ def _resolve_registry_composite_oracle(
|
|
|
1169
1324
|
return synthetic, synthetic.implement_oracle
|
|
1170
1325
|
|
|
1171
1326
|
|
|
1327
|
+
def _with_implement_oracle(
|
|
1328
|
+
profile: LayoutProfile, spec: ImplementOracleSpec
|
|
1329
|
+
) -> LayoutProfile:
|
|
1330
|
+
"""Return ``profile`` with its ``implement_oracle`` set to ``spec`` (frozen-safe)."""
|
|
1331
|
+
from dataclasses import replace
|
|
1332
|
+
|
|
1333
|
+
return replace(profile, implement_oracle=spec)
|
|
1334
|
+
|
|
1335
|
+
|
|
1172
1336
|
#: The rerun callback the gate invokes to re-implement under the oracle feedback.
|
|
1173
1337
|
#: ``scope is None`` ⇒ BROAD rerun (re-implement every task — the escalation
|
|
1174
1338
|
#: fallback, the legacy behaviour). A non-None ``OracleRerunScope`` ⇒ a SCOPED
|
|
@@ -1239,11 +1403,76 @@ def run_implement_oracle_gate(
|
|
|
1239
1403
|
profile=profile,
|
|
1240
1404
|
)
|
|
1241
1405
|
if resolved is None:
|
|
1406
|
+
# No runnable oracle resolved — but WHY decides the verdict (§9). The 4-state
|
|
1407
|
+
# model: a DECLARED-but-UNSUPPORTED stack is RED (never a silent pass); no
|
|
1408
|
+
# declared stack OR an explicit opt-out is a NO-OP-WITH-TRACE (visible, non-RED).
|
|
1409
|
+
state = classify_implement_oracle_state(language, config, resolved=resolved)
|
|
1410
|
+
if state == ORACLE_STATE_UNSUPPORTED_EXPLICIT:
|
|
1411
|
+
# The §9 closure: a non-empty language CoDD was told to build, with NO
|
|
1412
|
+
# registered oracle adapter. CoDD cannot prove this stack's coherence, so it
|
|
1413
|
+
# must NOT pass — an explicit unsupported RED, never a silent NO-OP.
|
|
1414
|
+
echo(
|
|
1415
|
+
f"[greenfield] implement-oracle: language {language!r} is declared but "
|
|
1416
|
+
"UNSUPPORTED (no registered oracle adapter) — RED (a declared stack CoDD "
|
|
1417
|
+
"cannot prove must not silently pass)."
|
|
1418
|
+
)
|
|
1419
|
+
return ImplementOracleResult(
|
|
1420
|
+
passed=False,
|
|
1421
|
+
executed=False,
|
|
1422
|
+
command=f"{language}-oracle",
|
|
1423
|
+
findings=[
|
|
1424
|
+
ImplementOracleFinding(
|
|
1425
|
+
category=EVIDENCE_ENVIRONMENT_BUILD,
|
|
1426
|
+
code="implement_oracle_unsupported",
|
|
1427
|
+
message=(
|
|
1428
|
+
f"no registered implement-oracle adapter for declared language "
|
|
1429
|
+
f"{language!r}; the implement-time coherence oracle cannot run, so "
|
|
1430
|
+
"the generated code's cross-artifact coherence is UNPROVEN. A "
|
|
1431
|
+
"declared-but-unsupported stack is RED, never a silent pass "
|
|
1432
|
+
"(add a LanguageProfile + oracle adapter for this stack, or opt "
|
|
1433
|
+
"out explicitly via implement.implement_oracle: false)."
|
|
1434
|
+
),
|
|
1435
|
+
)
|
|
1436
|
+
],
|
|
1437
|
+
detail=(
|
|
1438
|
+
f"declared-but-unsupported language {language!r}: no implement-time "
|
|
1439
|
+
"oracle adapter (unsupported → RED)"
|
|
1440
|
+
),
|
|
1441
|
+
)
|
|
1442
|
+
if state == ORACLE_STATE_OPT_OUT:
|
|
1443
|
+
# The user explicitly opted out (implement.implement_oracle: false). NOT RED
|
|
1444
|
+
# by default (preserves the documented opt-out contract; bounds blast radius),
|
|
1445
|
+
# but the NO-OP is now VISIBLE + excluded from the release green-gate.
|
|
1446
|
+
# [GPT §6 notes a stricter "RED in strict/greenfield" reading; we default to
|
|
1447
|
+
# NO-OP-with-trace so opt-out is never silently broken. To make opt-out RED in
|
|
1448
|
+
# strict mode instead, this branch would emit the unsupported RED above.]
|
|
1449
|
+
echo(
|
|
1450
|
+
"[greenfield] implement-oracle: opted out by config "
|
|
1451
|
+
"(implement.implement_oracle=false) — skipped, excluded from the green-gate "
|
|
1452
|
+
"(unsupported_oracle_allowed_by_config=true). NOT a proof."
|
|
1453
|
+
)
|
|
1454
|
+
return ImplementOracleResult(
|
|
1455
|
+
passed=True,
|
|
1456
|
+
executed=False,
|
|
1457
|
+
command="",
|
|
1458
|
+
detail=(
|
|
1459
|
+
"implement-time oracle opted out by config "
|
|
1460
|
+
"(implement.implement_oracle=false) — skipped, excluded from the "
|
|
1461
|
+
"green-gate (unsupported_oracle_allowed_by_config=true)"
|
|
1462
|
+
),
|
|
1463
|
+
)
|
|
1464
|
+
# LEGACY_ABSENT: no declared stack (language None/empty). Nothing to be
|
|
1465
|
+
# "unsupported" about — a passing NO-OP, but VISIBLE (a fallback, not a proof),
|
|
1466
|
+
# never silent.
|
|
1467
|
+
echo(
|
|
1468
|
+
"[greenfield] implement-oracle: no language declared — oracle skipped "
|
|
1469
|
+
"(fallback, not a proof)."
|
|
1470
|
+
)
|
|
1242
1471
|
return ImplementOracleResult(
|
|
1243
1472
|
passed=True,
|
|
1244
1473
|
executed=False,
|
|
1245
1474
|
command="",
|
|
1246
|
-
detail=f"no implement-time oracle
|
|
1475
|
+
detail=f"no language declared — implement-time oracle skipped (fallback) [{language!r}]",
|
|
1247
1476
|
)
|
|
1248
1477
|
profile, spec = resolved
|
|
1249
1478
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|