codd-dev 3.26.0__tar.gz → 3.27.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-3.26.0 → codd_dev-3.27.0}/PKG-INFO +1 -1
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/__init__.py +1 -1
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_cpp.py +54 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_java.py +35 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/java.yaml +14 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/project_types.py +96 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/vb_marker_authenticity.py +12 -1
- {codd_dev-3.26.0 → codd_dev-3.27.0}/pyproject.toml +1 -1
- {codd_dev-3.26.0 → codd_dev-3.27.0}/.gitignore +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/LICENSE +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/README.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/bench_fixture/README.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/__main__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/_git_helper.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/action_outcome.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/ai_invoke.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/ai_patch.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/artifact_contract.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/artifact_ids.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/artifacts/catalog.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/ask_user_question_adapter.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/assembler.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/bridge.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/brownfield/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/brownfield/pipeline.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/capability_completeness.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/claude_cli.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/cli.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/clustering.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/coherence_adapters.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/coherence_engine.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/confidence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/config.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/config_schema.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/contracts.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/contracts_registry/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/contracts_registry/__main__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/contracts_registry/certify.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/contracts_registry/generate_matrix.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/contracts_registry/registry.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/coverage_auditor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/coverage_execution_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/coverage_metrics.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/auto_repair.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/builder.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/_one_to_many_detection.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/artifact_contract_check.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/cardinality_coverage.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/ci_health.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/dependency_freshness.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/depends_on_consistency.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/deployment_completeness.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/edge_validity.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/environment_coverage.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/extraction_diagnostics.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/implementation_coverage.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/negative_space.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/node_completeness.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/opt_out.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/resource_flow_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/semantic_contract_conflict.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/source_completeness.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/stale_evidence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/task_completion.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/transitive_closure.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/ui_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/unresolved_import_residue.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/checks/user_journey_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/coverage_axes.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/cli.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/cpp_embedded.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/csharp.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/elixir.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/generic.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/iot.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/java.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/kotlin.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/mobile.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/ruby.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/rust.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/scala.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/swift.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/test_frameworks.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/defaults/web.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/impact.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/materiality.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/metadata_access.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/result_status.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dag/runner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/defaults.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/defaults.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/dependency_lock_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deploy_targets/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deploy_targets/app_service.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deploy_targets/base.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deploy_targets/docker_compose.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployer.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/checks/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/defaults/deploy_targets.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/defaults/runtime_capability_inference.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/defaults/schema_providers.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/defaults/verification_templates.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/ai_command.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/ai_command_factory.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/codex_app_server.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/llm_consideration.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/schema/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/schema/prisma.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/target/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/target/docker_compose.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/assertion_handlers.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/cdp_browser.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/cdp_engines.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/cdp_launchers.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/cdp_wire.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/curl.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/form_strategies.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/means_catalog.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/playwright.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/pytest_http.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/vitest.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/design_md.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/diff/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/diff/apply.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/diff/engine.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/diff/persistence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/diff/templates/diff_prompt.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/discovery.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/drift.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/e2e_contract_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/e2e_extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/e2e_generator.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/e2e_harness.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/e2e_runner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/apply.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/engine.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/finding.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/formatters/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/formatters/base.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/formatters/interactive.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/formatters/json_fmt.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/formatters/md.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/gap_to_ask.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/lexicon_loader.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/persistence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/promote.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/routing.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/elicit/templates/elicit_prompt_L0.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/env_refs.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/extract_ai.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/extract_paths.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/candidate_selector.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/design_updater.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/impact_planner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/impl_propagation.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/interactive_prompt.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/phenomenon_fixer.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/phenomenon_parser.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/risk_classifier.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/templates/clarification_question.txt +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/templates/design_update.txt +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/templates/impl_update.txt +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/templates/phenomenon_parse.txt +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/templates/risk_assessment.txt +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fix/templates_loader.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fixer.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fixup_drift.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fixup_drift_strategies/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fixup_drift_strategies/design_token_drift.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fixup_drift_strategies/lexicon_violation.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/fixup_drift_strategies/url_drift.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/frontmatter.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/generator.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/git_evidence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/graph.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/greenfield/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/greenfield/pipeline.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/greenfield/test_rederivation.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hitl_session.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/pre-commit +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/recipes/claude_requirements_nudge.json +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/recipes/claude_settings_example.json +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/recipes/codex_hook.sh +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/recipes/git_post_commit.sh +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/hooks/recipes/git_pre_commit.sh +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/iac_nfr.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implement_oracle.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implement_oracle_scope.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implement_oracle_types.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implementer/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implementer/chunked_runner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implementer/typecheck_loop.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/implementer.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/import_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/inheritance.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/init/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/init/lexicon_suggest.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/init/llm_lexicon_suggester.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/init/stack_detector.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/json_safe.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/knowledge_fetcher.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/implement_oracle.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/import_resolver.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_csharp.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_go.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_javascript.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_python.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/oracle_typescript.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/adapters/runner_report.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/builtin_adapters.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/compat.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/contract.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/loader.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/oracle_executor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/path_planner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profile.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/cpp.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/csharp.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/go.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/javascript.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/python.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/profiles/typescript.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/registry.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/verify_executor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/languages/verify_plan.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/formatters/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/formatters/html.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/formatters/json_fmt.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/formatters/md.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/inspector.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/manager.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/reporter.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/lexicon_cli/threshold.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/approval.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/best_practice_augmenter.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/criteria_expander.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/design_doc_extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/impl_step_deriver.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/means_catalog_loader.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/parser.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/plan_deriver.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/prompt_builder.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/strategy_validator.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/best_practice_augment_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/criteria_expand_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/design_doc_extract_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/impl_step_derive_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/implementation_step_catalog.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/meta_instruction.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/plan_derive_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/llm/templates/verification_means_catalog.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/mcp_server.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/measure.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/operational_e2e_audit.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/operations_derive.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/_shared.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/api_specs.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/extractor_registry.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/filesystem_routes.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/iac.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/python_ast.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/regex_strategies.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/schemas.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/tests_builddeps.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/parsing/treesitter.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/path_safety.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/planner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/policy.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/preflight/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/preflight/defaults/cli.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/preflight/defaults/generic.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/preflight/defaults/iot.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/preflight/defaults/mobile.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/preflight/defaults/web.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/propagate.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/propagation_common.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/propagator.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/reconciliation_ledger.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/reference_resolution.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/registry.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/approval_repair.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/auto_scope_guard.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/design_context.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/engine.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/git_patcher.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/history.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/llm_repair_engine.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/loop.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/primary_picker.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/proof_breaks.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/repair_result.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/repairability_classifier.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/schema.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/templates/analyze_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/templates/propose_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/templates/repair_strategy_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/templates/repairability_meta.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/test_failure_attribution.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair/verify_runner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/repair_slice.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/require.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/require_plugins.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/require_propagate.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/required_artifacts/defaults/cli.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/required_artifacts/defaults/generic.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/required_artifacts/defaults/iot.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/required_artifacts/defaults/mobile.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/required_artifacts/defaults/web.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/required_artifacts_deriver.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_completeness/defaults/cli.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_completeness/defaults/generic.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_completeness/defaults/iot.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_completeness/defaults/mobile.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_completeness/defaults/web.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_completeness_auditor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirement_reconciliation.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/requirements_meta.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/restoration_report.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/restore.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/routes_extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/runtime_smoke/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/runtime_smoke/checks.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/runtime_smoke/config.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/runtime_smoke/report.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/runtime_smoke/runner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/scanner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/schema_refs.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/screen_flow_validator.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/screen_transition_extractor.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/screen_transitions/defaults.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/skills_cli/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/skills_cli/discovery.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/skills_cli/manager.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/skills_cli/paths.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/adapters/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/adapters/_base.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/adapters/nextjs.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/adapters/playwright.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/adapters/prisma.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/command_authenticity.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/command_override.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/command_plan.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/compose.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/loader.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/lock.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/obligations.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/profile.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/profiles/addons/playwright.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/profiles/addons/prisma.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/profiles/frameworks/nextjs.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/project.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/registry.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/replacement_proof.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/stack/resolve.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/surface_reconciliation.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/synth.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/codd.yaml.tmpl +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/conventions.yaml.tmpl +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/data_dependencies.yaml.tmpl +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/doc_links.yaml.tmpl +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/extract_ai_prompt_baseline.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/extracted/api-contract.md.j2 +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/extracted/architecture-overview.md.j2 +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/extracted/module-detail.md.j2 +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/extracted/schema-design.md.j2 +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/extracted/system-context.md.j2 +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/gitignore.tmpl +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/lexicon_questions.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/lexicon_schema.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/templates/overrides.yaml.tmpl +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/test_detection.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/test_import_coherence.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/traceability.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/validator.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/vb_rerun_scope.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/verifiable_behavior_audit.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/watch/__init__.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/watch/events.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/watch/propagation_log.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/watch/propagation_pipeline.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/watch/test_runner.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/watch/watcher.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd/wiring.py +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ai_governance_eu_act/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ai_governance_eu_act/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ai_governance_eu_act/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ai_governance_eu_act/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ai_governance_eu_act/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ai_governance_eu_act/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rate_limiting_caching/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rate_limiting_caching/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rate_limiting_caching/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rate_limiting_caching/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rate_limiting_caching/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rate_limiting_caching/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rest_openapi/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rest_openapi/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rest_openapi/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rest_openapi/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rest_openapi/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/api_rest_openapi/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/babok/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/babok/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/babok/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/babok/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/babok/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_event_cloudevents/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_event_cloudevents/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_event_cloudevents/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_event_cloudevents/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_event_cloudevents/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_event_cloudevents/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_graphql/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_graphql/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_graphql/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_graphql/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_graphql/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_graphql/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_grpc_proto/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_grpc_proto/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_grpc_proto/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_grpc_proto/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_grpc_proto/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/backend_grpc_proto/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_hipaa/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_hipaa/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_hipaa/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_hipaa/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_hipaa/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_hipaa/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_iso27001/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_iso27001/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_iso27001/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_iso27001/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_iso27001/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_iso27001/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_pci_dss_4/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_pci_dss_4/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_pci_dss_4/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_pci_dss_4/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_pci_dss_4/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/compliance_pci_dss_4/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_aggregation_policies/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_aggregation_policies/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_aggregation_policies/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_aggregation_policies/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_aggregation_policies/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_aggregation_policies/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_eventsourcing_es_cqrs/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_governance_appi_gdpr/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_governance_appi_gdpr/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_governance_appi_gdpr/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_governance_appi_gdpr/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_governance_appi_gdpr/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_governance_appi_gdpr/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_nosql_jsonschema/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_nosql_jsonschema/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_nosql_jsonschema/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_nosql_jsonschema/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_nosql_jsonschema/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_nosql_jsonschema/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_relational_iso_sql/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_relational_iso_sql/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_relational_iso_sql/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_relational_iso_sql/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_relational_iso_sql/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/data_relational_iso_sql/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ddd_domain_driven_design/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ddd_domain_driven_design/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ddd_domain_driven_design/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ddd_domain_driven_design/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ddd_domain_driven_design/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ddd_domain_driven_design/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/dora_sre_metrics/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/dora_sre_metrics/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/dora_sre_metrics/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/dora_sre_metrics/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/dora_sre_metrics/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/dora_sre_metrics/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/i18n_unicode_cldr/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/i18n_unicode_cldr/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/i18n_unicode_cldr/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/i18n_unicode_cldr/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/i18n_unicode_cldr/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/i18n_unicode_cldr/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ml_model_cards/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ml_model_cards/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ml_model_cards/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ml_model_cards/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ml_model_cards/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ml_model_cards/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_a11y_native/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_a11y_native/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_a11y_native/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_a11y_native/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_a11y_native/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_a11y_native/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_android_material3/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_android_material3/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_android_material3/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_android_material3/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_android_material3/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_android_material3/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_ios_hig/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_ios_hig/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_ios_hig/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_ios_hig/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_ios_hig/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_ios_hig/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_security_masvs/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_security_masvs/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_security_masvs/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_security_masvs/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_security_masvs/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/mobile_security_masvs/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_cicd_pipeline/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_cicd_pipeline/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_cicd_pipeline/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_cicd_pipeline/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_cicd_pipeline/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_cicd_pipeline/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_iac_terraform/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_iac_terraform/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_iac_terraform/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_iac_terraform/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_iac_terraform/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_iac_terraform/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_kubernetes/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_kubernetes/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_kubernetes/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_kubernetes/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_kubernetes/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_kubernetes/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_observability_otel/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_observability_otel/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_observability_otel/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_observability_otel/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_observability_otel/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/ops_observability_otel/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_iso25010/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_iso25010/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_iso25010/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_iso25010/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_iso25010/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_iso25010/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_test_iso29119/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_test_iso29119/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_test_iso29119/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_test_iso29119/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_test_iso29119/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/process_test_iso29119/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/twelve_factor_app/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/twelve_factor_app/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/twelve_factor_app/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/twelve_factor_app/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/twelve_factor_app/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/twelve_factor_app/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_a11y_wcag22_aa/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_authn_webauthn/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_authn_webauthn/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_authn_webauthn/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_authn_webauthn/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_authn_webauthn/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_authn_webauthn/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_browser_compat/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_browser_compat/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_browser_compat/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_browser_compat/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_browser_compat/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_browser_compat/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_forms_html5/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_forms_html5/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_forms_html5/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_forms_html5/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_forms_html5/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_forms_html5/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_performance_core_web_vitals/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_performance_core_web_vitals/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_performance_core_web_vitals/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_performance_core_web_vitals/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_performance_core_web_vitals/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_performance_core_web_vitals/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_pwa_manifest/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_pwa_manifest/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_pwa_manifest/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_pwa_manifest/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_pwa_manifest/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_pwa_manifest/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_responsive/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_responsive/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_responsive/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_responsive/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_responsive/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_responsive/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_security_owasp/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_security_owasp/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_security_owasp/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_security_owasp/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_security_owasp/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_security_owasp/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_seo_schemaorg/coverage_matrix.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_seo_schemaorg/elicit_extend.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_seo_schemaorg/lexicon.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_seo_schemaorg/manifest.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_seo_schemaorg/recommended_kinds.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/lexicons/web_seo_schemaorg/severity_rules.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/codd_plugins/stack_map.yaml +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/docs/cookbook/cdp_browser/README.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/docs/cookbook/presentation_aggregation/README.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/docs/requirements/README.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/examples/README.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-assemble/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-evolve/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-fable-consult/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-generate/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-greenfield/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-impact/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-init/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-propagate/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-restore/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-scan/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.0}/skills/codd-validate/SKILL.md +0 -0
- {codd_dev-3.26.0 → codd_dev-3.27.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: 3.
|
|
3
|
+
Version: 3.27.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
|
|
@@ -214,6 +214,37 @@ _CPP_HEADER_NOT_FOUND_CLANG = re.compile(
|
|
|
214
214
|
r"^'(?P<header>[^']+)'\s+file not found\b"
|
|
215
215
|
)
|
|
216
216
|
|
|
217
|
+
#: GNU ld's undefined-reference diagnostic — the LINK-time analogue of the
|
|
218
|
+
#: undeclared-symbol family (an implementation artifact fails to DEFINE a symbol
|
|
219
|
+
#: another artifact demands). Two shapes, both anchored on the message tail:
|
|
220
|
+
#: * ``/usr/bin/ld: file.cpp:(.text+0x40): undefined reference to `sym'``
|
|
221
|
+
#: * ``file.cpp:(.text+0x40): undefined reference to `sym'`` (no ld prefix)
|
|
222
|
+
#: The referencing TU (``file.cpp``) and the SYMBOL are captured: the symbol is the
|
|
223
|
+
#: repair-feedback identity (WHAT is missing), the TU the best-available file
|
|
224
|
+
#: attribution (WHO demands it). lld/mold keep the same message tail. Without this
|
|
225
|
+
#: regex a pure link failure had NO parseable diagnostic and collapsed to an opaque
|
|
226
|
+
#: environment_build_error, aborting the repair loop (cpp2 exprcalc dogfood,
|
|
227
|
+
#: 2026-07-11).
|
|
228
|
+
_CPP_LD_UNDEFINED_RE = re.compile(
|
|
229
|
+
r"^(?:\S*ld(?:\.\w+)?:\s*)?"
|
|
230
|
+
r"(?:(?P<path>[^\s:][^:\n]*\.(?:h|hpp|hh|hxx|c|cc|cpp|cxx|cppm|ixx)):\(\S*\):\s*)?"
|
|
231
|
+
r"undefined reference to [`'](?P<symbol>[^']+)'"
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
#: ld's two-line context header (``…/main.cpp.o: in function `main':``) — context
|
|
235
|
+
#: for the positioned undefined-reference that follows, never a diagnostic itself.
|
|
236
|
+
_CPP_LD_CONTEXT_RE = re.compile(
|
|
237
|
+
r"^(?:\S*ld(?:\.\w+)?:\s*)?\S+\.o(?:bj)?:\s*in function\s"
|
|
238
|
+
)
|
|
239
|
+
|
|
240
|
+
#: collect2's sign-off (``collect2: error: ld returned 1 exit status``) — a SUMMARY
|
|
241
|
+
#: epilog after the explicit ld error lines above it. Skipped in PARSING only (the
|
|
242
|
+
#: undefined-reference findings are the authority); deliberately NOT recognized in
|
|
243
|
+
#: the benign-accounting path, so a collect2 line with NO accompanying parsed
|
|
244
|
+
#: diagnostic stays an honest opaque RED (anti-false-green — same reasoning as the
|
|
245
|
+
#: ``ninja:`` note above).
|
|
246
|
+
_CPP_LD_EPILOG_RE = re.compile(r"^collect2:\s*(?:fatal error|error):\s*ld returned")
|
|
247
|
+
|
|
217
248
|
#: cmake progress / informational chatter that is NOT a failure — the C++ analogue
|
|
218
249
|
#: of Go's ``# pkg`` headers + ``ok``/``?`` run-summary noise. ``--`` status lines
|
|
219
250
|
#: (``-- Configuring done``, ``-- Detecting C compiler ...``, ``-- Build files have
|
|
@@ -412,6 +443,7 @@ def _parse_cpp_tool_output(
|
|
|
412
443
|
"""
|
|
413
444
|
findings: list[ImplementOracleFinding] = []
|
|
414
445
|
failed_paths: list[str] = []
|
|
446
|
+
seen_ld_refs: set[tuple[str | None, str]] = set()
|
|
415
447
|
|
|
416
448
|
def _add(category: str, code: str, message: str, rel: str | None) -> None:
|
|
417
449
|
findings.append(
|
|
@@ -437,6 +469,28 @@ def _parse_cpp_tool_output(
|
|
|
437
469
|
):
|
|
438
470
|
continue
|
|
439
471
|
|
|
472
|
+
# ld undefined-reference → missing_symbol, deduped per (TU, symbol): ld
|
|
473
|
+
# repeats the same reference once per call site; per-site duplicates add
|
|
474
|
+
# no repair signal. The symbol identity rides the message (feedback).
|
|
475
|
+
ld = _CPP_LD_UNDEFINED_RE.match(line)
|
|
476
|
+
if ld is not None:
|
|
477
|
+
symbol = ld.group("symbol").strip()
|
|
478
|
+
raw_path = ld.group("path")
|
|
479
|
+
rel = _cpp_rel_path(raw_path, project_root) if raw_path else None
|
|
480
|
+
key = (rel, symbol)
|
|
481
|
+
if key not in seen_ld_refs:
|
|
482
|
+
seen_ld_refs.add(key)
|
|
483
|
+
_add(
|
|
484
|
+
EVIDENCE_MISSING_SYMBOL,
|
|
485
|
+
"CPP_LD_UNDEFINED_REFERENCE",
|
|
486
|
+
f"undefined reference to `{symbol}' (link-time; referenced "
|
|
487
|
+
f"from {rel or 'unknown TU'})",
|
|
488
|
+
rel,
|
|
489
|
+
)
|
|
490
|
+
continue
|
|
491
|
+
if _CPP_LD_CONTEXT_RE.match(line) or _CPP_LD_EPILOG_RE.match(line):
|
|
492
|
+
continue # ld context / collect2 epilog — the reference lines above are the authority
|
|
493
|
+
|
|
440
494
|
m = _CPP_DIAG_LINE.match(line)
|
|
441
495
|
if m is not None:
|
|
442
496
|
severity = (m.group("severity") or "").strip().lower()
|
|
@@ -139,6 +139,22 @@ _JAVA_ERROR_SUMMARY_RE = re.compile(
|
|
|
139
139
|
r"after the errors? )",
|
|
140
140
|
)
|
|
141
141
|
|
|
142
|
+
#: A POSITIONLESS fatal compiler-plugin failure. javac/maven emit it WITHOUT any
|
|
143
|
+
#: ``File.java:`` anchor — canonical shapes:
|
|
144
|
+
#: * ``[ERROR] Failed to execute goal …maven-compiler-plugin…: Fatal error
|
|
145
|
+
#: compiling: error: release version 21 not supported -> [Help 1]``
|
|
146
|
+
#: * ``[ERROR] Fatal error compiling: error: invalid target release: 21``
|
|
147
|
+
#: The tail after ``Fatal error compiling:`` is the authoritative message (the
|
|
148
|
+
#: trailing ``-> [Help N]`` pointer is stripped). Without this catch the whole run
|
|
149
|
+
#: had NO parseable diagnostic — the ``Failed to execute goal`` wrapper is
|
|
150
|
+
#: summary-echo noise — and collapsed to an opaque environment_build_error that
|
|
151
|
+
#: aborts the repair loop (java2 exprcalc dogfood, 2026-07-11). The C# adapter's
|
|
152
|
+
#: positionless ``error CS####`` catch (``_CS_DIAG_NO_POS``) is the parity
|
|
153
|
+
#: precedent for a positionless first-class diagnostic.
|
|
154
|
+
_JAVA_FATAL_COMPILING_RE = re.compile(
|
|
155
|
+
r"\bFatal error compiling:\s*(?P<message>.+?)\s*(?:->\s*\[Help[^\]]*\]?\s*)?$"
|
|
156
|
+
)
|
|
157
|
+
|
|
142
158
|
|
|
143
159
|
# ── pure helpers ─────────────────────────────────────────────────────────────
|
|
144
160
|
|
|
@@ -209,12 +225,31 @@ def _parse_java_tool_output(
|
|
|
209
225
|
"""
|
|
210
226
|
findings: list[ImplementOracleFinding] = []
|
|
211
227
|
failed_paths: list[str] = []
|
|
228
|
+
seen_fatal: set[str] = set()
|
|
212
229
|
for raw_line in (output or "").splitlines():
|
|
213
230
|
line = raw_line.rstrip()
|
|
214
231
|
if not line.strip():
|
|
215
232
|
continue
|
|
216
233
|
matched = _match_java_diagnostic(line)
|
|
217
234
|
if matched is None:
|
|
235
|
+
# A positionless ``Fatal error compiling: …`` (toolchain-level compile
|
|
236
|
+
# failure, e.g. a --release the installed JDK cannot satisfy) is a
|
|
237
|
+
# first-class diagnostic even without a File.java anchor. Deduped by
|
|
238
|
+
# message: maven prints the same fatal in both the Failed-to-execute-
|
|
239
|
+
# goal wrapper and the bare echo form.
|
|
240
|
+
fatal = _JAVA_FATAL_COMPILING_RE.search(line)
|
|
241
|
+
if fatal is not None:
|
|
242
|
+
message = fatal.group("message").strip()
|
|
243
|
+
if message not in seen_fatal:
|
|
244
|
+
seen_fatal.add(message)
|
|
245
|
+
findings.append(
|
|
246
|
+
ImplementOracleFinding(
|
|
247
|
+
category=EVIDENCE_OTHER,
|
|
248
|
+
code="JAVA_FATAL_COMPILING",
|
|
249
|
+
message=f"[{tool}] Fatal error compiling: {message}",
|
|
250
|
+
path=None,
|
|
251
|
+
)
|
|
252
|
+
)
|
|
218
253
|
continue
|
|
219
254
|
path_raw, message = matched
|
|
220
255
|
category, code = _classify_java_diagnostic(message)
|
|
@@ -282,6 +282,20 @@ scaffold:
|
|
|
282
282
|
compiler_plugin_version: "3.13.0"
|
|
283
283
|
build_helper_plugin_version: "3.6.0"
|
|
284
284
|
|
|
285
|
+
# Host-toolchain version clamp — the environment-continuation projection of
|
|
286
|
+
# toolchain materialization (v3.15.0 lineage) applied to scaffold DEFAULTS: a
|
|
287
|
+
# declared toolchain level must never EXCEED what the host provides, or the
|
|
288
|
+
# scaffolded pom demands a --release the installed JDK cannot satisfy and the
|
|
289
|
+
# implement oracle reds on "Fatal error compiling: error: release version N
|
|
290
|
+
# not supported" (java2 exprcalc dogfood, 2026-07-11). The probe runs once at
|
|
291
|
+
# scaffold time; min semantics (declared 21 + host 17 → 17; declared 11 +
|
|
292
|
+
# host 17 → 11); probe failure keeps the declared value (fail-open).
|
|
293
|
+
# CONTENT-only: clamped variables must never appear in a template `path`.
|
|
294
|
+
host_version_clamps:
|
|
295
|
+
java_version:
|
|
296
|
+
probe_argv: ["javac", "-version"]
|
|
297
|
+
version_pattern: '(\d+)'
|
|
298
|
+
|
|
285
299
|
templates:
|
|
286
300
|
# Single pom.xml: Java's package_root.kind=none means there is no C#-style
|
|
287
301
|
# nested lib/test project split to enforce deliverable purity. Maven's own
|
|
@@ -27,6 +27,7 @@ from __future__ import annotations
|
|
|
27
27
|
import dataclasses
|
|
28
28
|
import json
|
|
29
29
|
import os
|
|
30
|
+
import re
|
|
30
31
|
import subprocess
|
|
31
32
|
import sys
|
|
32
33
|
from collections.abc import Callable, Mapping
|
|
@@ -2807,6 +2808,96 @@ def _generic_template_substitutions(
|
|
|
2807
2808
|
return subst
|
|
2808
2809
|
|
|
2809
2810
|
|
|
2811
|
+
def _probe_host_toolchain_version(argv: tuple[str, ...], pattern: str) -> int | None:
|
|
2812
|
+
"""Best-effort host-toolchain MAJOR-version probe (``javac -version`` → ``17``).
|
|
2813
|
+
|
|
2814
|
+
Runs the profile-declared probe argv (10s timeout), searches ``pattern``
|
|
2815
|
+
(first group = the major) across stdout+stderr (``javac -version`` printed to
|
|
2816
|
+
stderr before JDK 9, stdout after), and returns the integer major — or
|
|
2817
|
+
``None`` on ANY failure (missing binary, timeout, no match, non-integer
|
|
2818
|
+
group). The caller treats ``None`` as "keep the declared default"
|
|
2819
|
+
(fail-open): the probe can only ever LOWER a doomed default, never introduce
|
|
2820
|
+
a new failure mode.
|
|
2821
|
+
"""
|
|
2822
|
+
try:
|
|
2823
|
+
proc = subprocess.run(
|
|
2824
|
+
list(argv), capture_output=True, text=True, timeout=10, check=False
|
|
2825
|
+
)
|
|
2826
|
+
except (OSError, subprocess.SubprocessError):
|
|
2827
|
+
return None
|
|
2828
|
+
match = re.search(pattern, f"{proc.stdout}\n{proc.stderr}")
|
|
2829
|
+
if match is None:
|
|
2830
|
+
return None
|
|
2831
|
+
try:
|
|
2832
|
+
return int(match.group(1))
|
|
2833
|
+
except (IndexError, ValueError):
|
|
2834
|
+
return None
|
|
2835
|
+
|
|
2836
|
+
|
|
2837
|
+
def _generic_template_host_clamps(
|
|
2838
|
+
language: str | None,
|
|
2839
|
+
) -> dict[str, Mapping[str, Any]]:
|
|
2840
|
+
"""The profile's ``scaffold.host_version_clamps`` mapping (raw view), or ``{}``.
|
|
2841
|
+
|
|
2842
|
+
Read from ``raw`` like ``scaffold.defaults`` (the ScaffoldSpec dataclass
|
|
2843
|
+
models only adapter/owned_files/templates; ``raw`` is the documented
|
|
2844
|
+
later-phase escape hatch).
|
|
2845
|
+
"""
|
|
2846
|
+
lang_profile = _resolve_kernel_language_profile(language)
|
|
2847
|
+
raw = getattr(lang_profile, "raw", None) if lang_profile is not None else None
|
|
2848
|
+
if isinstance(raw, Mapping):
|
|
2849
|
+
raw_scaffold = raw.get("scaffold")
|
|
2850
|
+
if isinstance(raw_scaffold, Mapping):
|
|
2851
|
+
clamps = raw_scaffold.get("host_version_clamps")
|
|
2852
|
+
if isinstance(clamps, Mapping):
|
|
2853
|
+
return {
|
|
2854
|
+
str(k): v for k, v in clamps.items() if isinstance(v, Mapping)
|
|
2855
|
+
}
|
|
2856
|
+
return {}
|
|
2857
|
+
|
|
2858
|
+
|
|
2859
|
+
def _resolve_host_clamped_defaults(
|
|
2860
|
+
defaults: Mapping[str, str], clamps: Mapping[str, Mapping[str, Any]]
|
|
2861
|
+
) -> tuple[dict[str, str], list[str]]:
|
|
2862
|
+
"""Clamp scaffold DEFAULTS to the host toolchain — the environment-continuation
|
|
2863
|
+
projection of toolchain materialization (v3.15.0 lineage) applied to the
|
|
2864
|
+
generic-template scaffold's substitution variables.
|
|
2865
|
+
|
|
2866
|
+
For each profile-declared clamp key: probe the host (profile-declared
|
|
2867
|
+
argv+pattern); when the probed major is LOWER than the declared default's
|
|
2868
|
+
leading integer, replace the default with the probed major (min semantics —
|
|
2869
|
+
a declared ``21`` on a JDK-17 host scaffolds ``17``; a declared ``11`` on a
|
|
2870
|
+
JDK-17 host stays ``11``). A probe failure or a non-numeric declared value
|
|
2871
|
+
keeps the declared default (fail-open). Returns ``(resolved defaults,
|
|
2872
|
+
human-readable clamp notes)`` — the notes ride the scaffold detail so a
|
|
2873
|
+
clamp is never silent. CONTENT-only: the harness-owned PATH declaration
|
|
2874
|
+
(:meth:`LayoutProfile.harness_owned_scaffold_paths`) substitutes UNCLAMPED
|
|
2875
|
+
defaults, so a clamped variable must never appear in a template ``path``.
|
|
2876
|
+
"""
|
|
2877
|
+
out = dict(defaults)
|
|
2878
|
+
notes: list[str] = []
|
|
2879
|
+
for key, spec in (clamps or {}).items():
|
|
2880
|
+
declared = out.get(key)
|
|
2881
|
+
if declared is None:
|
|
2882
|
+
continue
|
|
2883
|
+
declared_match = re.match(r"\s*(\d+)", str(declared))
|
|
2884
|
+
if declared_match is None:
|
|
2885
|
+
continue # non-numeric default → this clamp cannot reason about it
|
|
2886
|
+
declared_major = int(declared_match.group(1))
|
|
2887
|
+
argv = tuple(str(a) for a in (spec.get("probe_argv") or ()) if str(a).strip())
|
|
2888
|
+
if not argv:
|
|
2889
|
+
continue
|
|
2890
|
+
pattern = str(spec.get("version_pattern") or r"(\d+)")
|
|
2891
|
+
probed = _probe_host_toolchain_version(argv, pattern)
|
|
2892
|
+
if probed is None or probed >= declared_major:
|
|
2893
|
+
continue
|
|
2894
|
+
out[key] = str(probed)
|
|
2895
|
+
notes.append(
|
|
2896
|
+
f"host-clamped {key} {declared}→{probed} (probe: {' '.join(argv)})"
|
|
2897
|
+
)
|
|
2898
|
+
return out, notes
|
|
2899
|
+
|
|
2900
|
+
|
|
2810
2901
|
def _apply_template_substitutions(text: str, subst: Mapping[str, str]) -> str:
|
|
2811
2902
|
"""Replace each ``{key}`` token with its value (replace-based, NOT ``str.format`` — so
|
|
2812
2903
|
a template's literal braces never raise; mirrors the oracle gate's ``{package_name}``
|
|
@@ -2862,6 +2953,9 @@ def _scaffold_generic_template(
|
|
|
2862
2953
|
code branch — a new generic-template stack is one YAML profile + the opt-in key.
|
|
2863
2954
|
"""
|
|
2864
2955
|
templates, defaults, _owned = spec
|
|
2956
|
+
defaults, clamp_notes = _resolve_host_clamped_defaults(
|
|
2957
|
+
defaults, _generic_template_host_clamps(profile.language)
|
|
2958
|
+
)
|
|
2865
2959
|
subst = _generic_template_substitutions(profile, defaults)
|
|
2866
2960
|
created: list[str] = []
|
|
2867
2961
|
skipped: list[str] = []
|
|
@@ -2891,6 +2985,8 @@ def _scaffold_generic_template(
|
|
|
2891
2985
|
f"generic-template: {len(created)} created, {len(skipped)} skipped "
|
|
2892
2986
|
f"(package={profile.package_name})"
|
|
2893
2987
|
)
|
|
2988
|
+
if clamp_notes:
|
|
2989
|
+
detail += "; " + "; ".join(clamp_notes)
|
|
2894
2990
|
return ScaffoldResult(
|
|
2895
2991
|
language=profile.language,
|
|
2896
2992
|
created=tuple(created),
|
|
@@ -3488,8 +3488,19 @@ _CSHARP_SKIP_ARG_RE = re.compile(r"\bSkip\s*=")
|
|
|
3488
3488
|
#: ``(?<![A-Za-z0-9_.])`` so a member access ``foo.Assert.X`` (an unrelated SUT
|
|
3489
3489
|
#: type that happens to expose an ``Assert`` member) does not masquerade as the
|
|
3490
3490
|
#: framework's static ``Assert``.
|
|
3491
|
+
#: Optional generic type-argument list between the method name and ``(`` —
|
|
3492
|
+
#: ``Assert.IsType<ParseError>(x)``, ``Assert.Throws<T>(() => …)``, nested up to
|
|
3493
|
+
#: depth 3 (``Assert.IsType<Dictionary<string, List<int>>>(x)``). ``;{}`` are
|
|
3494
|
+
#: excluded so a malformed ``<`` can never swallow past a statement boundary.
|
|
3495
|
+
#: Without this, generic-only asserts were reported as "test with NO assertion"
|
|
3496
|
+
#: (false-RED observed on the csharp exprcalc greenfield dogfood, 2026-07-11).
|
|
3497
|
+
_CSHARP_GENERIC_ARGS = (
|
|
3498
|
+
r"<[^<>;{}]*(?:<[^<>;{}]*(?:<[^<>;{}]*>[^<>;{}]*)*>[^<>;{}]*)*>"
|
|
3499
|
+
)
|
|
3491
3500
|
_CSHARP_ASSERT_CALL_RE = re.compile(
|
|
3492
|
-
r"(?<![A-Za-z0-9_.])Assert\.[A-Z][A-Za-z0-9_]*\s
|
|
3501
|
+
r"(?<![A-Za-z0-9_.])Assert\.[A-Z][A-Za-z0-9_]*\s*(?:"
|
|
3502
|
+
+ _CSHARP_GENERIC_ARGS
|
|
3503
|
+
+ r")?\s*\("
|
|
3493
3504
|
)
|
|
3494
3505
|
|
|
3495
3506
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/defaults/runtime_capability_inference.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/assertion_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codd_dev-3.26.0 → codd_dev-3.27.0}/codd/deployment/providers/verification/form_strategies.py
RENAMED
|
File without changes
|