sdetkit 1.0.3__tar.gz → 1.2.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.
- sdetkit-1.2.0/PKG-INFO +215 -0
- sdetkit-1.2.0/README.md +155 -0
- sdetkit-1.2.0/pyproject.toml +253 -0
- sdetkit-1.2.0/src/sdetkit/__init__.py +45 -0
- sdetkit-1.2.0/src/sdetkit/__main__.py +70 -0
- sdetkit-1.2.0/src/sdetkit/_compat_alias.py +37 -0
- sdetkit-1.2.0/src/sdetkit/_datetime.py +5 -0
- sdetkit-1.2.0/src/sdetkit/_entrypoints.py +14 -0
- sdetkit-1.2.0/src/sdetkit/_failed_check_log_collection_core.py +687 -0
- sdetkit-1.2.0/src/sdetkit/_legacy_cli.py +2604 -0
- sdetkit-1.2.0/src/sdetkit/_legacy_workflow.py +9 -0
- sdetkit-1.2.0/src/sdetkit/_pr_quality_live_dashboard_core.py +1069 -0
- sdetkit-1.2.0/src/sdetkit/_pr_quality_required_terminal_checks.py +101 -0
- sdetkit-1.2.0/src/sdetkit/_pr_quality_required_terminal_merge.py +11 -0
- sdetkit-1.2.0/src/sdetkit/_pr_quality_required_terminal_records.py +72 -0
- sdetkit-1.2.0/src/sdetkit/_pr_quality_required_terminal_snapshot.py +242 -0
- sdetkit-1.2.0/src/sdetkit/_toml.py +21 -0
- sdetkit-1.2.0/src/sdetkit/acceleration.py +460 -0
- sdetkit-1.2.0/src/sdetkit/adaptive.py +4 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_dashboard.py +283 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_diagnosis.py +2144 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_diagnosis_memory.py +655 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_enterprise_analytics.py +299 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_enterprise_governance.py +221 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_failure_bundle.py +291 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_fix_audit.py +274 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_integration_adapters.py +139 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_learning_import.py +285 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_memory.py +281 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_patch_plan.py +391 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_portfolio_rollup.py +332 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_remediation_policy.py +328 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_safe_fix.py +206 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_safe_remediation.py +285 -0
- sdetkit-1.2.0/src/sdetkit/adaptive_sentinel.py +1355 -0
- sdetkit-1.2.0/src/sdetkit/adoption.py +356 -0
- sdetkit-1.2.0/src/sdetkit/adoption_evidence_bundle.py +278 -0
- sdetkit-1.2.0/src/sdetkit/adoption_external_integration.py +189 -0
- sdetkit-1.2.0/src/sdetkit/adoption_learning.py +334 -0
- sdetkit-1.2.0/src/sdetkit/adoption_learning_report.py +718 -0
- sdetkit-1.2.0/src/sdetkit/adoption_learning_report_dashboard.py +290 -0
- sdetkit-1.2.0/src/sdetkit/adoption_proof_recommendations.py +286 -0
- sdetkit-1.2.0/src/sdetkit/adoption_public_repo_eligibility.py +226 -0
- sdetkit-1.2.0/src/sdetkit/adoption_public_repo_trial_matrix_report.py +331 -0
- sdetkit-1.2.0/src/sdetkit/adoption_real_world_learning_matrix.py +488 -0
- sdetkit-1.2.0/src/sdetkit/adoption_repo_topology.py +243 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/__init__.py +175 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/__main__.py +3 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/_base.py +612 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/circleci.py +324 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/core.py +903 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/cpp.py +411 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/cpp_quality_security.py +544 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/java_security.py +347 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/java_workspaces.py +532 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/javascript_security.py +319 -0
- sdetkit-1.2.0/src/sdetkit/adoption_surface/jenkins.py +163 -0
- sdetkit-1.2.0/src/sdetkit/agent/actions.py +403 -0
- sdetkit-1.2.0/src/sdetkit/agent/cli.py +464 -0
- sdetkit-1.2.0/src/sdetkit/agent/core.py +560 -0
- sdetkit-1.2.0/src/sdetkit/agent/demo.py +12 -0
- sdetkit-1.2.0/src/sdetkit/agent/templates.py +612 -0
- sdetkit-1.2.0/src/sdetkit/apiclient.py +748 -0
- sdetkit-1.2.0/src/sdetkit/apiget.py +833 -0
- sdetkit-1.2.0/src/sdetkit/apiget_dispatch.py +9 -0
- sdetkit-1.2.0/src/sdetkit/argv_flags.py +9 -0
- sdetkit-1.2.0/src/sdetkit/artifact_contract_index.py +1360 -0
- sdetkit-1.2.0/src/sdetkit/atomicio.py +9 -0
- sdetkit-1.2.0/src/sdetkit/author_problem.py +2219 -0
- sdetkit-1.2.0/src/sdetkit/auto_fix_dry_run_plan.py +144 -0
- sdetkit-1.2.0/src/sdetkit/auto_fix_probation_report.py +108 -0
- sdetkit-1.2.0/src/sdetkit/automation_health.py +341 -0
- sdetkit-1.2.0/src/sdetkit/baseline_dispatch.py +9 -0
- sdetkit-1.2.0/src/sdetkit/baseline_hardening.py +9 -0
- sdetkit-1.2.0/src/sdetkit/baseline_wrap.py +9 -0
- sdetkit-1.2.0/src/sdetkit/benchmark_control_regression_gate.py +413 -0
- sdetkit-1.2.0/src/sdetkit/benchmark_control_scorecard.py +392 -0
- sdetkit-1.2.0/src/sdetkit/bools.py +13 -0
- sdetkit-1.2.0/src/sdetkit/boost.py +418 -0
- sdetkit-1.2.0/src/sdetkit/candidate_collision_checklist.py +167 -0
- sdetkit-1.2.0/src/sdetkit/candidate_evidence_checklist.py +172 -0
- sdetkit-1.2.0/src/sdetkit/candidate_freeze_readiness.py +146 -0
- sdetkit-1.2.0/src/sdetkit/case_study_launch.py +402 -0
- sdetkit-1.2.0/src/sdetkit/cassette_get.py +108 -0
- sdetkit-1.2.0/src/sdetkit/check_intelligence.py +2509 -0
- sdetkit-1.2.0/src/sdetkit/checks/builtin.py +398 -0
- sdetkit-1.2.0/src/sdetkit/checks/cache.py +157 -0
- sdetkit-1.2.0/src/sdetkit/checks/main.py +272 -0
- sdetkit-1.2.0/src/sdetkit/ci_failure_extractor.py +314 -0
- sdetkit-1.2.0/src/sdetkit/ci_failure_summary.py +275 -0
- sdetkit-1.2.0/src/sdetkit/ci_failure_triage.py +435 -0
- sdetkit-1.2.0/src/sdetkit/cli/__init__.py +273 -0
- sdetkit-1.2.0/src/sdetkit/cli/__main__.py +6 -0
- sdetkit-1.2.0/src/sdetkit/cli/_legacy_workflow.py +9 -0
- sdetkit-1.2.0/src/sdetkit/cli/cli_shortcuts.py +86 -0
- sdetkit-1.2.0/src/sdetkit/cli/legacy_cli.py +9 -0
- sdetkit-1.2.0/src/sdetkit/cli/legacy_commands.py +9 -0
- sdetkit-1.2.0/src/sdetkit/cli/playbook_post.py +28 -0
- sdetkit-1.2.0/src/sdetkit/cli/playbooks_cli.py +563 -0
- sdetkit-1.2.0/src/sdetkit/cli/security.py +9 -0
- sdetkit-1.2.0/src/sdetkit/cli/serve.py +400 -0
- sdetkit-1.2.0/src/sdetkit/cli_shortcuts.py +9 -0
- sdetkit-1.2.0/src/sdetkit/cli_timing.py +9 -0
- sdetkit-1.2.0/src/sdetkit/community_program.py +34 -0
- sdetkit-1.2.0/src/sdetkit/community_touchpoint.py +413 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_automation.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_baseline.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_contracts.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_docs.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_foundation.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_governance.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_operations.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_platform.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_quality.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_readiness.py +19 -0
- sdetkit-1.2.0/src/sdetkit/continuous_upgrade_release.py +19 -0
- sdetkit-1.2.0/src/sdetkit/contributor_activation.py +468 -0
- sdetkit-1.2.0/src/sdetkit/contributor_recognition.py +406 -0
- sdetkit-1.2.0/src/sdetkit/core/__init__.py +129 -0
- sdetkit-1.2.0/src/sdetkit/core/__main__.py +56 -0
- sdetkit-1.2.0/src/sdetkit/core/_entrypoints.py +21 -0
- sdetkit-1.2.0/src/sdetkit/core/_legacy_workflow.py +87 -0
- sdetkit-1.2.0/src/sdetkit/core/_runtime.py +26 -0
- sdetkit-1.2.0/src/sdetkit/core/core_preparse_dispatch.py +37 -0
- sdetkit-1.2.0/src/sdetkit/core_preparse_dispatch.py +9 -0
- sdetkit-1.2.0/src/sdetkit/cpp_operator_proof.py +553 -0
- sdetkit-1.2.0/src/sdetkit/cross_report_consistency.py +959 -0
- sdetkit-1.2.0/src/sdetkit/current_head_failure_bundle.py +371 -0
- sdetkit-1.2.0/src/sdetkit/data/adaptive_scenarios.json +686 -0
- sdetkit-1.2.0/src/sdetkit/data/current_product_delta.v1.json +68 -0
- sdetkit-1.2.0/src/sdetkit/data/feature_registry.json +82 -0
- sdetkit-1.2.0/src/sdetkit/demo.py +12 -0
- sdetkit-1.2.0/src/sdetkit/demo_asset.py +12 -0
- sdetkit-1.2.0/src/sdetkit/demo_asset2.py +12 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_execution_plan.py +679 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_job.py +607 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_queue_runner.py +158 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_queue_runner_cli.py +143 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_signal_snapshot.py +302 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_signal_snapshot_history.py +588 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_vector_engine.py +1051 -0
- sdetkit-1.2.0/src/sdetkit/diagnostic_worker_trajectory.py +575 -0
- sdetkit-1.2.0/src/sdetkit/distribution.py +27 -0
- sdetkit-1.2.0/src/sdetkit/distribution_batch.py +28 -0
- sdetkit-1.2.0/src/sdetkit/distribution_scaling.py +460 -0
- sdetkit-1.2.0/src/sdetkit/docs_loop.py +514 -0
- sdetkit-1.2.0/src/sdetkit/docs_navigation.py +297 -0
- sdetkit-1.2.0/src/sdetkit/docs_qa.py +266 -0
- sdetkit-1.2.0/src/sdetkit/doctor.py +3744 -0
- sdetkit-1.2.0/src/sdetkit/doctor_bundle_outputs.py +57 -0
- sdetkit-1.2.0/src/sdetkit/doctor_diagnosis.py +544 -0
- sdetkit-1.2.0/src/sdetkit/doctor_prescriptions.py +437 -0
- sdetkit-1.2.0/src/sdetkit/doctor_report.py +420 -0
- sdetkit-1.2.0/src/sdetkit/ecosystem_priorities.py +407 -0
- sdetkit-1.2.0/src/sdetkit/enterprise_assessment.py +703 -0
- sdetkit-1.2.0/src/sdetkit/enterprise_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/escalation_quality_case_study_prep.py +402 -0
- sdetkit-1.2.0/src/sdetkit/evidence/__init__.py +7 -0
- sdetkit-1.2.0/src/sdetkit/evidence/_legacy_workflow.py +7 -0
- sdetkit-1.2.0/src/sdetkit/evidence/bools.py +7 -0
- sdetkit-1.2.0/src/sdetkit/evidence/evidence_narrative.py +417 -0
- sdetkit-1.2.0/src/sdetkit/evidence/evidence_workspace.py +184 -0
- sdetkit-1.2.0/src/sdetkit/evidence/reliability.py +30 -0
- sdetkit-1.2.0/src/sdetkit/evidence/trust_assets.py +546 -0
- sdetkit-1.2.0/src/sdetkit/evidence/trust_assets_refresh.py +424 -0
- sdetkit-1.2.0/src/sdetkit/evidence/trust_faq_expansion.py +423 -0
- sdetkit-1.2.0/src/sdetkit/evidence_binding.py +105 -0
- sdetkit-1.2.0/src/sdetkit/evidence_graph.py +714 -0
- sdetkit-1.2.0/src/sdetkit/evidence_narrative.py +9 -0
- sdetkit-1.2.0/src/sdetkit/evidence_workspace.py +9 -0
- sdetkit-1.2.0/src/sdetkit/example_asset.py +26 -0
- sdetkit-1.2.0/src/sdetkit/example_asset2.py +26 -0
- sdetkit-1.2.0/src/sdetkit/execution_prioritization.py +32 -0
- sdetkit-1.2.0/src/sdetkit/expansion.py +435 -0
- sdetkit-1.2.0/src/sdetkit/expansion_automation.py +28 -0
- sdetkit-1.2.0/src/sdetkit/experiment_workflow.py +30 -0
- sdetkit-1.2.0/src/sdetkit/failed_check_log_collection.py +47 -0
- sdetkit-1.2.0/src/sdetkit/failure_vector.py +699 -0
- sdetkit-1.2.0/src/sdetkit/failure_vector_adapters.py +720 -0
- sdetkit-1.2.0/src/sdetkit/failure_vector_cpp.py +506 -0
- sdetkit-1.2.0/src/sdetkit/feature_registry_cli.py +184 -0
- sdetkit-1.2.0/src/sdetkit/first_proof_quality_evidence.py +619 -0
- sdetkit-1.2.0/src/sdetkit/fit.py +165 -0
- sdetkit-1.2.0/src/sdetkit/flaky_test_registry_evidence.py +370 -0
- sdetkit-1.2.0/src/sdetkit/format_before_proof.py +184 -0
- sdetkit-1.2.0/src/sdetkit/gate.py +9 -0
- sdetkit-1.2.0/src/sdetkit/gates/gate.py +895 -0
- sdetkit-1.2.0/src/sdetkit/gates/security_gate.py +1509 -0
- sdetkit-1.2.0/src/sdetkit/git_inventory_collector.py +316 -0
- sdetkit-1.2.0/src/sdetkit/github_actions_annotation_hygiene.py +204 -0
- sdetkit-1.2.0/src/sdetkit/github_actions_annotation_hygiene_report.py +203 -0
- sdetkit-1.2.0/src/sdetkit/gitlab_integration_expansion.py +413 -0
- sdetkit-1.2.0/src/sdetkit/governance_handoff.py +413 -0
- sdetkit-1.2.0/src/sdetkit/governance_priorities.py +415 -0
- sdetkit-1.2.0/src/sdetkit/governance_scale.py +415 -0
- sdetkit-1.2.0/src/sdetkit/growth_campaign.py +399 -0
- sdetkit-1.2.0/src/sdetkit/index.py +260 -0
- sdetkit-1.2.0/src/sdetkit/inspect_data.py +988 -0
- sdetkit-1.2.0/src/sdetkit/integration_feedback.py +419 -0
- sdetkit-1.2.0/src/sdetkit/intelligence/__init__.py +37 -0
- sdetkit-1.2.0/src/sdetkit/intelligence/review.py +2924 -0
- sdetkit-1.2.0/src/sdetkit/intelligence/review_engine.py +1064 -0
- sdetkit-1.2.0/src/sdetkit/intelligence/review_forwarding.py +36 -0
- sdetkit-1.2.0/src/sdetkit/investigate.py +636 -0
- sdetkit-1.2.0/src/sdetkit/investigation_evidence.py +148 -0
- sdetkit-1.2.0/src/sdetkit/investigation_outcome_memory.py +115 -0
- sdetkit-1.2.0/src/sdetkit/investigation_safe_fix_policy.py +89 -0
- sdetkit-1.2.0/src/sdetkit/isolated_proof_runner.py +711 -0
- sdetkit-1.2.0/src/sdetkit/issue_queue_classifier.py +387 -0
- sdetkit-1.2.0/src/sdetkit/job_queue.py +370 -0
- sdetkit-1.2.0/src/sdetkit/judgment.py +9 -0
- sdetkit-1.2.0/src/sdetkit/kits.py +457 -0
- sdetkit-1.2.0/src/sdetkit/kpi_audit.py +34 -0
- sdetkit-1.2.0/src/sdetkit/kpi_deep_audit.py +32 -0
- sdetkit-1.2.0/src/sdetkit/kpi_instrumentation.py +26 -0
- sdetkit-1.2.0/src/sdetkit/kpi_report.py +154 -0
- sdetkit-1.2.0/src/sdetkit/kvcli.py +207 -0
- sdetkit-1.2.0/src/sdetkit/launch_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/legacy_adapters/__init__.py +19 -0
- sdetkit-1.2.0/src/sdetkit/legacy_adapters/continuous_upgrade.py +15 -0
- sdetkit-1.2.0/src/sdetkit/legacy_adapters/foundation.py +45 -0
- sdetkit-1.2.0/src/sdetkit/legacy_adapters/workflow_aliases.py +88 -0
- sdetkit-1.2.0/src/sdetkit/legacy_namespace.py +43 -0
- sdetkit-1.2.0/src/sdetkit/local_diagnostic_queue_dashboard.py +272 -0
- sdetkit-1.2.0/src/sdetkit/main_.py +44 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/clean_tree_check.py +82 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/custom_example_check.py +29 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/deps_check.py +61 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/doctor_check.py +171 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/github_actions_annotation_hygiene_check.py +114 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/github_automation_check.py +344 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/lint_check.py +87 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/security_check.py +245 -0
- sdetkit-1.2.0/src/sdetkit/maintenance/checks/tests_check.py +57 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_action_categories.py +293 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_action_plan.py +224 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_policy_decision_history.py +271 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_policy_decisions.py +369 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_policy_memory_context.py +354 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_policy_proposals.py +107 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_priority_rollup.py +297 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_proof_checklist.py +233 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_queue_rollup.py +464 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_queue_rollup_dashboard.py +375 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_recommendation_eligibility.py +220 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_recommendations.py +357 -0
- sdetkit-1.2.0/src/sdetkit/maintenance_signal_trends.py +360 -0
- sdetkit-1.2.0/src/sdetkit/merge_readiness.py +345 -0
- sdetkit-1.2.0/src/sdetkit/mission_control.py +1884 -0
- sdetkit-1.2.0/src/sdetkit/mission_control_cortex_guard.py +269 -0
- sdetkit-1.2.0/src/sdetkit/mission_control_cortex_trend.py +299 -0
- sdetkit-1.2.0/src/sdetkit/mixed_monorepo_operator_proof.py +474 -0
- sdetkit-1.2.0/src/sdetkit/netclient.py +1108 -0
- sdetkit-1.2.0/src/sdetkit/network_boundary.py +598 -0
- sdetkit-1.2.0/src/sdetkit/notify.py +89 -0
- sdetkit-1.2.0/src/sdetkit/notify_plugins.py +117 -0
- sdetkit-1.2.0/src/sdetkit/objection_handling.py +534 -0
- sdetkit-1.2.0/src/sdetkit/objection_workflow.py +30 -0
- sdetkit-1.2.0/src/sdetkit/operator_brief.py +297 -0
- sdetkit-1.2.0/src/sdetkit/operator_evidence_loop.py +854 -0
- sdetkit-1.2.0/src/sdetkit/operator_onboarding_evidence_flow.py +377 -0
- sdetkit-1.2.0/src/sdetkit/ops/__init__.py +33 -0
- sdetkit-1.2.0/src/sdetkit/ops/ops.py +980 -0
- sdetkit-1.2.0/src/sdetkit/ops/ops_control.py +371 -0
- sdetkit-1.2.0/src/sdetkit/ops_control.py +74 -0
- sdetkit-1.2.0/src/sdetkit/optimization.py +442 -0
- sdetkit-1.2.0/src/sdetkit/optimization_foundation.py +484 -0
- sdetkit-1.2.0/src/sdetkit/optional_httpx.py +70 -0
- sdetkit-1.2.0/src/sdetkit/parsed_shortcuts.py +68 -0
- sdetkit-1.2.0/src/sdetkit/parser_helpers.py +9 -0
- sdetkit-1.2.0/src/sdetkit/partner_outreach.py +458 -0
- sdetkit-1.2.0/src/sdetkit/patch.py +965 -0
- sdetkit-1.2.0/src/sdetkit/patch_scorer.py +818 -0
- sdetkit-1.2.0/src/sdetkit/patch_workbench.py +160 -0
- sdetkit-1.2.0/src/sdetkit/phase1_hardening.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase1_wrap.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase2_hardening.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase2_kickoff.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase2_utilities.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase2_wrap_handoff.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase3_kickoff.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase3_preplan.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase3_wrap_publication.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phase_boost.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/__init__.py +0 -0
- sdetkit-1.2.0/src/sdetkit/phases/_legacy_workflow.py +7 -0
- sdetkit-1.2.0/src/sdetkit/phases/baseline_hardening.py +351 -0
- sdetkit-1.2.0/src/sdetkit/phases/baseline_wrap.py +29 -0
- sdetkit-1.2.0/src/sdetkit/phases/bools.py +7 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase1_hardening.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase1_wrap.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase2_hardening.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase2_kickoff.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase2_wrap_handoff.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase3_kickoff.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase3_preplan.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase3_wrap_publication.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/phase_boost.py +12 -0
- sdetkit-1.2.0/src/sdetkit/phases/platform_readiness_kickoff.py +445 -0
- sdetkit-1.2.0/src/sdetkit/phases/platform_readiness_preplan.py +389 -0
- sdetkit-1.2.0/src/sdetkit/phases/platform_readiness_wrap_publication.py +440 -0
- sdetkit-1.2.0/src/sdetkit/phases/readiness_boost.py +64 -0
- sdetkit-1.2.0/src/sdetkit/phases/release_readiness_hardening.py +421 -0
- sdetkit-1.2.0/src/sdetkit/phases/release_readiness_kickoff.py +30 -0
- sdetkit-1.2.0/src/sdetkit/phases/release_readiness_wrap_handoff.py +466 -0
- sdetkit-1.2.0/src/sdetkit/platform_readiness_kickoff.py +9 -0
- sdetkit-1.2.0/src/sdetkit/platform_readiness_preplan.py +9 -0
- sdetkit-1.2.0/src/sdetkit/platform_readiness_wrap_publication.py +9 -0
- sdetkit-1.2.0/src/sdetkit/playbook_aliases.py +23 -0
- sdetkit-1.2.0/src/sdetkit/playbook_post.py +9 -0
- sdetkit-1.2.0/src/sdetkit/playbooks_cli.py +9 -0
- sdetkit-1.2.0/src/sdetkit/policy.py +297 -0
- sdetkit-1.2.0/src/sdetkit/portfolio_orchestrator.py +1339 -0
- sdetkit-1.2.0/src/sdetkit/portfolio_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/post_merge_verification.py +902 -0
- sdetkit-1.2.0/src/sdetkit/pr_comment_failure_families.py +104 -0
- sdetkit-1.2.0/src/sdetkit/pr_guardrail_decisions.py +130 -0
- sdetkit-1.2.0/src/sdetkit/pr_guardrail_outcome_memory.py +154 -0
- sdetkit-1.2.0/src/sdetkit/pr_investigation_summary.py +134 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_action_report.py +5404 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_adaptive_diagnosis.py +290 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_artifact_index.py +279 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_candidate_validation.py +299 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_candidate_visibility.py +337 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_comment.py +173 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_evidence_narrative.py +1237 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_live_benchmark_workspace.py +295 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_live_dashboard.py +352 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_remediation_refresh.py +358 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_required_terminal.py +130 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_review_experience.py +650 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_runtime_proof_artifacts.py +1350 -0
- sdetkit-1.2.0/src/sdetkit/pr_quality_terminal_workflows.py +401 -0
- sdetkit-1.2.0/src/sdetkit/product_maturity_radar.py +1546 -0
- sdetkit-1.2.0/src/sdetkit/production_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/professional_naming_cleanup_plan.py +270 -0
- sdetkit-1.2.0/src/sdetkit/professional_naming_inventory.py +434 -0
- sdetkit-1.2.0/src/sdetkit/professional_naming_migration.py +226 -0
- sdetkit-1.2.0/src/sdetkit/proof_runtime_guard.py +127 -0
- sdetkit-1.2.0/src/sdetkit/protected_proof_chain.py +303 -0
- sdetkit-1.2.0/src/sdetkit/protected_verifier.py +1560 -0
- sdetkit-1.2.0/src/sdetkit/public_api_parity.py +265 -0
- sdetkit-1.2.0/src/sdetkit/public_command_surface.json +75 -0
- sdetkit-1.2.0/src/sdetkit/public_command_surface_report.py +479 -0
- sdetkit-1.2.0/src/sdetkit/public_surface_contract.py +155 -0
- sdetkit-1.2.0/src/sdetkit/publication_case_study_prep.py +415 -0
- sdetkit-1.2.0/src/sdetkit/quality_contribution_delta.py +488 -0
- sdetkit-1.2.0/src/sdetkit/queued_diagnostic_worker.py +400 -0
- sdetkit-1.2.0/src/sdetkit/readiness/__init__.py +7 -0
- sdetkit-1.2.0/src/sdetkit/readiness/launch_readiness.py +413 -0
- sdetkit-1.2.0/src/sdetkit/readiness/portfolio_readiness.py +165 -0
- sdetkit-1.2.0/src/sdetkit/readiness/production_readiness.py +359 -0
- sdetkit-1.2.0/src/sdetkit/readiness/readiness.py +412 -0
- sdetkit-1.2.0/src/sdetkit/readiness/ship_readiness.py +244 -0
- sdetkit-1.2.0/src/sdetkit/readiness_boost.py +9 -0
- sdetkit-1.2.0/src/sdetkit/release_anti_hijack_threat_model.py +1332 -0
- sdetkit-1.2.0/src/sdetkit/release_cadence.py +30 -0
- sdetkit-1.2.0/src/sdetkit/release_dispatch.py +9 -0
- sdetkit-1.2.0/src/sdetkit/release_prioritization.py +418 -0
- sdetkit-1.2.0/src/sdetkit/release_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/release_readiness_evidence_package.py +873 -0
- sdetkit-1.2.0/src/sdetkit/release_readiness_hardening.py +9 -0
- sdetkit-1.2.0/src/sdetkit/release_readiness_kickoff.py +9 -0
- sdetkit-1.2.0/src/sdetkit/release_readiness_utilities.py +21 -0
- sdetkit-1.2.0/src/sdetkit/release_readiness_wrap_handoff.py +9 -0
- sdetkit-1.2.0/src/sdetkit/release_room.py +304 -0
- sdetkit-1.2.0/src/sdetkit/reliability.py +9 -0
- sdetkit-1.2.0/src/sdetkit/reliability_case_study_prep.py +396 -0
- sdetkit-1.2.0/src/sdetkit/reliability_evidence_pack.py +9 -0
- sdetkit-1.2.0/src/sdetkit/reliability_spine_alignment.py +797 -0
- sdetkit-1.2.0/src/sdetkit/remediation_plan_engine.py +420 -0
- sdetkit-1.2.0/src/sdetkit/remediation_readiness_report.py +673 -0
- sdetkit-1.2.0/src/sdetkit/replayable_benchmark_harness.py +2571 -0
- sdetkit-1.2.0/src/sdetkit/repo.py +4841 -0
- sdetkit-1.2.0/src/sdetkit/repo_adoption_scan.py +255 -0
- sdetkit-1.2.0/src/sdetkit/repo_fit_screen.py +200 -0
- sdetkit-1.2.0/src/sdetkit/repo_memory.py +1500 -0
- sdetkit-1.2.0/src/sdetkit/repo_memory_profile_history.py +834 -0
- sdetkit-1.2.0/src/sdetkit/report.py +1091 -0
- sdetkit-1.2.0/src/sdetkit/report_dependency_graph.py +928 -0
- sdetkit-1.2.0/src/sdetkit/report_dependency_graph_dashboard.py +420 -0
- sdetkit-1.2.0/src/sdetkit/report_provenance.py +314 -0
- sdetkit-1.2.0/src/sdetkit/review.py +10 -0
- sdetkit-1.2.0/src/sdetkit/review_engine.py +9 -0
- sdetkit-1.2.0/src/sdetkit/review_forwarding.py +9 -0
- sdetkit-1.2.0/src/sdetkit/risk_hygiene.py +90 -0
- sdetkit-1.2.0/src/sdetkit/roadmap.py +155 -0
- sdetkit-1.2.0/src/sdetkit/roadmap_manifest.py +341 -0
- sdetkit-1.2.0/src/sdetkit/safe_fix_candidate_registry.py +131 -0
- sdetkit-1.2.0/src/sdetkit/safe_fix_history_memory.py +639 -0
- sdetkit-1.2.0/src/sdetkit/safe_fix_operator_rollup.py +245 -0
- sdetkit-1.2.0/src/sdetkit/safe_fix_outcome.py +231 -0
- sdetkit-1.2.0/src/sdetkit/safe_remediation_eligibility.py +322 -0
- sdetkit-1.2.0/src/sdetkit/safety_gate.py +344 -0
- sdetkit-1.2.0/src/sdetkit/scale.py +458 -0
- sdetkit-1.2.0/src/sdetkit/scale_upgrade.py +394 -0
- sdetkit-1.2.0/src/sdetkit/scale_workflow.py +28 -0
- sdetkit-1.2.0/src/sdetkit/schema_version_aliases.py +95 -0
- sdetkit-1.2.0/src/sdetkit/security_finding_diagnosis.py +673 -0
- sdetkit-1.2.0/src/sdetkit/security_finding_disposition_matrix.py +187 -0
- sdetkit-1.2.0/src/sdetkit/security_findings_inventory.py +167 -0
- sdetkit-1.2.0/src/sdetkit/security_followup_disposition.py +287 -0
- sdetkit-1.2.0/src/sdetkit/security_gate.py +22 -0
- sdetkit-1.2.0/src/sdetkit/security_review_evidence.py +300 -0
- sdetkit-1.2.0/src/sdetkit/security_review_packet.py +206 -0
- sdetkit-1.2.0/src/sdetkit/security_reviewed_disposition_history.py +532 -0
- sdetkit-1.2.0/src/sdetkit/self_hosted_integration_expansion.py +424 -0
- sdetkit-1.2.0/src/sdetkit/serve.py +9 -0
- sdetkit-1.2.0/src/sdetkit/serve_forwarding.py +9 -0
- sdetkit-1.2.0/src/sdetkit/ship_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/stabilization.py +453 -0
- sdetkit-1.2.0/src/sdetkit/startup_readiness.py +9 -0
- sdetkit-1.2.0/src/sdetkit/synthetic_literal_hygiene.py +125 -0
- sdetkit-1.2.0/src/sdetkit/tekton_integration_expansion.py +416 -0
- sdetkit-1.2.0/src/sdetkit/templates/__init__.py +0 -0
- sdetkit-1.2.0/src/sdetkit/templates/enterprise_python/__init__.py +0 -0
- sdetkit-1.2.0/src/sdetkit/test_bootstrap.py +37 -0
- sdetkit-1.2.0/src/sdetkit/test_bootstrap_contract.py +136 -0
- sdetkit-1.2.0/src/sdetkit/test_bootstrap_validate.py +70 -0
- sdetkit-1.2.0/src/sdetkit/textutil.py +9 -0
- sdetkit-1.2.0/src/sdetkit/trajectory_history_report.py +229 -0
- sdetkit-1.2.0/src/sdetkit/trajectory_pattern_insights.py +576 -0
- sdetkit-1.2.0/src/sdetkit/trajectory_store.py +729 -0
- sdetkit-1.2.0/src/sdetkit/triage_speed_case_study_prep.py +398 -0
- sdetkit-1.2.0/src/sdetkit/trust_assets.py +9 -0
- sdetkit-1.2.0/src/sdetkit/trust_assets_refresh.py +9 -0
- sdetkit-1.2.0/src/sdetkit/trust_faq_expansion.py +9 -0
- sdetkit-1.2.0/src/sdetkit/trusted_diagnostic_signal_snapshot_history.py +380 -0
- sdetkit-1.2.0/src/sdetkit/trusted_flaky_test_registry_producer.py +401 -0
- sdetkit-1.2.0/src/sdetkit/trusted_history_evidence.py +462 -0
- sdetkit-1.2.0/src/sdetkit/trusted_test_observation_capture.py +263 -0
- sdetkit-1.2.0/src/sdetkit/trusted_test_observation_classification.py +501 -0
- sdetkit-1.2.0/src/sdetkit/trusted_test_observation_history.py +724 -0
- sdetkit-1.2.0/src/sdetkit/upgrade_audit.py +2440 -0
- sdetkit-1.2.0/src/sdetkit/upgrade_hub.py +153 -0
- sdetkit-1.2.0/src/sdetkit/utils/__init__.py +0 -0
- sdetkit-1.2.0/src/sdetkit/utils/textutil.py +51 -0
- sdetkit-1.2.0/src/sdetkit/weekly_review_continuity.py +410 -0
- sdetkit-1.2.0/src/sdetkit/weekly_review_foundation.py +25 -0
- sdetkit-1.2.0/src/sdetkit/weekly_review_workflow.py +28 -0
- sdetkit-1.2.0/src/sdetkit/workflow_governance_report.py +1050 -0
- sdetkit-1.2.0/src/sdetkit/workflow_warning_classifier.py +235 -0
- sdetkit-1.2.0/src/sdetkit/workspace_failure_ownership.py +378 -0
- sdetkit-1.2.0/src/sdetkit.egg-info/PKG-INFO +215 -0
- sdetkit-1.2.0/src/sdetkit.egg-info/SOURCES.txt +1448 -0
- sdetkit-1.2.0/src/sdetkit.egg-info/entry_points.txt +16 -0
- sdetkit-1.2.0/src/sdetkit.egg-info/requires.txt +35 -0
- sdetkit-1.2.0/tests/test_acceleration.py +139 -0
- sdetkit-1.2.0/tests/test_active_wording_sweep.py +30 -0
- sdetkit-1.2.0/tests/test_adapter_smoke_zero_signal_policy.py +46 -0
- sdetkit-1.2.0/tests/test_adaptive_dashboard.py +107 -0
- sdetkit-1.2.0/tests/test_adaptive_diagnosis.py +842 -0
- sdetkit-1.2.0/tests/test_adaptive_diagnosis_memory.py +390 -0
- sdetkit-1.2.0/tests/test_adaptive_enterprise_analytics.py +131 -0
- sdetkit-1.2.0/tests/test_adaptive_enterprise_governance.py +110 -0
- sdetkit-1.2.0/tests/test_adaptive_failure_bundle.py +315 -0
- sdetkit-1.2.0/tests/test_adaptive_fix_audit.py +150 -0
- sdetkit-1.2.0/tests/test_adaptive_fixture_corpus.py +43 -0
- sdetkit-1.2.0/tests/test_adaptive_integration_adapters.py +72 -0
- sdetkit-1.2.0/tests/test_adaptive_learning_import.py +129 -0
- sdetkit-1.2.0/tests/test_adaptive_memory.py +169 -0
- sdetkit-1.2.0/tests/test_adaptive_patch_plan.py +241 -0
- sdetkit-1.2.0/tests/test_adaptive_portfolio_rollup.py +89 -0
- sdetkit-1.2.0/tests/test_adaptive_postcheck.py +314 -0
- sdetkit-1.2.0/tests/test_adaptive_postcheck_readiness_and_intelligence.py +215 -0
- sdetkit-1.2.0/tests/test_adaptive_premerge_make_target.py +10 -0
- sdetkit-1.2.0/tests/test_adaptive_quality_gate_advisory_alignment.py +313 -0
- sdetkit-1.2.0/tests/test_adaptive_remediation_policy.py +141 -0
- sdetkit-1.2.0/tests/test_adaptive_safe_fix.py +159 -0
- sdetkit-1.2.0/tests/test_adaptive_safe_remediation.py +200 -0
- sdetkit-1.2.0/tests/test_adaptive_scenario_database_expansion.py +103 -0
- sdetkit-1.2.0/tests/test_adaptive_sentinel.py +484 -0
- sdetkit-1.2.0/tests/test_adoption_cli.py +197 -0
- sdetkit-1.2.0/tests/test_adoption_control_loop_artifacts.py +43 -0
- sdetkit-1.2.0/tests/test_adoption_evidence_bundle.py +133 -0
- sdetkit-1.2.0/tests/test_adoption_external_integration.py +117 -0
- sdetkit-1.2.0/tests/test_adoption_followup_contract.py +167 -0
- sdetkit-1.2.0/tests/test_adoption_learning.py +133 -0
- sdetkit-1.2.0/tests/test_adoption_learning_report.py +473 -0
- sdetkit-1.2.0/tests/test_adoption_learning_report_dashboard.py +349 -0
- sdetkit-1.2.0/tests/test_adoption_local_external_root.py +135 -0
- sdetkit-1.2.0/tests/test_adoption_proof_recommendations.py +291 -0
- sdetkit-1.2.0/tests/test_adoption_public_repo_eligibility.py +154 -0
- sdetkit-1.2.0/tests/test_adoption_public_repo_external_stack.py +107 -0
- sdetkit-1.2.0/tests/test_adoption_public_repo_readonly_trial.py +56 -0
- sdetkit-1.2.0/tests/test_adoption_public_repo_trial_matrix.py +75 -0
- sdetkit-1.2.0/tests/test_adoption_public_repo_trial_matrix_report.py +124 -0
- sdetkit-1.2.0/tests/test_adoption_real_world_learning_matrix.py +216 -0
- sdetkit-1.2.0/tests/test_adoption_repo_topology.py +121 -0
- sdetkit-1.2.0/tests/test_adoption_surface.py +108 -0
- sdetkit-1.2.0/tests/test_adoption_surface_cargo_audit.py +80 -0
- sdetkit-1.2.0/tests/test_adoption_surface_circleci.py +183 -0
- sdetkit-1.2.0/tests/test_adoption_surface_cpp.py +183 -0
- sdetkit-1.2.0/tests/test_adoption_surface_cpp_quality_security.py +280 -0
- sdetkit-1.2.0/tests/test_adoption_surface_dotnet_workspaces.py +440 -0
- sdetkit-1.2.0/tests/test_adoption_surface_fixture_matrix.py +236 -0
- sdetkit-1.2.0/tests/test_adoption_surface_gitlab_ci.py +92 -0
- sdetkit-1.2.0/tests/test_adoption_surface_go_security.py +72 -0
- sdetkit-1.2.0/tests/test_adoption_surface_java_security.py +226 -0
- sdetkit-1.2.0/tests/test_adoption_surface_jenkins.py +171 -0
- sdetkit-1.2.0/tests/test_adoption_surface_js_package_managers.py +77 -0
- sdetkit-1.2.0/tests/test_adoption_surface_js_security.py +199 -0
- sdetkit-1.2.0/tests/test_adoption_surface_nested_go_workspaces.py +186 -0
- sdetkit-1.2.0/tests/test_adoption_surface_nested_java_workspaces.py +191 -0
- sdetkit-1.2.0/tests/test_adoption_surface_nested_rust_workspaces.py +155 -0
- sdetkit-1.2.0/tests/test_adoption_surface_nested_workspaces.py +233 -0
- sdetkit-1.2.0/tests/test_adoption_surface_python_src_detection.py +131 -0
- sdetkit-1.2.0/tests/test_agent_approval_gate.py +122 -0
- sdetkit-1.2.0/tests/test_agent_foundation.py +392 -0
- sdetkit-1.2.0/tests/test_agent_professional_naming_aliases.py +26 -0
- sdetkit-1.2.0/tests/test_agent_providers_extra.py +69 -0
- sdetkit-1.2.0/tests/test_apiclient.py +222 -0
- sdetkit-1.2.0/tests/test_apiclient_async.py +305 -0
- sdetkit-1.2.0/tests/test_apiclient_retry_helpers_extra.py +29 -0
- sdetkit-1.2.0/tests/test_apiget_helpers_unit.py +72 -0
- sdetkit-1.2.0/tests/test_append_followup_changelog.py +39 -0
- sdetkit-1.2.0/tests/test_artifact_contract_index.py +726 -0
- sdetkit-1.2.0/tests/test_artifact_report_path_aliases.py +27 -0
- sdetkit-1.2.0/tests/test_author_problem.py +715 -0
- sdetkit-1.2.0/tests/test_author_problem_guidance_contract.py +33 -0
- sdetkit-1.2.0/tests/test_auto_fix_dry_run_plan.py +141 -0
- sdetkit-1.2.0/tests/test_auto_fix_probation_report.py +147 -0
- sdetkit-1.2.0/tests/test_automation_health.py +179 -0
- sdetkit-1.2.0/tests/test_baseline_blocker_register.py +50 -0
- sdetkit-1.2.0/tests/test_baseline_build_ops_snapshot.py +59 -0
- sdetkit-1.2.0/tests/test_baseline_completion_and_prune_plan.py +55 -0
- sdetkit-1.2.0/tests/test_baseline_completion_dashboard.py +92 -0
- sdetkit-1.2.0/tests/test_baseline_control_loop_report.py +58 -0
- sdetkit-1.2.0/tests/test_baseline_do_it_makefile_target.py +10 -0
- sdetkit-1.2.0/tests/test_baseline_executive_report.py +66 -0
- sdetkit-1.2.0/tests/test_baseline_followup_pass_card.py +72 -0
- sdetkit-1.2.0/tests/test_baseline_hardening.py +97 -0
- sdetkit-1.2.0/tests/test_baseline_readiness_signal.py +44 -0
- sdetkit-1.2.0/tests/test_baseline_release_readiness_gate.py +37 -0
- sdetkit-1.2.0/tests/test_baseline_run_all.py +38 -0
- sdetkit-1.2.0/tests/test_baseline_telemetry_history.py +49 -0
- sdetkit-1.2.0/tests/test_baseline_transition_plan_into_flow.py +49 -0
- sdetkit-1.2.0/tests/test_baseline_weekly_report_pack.py +36 -0
- sdetkit-1.2.0/tests/test_baseline_wrap.py +100 -0
- sdetkit-1.2.0/tests/test_benchmark_control_regression_gate.py +207 -0
- sdetkit-1.2.0/tests/test_benchmark_control_scorecard.py +177 -0
- sdetkit-1.2.0/tests/test_big_brain_toolkit_roadmap.py +25 -0
- sdetkit-1.2.0/tests/test_boost_scan.py +100 -0
- sdetkit-1.2.0/tests/test_boost_scan_v2.py +156 -0
- sdetkit-1.2.0/tests/test_branch_protection_workflow_alignment.py +34 -0
- sdetkit-1.2.0/tests/test_build_adoption_followup.py +129 -0
- sdetkit-1.2.0/tests/test_build_first_proof_health_score.py +77 -0
- sdetkit-1.2.0/tests/test_build_first_proof_ops_bundle.py +35 -0
- sdetkit-1.2.0/tests/test_build_first_proof_ops_bundle_trend.py +86 -0
- sdetkit-1.2.0/tests/test_build_followup_ready_history_metrics.py +49 -0
- sdetkit-1.2.0/tests/test_build_next_10_followups.py +29 -0
- sdetkit-1.2.0/tests/test_build_owner_escalation_payload.py +316 -0
- sdetkit-1.2.0/tests/test_build_powerfuel_baseline.py +60 -0
- sdetkit-1.2.0/tests/test_build_powerfuel_consolidation_score.py +39 -0
- sdetkit-1.2.0/tests/test_build_powerfuel_retirement_plan.py +45 -0
- sdetkit-1.2.0/tests/test_build_powerfuel_shadow_log.py +45 -0
- sdetkit-1.2.0/tests/test_build_powerfuel_weekly_report.py +70 -0
- sdetkit-1.2.0/tests/test_build_top_tier_reporting_bundle.py +44 -0
- sdetkit-1.2.0/tests/test_business_execution_continue.py +54 -0
- sdetkit-1.2.0/tests/test_business_execution_escalation.py +92 -0
- sdetkit-1.2.0/tests/test_business_execution_followup.py +72 -0
- sdetkit-1.2.0/tests/test_business_execution_handoff.py +70 -0
- sdetkit-1.2.0/tests/test_business_execution_horizon.py +61 -0
- sdetkit-1.2.0/tests/test_business_execution_next.py +57 -0
- sdetkit-1.2.0/tests/test_business_execution_pipeline.py +109 -0
- sdetkit-1.2.0/tests/test_business_execution_progress.py +103 -0
- sdetkit-1.2.0/tests/test_business_execution_start.py +89 -0
- sdetkit-1.2.0/tests/test_candidate_collision_checklist.py +97 -0
- sdetkit-1.2.0/tests/test_candidate_evidence_checklist.py +99 -0
- sdetkit-1.2.0/tests/test_candidate_freeze_readiness.py +72 -0
- sdetkit-1.2.0/tests/test_case_study_launch.py +172 -0
- sdetkit-1.2.0/tests/test_check_baseline_artifact_set.py +29 -0
- sdetkit-1.2.0/tests/test_check_baseline_flow_contract.py +29 -0
- sdetkit-1.2.0/tests/test_check_business_execution_continue_contract.py +48 -0
- sdetkit-1.2.0/tests/test_check_business_execution_escalation_contract.py +56 -0
- sdetkit-1.2.0/tests/test_check_business_execution_followup_contract.py +68 -0
- sdetkit-1.2.0/tests/test_check_business_execution_handoff_contract.py +45 -0
- sdetkit-1.2.0/tests/test_check_business_execution_horizon_contract.py +50 -0
- sdetkit-1.2.0/tests/test_check_business_execution_inputs_contract.py +58 -0
- sdetkit-1.2.0/tests/test_check_business_execution_next_contract.py +42 -0
- sdetkit-1.2.0/tests/test_check_business_execution_progress_contract.py +44 -0
- sdetkit-1.2.0/tests/test_check_business_execution_start_contract.py +71 -0
- sdetkit-1.2.0/tests/test_check_first_proof_artifact_freshness.py +61 -0
- sdetkit-1.2.0/tests/test_check_first_proof_execution_contract.py +56 -0
- sdetkit-1.2.0/tests/test_check_first_proof_followup_ready.py +55 -0
- sdetkit-1.2.0/tests/test_check_first_proof_ops_bundle_contract.py +54 -0
- sdetkit-1.2.0/tests/test_check_first_proof_readiness_threshold.py +146 -0
- sdetkit-1.2.0/tests/test_check_first_proof_schema_contract.py +50 -0
- sdetkit-1.2.0/tests/test_check_installed_wheel_contract.py +113 -0
- sdetkit-1.2.0/tests/test_check_intelligence.py +1078 -0
- sdetkit-1.2.0/tests/test_check_intelligence_first_failure.py +729 -0
- sdetkit-1.2.0/tests/test_check_intelligence_runtime_traceback.py +101 -0
- sdetkit-1.2.0/tests/test_check_intelligence_safe_remediation.py +131 -0
- sdetkit-1.2.0/tests/test_check_powerfuel_artifacts_contract.py +77 -0
- sdetkit-1.2.0/tests/test_check_release_readiness_kickoff_contract.py +34 -0
- sdetkit-1.2.0/tests/test_check_reporting_freshness.py +97 -0
- sdetkit-1.2.0/tests/test_check_test_bootstrap_contract.py +122 -0
- sdetkit-1.2.0/tests/test_checks_additional_coverage_unit.py +390 -0
- sdetkit-1.2.0/tests/test_checks_artifacts.py +395 -0
- sdetkit-1.2.0/tests/test_checks_base_extra_unit.py +15 -0
- sdetkit-1.2.0/tests/test_checks_builtin_unit.py +74 -0
- sdetkit-1.2.0/tests/test_checks_cache.py +93 -0
- sdetkit-1.2.0/tests/test_checks_main_unit.py +246 -0
- sdetkit-1.2.0/tests/test_checks_planner_additional_unit.py +213 -0
- sdetkit-1.2.0/tests/test_checks_registry.py +366 -0
- sdetkit-1.2.0/tests/test_checks_results_additional_unit.py +55 -0
- sdetkit-1.2.0/tests/test_checks_runner_cache_registry_unit.py +106 -0
- sdetkit-1.2.0/tests/test_ci_failure_extractor.py +227 -0
- sdetkit-1.2.0/tests/test_ci_failure_summary.py +171 -0
- sdetkit-1.2.0/tests/test_ci_failure_summary_failure_vector_adapter.py +91 -0
- sdetkit-1.2.0/tests/test_ci_failure_triage.py +291 -0
- sdetkit-1.2.0/tests/test_ci_preflight_investigation_guardrail_slice.py +28 -0
- sdetkit-1.2.0/tests/test_cleanup_first_proof_artifacts.py +57 -0
- sdetkit-1.2.0/tests/test_cli_adoption_alias.py +94 -0
- sdetkit-1.2.0/tests/test_cli_fit_alias.py +54 -0
- sdetkit-1.2.0/tests/test_cli_help_discoverability_contract.py +183 -0
- sdetkit-1.2.0/tests/test_cli_help_lists_subcommands.py +123 -0
- sdetkit-1.2.0/tests/test_cli_hidden_surface.py +53 -0
- sdetkit-1.2.0/tests/test_cli_import_minimal.py +33 -0
- sdetkit-1.2.0/tests/test_cli_operator_evidence_loop.py +116 -0
- sdetkit-1.2.0/tests/test_cli_portfolio_passthrough.py +32 -0
- sdetkit-1.2.0/tests/test_cli_productized_workflow_aliases.py +98 -0
- sdetkit-1.2.0/tests/test_cli_sdetkit.py +179 -0
- sdetkit-1.2.0/tests/test_cli_serve_unit.py +126 -0
- sdetkit-1.2.0/tests/test_cli_smoke_coverage.py +130 -0
- sdetkit-1.2.0/tests/test_cli_start_alias.py +43 -0
- sdetkit-1.2.0/tests/test_community_program.py +164 -0
- sdetkit-1.2.0/tests/test_community_touchpoint.py +168 -0
- sdetkit-1.2.0/tests/test_contract_runtime_cli.py +76 -0
- sdetkit-1.2.0/tests/test_contributor_activation.py +149 -0
- sdetkit-1.2.0/tests/test_contributor_funnel.py +72 -0
- sdetkit-1.2.0/tests/test_contributor_recognition.py +126 -0
- sdetkit-1.2.0/tests/test_control_plane_ops.py +103 -0
- sdetkit-1.2.0/tests/test_core_and_intelligence_init_unit.py +111 -0
- sdetkit-1.2.0/tests/test_core_main_edge_unit.py +67 -0
- sdetkit-1.2.0/tests/test_coverage_boost_targets.py +178 -0
- sdetkit-1.2.0/tests/test_coverage_truth.py +101 -0
- sdetkit-1.2.0/tests/test_cpp_failure_vector_adapters.py +239 -0
- sdetkit-1.2.0/tests/test_cpp_operator_proof.py +277 -0
- sdetkit-1.2.0/tests/test_cross_ecosystem_failure_vector_adapters.py +218 -0
- sdetkit-1.2.0/tests/test_cross_report_consistency.py +290 -0
- sdetkit-1.2.0/tests/test_current_head_failure_bundle.py +229 -0
- sdetkit-1.2.0/tests/test_current_product_delta_contract.py +97 -0
- sdetkit-1.2.0/tests/test_dependency_auto_merge_workflow.py +16 -0
- sdetkit-1.2.0/tests/test_dependency_radar_artifact_policy.py +91 -0
- sdetkit-1.2.0/tests/test_diagnostic_execution_plan.py +371 -0
- sdetkit-1.2.0/tests/test_diagnostic_execution_plan_artifact_contract.py +35 -0
- sdetkit-1.2.0/tests/test_diagnostic_execution_plan_trajectory.py +208 -0
- sdetkit-1.2.0/tests/test_diagnostic_job.py +474 -0
- sdetkit-1.2.0/tests/test_diagnostic_queue_runner.py +335 -0
- sdetkit-1.2.0/tests/test_diagnostic_queue_runner_cli.py +223 -0
- sdetkit-1.2.0/tests/test_diagnostic_queue_runner_e2e.py +424 -0
- sdetkit-1.2.0/tests/test_diagnostic_signal_snapshot.py +181 -0
- sdetkit-1.2.0/tests/test_diagnostic_signal_snapshot_history.py +321 -0
- sdetkit-1.2.0/tests/test_diagnostic_vector_engine.py +439 -0
- sdetkit-1.2.0/tests/test_diagnostic_worker_trajectory.py +194 -0
- sdetkit-1.2.0/tests/test_distribution.py +138 -0
- sdetkit-1.2.0/tests/test_distribution_batch.py +127 -0
- sdetkit-1.2.0/tests/test_distribution_scaling.py +195 -0
- sdetkit-1.2.0/tests/test_docs_archive_navigation_policy.py +197 -0
- sdetkit-1.2.0/tests/test_docs_loop.py +127 -0
- sdetkit-1.2.0/tests/test_docs_nav_current_discoverability.py +190 -0
- sdetkit-1.2.0/tests/test_docs_navigation.py +156 -0
- sdetkit-1.2.0/tests/test_docs_orphan_discoverability.py +133 -0
- sdetkit-1.2.0/tests/test_docs_qa.py +578 -0
- sdetkit-1.2.0/tests/test_docs_workflow_typos.py +38 -0
- sdetkit-1.2.0/tests/test_doctor_bundle_outputs.py +66 -0
- sdetkit-1.2.0/tests/test_doctor_cli_cortex.py +68 -0
- sdetkit-1.2.0/tests/test_doctor_cli_failure_bundle_input.py +99 -0
- sdetkit-1.2.0/tests/test_doctor_cortex_adaptive_failure_bundle.py +87 -0
- sdetkit-1.2.0/tests/test_doctor_diagnosis.py +196 -0
- sdetkit-1.2.0/tests/test_doctor_enterprise_profile.py +679 -0
- sdetkit-1.2.0/tests/test_doctor_next_pass_contract.py +66 -0
- sdetkit-1.2.0/tests/test_doctor_next_pass_markdown_contract.py +40 -0
- sdetkit-1.2.0/tests/test_doctor_prescriptions.py +170 -0
- sdetkit-1.2.0/tests/test_doctor_remediate.py +65 -0
- sdetkit-1.2.0/tests/test_doctor_report_cli_contract.py +231 -0
- sdetkit-1.2.0/tests/test_doctor_report_contract.py +229 -0
- sdetkit-1.2.0/tests/test_doctor_snapshot.py +104 -0
- sdetkit-1.2.0/tests/test_doctor_upgrade_audit.py +671 -0
- sdetkit-1.2.0/tests/test_dotnet_adoption_vertical.py +154 -0
- sdetkit-1.2.0/tests/test_ecosystem_priorities.py +134 -0
- sdetkit-1.2.0/tests/test_ecosystem_readiness_contract.py +291 -0
- sdetkit-1.2.0/tests/test_ecosystem_readiness_drift_alerts.py +125 -0
- sdetkit-1.2.0/tests/test_ecosystem_readiness_partner_packaging.py +67 -0
- sdetkit-1.2.0/tests/test_ecosystem_readiness_reliability.py +78 -0
- sdetkit-1.2.0/tests/test_end_to_end_remediation_scenario_harness.py +262 -0
- sdetkit-1.2.0/tests/test_enforce_branch_protection.py +133 -0
- sdetkit-1.2.0/tests/test_enterprise_assessment.py +184 -0
- sdetkit-1.2.0/tests/test_enterprise_followup_pass_template.py +21 -0
- sdetkit-1.2.0/tests/test_entrypoint_main_guards_unit.py +86 -0
- sdetkit-1.2.0/tests/test_entrypoints_smoke.py +79 -0
- sdetkit-1.2.0/tests/test_entrypoints_unit.py +27 -0
- sdetkit-1.2.0/tests/test_escalation_quality_case_study_prep.py +166 -0
- sdetkit-1.2.0/tests/test_evidence_graph.py +541 -0
- sdetkit-1.2.0/tests/test_evidence_narrative.py +173 -0
- sdetkit-1.2.0/tests/test_example_asset.py +127 -0
- sdetkit-1.2.0/tests/test_example_asset2.py +129 -0
- sdetkit-1.2.0/tests/test_execution_prioritization.py +159 -0
- sdetkit-1.2.0/tests/test_expansion.py +131 -0
- sdetkit-1.2.0/tests/test_expansion_automation.py +124 -0
- sdetkit-1.2.0/tests/test_experiment_workflow.py +129 -0
- sdetkit-1.2.0/tests/test_failed_check_log_collection.py +301 -0
- sdetkit-1.2.0/tests/test_failure_vector_extraction.py +413 -0
- sdetkit-1.2.0/tests/test_failure_vector_support_matrix.py +80 -0
- sdetkit-1.2.0/tests/test_failure_workflows.py +105 -0
- sdetkit-1.2.0/tests/test_final_professional_naming_inventory_gate.py +128 -0
- sdetkit-1.2.0/tests/test_first_proof_contract.py +211 -0
- sdetkit-1.2.0/tests/test_first_proof_control_tower.py +68 -0
- sdetkit-1.2.0/tests/test_first_proof_learning_db.py +56 -0
- sdetkit-1.2.0/tests/test_first_proof_quality_evidence.py +315 -0
- sdetkit-1.2.0/tests/test_first_proof_script.py +115 -0
- sdetkit-1.2.0/tests/test_first_proof_trend_threshold.py +186 -0
- sdetkit-1.2.0/tests/test_first_proof_weekly_trend.py +56 -0
- sdetkit-1.2.0/tests/test_fit_cli.py +30 -0
- sdetkit-1.2.0/tests/test_flaky_test_registry_evidence.py +345 -0
- sdetkit-1.2.0/tests/test_forensics_unit.py +109 -0
- sdetkit-1.2.0/tests/test_format_before_proof_workflow.py +27 -0
- sdetkit-1.2.0/tests/test_full_spine_action_report_integration.py +150 -0
- sdetkit-1.2.0/tests/test_full_spine_raw_log_diagnosis_integration.py +272 -0
- sdetkit-1.2.0/tests/test_full_spine_real_blocker_integration.py +689 -0
- sdetkit-1.2.0/tests/test_gate_adoption_profile.py +117 -0
- sdetkit-1.2.0/tests/test_gate_decision_summary_contract.py +105 -0
- sdetkit-1.2.0/tests/test_gate_fast.py +351 -0
- sdetkit-1.2.0/tests/test_ghas_alert_sla_state_contract.py +122 -0
- sdetkit-1.2.0/tests/test_ghas_campaign_zero_signal_policy.py +58 -0
- sdetkit-1.2.0/tests/test_ghas_hotspot_fixture_policy.py +110 -0
- sdetkit-1.2.0/tests/test_ghas_metrics_export_workflow.py +32 -0
- sdetkit-1.2.0/tests/test_ghas_tracker_state_contract.py +236 -0
- sdetkit-1.2.0/tests/test_git_inventory_collector.py +149 -0
- sdetkit-1.2.0/tests/test_github_actions_annotation_hygiene.py +100 -0
- sdetkit-1.2.0/tests/test_github_actions_annotation_hygiene_check.py +73 -0
- sdetkit-1.2.0/tests/test_github_actions_annotation_hygiene_report.py +123 -0
- sdetkit-1.2.0/tests/test_github_setup_python_pinning.py +320 -0
- sdetkit-1.2.0/tests/test_gitlab_integration_expansion.py +184 -0
- sdetkit-1.2.0/tests/test_governance_contract_production_workflow_names.py +15 -0
- sdetkit-1.2.0/tests/test_governance_handoff.py +172 -0
- sdetkit-1.2.0/tests/test_governance_priorities.py +179 -0
- sdetkit-1.2.0/tests/test_governance_scale.py +169 -0
- sdetkit-1.2.0/tests/test_growth_campaign.py +161 -0
- sdetkit-1.2.0/tests/test_help_surface.py +13 -0
- sdetkit-1.2.0/tests/test_impact_policy_resolver.py +25 -0
- sdetkit-1.2.0/tests/test_impact_policy_validate.py +57 -0
- sdetkit-1.2.0/tests/test_impact_program_scorecard.py +61 -0
- sdetkit-1.2.0/tests/test_impact_release_guard.py +58 -0
- sdetkit-1.2.0/tests/test_impact_step1_scorecard.py +64 -0
- sdetkit-1.2.0/tests/test_impact_step_scorecards.py +61 -0
- sdetkit-1.2.0/tests/test_impact_trend_alert.py +83 -0
- sdetkit-1.2.0/tests/test_impact_workflow_map.py +67 -0
- sdetkit-1.2.0/tests/test_impact_workflow_run.py +135 -0
- sdetkit-1.2.0/tests/test_index_engine.py +130 -0
- sdetkit-1.2.0/tests/test_inspect_data.py +337 -0
- sdetkit-1.2.0/tests/test_inspect_project_unit.py +222 -0
- sdetkit-1.2.0/tests/test_integration_edge_cases_unit.py +77 -0
- sdetkit-1.2.0/tests/test_integration_feedback.py +168 -0
- sdetkit-1.2.0/tests/test_integration_unit.py +171 -0
- sdetkit-1.2.0/tests/test_intelligence_unit.py +120 -0
- sdetkit-1.2.0/tests/test_investigate_cli.py +35 -0
- sdetkit-1.2.0/tests/test_investigate_failure.py +242 -0
- sdetkit-1.2.0/tests/test_investigate_repo.py +115 -0
- sdetkit-1.2.0/tests/test_investigate_surface.py +154 -0
- sdetkit-1.2.0/tests/test_investigation_chain_no_mutation.py +76 -0
- sdetkit-1.2.0/tests/test_investigation_evidence.py +199 -0
- sdetkit-1.2.0/tests/test_investigation_outcome_memory.py +170 -0
- sdetkit-1.2.0/tests/test_investigation_safe_fix_policy.py +116 -0
- sdetkit-1.2.0/tests/test_isolated_proof_runner.py +689 -0
- sdetkit-1.2.0/tests/test_issue_queue_classifier.py +216 -0
- sdetkit-1.2.0/tests/test_java_adoption_vertical.py +166 -0
- sdetkit-1.2.0/tests/test_job_queue.py +259 -0
- sdetkit-1.2.0/tests/test_kits_doctor_upgrade_contract.py +62 -0
- sdetkit-1.2.0/tests/test_kits_intelligence_integration_forensics.py +280 -0
- sdetkit-1.2.0/tests/test_kits_umbrella_cli.py +183 -0
- sdetkit-1.2.0/tests/test_kpi_audit.py +92 -0
- sdetkit-1.2.0/tests/test_kpi_deep_audit.py +143 -0
- sdetkit-1.2.0/tests/test_kpi_instrumentation.py +132 -0
- sdetkit-1.2.0/tests/test_kpi_report_unit.py +77 -0
- sdetkit-1.2.0/tests/test_kvcli.py +383 -0
- sdetkit-1.2.0/tests/test_launch_readiness.py +169 -0
- sdetkit-1.2.0/tests/test_legacy_adapters.py +28 -0
- sdetkit-1.2.0/tests/test_legacy_burndown_script.py +125 -0
- sdetkit-1.2.0/tests/test_legacy_cli.py +54 -0
- sdetkit-1.2.0/tests/test_legacy_commands.py +34 -0
- sdetkit-1.2.0/tests/test_legacy_namespace.py +76 -0
- sdetkit-1.2.0/tests/test_legacy_required_status_bridge_workflow.py +24 -0
- sdetkit-1.2.0/tests/test_legacy_workflow_wrapper_unit.py +39 -0
- sdetkit-1.2.0/tests/test_local_diagnostic_queue_dashboard.py +224 -0
- sdetkit-1.2.0/tests/test_main_alias_entrypoint_unit.py +90 -0
- sdetkit-1.2.0/tests/test_main_entrypoint_coverage.py +114 -0
- sdetkit-1.2.0/tests/test_maintenance_action_categories.py +171 -0
- sdetkit-1.2.0/tests/test_maintenance_action_plan.py +122 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_contract.py +9 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_pr_quality_bridge.py +264 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_remediation_plan_bridge.py +241 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_safe_commit.py +199 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_safe_remediation.py +164 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_workflow_artifacts.py +34 -0
- sdetkit-1.2.0/tests/test_maintenance_autopilot_workflow_safety.py +56 -0
- sdetkit-1.2.0/tests/test_maintenance_cli.py +910 -0
- sdetkit-1.2.0/tests/test_maintenance_command_center_live_scan.py +323 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_action_categories_workflow.py +47 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_action_plan_workflow.py +44 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_annotation_hygiene_workflow.py +29 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_policy_decisions_workflow.py +37 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_policy_history_store_workflow.py +45 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_policy_history_workflow.py +44 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_policy_memory_context_workflow.py +43 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_priority_rollup_workflow.py +31 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_proof_checklist_workflow.py +46 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_recommendation_eligibility_workflow.py +47 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_recommendations_workflow.py +47 -0
- sdetkit-1.2.0/tests/test_maintenance_on_demand_signal_trends_workflow.py +45 -0
- sdetkit-1.2.0/tests/test_maintenance_policy_decision_history.py +209 -0
- sdetkit-1.2.0/tests/test_maintenance_policy_decisions.py +160 -0
- sdetkit-1.2.0/tests/test_maintenance_policy_memory_context.py +216 -0
- sdetkit-1.2.0/tests/test_maintenance_policy_proposals.py +154 -0
- sdetkit-1.2.0/tests/test_maintenance_priority_rollup.py +156 -0
- sdetkit-1.2.0/tests/test_maintenance_proof_checklist.py +139 -0
- sdetkit-1.2.0/tests/test_maintenance_queue_rollup.py +256 -0
- sdetkit-1.2.0/tests/test_maintenance_queue_rollup_dashboard.py +462 -0
- sdetkit-1.2.0/tests/test_maintenance_recommendation_eligibility.py +141 -0
- sdetkit-1.2.0/tests/test_maintenance_recommendations.py +167 -0
- sdetkit-1.2.0/tests/test_maintenance_signal_trends.py +196 -0
- sdetkit-1.2.0/tests/test_makefile_baseline_operations_aliases.py +93 -0
- sdetkit-1.2.0/tests/test_makefile_operations_current_status_aliases.py +35 -0
- sdetkit-1.2.0/tests/test_makefile_phase1_compatibility_aliases.py +25 -0
- sdetkit-1.2.0/tests/test_makefile_professional_contract_aliases.py +38 -0
- sdetkit-1.2.0/tests/test_makefile_professional_naming_aliases.py +36 -0
- sdetkit-1.2.0/tests/test_makefile_readiness_command_aliases.py +20 -0
- sdetkit-1.2.0/tests/test_merge_readiness.py +287 -0
- sdetkit-1.2.0/tests/test_metrics_readiness_commercial_scorecard.py +46 -0
- sdetkit-1.2.0/tests/test_metrics_readiness_contract.py +376 -0
- sdetkit-1.2.0/tests/test_metrics_readiness_drift_alerts.py +26 -0
- sdetkit-1.2.0/tests/test_metrics_readiness_kpi_snapshot.py +60 -0
- sdetkit-1.2.0/tests/test_mission_control.py +538 -0
- sdetkit-1.2.0/tests/test_mission_control_adaptive_failure_bundle.py +173 -0
- sdetkit-1.2.0/tests/test_mission_control_cortex_guard.py +414 -0
- sdetkit-1.2.0/tests/test_mission_control_cortex_trend.py +190 -0
- sdetkit-1.2.0/tests/test_mission_control_doctor_cortex.py +161 -0
- sdetkit-1.2.0/tests/test_mission_control_evidence_graph.py +588 -0
- sdetkit-1.2.0/tests/test_mixed_monorepo_operator_proof.py +177 -0
- sdetkit-1.2.0/tests/test_mkdocs_exclude_docs_scope.py +18 -0
- sdetkit-1.2.0/tests/test_mkdocs_strict_docs_map_links.py +45 -0
- sdetkit-1.2.0/tests/test_mutation_workflow_dependency_contract.py +15 -0
- sdetkit-1.2.0/tests/test_mypy_adoption_bundle_external_ratchet_contract.py +36 -0
- sdetkit-1.2.0/tests/test_mypy_adoption_evidence_ratchet_contract.py +36 -0
- sdetkit-1.2.0/tests/test_mypy_adoption_learning_matrix_report_ratchet_contract.py +36 -0
- sdetkit-1.2.0/tests/test_mypy_provenance_ratchet_contract.py +34 -0
- sdetkit-1.2.0/tests/test_mypy_ratchet_contract.py +38 -0
- sdetkit-1.2.0/tests/test_netclient_async_extra.py +48 -0
- sdetkit-1.2.0/tests/test_netclient_branches_wave6.py +245 -0
- sdetkit-1.2.0/tests/test_netclient_envelope_parity.py +119 -0
- sdetkit-1.2.0/tests/test_netclient_retry_after_http_date.py +8 -0
- sdetkit-1.2.0/tests/test_network_boundary.py +254 -0
- sdetkit-1.2.0/tests/test_non_actions_check_annotation_evidence.py +141 -0
- sdetkit-1.2.0/tests/test_notify_plugins.py +57 -0
- sdetkit-1.2.0/tests/test_notify_plugins_extra.py +47 -0
- sdetkit-1.2.0/tests/test_notify_telegram_real_send.py +88 -0
- sdetkit-1.2.0/tests/test_objection_handling_workflow.py +132 -0
- sdetkit-1.2.0/tests/test_onboarding_optimization.py +97 -0
- sdetkit-1.2.0/tests/test_operational_readiness_governance_adherence.py +32 -0
- sdetkit-1.2.0/tests/test_operational_readiness_governance_contract.py +498 -0
- sdetkit-1.2.0/tests/test_operational_readiness_governance_workflow.py +87 -0
- sdetkit-1.2.0/tests/test_operational_readiness_policy_compatibility.py +74 -0
- sdetkit-1.2.0/tests/test_operational_readiness_release_evidence.py +120 -0
- sdetkit-1.2.0/tests/test_operator_brief.py +222 -0
- sdetkit-1.2.0/tests/test_operator_evidence_loop.py +639 -0
- sdetkit-1.2.0/tests/test_operator_onboarding_evidence_flow.py +155 -0
- sdetkit-1.2.0/tests/test_operator_onboarding_next.py +51 -0
- sdetkit-1.2.0/tests/test_operator_surface_consolidation.py +61 -0
- sdetkit-1.2.0/tests/test_ops_next.py +71 -0
- sdetkit-1.2.0/tests/test_ops_ops_unit.py +122 -0
- sdetkit-1.2.0/tests/test_ops_premerge_next.py +175 -0
- sdetkit-1.2.0/tests/test_optimization.py +140 -0
- sdetkit-1.2.0/tests/test_optimization_foundation.py +147 -0
- sdetkit-1.2.0/tests/test_optimizer_dependency_radar_opportunity_payload.py +43 -0
- sdetkit-1.2.0/tests/test_optimizer_quality_boost_payload.py +36 -0
- sdetkit-1.2.0/tests/test_optional_httpx.py +55 -0
- sdetkit-1.2.0/tests/test_owned_surface_hygiene_contract.py +269 -0
- sdetkit-1.2.0/tests/test_package_lazy_imports_unit.py +53 -0
- sdetkit-1.2.0/tests/test_parsed_shortcuts.py +124 -0
- sdetkit-1.2.0/tests/test_partner_outreach.py +160 -0
- sdetkit-1.2.0/tests/test_patch_scorer.py +401 -0
- sdetkit-1.2.0/tests/test_patch_workbench.py +99 -0
- sdetkit-1.2.0/tests/test_platform_capability_matrix.py +126 -0
- sdetkit-1.2.0/tests/test_platform_problem_template_hygiene.py +37 -0
- sdetkit-1.2.0/tests/test_platform_readiness_baseline_history_persist.py +80 -0
- sdetkit-1.2.0/tests/test_platform_readiness_dependency_radar.py +71 -0
- sdetkit-1.2.0/tests/test_platform_readiness_followup_pass_determinism.py +85 -0
- sdetkit-1.2.0/tests/test_platform_readiness_kickoff.py +176 -0
- sdetkit-1.2.0/tests/test_platform_readiness_operational_workflow.py +20 -0
- sdetkit-1.2.0/tests/test_platform_readiness_preplan.py +166 -0
- sdetkit-1.2.0/tests/test_platform_readiness_quality_contract.py +407 -0
- sdetkit-1.2.0/tests/test_platform_readiness_remediation_payload_v2.py +66 -0
- sdetkit-1.2.0/tests/test_platform_readiness_trend_delta.py +69 -0
- sdetkit-1.2.0/tests/test_platform_readiness_wrap_publication.py +191 -0
- sdetkit-1.2.0/tests/test_playbook_aliases.py +37 -0
- sdetkit-1.2.0/tests/test_playbook_post.py +118 -0
- sdetkit-1.2.0/tests/test_playbooks_cli_extra.py +93 -0
- sdetkit-1.2.0/tests/test_playbooks_professional_naming_aliases.py +56 -0
- sdetkit-1.2.0/tests/test_playbooks_validate.py +100 -0
- sdetkit-1.2.0/tests/test_policy_control_plane.py +179 -0
- sdetkit-1.2.0/tests/test_portfolio_orchestrator.py +318 -0
- sdetkit-1.2.0/tests/test_portfolio_orchestrator_cli.py +641 -0
- sdetkit-1.2.0/tests/test_portfolio_readiness.py +67 -0
- sdetkit-1.2.0/tests/test_portfolio_readiness_cli.py +52 -0
- sdetkit-1.2.0/tests/test_post_impact_pr_comment.py +41 -0
- sdetkit-1.2.0/tests/test_post_merge_verification.py +574 -0
- sdetkit-1.2.0/tests/test_pr_comment_failure_families.py +81 -0
- sdetkit-1.2.0/tests/test_pr_guardrail_decisions.py +154 -0
- sdetkit-1.2.0/tests/test_pr_guardrail_outcome_memory.py +219 -0
- sdetkit-1.2.0/tests/test_pr_investigation_summary.py +101 -0
- sdetkit-1.2.0/tests/test_pr_quality_action_report.py +6375 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis.py +84 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis_bundle.py +120 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis_bundle_verifier.py +144 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis_contract.py +78 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis_json.py +94 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis_markdown.py +92 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_diagnosis_rendering.py +104 -0
- sdetkit-1.2.0/tests/test_pr_quality_adaptive_sentinel_workflow.py +91 -0
- sdetkit-1.2.0/tests/test_pr_quality_artifact_index.py +198 -0
- sdetkit-1.2.0/tests/test_pr_quality_candidate_validation.py +133 -0
- sdetkit-1.2.0/tests/test_pr_quality_candidate_visibility.py +227 -0
- sdetkit-1.2.0/tests/test_pr_quality_comment.py +99 -0
- sdetkit-1.2.0/tests/test_pr_quality_comment_contract.py +144 -0
- sdetkit-1.2.0/tests/test_pr_quality_comment_observability_workflow.py +1518 -0
- sdetkit-1.2.0/tests/test_pr_quality_comment_scenarios.py +241 -0
- sdetkit-1.2.0/tests/test_pr_quality_current_head_failure_bundle.py +383 -0
- sdetkit-1.2.0/tests/test_pr_quality_evidence_narrative.py +1138 -0
- sdetkit-1.2.0/tests/test_pr_quality_expected_observed_evidence.py +160 -0
- sdetkit-1.2.0/tests/test_pr_quality_failed_check_log_workflow.py +55 -0
- sdetkit-1.2.0/tests/test_pr_quality_failure_bundle_evidence_graph_workflow.py +21 -0
- sdetkit-1.2.0/tests/test_pr_quality_failure_bundle_workflow.py +59 -0
- sdetkit-1.2.0/tests/test_pr_quality_failure_vector_report.py +67 -0
- sdetkit-1.2.0/tests/test_pr_quality_gate_contributor_guidance.py +79 -0
- sdetkit-1.2.0/tests/test_pr_quality_lifecycle_reconciliation.py +104 -0
- sdetkit-1.2.0/tests/test_pr_quality_live_adaptive_diagnosis.py +173 -0
- sdetkit-1.2.0/tests/test_pr_quality_live_benchmark_workspace.py +125 -0
- sdetkit-1.2.0/tests/test_pr_quality_live_dashboard.py +619 -0
- sdetkit-1.2.0/tests/test_pr_quality_operator_loop_workflow.py +36 -0
- sdetkit-1.2.0/tests/test_pr_quality_permission_decision.py +43 -0
- sdetkit-1.2.0/tests/test_pr_quality_publisher_trust_boundary.py +141 -0
- sdetkit-1.2.0/tests/test_pr_quality_remediation_refresh_loop.py +165 -0
- sdetkit-1.2.0/tests/test_pr_quality_required_terminal.py +285 -0
- sdetkit-1.2.0/tests/test_pr_quality_runtime_proof_artifacts.py +1085 -0
- sdetkit-1.2.0/tests/test_pr_quality_security_review_workflow.py +40 -0
- sdetkit-1.2.0/tests/test_pr_quality_terminal_workflows.py +264 -0
- sdetkit-1.2.0/tests/test_premerge_release_room_gate.py +96 -0
- sdetkit-1.2.0/tests/test_premium_gate_engine_api_unit.py +182 -0
- sdetkit-1.2.0/tests/test_premium_gate_engine_insights_server_unit.py +138 -0
- sdetkit-1.2.0/tests/test_private_entrypoints_unit.py +17 -0
- sdetkit-1.2.0/tests/test_product_maturity_radar.py +495 -0
- sdetkit-1.2.0/tests/test_production_readiness.py +41 -0
- sdetkit-1.2.0/tests/test_production_readiness_extra.py +70 -0
- sdetkit-1.2.0/tests/test_production_workflow_docs_references.py +52 -0
- sdetkit-1.2.0/tests/test_production_workflow_naming_aliases.py +62 -0
- sdetkit-1.2.0/tests/test_professional_execution_docs_language.py +70 -0
- sdetkit-1.2.0/tests/test_professional_naming_active_contracts_wave3.py +75 -0
- sdetkit-1.2.0/tests/test_professional_naming_active_contracts_wave3_slice2.py +71 -0
- sdetkit-1.2.0/tests/test_professional_naming_cleanup_plan.py +256 -0
- sdetkit-1.2.0/tests/test_professional_naming_compatibility_aliases.py +94 -0
- sdetkit-1.2.0/tests/test_professional_naming_docs_navigation_wave3.py +75 -0
- sdetkit-1.2.0/tests/test_professional_naming_implementation_paths.py +70 -0
- sdetkit-1.2.0/tests/test_professional_naming_inventory.py +121 -0
- sdetkit-1.2.0/tests/test_professional_naming_inventory_policy.py +68 -0
- sdetkit-1.2.0/tests/test_professional_naming_migration.py +233 -0
- sdetkit-1.2.0/tests/test_professional_naming_public_surface_wave6.py +31 -0
- sdetkit-1.2.0/tests/test_professional_naming_wave7_active_text.py +97 -0
- sdetkit-1.2.0/tests/test_professional_public_command_surface_docs.py +60 -0
- sdetkit-1.2.0/tests/test_proof_runtime_guard.py +79 -0
- sdetkit-1.2.0/tests/test_protected_proof_chain.py +177 -0
- sdetkit-1.2.0/tests/test_protected_proof_chain_identity.py +115 -0
- sdetkit-1.2.0/tests/test_protected_verifier.py +742 -0
- sdetkit-1.2.0/tests/test_public_adoption_fixture_dependency_baseline.py +40 -0
- sdetkit-1.2.0/tests/test_public_api_parity.py +132 -0
- sdetkit-1.2.0/tests/test_public_command_surface_report.py +317 -0
- sdetkit-1.2.0/tests/test_public_docs_hygiene.py +55 -0
- sdetkit-1.2.0/tests/test_public_launch_proof_contract.py +107 -0
- sdetkit-1.2.0/tests/test_public_surface_alignment.py +94 -0
- sdetkit-1.2.0/tests/test_publication_case_study_prep.py +170 -0
- sdetkit-1.2.0/tests/test_python310_datetime_compat.py +71 -0
- sdetkit-1.2.0/tests/test_quality_contract_local_fixture_dx.py +60 -0
- sdetkit-1.2.0/tests/test_quality_truth_baseline.py +94 -0
- sdetkit-1.2.0/tests/test_queued_diagnostic_worker.py +723 -0
- sdetkit-1.2.0/tests/test_readiness.py +147 -0
- sdetkit-1.2.0/tests/test_readiness_boost.py +101 -0
- sdetkit-1.2.0/tests/test_readiness_sequential_executor.py +48 -0
- sdetkit-1.2.0/tests/test_real_repo_adoption_contracts.py +261 -0
- sdetkit-1.2.0/tests/test_real_workflow_followup.py +175 -0
- sdetkit-1.2.0/tests/test_real_workflow_followup_contract.py +116 -0
- sdetkit-1.2.0/tests/test_real_workflow_ops_contract.py +77 -0
- sdetkit-1.2.0/tests/test_recommend_sdetkit_fit.py +68 -0
- sdetkit-1.2.0/tests/test_release_anti_hijack_threat_model.py +456 -0
- sdetkit-1.2.0/tests/test_release_cadence.py +129 -0
- sdetkit-1.2.0/tests/test_release_candidate_qualification_contract.py +86 -0
- sdetkit-1.2.0/tests/test_release_candidate_qualification_evidence.py +175 -0
- sdetkit-1.2.0/tests/test_release_distribution_scripts.py +141 -0
- sdetkit-1.2.0/tests/test_release_evidence_recipes.py +482 -0
- sdetkit-1.2.0/tests/test_release_prioritization.py +273 -0
- sdetkit-1.2.0/tests/test_release_readiness_complete_workflow.py +19 -0
- sdetkit-1.2.0/tests/test_release_readiness_evidence_package.py +733 -0
- sdetkit-1.2.0/tests/test_release_readiness_hardening.py +211 -0
- sdetkit-1.2.0/tests/test_release_readiness_hotspot_baseline.py +44 -0
- sdetkit-1.2.0/tests/test_release_readiness_hotspot_delta.py +59 -0
- sdetkit-1.2.0/tests/test_release_readiness_kickoff.py +143 -0
- sdetkit-1.2.0/tests/test_release_readiness_progress_report.py +30 -0
- sdetkit-1.2.0/tests/test_release_readiness_radar.py +104 -0
- sdetkit-1.2.0/tests/test_release_readiness_seed_prerequisites.py +36 -0
- sdetkit-1.2.0/tests/test_release_readiness_start_makefile_target.py +22 -0
- sdetkit-1.2.0/tests/test_release_readiness_start_summary_contract.py +50 -0
- sdetkit-1.2.0/tests/test_release_readiness_start_workflow.py +27 -0
- sdetkit-1.2.0/tests/test_release_readiness_status_report.py +41 -0
- sdetkit-1.2.0/tests/test_release_readiness_utilities_extraction.py +35 -0
- sdetkit-1.2.0/tests/test_release_readiness_wrap_handoff.py +221 -0
- sdetkit-1.2.0/tests/test_release_readiness_zero_signal_policy.py +65 -0
- sdetkit-1.2.0/tests/test_release_room_plan.py +193 -0
- sdetkit-1.2.0/tests/test_release_trusted_publishing_contract.py +119 -0
- sdetkit-1.2.0/tests/test_reliability.py +129 -0
- sdetkit-1.2.0/tests/test_reliability_case_study_prep.py +135 -0
- sdetkit-1.2.0/tests/test_reliability_spine_alignment.py +514 -0
- sdetkit-1.2.0/tests/test_remediation_plan_engine.py +180 -0
- sdetkit-1.2.0/tests/test_remediation_readiness_report.py +343 -0
- sdetkit-1.2.0/tests/test_render_adoption_posture.py +76 -0
- sdetkit-1.2.0/tests/test_render_first_proof_dashboard.py +51 -0
- sdetkit-1.2.0/tests/test_render_first_proof_execution_report.py +51 -0
- sdetkit-1.2.0/tests/test_render_gate_decision_summary.py +117 -0
- sdetkit-1.2.0/tests/test_render_impact_pr_comment.py +73 -0
- sdetkit-1.2.0/tests/test_render_ops_bundle_trend_report.py +45 -0
- sdetkit-1.2.0/tests/test_render_repo_visual_snapshot.py +56 -0
- sdetkit-1.2.0/tests/test_render_upgrade_status_line.py +40 -0
- sdetkit-1.2.0/tests/test_replayable_benchmark_execution_plan_handoff.py +107 -0
- sdetkit-1.2.0/tests/test_replayable_benchmark_harness.py +555 -0
- sdetkit-1.2.0/tests/test_replayable_isolated_proof_evidence.py +370 -0
- sdetkit-1.2.0/tests/test_repo_adoption_scan.py +85 -0
- sdetkit-1.2.0/tests/test_repo_audit.py +398 -0
- sdetkit-1.2.0/tests/test_repo_audit_exporters_determinism.py +89 -0
- sdetkit-1.2.0/tests/test_repo_audit_performance.py +202 -0
- sdetkit-1.2.0/tests/test_repo_audit_policy_baseline.py +228 -0
- sdetkit-1.2.0/tests/test_repo_fit_screen.py +64 -0
- sdetkit-1.2.0/tests/test_repo_memory.py +1543 -0
- sdetkit-1.2.0/tests/test_repo_memory_profile_history.py +508 -0
- sdetkit-1.2.0/tests/test_repo_memory_profile_history_workflow.py +446 -0
- sdetkit-1.2.0/tests/test_repo_optimization_bot_workflow.py +46 -0
- sdetkit-1.2.0/tests/test_repo_policy_governance.py +287 -0
- sdetkit-1.2.0/tests/test_repo_workflow_naming_hygiene.py +101 -0
- sdetkit-1.2.0/tests/test_report_branches_wave10.py +178 -0
- sdetkit-1.2.0/tests/test_report_cli_contracts.py +1116 -0
- sdetkit-1.2.0/tests/test_report_dependency_graph.py +363 -0
- sdetkit-1.2.0/tests/test_report_dependency_graph_dashboard.py +335 -0
- sdetkit-1.2.0/tests/test_report_trends.py +286 -0
- sdetkit-1.2.0/tests/test_review.py +982 -0
- sdetkit-1.2.0/tests/test_review_adaptive_v2.py +150 -0
- sdetkit-1.2.0/tests/test_roadmap_manifest_edges_wave12.py +147 -0
- sdetkit-1.2.0/tests/test_roadmap_manifest_tooling.py +29 -0
- sdetkit-1.2.0/tests/test_run_adoption_validation_suite.py +52 -0
- sdetkit-1.2.0/tests/test_runtime_support_contract.py +24 -0
- sdetkit-1.2.0/tests/test_runtime_watchlist_workflow.py +32 -0
- sdetkit-1.2.0/tests/test_rust_adoption_vertical.py +150 -0
- sdetkit-1.2.0/tests/test_safe_fix_candidate_registry.py +113 -0
- sdetkit-1.2.0/tests/test_safe_fix_history_memory.py +282 -0
- sdetkit-1.2.0/tests/test_safe_fix_operator_rollup.py +93 -0
- sdetkit-1.2.0/tests/test_safe_fix_outcome.py +82 -0
- sdetkit-1.2.0/tests/test_safe_remediation_eligibility.py +249 -0
- sdetkit-1.2.0/tests/test_safety_gate.py +203 -0
- sdetkit-1.2.0/tests/test_safety_gate_policy_matrix.py +133 -0
- sdetkit-1.2.0/tests/test_scale.py +147 -0
- sdetkit-1.2.0/tests/test_scale_upgrade.py +155 -0
- sdetkit-1.2.0/tests/test_scale_workflow.py +118 -0
- sdetkit-1.2.0/tests/test_scheduled_adaptive_sentinel_monitor_workflow.py +57 -0
- sdetkit-1.2.0/tests/test_schema_version_aliases.py +46 -0
- sdetkit-1.2.0/tests/test_secret_protection_review_workflow.py +58 -0
- sdetkit-1.2.0/tests/test_security_finding_diagnosis.py +466 -0
- sdetkit-1.2.0/tests/test_security_finding_diagnosis_workflow.py +82 -0
- sdetkit-1.2.0/tests/test_security_finding_disposition_matrix.py +94 -0
- sdetkit-1.2.0/tests/test_security_findings_inventory.py +83 -0
- sdetkit-1.2.0/tests/test_security_followup_disposition.py +105 -0
- sdetkit-1.2.0/tests/test_security_gate_cli.py +350 -0
- sdetkit-1.2.0/tests/test_security_gate_helpers_extra.py +261 -0
- sdetkit-1.2.0/tests/test_security_review_evidence.py +197 -0
- sdetkit-1.2.0/tests/test_security_review_packet.py +141 -0
- sdetkit-1.2.0/tests/test_security_reviewed_disposition_history.py +176 -0
- sdetkit-1.2.0/tests/test_self_hosted_integration_expansion.py +143 -0
- sdetkit-1.2.0/tests/test_serve_api.py +273 -0
- sdetkit-1.2.0/tests/test_ship_readiness.py +131 -0
- sdetkit-1.2.0/tests/test_ship_readiness_cli.py +43 -0
- sdetkit-1.2.0/tests/test_stabilization.py +148 -0
- sdetkit-1.2.0/tests/test_synthetic_literal_hygiene.py +111 -0
- sdetkit-1.2.0/tests/test_tekton_integration_expansion.py +233 -0
- sdetkit-1.2.0/tests/test_test_bootstrap_validate_unit.py +78 -0
- sdetkit-1.2.0/tests/test_textutil.py +119 -0
- sdetkit-1.2.0/tests/test_toolchain_pin_contract.py +32 -0
- sdetkit-1.2.0/tests/test_tools_script_entrypoints.py +34 -0
- sdetkit-1.2.0/tests/test_top_tier_reporting_docs_index.py +18 -0
- sdetkit-1.2.0/tests/test_top_tier_reporting_makefile.py +29 -0
- sdetkit-1.2.0/tests/test_top_tier_reporting_readme.py +14 -0
- sdetkit-1.2.0/tests/test_top_tier_reporting_workflow.py +26 -0
- sdetkit-1.2.0/tests/test_trajectory_history_report.py +160 -0
- sdetkit-1.2.0/tests/test_trajectory_pattern_insights.py +319 -0
- sdetkit-1.2.0/tests/test_trajectory_store.py +678 -0
- sdetkit-1.2.0/tests/test_triage_speed_case_study_prep.py +124 -0
- sdetkit-1.2.0/tests/test_triage_templates.py +112 -0
- sdetkit-1.2.0/tests/test_triage_tool.py +313 -0
- sdetkit-1.2.0/tests/test_trust_assets.py +158 -0
- sdetkit-1.2.0/tests/test_trust_assets_refresh.py +261 -0
- sdetkit-1.2.0/tests/test_trust_faq_expansion.py +172 -0
- sdetkit-1.2.0/tests/test_trusted_diagnostic_signal_snapshot_history.py +345 -0
- sdetkit-1.2.0/tests/test_trusted_flaky_test_registry_producer.py +437 -0
- sdetkit-1.2.0/tests/test_trusted_history_evidence.py +723 -0
- sdetkit-1.2.0/tests/test_trusted_test_observation_capture.py +223 -0
- sdetkit-1.2.0/tests/test_trusted_test_observation_capture_workflow.py +73 -0
- sdetkit-1.2.0/tests/test_trusted_test_observation_classification.py +308 -0
- sdetkit-1.2.0/tests/test_trusted_test_observation_history.py +449 -0
- sdetkit-1.2.0/tests/test_upgrade_audit_script.py +1537 -0
- sdetkit-1.2.0/tests/test_upgrade_hub.py +61 -0
- sdetkit-1.2.0/tests/test_upgrade_next_onramp.py +75 -0
- sdetkit-1.2.0/tests/test_validate_enterprise_contracts.py +214 -0
- sdetkit-1.2.0/tests/test_validate_test_bootstrap.py +89 -0
- sdetkit-1.2.0/tests/test_version_alignment_docs.py +30 -0
- sdetkit-1.2.0/tests/test_vitest_fixture_exists.py +39 -0
- sdetkit-1.2.0/tests/test_weekly_review.py +163 -0
- sdetkit-1.2.0/tests/test_weekly_review_continuity.py +168 -0
- sdetkit-1.2.0/tests/test_weekly_review_foundation.py +102 -0
- sdetkit-1.2.0/tests/test_weekly_review_workflow.py +156 -0
- sdetkit-1.2.0/tests/test_worker_alignment_evidence_contract.py +85 -0
- sdetkit-1.2.0/tests/test_workflow_alias_regression_guards.py +75 -0
- sdetkit-1.2.0/tests/test_workflow_consolidation_plan_contract.py +147 -0
- sdetkit-1.2.0/tests/test_workflow_contracts.py +128 -0
- sdetkit-1.2.0/tests/test_workflow_dependency_install_contract.py +129 -0
- sdetkit-1.2.0/tests/test_workflow_deployment_oidc_evidence_contract.py +56 -0
- sdetkit-1.2.0/tests/test_workflow_external_tool_pin_contract.py +64 -0
- sdetkit-1.2.0/tests/test_workflow_governance_artifact_policy.py +94 -0
- sdetkit-1.2.0/tests/test_workflow_governance_report.py +800 -0
- sdetkit-1.2.0/tests/test_workflow_overlap_report.py +195 -0
- sdetkit-1.2.0/tests/test_workflow_overlap_yaml_contract.py +24 -0
- sdetkit-1.2.0/tests/test_workflow_permission_evidence_index.py +48 -0
- sdetkit-1.2.0/tests/test_workflow_permission_review_cards.py +81 -0
- sdetkit-1.2.0/tests/test_workflow_pr_issue_interaction_evidence_contract.py +61 -0
- sdetkit-1.2.0/tests/test_workflow_release_guardrails.py +84 -0
- sdetkit-1.2.0/tests/test_workflow_release_provenance_evidence_contract.py +76 -0
- sdetkit-1.2.0/tests/test_workflow_repository_mutation_evidence_contract.py +63 -0
- sdetkit-1.2.0/tests/test_workflow_security_upload_evidence_contract.py +61 -0
- sdetkit-1.2.0/tests/test_workflow_template_hygiene.py +64 -0
- sdetkit-1.2.0/tests/test_workflow_warning_classifier.py +109 -0
- sdetkit-1.2.0/tests/test_workspace_failure_ownership.py +144 -0
- sdetkit-1.2.0/tests/test_world_class_kpi_snapshot.py +166 -0
- sdetkit-1.2.0/tests/test_wrapper_modules_coverage.py +193 -0
- sdetkit-1.2.0/tests/test_wrapper_reexport_cli_unit.py +56 -0
- sdetkit-1.2.0/tests/test_wrapper_reexport_contract_unit.py +56 -0
- sdetkit-1.2.0/tests/test_wrapper_reexport_more_unit.py +58 -0
- sdetkit-1.0.3/PKG-INFO +0 -314
- sdetkit-1.0.3/README.md +0 -257
- sdetkit-1.0.3/pyproject.toml +0 -151
- sdetkit-1.0.3/src/sdetkit/__init__.py +0 -122
- sdetkit-1.0.3/src/sdetkit/__main__.py +0 -136
- sdetkit-1.0.3/src/sdetkit/_entrypoints.py +0 -14
- sdetkit-1.0.3/src/sdetkit/_legacy_lane.py +0 -86
- sdetkit-1.0.3/src/sdetkit/acceleration_closeout_43.py +0 -462
- sdetkit-1.0.3/src/sdetkit/agent/actions.py +0 -402
- sdetkit-1.0.3/src/sdetkit/agent/cli.py +0 -434
- sdetkit-1.0.3/src/sdetkit/agent/core.py +0 -538
- sdetkit-1.0.3/src/sdetkit/agent/templates.py +0 -595
- sdetkit-1.0.3/src/sdetkit/apiclient.py +0 -601
- sdetkit-1.0.3/src/sdetkit/apiget.py +0 -834
- sdetkit-1.0.3/src/sdetkit/artifact_contract_index.py +0 -114
- sdetkit-1.0.3/src/sdetkit/author_problem.py +0 -2211
- sdetkit-1.0.3/src/sdetkit/case_study_launch_closeout_73.py +0 -398
- sdetkit-1.0.3/src/sdetkit/case_study_prep1_closeout_69.py +0 -392
- sdetkit-1.0.3/src/sdetkit/case_study_prep2_closeout_70.py +0 -394
- sdetkit-1.0.3/src/sdetkit/case_study_prep3_closeout_71.py +0 -400
- sdetkit-1.0.3/src/sdetkit/case_study_prep4_closeout_72.py +0 -411
- sdetkit-1.0.3/src/sdetkit/checks/builtin.py +0 -398
- sdetkit-1.0.3/src/sdetkit/checks/cache.py +0 -117
- sdetkit-1.0.3/src/sdetkit/checks/main.py +0 -268
- sdetkit-1.0.3/src/sdetkit/cli.py +0 -813
- sdetkit-1.0.3/src/sdetkit/cli_shortcuts.py +0 -86
- sdetkit-1.0.3/src/sdetkit/community_program_closeout_62.py +0 -33
- sdetkit-1.0.3/src/sdetkit/community_touchpoint_closeout_77.py +0 -411
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_1.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_10.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_11.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_2.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_3.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_4.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_5.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_6.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_7.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_8.py +0 -18
- sdetkit-1.0.3/src/sdetkit/continuous_upgrade_closeout_9.py +0 -18
- sdetkit-1.0.3/src/sdetkit/contributor_activation_closeout_55.py +0 -467
- sdetkit-1.0.3/src/sdetkit/contributor_recognition_closeout_76.py +0 -398
- sdetkit-1.0.3/src/sdetkit/core_preparse_dispatch.py +0 -35
- sdetkit-1.0.3/src/sdetkit/demo_asset2_34.py +0 -25
- sdetkit-1.0.3/src/sdetkit/demo_asset_33.py +0 -25
- sdetkit-1.0.3/src/sdetkit/distribution_batch_38.py +0 -27
- sdetkit-1.0.3/src/sdetkit/distribution_closeout_36.py +0 -26
- sdetkit-1.0.3/src/sdetkit/distribution_scaling_closeout_74.py +0 -399
- sdetkit-1.0.3/src/sdetkit/docs_loop_closeout_53.py +0 -514
- sdetkit-1.0.3/src/sdetkit/docs_navigation.py +0 -281
- sdetkit-1.0.3/src/sdetkit/docs_qa.py +0 -260
- sdetkit-1.0.3/src/sdetkit/doctor.py +0 -3451
- sdetkit-1.0.3/src/sdetkit/ecosystem_priorities_closeout_78.py +0 -405
- sdetkit-1.0.3/src/sdetkit/enterprise_assessment.py +0 -686
- sdetkit-1.0.3/src/sdetkit/evidence_narrative_closeout_84.py +0 -411
- sdetkit-1.0.3/src/sdetkit/evidence_workspace.py +0 -184
- sdetkit-1.0.3/src/sdetkit/execution_prioritization_closeout_50.py +0 -31
- sdetkit-1.0.3/src/sdetkit/expansion_automation_41.py +0 -27
- sdetkit-1.0.3/src/sdetkit/expansion_closeout_45.py +0 -441
- sdetkit-1.0.3/src/sdetkit/experiment_lane_37.py +0 -29
- sdetkit-1.0.3/src/sdetkit/feature_registry_cli.py +0 -182
- sdetkit-1.0.3/src/sdetkit/gate.py +0 -838
- sdetkit-1.0.3/src/sdetkit/governance_handoff_closeout_87.py +0 -409
- sdetkit-1.0.3/src/sdetkit/governance_priorities_closeout_88.py +0 -409
- sdetkit-1.0.3/src/sdetkit/governance_scale_closeout_89.py +0 -411
- sdetkit-1.0.3/src/sdetkit/growth_campaign_closeout_81.py +0 -395
- sdetkit-1.0.3/src/sdetkit/inspect_data.py +0 -954
- sdetkit-1.0.3/src/sdetkit/integration_expansion2_closeout_66.py +0 -405
- sdetkit-1.0.3/src/sdetkit/integration_expansion3_closeout_67.py +0 -411
- sdetkit-1.0.3/src/sdetkit/integration_expansion4_closeout_68.py +0 -416
- sdetkit-1.0.3/src/sdetkit/integration_feedback_closeout_82.py +0 -411
- sdetkit-1.0.3/src/sdetkit/kits.py +0 -385
- sdetkit-1.0.3/src/sdetkit/kpi_audit.py +0 -29
- sdetkit-1.0.3/src/sdetkit/kpi_deep_audit_closeout_57.py +0 -31
- sdetkit-1.0.3/src/sdetkit/kpi_instrumentation_35.py +0 -25
- sdetkit-1.0.3/src/sdetkit/kpi_report.py +0 -152
- sdetkit-1.0.3/src/sdetkit/kvcli.py +0 -171
- sdetkit-1.0.3/src/sdetkit/launch_readiness_closeout_86.py +0 -409
- sdetkit-1.0.3/src/sdetkit/legacy_adapters/__init__.py +0 -16
- sdetkit-1.0.3/src/sdetkit/legacy_adapters/closeout.py +0 -51
- sdetkit-1.0.3/src/sdetkit/legacy_adapters/continuous_upgrade.py +0 -15
- sdetkit-1.0.3/src/sdetkit/legacy_adapters/foundation.py +0 -36
- sdetkit-1.0.3/src/sdetkit/legacy_namespace.py +0 -21
- sdetkit-1.0.3/src/sdetkit/main_.py +0 -3
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/clean_tree_check.py +0 -76
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/custom_example_check.py +0 -27
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/deps_check.py +0 -59
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/doctor_check.py +0 -115
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/github_automation_check.py +0 -341
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/lint_check.py +0 -85
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/security_check.py +0 -243
- sdetkit-1.0.3/src/sdetkit/maintenance/checks/tests_check.py +0 -55
- sdetkit-1.0.3/src/sdetkit/netclient.py +0 -1042
- sdetkit-1.0.3/src/sdetkit/notify.py +0 -83
- sdetkit-1.0.3/src/sdetkit/notify_plugins.py +0 -54
- sdetkit-1.0.3/src/sdetkit/objection_closeout_48.py +0 -29
- sdetkit-1.0.3/src/sdetkit/objection_handling.py +0 -534
- sdetkit-1.0.3/src/sdetkit/ops.py +0 -980
- sdetkit-1.0.3/src/sdetkit/ops_control.py +0 -371
- sdetkit-1.0.3/src/sdetkit/optimization_closeout_42.py +0 -477
- sdetkit-1.0.3/src/sdetkit/optimization_closeout_46.py +0 -444
- sdetkit-1.0.3/src/sdetkit/optional_httpx.py +0 -65
- sdetkit-1.0.3/src/sdetkit/parsed_shortcuts.py +0 -63
- sdetkit-1.0.3/src/sdetkit/partner_outreach_closeout_80.py +0 -458
- sdetkit-1.0.3/src/sdetkit/patch.py +0 -959
- sdetkit-1.0.3/src/sdetkit/phase1_hardening_29.py +0 -342
- sdetkit-1.0.3/src/sdetkit/phase1_wrap_30.py +0 -28
- sdetkit-1.0.3/src/sdetkit/phase2_hardening_closeout_58.py +0 -388
- sdetkit-1.0.3/src/sdetkit/phase2_kickoff_31.py +0 -27
- sdetkit-1.0.3/src/sdetkit/phase2_wrap_handoff_closeout_60.py +0 -383
- sdetkit-1.0.3/src/sdetkit/phase3_kickoff_closeout_61.py +0 -438
- sdetkit-1.0.3/src/sdetkit/phase3_preplan_closeout_59.py +0 -378
- sdetkit-1.0.3/src/sdetkit/phase3_wrap_publication_closeout_90.py +0 -418
- sdetkit-1.0.3/src/sdetkit/phase_boost.py +0 -48
- sdetkit-1.0.3/src/sdetkit/playbook_post_39.py +0 -27
- sdetkit-1.0.3/src/sdetkit/playbooks_cli.py +0 -523
- sdetkit-1.0.3/src/sdetkit/policy.py +0 -274
- sdetkit-1.0.3/src/sdetkit/portfolio_readiness.py +0 -159
- sdetkit-1.0.3/src/sdetkit/production_readiness.py +0 -357
- sdetkit-1.0.3/src/sdetkit/public_command_surface.json +0 -41
- sdetkit-1.0.3/src/sdetkit/public_surface_contract.py +0 -151
- sdetkit-1.0.3/src/sdetkit/quality_contribution_delta.py +0 -488
- sdetkit-1.0.3/src/sdetkit/readiness.py +0 -403
- sdetkit-1.0.3/src/sdetkit/release_cadence_32.py +0 -25
- sdetkit-1.0.3/src/sdetkit/release_prioritization_closeout_85.py +0 -412
- sdetkit-1.0.3/src/sdetkit/reliability_closeout_47.py +0 -29
- sdetkit-1.0.3/src/sdetkit/repo.py +0 -4807
- sdetkit-1.0.3/src/sdetkit/report.py +0 -1095
- sdetkit-1.0.3/src/sdetkit/review.py +0 -2555
- sdetkit-1.0.3/src/sdetkit/review_engine.py +0 -1052
- sdetkit-1.0.3/src/sdetkit/review_forwarding.py +0 -26
- sdetkit-1.0.3/src/sdetkit/roadmap.py +0 -147
- sdetkit-1.0.3/src/sdetkit/roadmap_manifest.py +0 -298
- sdetkit-1.0.3/src/sdetkit/scale_closeout_44.py +0 -458
- sdetkit-1.0.3/src/sdetkit/scale_lane_40.py +0 -27
- sdetkit-1.0.3/src/sdetkit/scale_upgrade_closeout_79.py +0 -396
- sdetkit-1.0.3/src/sdetkit/security_gate.py +0 -1460
- sdetkit-1.0.3/src/sdetkit/serve.py +0 -391
- sdetkit-1.0.3/src/sdetkit/ship_readiness.py +0 -230
- sdetkit-1.0.3/src/sdetkit/stabilization_closeout_56.py +0 -451
- sdetkit-1.0.3/src/sdetkit/test_bootstrap.py +0 -33
- sdetkit-1.0.3/src/sdetkit/test_bootstrap_contract.py +0 -126
- sdetkit-1.0.3/src/sdetkit/test_bootstrap_validate.py +0 -66
- sdetkit-1.0.3/src/sdetkit/textutil.py +0 -47
- sdetkit-1.0.3/src/sdetkit/trust_assets.py +0 -523
- sdetkit-1.0.3/src/sdetkit/trust_assets_refresh_closeout_75.py +0 -398
- sdetkit-1.0.3/src/sdetkit/trust_faq_expansion_closeout_83.py +0 -417
- sdetkit-1.0.3/src/sdetkit/upgrade_audit.py +0 -2439
- sdetkit-1.0.3/src/sdetkit/upgrade_hub.py +0 -148
- sdetkit-1.0.3/src/sdetkit/weekly_review_28.py +0 -24
- sdetkit-1.0.3/src/sdetkit/weekly_review_closeout_49.py +0 -27
- sdetkit-1.0.3/src/sdetkit/weekly_review_closeout_65.py +0 -405
- sdetkit-1.0.3/src/sdetkit.egg-info/PKG-INFO +0 -314
- sdetkit-1.0.3/src/sdetkit.egg-info/SOURCES.txt +0 -609
- sdetkit-1.0.3/src/sdetkit.egg-info/entry_points.txt +0 -12
- sdetkit-1.0.3/src/sdetkit.egg-info/requires.txt +0 -31
- sdetkit-1.0.3/tests/test_acceleration_closeout.py +0 -133
- sdetkit-1.0.3/tests/test_adaptive_postcheck.py +0 -155
- sdetkit-1.0.3/tests/test_adaptive_scenario_database_expansion.py +0 -31
- sdetkit-1.0.3/tests/test_agent_foundation.py +0 -392
- sdetkit-1.0.3/tests/test_agent_providers_extra.py +0 -69
- sdetkit-1.0.3/tests/test_apiclient.py +0 -222
- sdetkit-1.0.3/tests/test_apiclient_async.py +0 -305
- sdetkit-1.0.3/tests/test_apiclient_retry_helpers_extra.py +0 -27
- sdetkit-1.0.3/tests/test_artifact_contract_index.py +0 -57
- sdetkit-1.0.3/tests/test_author_problem.py +0 -715
- sdetkit-1.0.3/tests/test_build_top_tier_reporting_bundle.py +0 -42
- sdetkit-1.0.3/tests/test_case_study_launch_closeout.py +0 -168
- sdetkit-1.0.3/tests/test_case_study_prep1_closeout.py +0 -128
- sdetkit-1.0.3/tests/test_case_study_prep2_closeout.py +0 -117
- sdetkit-1.0.3/tests/test_case_study_prep3_closeout.py +0 -162
- sdetkit-1.0.3/tests/test_case_study_prep4_closeout.py +0 -166
- sdetkit-1.0.3/tests/test_check_installed_wheel_contract.py +0 -93
- sdetkit-1.0.3/tests/test_check_reporting_freshness.py +0 -96
- sdetkit-1.0.3/tests/test_check_test_bootstrap_contract.py +0 -75
- sdetkit-1.0.3/tests/test_checks_artifacts.py +0 -245
- sdetkit-1.0.3/tests/test_checks_registry.py +0 -366
- sdetkit-1.0.3/tests/test_cli_help_discoverability_contract.py +0 -138
- sdetkit-1.0.3/tests/test_cli_help_lists_subcommands.py +0 -122
- sdetkit-1.0.3/tests/test_cli_hidden_surface.py +0 -28
- sdetkit-1.0.3/tests/test_cli_import_minimal.py +0 -33
- sdetkit-1.0.3/tests/test_cli_productized_closeout_aliases.py +0 -98
- sdetkit-1.0.3/tests/test_cli_sdetkit.py +0 -171
- sdetkit-1.0.3/tests/test_cli_smoke_coverage.py +0 -130
- sdetkit-1.0.3/tests/test_community_program_closeout.py +0 -156
- sdetkit-1.0.3/tests/test_community_touchpoint_closeout.py +0 -162
- sdetkit-1.0.3/tests/test_contract_runtime_cli.py +0 -39
- sdetkit-1.0.3/tests/test_contributor_activation_closeout.py +0 -143
- sdetkit-1.0.3/tests/test_contributor_funnel.py +0 -72
- sdetkit-1.0.3/tests/test_contributor_recognition_closeout.py +0 -119
- sdetkit-1.0.3/tests/test_control_plane_ops.py +0 -93
- sdetkit-1.0.3/tests/test_coverage_boost_targets.py +0 -178
- sdetkit-1.0.3/tests/test_demo_asset.py +0 -126
- sdetkit-1.0.3/tests/test_demo_asset2.py +0 -128
- sdetkit-1.0.3/tests/test_distribution_batch.py +0 -128
- sdetkit-1.0.3/tests/test_distribution_closeout.py +0 -133
- sdetkit-1.0.3/tests/test_distribution_scaling_closeout.py +0 -172
- sdetkit-1.0.3/tests/test_docs_loop_closeout.py +0 -123
- sdetkit-1.0.3/tests/test_docs_navigation.py +0 -133
- sdetkit-1.0.3/tests/test_docs_qa.py +0 -283
- sdetkit-1.0.3/tests/test_doctor_enterprise_profile.py +0 -595
- sdetkit-1.0.3/tests/test_doctor_next_pass_contract.py +0 -65
- sdetkit-1.0.3/tests/test_doctor_next_pass_markdown_contract.py +0 -41
- sdetkit-1.0.3/tests/test_doctor_snapshot.py +0 -52
- sdetkit-1.0.3/tests/test_doctor_upgrade_audit.py +0 -670
- sdetkit-1.0.3/tests/test_ecosystem_priorities_closeout.py +0 -127
- sdetkit-1.0.3/tests/test_enterprise_assessment.py +0 -182
- sdetkit-1.0.3/tests/test_enterprise_next_pass_template.py +0 -18
- sdetkit-1.0.3/tests/test_entrypoints_smoke.py +0 -60
- sdetkit-1.0.3/tests/test_evidence_narrative_closeout.py +0 -169
- sdetkit-1.0.3/tests/test_execution_prioritization_closeout.py +0 -153
- sdetkit-1.0.3/tests/test_expansion_automation.py +0 -125
- sdetkit-1.0.3/tests/test_expansion_closeout.py +0 -127
- sdetkit-1.0.3/tests/test_experiment_lane.py +0 -130
- sdetkit-1.0.3/tests/test_gate_fast.py +0 -289
- sdetkit-1.0.3/tests/test_governance_handoff_closeout.py +0 -168
- sdetkit-1.0.3/tests/test_governance_priorities_closeout.py +0 -173
- sdetkit-1.0.3/tests/test_governance_scale_closeout.py +0 -165
- sdetkit-1.0.3/tests/test_growth_campaign_closeout.py +0 -157
- sdetkit-1.0.3/tests/test_help_surface.py +0 -13
- sdetkit-1.0.3/tests/test_inspect_data.py +0 -306
- sdetkit-1.0.3/tests/test_integration_expansion2_closeout.py +0 -178
- sdetkit-1.0.3/tests/test_integration_expansion3_closeout.py +0 -183
- sdetkit-1.0.3/tests/test_integration_expansion4_closeout.py +0 -136
- sdetkit-1.0.3/tests/test_integration_feedback_closeout.py +0 -164
- sdetkit-1.0.3/tests/test_kits_intelligence_integration_forensics.py +0 -278
- sdetkit-1.0.3/tests/test_kits_umbrella_cli.py +0 -161
- sdetkit-1.0.3/tests/test_kpi_audit.py +0 -93
- sdetkit-1.0.3/tests/test_kpi_deep_audit_closeout.py +0 -139
- sdetkit-1.0.3/tests/test_kpi_instrumentation.py +0 -133
- sdetkit-1.0.3/tests/test_kvcli.py +0 -313
- sdetkit-1.0.3/tests/test_launch_readiness_closeout.py +0 -165
- sdetkit-1.0.3/tests/test_legacy_adapters.py +0 -20
- sdetkit-1.0.3/tests/test_legacy_burndown_script.py +0 -122
- sdetkit-1.0.3/tests/test_legacy_cli.py +0 -22
- sdetkit-1.0.3/tests/test_legacy_commands.py +0 -34
- sdetkit-1.0.3/tests/test_legacy_namespace.py +0 -21
- sdetkit-1.0.3/tests/test_maintenance_cli.py +0 -817
- sdetkit-1.0.3/tests/test_netclient_async_extra.py +0 -27
- sdetkit-1.0.3/tests/test_netclient_branches_wave6.py +0 -219
- sdetkit-1.0.3/tests/test_notify_plugins.py +0 -57
- sdetkit-1.0.3/tests/test_notify_plugins_extra.py +0 -35
- sdetkit-1.0.3/tests/test_objection_closeout.py +0 -121
- sdetkit-1.0.3/tests/test_onboarding_optimization.py +0 -97
- sdetkit-1.0.3/tests/test_optimization_closeout.py +0 -136
- sdetkit-1.0.3/tests/test_optimization_closeout_foundation.py +0 -141
- sdetkit-1.0.3/tests/test_optional_httpx.py +0 -33
- sdetkit-1.0.3/tests/test_parsed_shortcuts.py +0 -76
- sdetkit-1.0.3/tests/test_partner_outreach_closeout.py +0 -156
- sdetkit-1.0.3/tests/test_phase1_hardening.py +0 -96
- sdetkit-1.0.3/tests/test_phase1_wrap.py +0 -99
- sdetkit-1.0.3/tests/test_phase2_hardening_closeout.py +0 -143
- sdetkit-1.0.3/tests/test_phase2_kickoff.py +0 -134
- sdetkit-1.0.3/tests/test_phase2_wrap_handoff_closeout.py +0 -148
- sdetkit-1.0.3/tests/test_phase3_kickoff_closeout.py +0 -146
- sdetkit-1.0.3/tests/test_phase3_preplan_closeout.py +0 -143
- sdetkit-1.0.3/tests/test_phase3_wrap_publication_closeout.py +0 -175
- sdetkit-1.0.3/tests/test_phase_boost.py +0 -48
- sdetkit-1.0.3/tests/test_playbook_aliases.py +0 -37
- sdetkit-1.0.3/tests/test_playbook_post.py +0 -119
- sdetkit-1.0.3/tests/test_playbooks_cli_extra.py +0 -96
- sdetkit-1.0.3/tests/test_playbooks_validate.py +0 -100
- sdetkit-1.0.3/tests/test_policy_control_plane.py +0 -87
- sdetkit-1.0.3/tests/test_portfolio_readiness.py +0 -59
- sdetkit-1.0.3/tests/test_portfolio_readiness_cli.py +0 -50
- sdetkit-1.0.3/tests/test_premerge_release_room_gate.py +0 -69
- sdetkit-1.0.3/tests/test_production_readiness.py +0 -39
- sdetkit-1.0.3/tests/test_production_readiness_extra.py +0 -70
- sdetkit-1.0.3/tests/test_public_surface_alignment.py +0 -91
- sdetkit-1.0.3/tests/test_readiness.py +0 -103
- sdetkit-1.0.3/tests/test_real_repo_adoption_contracts.py +0 -234
- sdetkit-1.0.3/tests/test_release_cadence.py +0 -128
- sdetkit-1.0.3/tests/test_release_prioritization_closeout.py +0 -174
- sdetkit-1.0.3/tests/test_reliability_closeout.py +0 -125
- sdetkit-1.0.3/tests/test_repo_audit.py +0 -377
- sdetkit-1.0.3/tests/test_repo_audit_exporters_determinism.py +0 -90
- sdetkit-1.0.3/tests/test_repo_audit_performance.py +0 -203
- sdetkit-1.0.3/tests/test_repo_audit_policy_baseline.py +0 -229
- sdetkit-1.0.3/tests/test_repo_policy_governance.py +0 -288
- sdetkit-1.0.3/tests/test_report_branches_wave10.py +0 -178
- sdetkit-1.0.3/tests/test_report_cli_contracts.py +0 -1116
- sdetkit-1.0.3/tests/test_report_trends.py +0 -287
- sdetkit-1.0.3/tests/test_review.py +0 -821
- sdetkit-1.0.3/tests/test_roadmap_manifest_edges_wave12.py +0 -149
- sdetkit-1.0.3/tests/test_roadmap_manifest_tooling.py +0 -29
- sdetkit-1.0.3/tests/test_scale_closeout.py +0 -123
- sdetkit-1.0.3/tests/test_scale_lane.py +0 -119
- sdetkit-1.0.3/tests/test_scale_upgrade_closeout.py +0 -149
- sdetkit-1.0.3/tests/test_security_gate_cli.py +0 -328
- sdetkit-1.0.3/tests/test_security_gate_helpers_extra.py +0 -216
- sdetkit-1.0.3/tests/test_serve_api.py +0 -272
- sdetkit-1.0.3/tests/test_ship_readiness.py +0 -96
- sdetkit-1.0.3/tests/test_ship_readiness_cli.py +0 -23
- sdetkit-1.0.3/tests/test_stabilization_closeout.py +0 -144
- sdetkit-1.0.3/tests/test_textutil.py +0 -119
- sdetkit-1.0.3/tests/test_top_tier_reporting_docs_index.py +0 -19
- sdetkit-1.0.3/tests/test_top_tier_reporting_makefile.py +0 -27
- sdetkit-1.0.3/tests/test_top_tier_reporting_readme.py +0 -15
- sdetkit-1.0.3/tests/test_top_tier_reporting_workflow.py +0 -27
- sdetkit-1.0.3/tests/test_triage_templates.py +0 -112
- sdetkit-1.0.3/tests/test_triage_tool.py +0 -297
- sdetkit-1.0.3/tests/test_trust_assets.py +0 -131
- sdetkit-1.0.3/tests/test_trust_assets_refresh_closeout.py +0 -173
- sdetkit-1.0.3/tests/test_trust_faq_expansion_closeout.py +0 -168
- sdetkit-1.0.3/tests/test_upgrade_audit_script.py +0 -1537
- sdetkit-1.0.3/tests/test_upgrade_hub.py +0 -61
- sdetkit-1.0.3/tests/test_validate_test_bootstrap.py +0 -89
- sdetkit-1.0.3/tests/test_weekly_review.py +0 -155
- sdetkit-1.0.3/tests/test_weekly_review_closeout.py +0 -149
- sdetkit-1.0.3/tests/test_weekly_review_closeout_2.py +0 -162
- sdetkit-1.0.3/tests/test_weekly_review_lane.py +0 -102
- {sdetkit-1.0.3 → sdetkit-1.2.0}/LICENSE +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/MANIFEST.in +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/setup.cfg +0 -0
- /sdetkit-1.0.3/src/sdetkit/intelligence.py → /sdetkit-1.2.0/src/sdetkit/_legacy_intelligence.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/agent/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/agent/dashboard.py +0 -0
- /sdetkit-1.0.3/src/sdetkit/agent/demo.py → /sdetkit-1.2.0/src/sdetkit/agent/example.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/agent/omnichannel.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/agent/providers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/cassette.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/__main__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/artifacts.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/base.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/planner.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/registry.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/results.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/checks/runner.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/ci.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/cli}/cli_timing.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/cli}/playbook_aliases.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/cli}/serve_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/community_activation.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/contract.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/contributor_funnel.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/core}/_toml.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/core}/apiget_dispatch.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/core}/argv_flags.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/core}/baseline_dispatch.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/core}/parser_helpers.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/core}/release_dispatch.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/entrypoints.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/evidence}/evidence.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/evidence}/reliability_evidence_pack.py +0 -0
- /sdetkit-1.0.3/src/sdetkit/demo.py → /sdetkit-1.2.0/src/sdetkit/example.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/external_contribution.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/feature_registry.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/first_contribution.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/forensics.py +0 -0
- {sdetkit-1.0.3/src/sdetkit/templates → sdetkit-1.2.0/src/sdetkit/gates}/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/github_actions_quickstart.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/gitlab_ci_quickstart.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/help_surface.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/import_hazards.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/inspect_compare.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/inspect_compare_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/inspect_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/inspect_project.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/inspect_project_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/integration.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/intelligence}/judgment.py +0 -0
- {sdetkit-1.0.3/src/sdetkit/templates/enterprise_python → sdetkit-1.2.0/src/sdetkit/legacy}/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/legacy_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/legacy_commands.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/__main__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/checks/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/main.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/registry.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/types.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/maintenance/utils.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/onboarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/onboarding_optimization.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/plugin_system.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/plugins.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/premium_gate_engine.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/projects.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/proof.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/readiness}/enterprise_readiness.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/readiness}/release_readiness.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/readiness}/startup_readiness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/release_communications.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/repo_adoption.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/repo_init_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/sdet_package.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/security.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/sqlite_scalar.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/triage_templates.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/utils}/atomicio.py +0 -0
- {sdetkit-1.0.3/src/sdetkit → sdetkit-1.2.0/src/sdetkit/utils}/bools.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/versioning.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit/weekly_review.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit.egg-info/dependency_links.txt +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdetkit.egg-info/top_level.txt +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdkit/__init__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/src/sdkit/__main__.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_adoption_scorecard_contract_v2.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_adoption_scorecard_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_actions_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_cli_ux.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_core_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_dashboard_escaping.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_omnichannel.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_omnichannel_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_productization.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_templates_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_agent_templates_engine.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_advanced.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_async_advanced.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_async_list.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_async_pagination.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_async_timeout.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_branches_wave7.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_list.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_mutmut_killers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_pagination.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiclient_timeout.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_at_file.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_auth_dump_headers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_dispatch.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_fail_flags.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_query_header_stdin.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_raw_path_corner_cases.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_request_builder.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_apiget_verbose_debug.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_argv_flags.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_atomicio.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_atomicio_bytes_branches_wave1.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_atomicio_mutmut_killers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_baseline_dispatch.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_baseline_umbrella.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_bool_coercion.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_bootstrap_idempotency.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_build_ci_summary.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_build_kpi_weekly_snapshot.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_build_portfolio_scorecard.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_canonical_path_drift_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cassette.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cassette_branches_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_check_kpi_weekly_contract.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_check_top_tier_artifact_set.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_check_top_tier_bundle_manifest.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_check_top_tier_reporting_contract.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ci_sh_contract_gate_fast.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ci_templates_bootstrap.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ci_templates_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ci_validate_templates.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ci_workflow_premerge_gate.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_apiget_cassette.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_cassette_get.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_doctor.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_e2e_subprocess.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_lazy_loading.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_patch.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_shortcuts.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_timing.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_timing_observability.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_cli_umbrella_surface.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_collect_git_changed_files_flags.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_community_activation.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_contributor_funnel_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_core_preparse_dispatch.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_dev_entrypoint.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_ascii.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_baseline.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_contract_upgrade.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_devx.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_diagnostics.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_explain.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_md_and_out.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_plan.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_policy_gate.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_release_meta.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_release_meta_edges_wave9.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_repo_readiness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_score_and_recommendations.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_surgical.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_treat.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_doctor_upgrade_audit_fallback.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_enterprise_assessment_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_enterprise_assessment_contract_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_enterprise_execution_tracker_plan.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_enterprise_readiness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_enterprise_readiness_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_entrypoints_cassette_get.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_evidence_pack.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_evidence_workspace.py +0 -0
- /sdetkit-1.0.3/tests/test_demo_cli.py → /sdetkit-1.2.0/tests/test_example_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_example_goldens.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_external_contribution.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_external_first_run_contract.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_feature_registry.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_feature_registry_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_file_inventory_cache.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_first_contribution.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_first_contribution_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_baseline.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_branches_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_branches_wave11.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_coverage_wave11.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_fast_stable_json_contract.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_more_coverage_wave2.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_more_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_release.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_scripts_auto_bootstrap.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_trend.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gate_wave11_coverage.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_generated_artifacts_freshness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_github_actions_quickstart.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_gitlab_ci_quickstart.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_golden_path_health_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_import_hazards_stdlib_shadowing.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_init_alias.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_inspect_compare.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_inspect_compare_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_inspect_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_inspect_project.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_inspect_project_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_integration_topology_check.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_judgment.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_kits_blueprint.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_kpi_report.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_kpi_weekly_workflow.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_kvcli_mutmut_killers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_legacy_command_analyzer_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_main_cassette_get_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_maintenance_cli_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_maintenance_utils.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_makefile_targets.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_netclient_apiclient_more_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_netclient_breaker.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_netclient_observability.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_no_hidden_unicode.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_notify_core_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_notify_plugins_control_plane.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_objection_handling.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_observability_contract_v2.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_onboarding_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_operator_onboarding_wizard_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ops_cli_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ops_control_branches_wave1.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ops_policy.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ops_server.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_parser_helpers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_patch_harness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_patch_module_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_patch_ops_branches_wave8.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_patch_security_and_schema.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_playbooks_help_ux.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_plugin_system_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_policy_fail_on.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_pr_clean.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_premium_gate_engine.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_premium_gate_engine_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_primary_docs_map_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_projects_autodiscover.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_projects_manifest_edges_wave5.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_promote_top_tier_bundle.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_proof_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_public_front_door_alignment.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_quality_contribution_delta.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_quality_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_real_repo_adoption_regen_helper.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_release_communications.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_release_dispatch.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_release_preflight.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_release_readiness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_reliability_evidence_pack.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_render_release_room_summary.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_audit_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_check_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_dev_ide_precommit.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_enterprise.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_init_adoption.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_init_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_init_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_monorepo_projects.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_ops.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_plugins_fix_audit.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_pr_fix.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_repo_security_suite.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_report_build_determinism.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_review_error_assistant.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_review_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_roadmap_cli.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_runtime_container_contract.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_sdet_package.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_sdkit_alias.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_baseline_stability.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_control_tower.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_enforce.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_hardening.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_info_default.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_quality_review_guard.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_security_scan_json_reuse.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_serve_forwarding.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_ship_readiness_contract_script.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_sqlite_scalar.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_sqlite_scalar_branches_wave1.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_start_session.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_startup_readiness.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_startup_readiness_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_textutil_mutmut_killers.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_toml_compat.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_tomllib_shadowing.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_versioning.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_weekly_review_extra.py +0 -0
- {sdetkit-1.0.3 → sdetkit-1.2.0}/tests/test_workflow_contract.py +0 -0
sdetkit-1.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sdetkit
|
|
3
|
+
Version: 1.2.0
|
|
4
|
+
Summary: Operator-grade release confidence and test intelligence platform: deterministic gates, evidence, integration assurance, and failure forensics.
|
|
5
|
+
Author: DevS69 contributors
|
|
6
|
+
Maintainer: DevS69 maintainers
|
|
7
|
+
License-Expression: Apache-2.0
|
|
8
|
+
Project-URL: Homepage, https://github.com/sherif69-sa/DevS69-sdetkit
|
|
9
|
+
Project-URL: Repository, https://github.com/sherif69-sa/DevS69-sdetkit
|
|
10
|
+
Project-URL: Documentation, https://sherif69-sa.github.io/DevS69-sdetkit/
|
|
11
|
+
Project-URL: Issues, https://github.com/sherif69-sa/DevS69-sdetkit/issues
|
|
12
|
+
Project-URL: Releases, https://github.com/sherif69-sa/DevS69-sdetkit/releases
|
|
13
|
+
Project-URL: Changelog, https://github.com/sherif69-sa/DevS69-sdetkit/blob/main/CHANGELOG.md
|
|
14
|
+
Project-URL: Release Process, https://github.com/sherif69-sa/DevS69-sdetkit/blob/main/docs/project/release-process.md
|
|
15
|
+
Project-URL: Trust and Support Policy, https://github.com/sherif69-sa/DevS69-sdetkit/blob/main/docs/versioning-and-support.md
|
|
16
|
+
Keywords: sdet,testing,qa,automation,cli,devtools,quality-gates
|
|
17
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
18
|
+
Classifier: Intended Audience :: Developers
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Programming Language :: Python
|
|
21
|
+
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Topic :: Software Development :: Testing
|
|
27
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
28
|
+
Classifier: Topic :: Utilities
|
|
29
|
+
Requires-Python: >=3.10
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
License-File: LICENSE
|
|
32
|
+
Requires-Dist: httpx<1,>=0.28.1
|
|
33
|
+
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: build==1.5.1; extra == "dev"
|
|
36
|
+
Requires-Dist: mypy==2.3.0; extra == "dev"
|
|
37
|
+
Requires-Dist: pre-commit==4.6.0; extra == "dev"
|
|
38
|
+
Requires-Dist: ruff==0.15.22; extra == "dev"
|
|
39
|
+
Requires-Dist: twine==6.2.0; extra == "dev"
|
|
40
|
+
Provides-Extra: test
|
|
41
|
+
Requires-Dist: hypothesis==6.156.6; extra == "test"
|
|
42
|
+
Requires-Dist: pre-commit==4.6.0; extra == "test"
|
|
43
|
+
Requires-Dist: PyYAML; extra == "test"
|
|
44
|
+
Requires-Dist: pytest; extra == "test"
|
|
45
|
+
Requires-Dist: pytest-asyncio; extra == "test"
|
|
46
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
47
|
+
Requires-Dist: pytest-xdist[psutil]; extra == "test"
|
|
48
|
+
Provides-Extra: docs
|
|
49
|
+
Requires-Dist: mkdocs==1.6.1; extra == "docs"
|
|
50
|
+
Requires-Dist: mkdocs-material==9.7.7; extra == "docs"
|
|
51
|
+
Provides-Extra: packaging
|
|
52
|
+
Requires-Dist: build==1.5.1; extra == "packaging"
|
|
53
|
+
Requires-Dist: check-wheel-contents==0.6.3; extra == "packaging"
|
|
54
|
+
Requires-Dist: twine==6.2.0; extra == "packaging"
|
|
55
|
+
Provides-Extra: telegram
|
|
56
|
+
Requires-Dist: python-telegram-bot<23,>=22.7; extra == "telegram"
|
|
57
|
+
Provides-Extra: whatsapp
|
|
58
|
+
Requires-Dist: twilio<10,>=9.10.9; extra == "whatsapp"
|
|
59
|
+
Dynamic: license-file
|
|
60
|
+
|
|
61
|
+
<div align="center">
|
|
62
|
+
<img src="docs/assets/logo-mark.svg" alt="DevS69 mark" width="68" />
|
|
63
|
+
<h1>DevS69 SDETKit</h1>
|
|
64
|
+
<p><strong>From noisy CI evidence to deterministic ship / no-ship decisions.</strong></p>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
DevS69 SDETKit is a release-confidence CLI for deterministic ship/no-ship decisions with machine-readable evidence.
|
|
68
|
+
|
|
69
|
+
**Primary outcome:** know if a change is ready to ship.
|
|
70
|
+
**Runtime requirement:** Python 3.10+.
|
|
71
|
+
|
|
72
|
+
Canonical first path: `python -m sdetkit gate fast` -> `python -m sdetkit gate release` -> `python -m sdetkit doctor`.
|
|
73
|
+
|
|
74
|
+
## Start here
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
python -m venv .venv
|
|
78
|
+
source .venv/bin/activate
|
|
79
|
+
python -m pip install -U pip
|
|
80
|
+
python -m pip install sdetkit==1.0.3
|
|
81
|
+
|
|
82
|
+
python -m sdetkit gate fast --format json --stable-json --out build/gate-fast.json
|
|
83
|
+
python -m sdetkit gate release --format json --out build/release-preflight.json
|
|
84
|
+
python -m sdetkit doctor --format json --out build/doctor.json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Generated first-run artifacts:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
build/
|
|
91
|
+
├── gate-fast.json
|
|
92
|
+
├── release-preflight.json
|
|
93
|
+
└── doctor.json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Why SDETKit?
|
|
97
|
+
|
|
98
|
+
Most quality tools stop at a failed check. SDETKit connects the evidence into an operator decision:
|
|
99
|
+
|
|
100
|
+
- **Decide:** produce deterministic `SHIP` / `NO-SHIP` evidence.
|
|
101
|
+
- **Diagnose:** extract the first meaningful failure instead of repeating the loudest wrapper error.
|
|
102
|
+
- **Prove:** recommend exact verification commands and preserve machine-readable artifacts.
|
|
103
|
+
- **Protect:** keep investigation and remediation review-first unless an explicit guarded policy allows more.
|
|
104
|
+
|
|
105
|
+
## From failure to next action
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
input: FAILED tests/test_release_contract.py::test_wheel_smoke
|
|
109
|
+
classification: test
|
|
110
|
+
affected_file: tests/test_release_contract.py
|
|
111
|
+
next_command: python -m pytest -q tests/test_release_contract.py -o addopts=
|
|
112
|
+
authority: review-first; no repository mutation or merge authorization
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Start with [`docs/first-failure-triage.md`](docs/first-failure-triage.md) and [`docs/investigation-operator-guide.md`](docs/investigation-operator-guide.md).
|
|
116
|
+
|
|
117
|
+
## Public launch proof
|
|
118
|
+
|
|
119
|
+
See the [committed public launch proof](docs/public-launch-proof.md) for a realistic saved pytest failure reduced to its first failing node, affected file, focused proof command, and review-first decision. The same proof includes a fixture-based Python, JavaScript/TypeScript, and Go adoption profile generated without installing target dependencies, executing target code, mutating the target, or authorizing a merge.
|
|
120
|
+
|
|
121
|
+
The proof is tied to an immutable source commit and is explicitly marked **main-only until the qualified 1.2.0 release**.
|
|
122
|
+
|
|
123
|
+
## Decision contract
|
|
124
|
+
|
|
125
|
+
| Signal | Decision |
|
|
126
|
+
| --- | --- |
|
|
127
|
+
| `gate-fast.json.ok == true` and `release-preflight.json.ok == true` | ✅ SHIP |
|
|
128
|
+
| Any `ok: false` | ❌ NO-SHIP |
|
|
129
|
+
| `failed_steps` present in either artifact | ❌ NO-SHIP |
|
|
130
|
+
|
|
131
|
+
Secondary lanes cover review, investigation, quality, maintenance, and CI automation once the primary gate decision is stable. Investigation/reporting/planning lanes are diagnostic-only by default; repository mutation requires explicit guarded policy and PR-only remediation controls.
|
|
132
|
+
|
|
133
|
+
## What SDETKit gives teams
|
|
134
|
+
|
|
135
|
+
- **Deterministic decisions:** every release-confidence run ends in an auditable SHIP / NO-SHIP signal.
|
|
136
|
+
- **Evidence-first artifacts:** JSON and Markdown outputs can be reviewed by humans, bots, and CI.
|
|
137
|
+
- **Diagnostic investigation:** `sdetkit investigate` explains failures and recommends proof commands without mutating the repository.
|
|
138
|
+
- **Guarded automation path:** remediation and PR automation are explicit opt-in lanes, not the default behavior.
|
|
139
|
+
- **One workflow everywhere:** use the same core commands locally, in CI, and during operator handoff.
|
|
140
|
+
|
|
141
|
+
| Lane | Command | Start here when... |
|
|
142
|
+
| --- | --- | --- |
|
|
143
|
+
| Release gate | `python -m sdetkit gate fast` -> `python -m sdetkit gate release` -> `python -m sdetkit doctor` | You need a ship/no-ship decision. |
|
|
144
|
+
| Readiness evidence | `python -m sdetkit repo audit . --format json --fail-on none` → `python -m sdetkit security scan --fail-on none --format sarif --output build/security.sarif --sbom-output build/sbom.cdx.json` → `python -m sdetkit evidence pack --output .sdetkit/out/evidence.zip` | You need local repository, security, and bundled evidence. See [Repo Audit](docs/repo-audit.md), [Security Gate](docs/security-gate.md), and [Artifact reference](docs/artifact-reference.md). |
|
|
145
|
+
| Review | `python -m sdetkit review . --no-workspace --format operator-json` | You need operator-facing findings. |
|
|
146
|
+
| Investigation | `python -m sdetkit investigate failure --log build/quality.log --format markdown` | A CI log or PR check needs triage before remediation. |
|
|
147
|
+
| CI-ready | `./ci.sh quick --artifact-dir .sdetkit/out` and `make merge-ready` | You want a local CI-equivalent smoke path. |
|
|
148
|
+
|
|
149
|
+
## Product proof
|
|
150
|
+
|
|
151
|
+
<!-- product-proof-start -->
|
|
152
|
+
SDETKit is backed by committed live-adoption proof.
|
|
153
|
+
|
|
154
|
+
- **Evidence:** `docs/artifacts/live-adoption/product-proof-post-1072/`
|
|
155
|
+
- **Decision:** `SHIP with known STRICT_FINDINGS`
|
|
156
|
+
- **Blocking failures:** `0`
|
|
157
|
+
- **Known strict finding:** `legacy-noargs` compatibility behavior only
|
|
158
|
+
- **Proof page:** [`docs/live-adoption-product-proof.md`](docs/live-adoption-product-proof.md)
|
|
159
|
+
<!-- product-proof-end -->
|
|
160
|
+
|
|
161
|
+
For this repository, `make first-proof` emits `FIRST_PROOF_DECISION=SHIP|NO-SHIP` and writes the consolidated bundle under `build/first-proof/`.
|
|
162
|
+
|
|
163
|
+
## Release channel
|
|
164
|
+
|
|
165
|
+
The install command above uses the latest published package, `sdetkit==1.0.3`. The repository `main` branch contains additional diagnostic, verification, benchmark, trajectory, multi-ecosystem, CI-provider, and mixed-workspace capabilities that remain **main-only** until the qualified 1.2.0 release. See the [current product delta](docs/current-product-delta.md) before treating repository documentation as installed-wheel proof.
|
|
166
|
+
|
|
167
|
+
## Documentation map
|
|
168
|
+
|
|
169
|
+
- Start in 5 minutes: [docs/start-here-5-minutes.md](docs/start-here-5-minutes.md)
|
|
170
|
+
- Operator essentials: [docs/operator-essentials.md](docs/operator-essentials.md)
|
|
171
|
+
- Investigation operator guide: [docs/investigation-operator-guide.md](docs/investigation-operator-guide.md)
|
|
172
|
+
- Adaptive diagnosis: [docs/adaptive-diagnosis.md](docs/adaptive-diagnosis.md)
|
|
173
|
+
- Public launch proof: [docs/public-launch-proof.md](docs/public-launch-proof.md)
|
|
174
|
+
- Artifact reference: [docs/artifact-reference.md](docs/artifact-reference.md)
|
|
175
|
+
- Recommended CI flow: [docs/recommended-ci-flow.md](docs/recommended-ci-flow.md)
|
|
176
|
+
- CLI reference: [docs/cli.md](docs/cli.md)
|
|
177
|
+
- Contributor guide: [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
178
|
+
|
|
179
|
+
## Advanced lanes live in docs
|
|
180
|
+
|
|
181
|
+
Historical and transition-era references (secondary) remain outside the first-time path.
|
|
182
|
+
|
|
183
|
+
- External repository adoption: [docs/adoption.md](docs/adoption.md)
|
|
184
|
+
- Portfolio readiness and reporting: [docs/portfolio-readiness.md](docs/portfolio-readiness.md)
|
|
185
|
+
- Operations handbook: [docs/operations-handbook.md](docs/operations-handbook.md)
|
|
186
|
+
- Remediation cookbook: [docs/remediation-cookbook.md](docs/remediation-cookbook.md)
|
|
187
|
+
- Release process: [docs/project/release-process.md](docs/project/release-process.md)
|
|
188
|
+
|
|
189
|
+
## Top-tier reporting sample pipeline
|
|
190
|
+
|
|
191
|
+
Run `make top-tier-reporting`; see [docs/portfolio-reporting-recipe.md](docs/portfolio-reporting-recipe.md) and [docs/kpi-schema.md](docs/kpi-schema.md).
|
|
192
|
+
|
|
193
|
+
## Upgrade next (intent router)
|
|
194
|
+
|
|
195
|
+
Run `make upgrade-next`; see [docs/upgrade-next-commands.md](docs/upgrade-next-commands.md).
|
|
196
|
+
|
|
197
|
+
## Real workflow operations
|
|
198
|
+
|
|
199
|
+
See [docs/real-workflow-operations.md](docs/real-workflow-operations.md). Common aliases: `make ops-daily`, `make ops-daily-fast`, `make ops-weekly`, `make ops-premerge`, `make ops-premerge-fast`, `make ops-premerge-next`, `make ops-premerge-next-fast`, `make ops-followup`, `make ops-now`, `make ops-now-lite`, `make ops-next`.
|
|
200
|
+
|
|
201
|
+
## Repository layout
|
|
202
|
+
|
|
203
|
+
| Area | Purpose |
|
|
204
|
+
| --- | --- |
|
|
205
|
+
| `src/` | SDETKit Python package and CLI implementation. |
|
|
206
|
+
| `tests/` | Unit, workflow, docs, and contract tests. |
|
|
207
|
+
| `docs/` | Operator guides, artifact references, quality gates, and developer docs, including `docs/artifacts/`. |
|
|
208
|
+
| `.github/workflows/` | CI, quality, maintenance, and artifact upload automation. |
|
|
209
|
+
|
|
210
|
+
## Project policies
|
|
211
|
+
|
|
212
|
+
- Docs map: [docs/docs-map.md](docs/docs-map.md)
|
|
213
|
+
- Security: [SECURITY.md](SECURITY.md)
|
|
214
|
+
- Quality playbook: [docs/project/quality-playbook.md](docs/project/quality-playbook.md)
|
|
215
|
+
- Release notes: [CHANGELOG.md](CHANGELOG.md)
|
sdetkit-1.2.0/README.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="docs/assets/logo-mark.svg" alt="DevS69 mark" width="68" />
|
|
3
|
+
<h1>DevS69 SDETKit</h1>
|
|
4
|
+
<p><strong>From noisy CI evidence to deterministic ship / no-ship decisions.</strong></p>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
DevS69 SDETKit is a release-confidence CLI for deterministic ship/no-ship decisions with machine-readable evidence.
|
|
8
|
+
|
|
9
|
+
**Primary outcome:** know if a change is ready to ship.
|
|
10
|
+
**Runtime requirement:** Python 3.10+.
|
|
11
|
+
|
|
12
|
+
Canonical first path: `python -m sdetkit gate fast` -> `python -m sdetkit gate release` -> `python -m sdetkit doctor`.
|
|
13
|
+
|
|
14
|
+
## Start here
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
python -m venv .venv
|
|
18
|
+
source .venv/bin/activate
|
|
19
|
+
python -m pip install -U pip
|
|
20
|
+
python -m pip install sdetkit==1.0.3
|
|
21
|
+
|
|
22
|
+
python -m sdetkit gate fast --format json --stable-json --out build/gate-fast.json
|
|
23
|
+
python -m sdetkit gate release --format json --out build/release-preflight.json
|
|
24
|
+
python -m sdetkit doctor --format json --out build/doctor.json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Generated first-run artifacts:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
build/
|
|
31
|
+
├── gate-fast.json
|
|
32
|
+
├── release-preflight.json
|
|
33
|
+
└── doctor.json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Why SDETKit?
|
|
37
|
+
|
|
38
|
+
Most quality tools stop at a failed check. SDETKit connects the evidence into an operator decision:
|
|
39
|
+
|
|
40
|
+
- **Decide:** produce deterministic `SHIP` / `NO-SHIP` evidence.
|
|
41
|
+
- **Diagnose:** extract the first meaningful failure instead of repeating the loudest wrapper error.
|
|
42
|
+
- **Prove:** recommend exact verification commands and preserve machine-readable artifacts.
|
|
43
|
+
- **Protect:** keep investigation and remediation review-first unless an explicit guarded policy allows more.
|
|
44
|
+
|
|
45
|
+
## From failure to next action
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
input: FAILED tests/test_release_contract.py::test_wheel_smoke
|
|
49
|
+
classification: test
|
|
50
|
+
affected_file: tests/test_release_contract.py
|
|
51
|
+
next_command: python -m pytest -q tests/test_release_contract.py -o addopts=
|
|
52
|
+
authority: review-first; no repository mutation or merge authorization
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Start with [`docs/first-failure-triage.md`](docs/first-failure-triage.md) and [`docs/investigation-operator-guide.md`](docs/investigation-operator-guide.md).
|
|
56
|
+
|
|
57
|
+
## Public launch proof
|
|
58
|
+
|
|
59
|
+
See the [committed public launch proof](docs/public-launch-proof.md) for a realistic saved pytest failure reduced to its first failing node, affected file, focused proof command, and review-first decision. The same proof includes a fixture-based Python, JavaScript/TypeScript, and Go adoption profile generated without installing target dependencies, executing target code, mutating the target, or authorizing a merge.
|
|
60
|
+
|
|
61
|
+
The proof is tied to an immutable source commit and is explicitly marked **main-only until the qualified 1.2.0 release**.
|
|
62
|
+
|
|
63
|
+
## Decision contract
|
|
64
|
+
|
|
65
|
+
| Signal | Decision |
|
|
66
|
+
| --- | --- |
|
|
67
|
+
| `gate-fast.json.ok == true` and `release-preflight.json.ok == true` | ✅ SHIP |
|
|
68
|
+
| Any `ok: false` | ❌ NO-SHIP |
|
|
69
|
+
| `failed_steps` present in either artifact | ❌ NO-SHIP |
|
|
70
|
+
|
|
71
|
+
Secondary lanes cover review, investigation, quality, maintenance, and CI automation once the primary gate decision is stable. Investigation/reporting/planning lanes are diagnostic-only by default; repository mutation requires explicit guarded policy and PR-only remediation controls.
|
|
72
|
+
|
|
73
|
+
## What SDETKit gives teams
|
|
74
|
+
|
|
75
|
+
- **Deterministic decisions:** every release-confidence run ends in an auditable SHIP / NO-SHIP signal.
|
|
76
|
+
- **Evidence-first artifacts:** JSON and Markdown outputs can be reviewed by humans, bots, and CI.
|
|
77
|
+
- **Diagnostic investigation:** `sdetkit investigate` explains failures and recommends proof commands without mutating the repository.
|
|
78
|
+
- **Guarded automation path:** remediation and PR automation are explicit opt-in lanes, not the default behavior.
|
|
79
|
+
- **One workflow everywhere:** use the same core commands locally, in CI, and during operator handoff.
|
|
80
|
+
|
|
81
|
+
| Lane | Command | Start here when... |
|
|
82
|
+
| --- | --- | --- |
|
|
83
|
+
| Release gate | `python -m sdetkit gate fast` -> `python -m sdetkit gate release` -> `python -m sdetkit doctor` | You need a ship/no-ship decision. |
|
|
84
|
+
| Readiness evidence | `python -m sdetkit repo audit . --format json --fail-on none` → `python -m sdetkit security scan --fail-on none --format sarif --output build/security.sarif --sbom-output build/sbom.cdx.json` → `python -m sdetkit evidence pack --output .sdetkit/out/evidence.zip` | You need local repository, security, and bundled evidence. See [Repo Audit](docs/repo-audit.md), [Security Gate](docs/security-gate.md), and [Artifact reference](docs/artifact-reference.md). |
|
|
85
|
+
| Review | `python -m sdetkit review . --no-workspace --format operator-json` | You need operator-facing findings. |
|
|
86
|
+
| Investigation | `python -m sdetkit investigate failure --log build/quality.log --format markdown` | A CI log or PR check needs triage before remediation. |
|
|
87
|
+
| CI-ready | `./ci.sh quick --artifact-dir .sdetkit/out` and `make merge-ready` | You want a local CI-equivalent smoke path. |
|
|
88
|
+
|
|
89
|
+
## Product proof
|
|
90
|
+
|
|
91
|
+
<!-- product-proof-start -->
|
|
92
|
+
SDETKit is backed by committed live-adoption proof.
|
|
93
|
+
|
|
94
|
+
- **Evidence:** `docs/artifacts/live-adoption/product-proof-post-1072/`
|
|
95
|
+
- **Decision:** `SHIP with known STRICT_FINDINGS`
|
|
96
|
+
- **Blocking failures:** `0`
|
|
97
|
+
- **Known strict finding:** `legacy-noargs` compatibility behavior only
|
|
98
|
+
- **Proof page:** [`docs/live-adoption-product-proof.md`](docs/live-adoption-product-proof.md)
|
|
99
|
+
<!-- product-proof-end -->
|
|
100
|
+
|
|
101
|
+
For this repository, `make first-proof` emits `FIRST_PROOF_DECISION=SHIP|NO-SHIP` and writes the consolidated bundle under `build/first-proof/`.
|
|
102
|
+
|
|
103
|
+
## Release channel
|
|
104
|
+
|
|
105
|
+
The install command above uses the latest published package, `sdetkit==1.0.3`. The repository `main` branch contains additional diagnostic, verification, benchmark, trajectory, multi-ecosystem, CI-provider, and mixed-workspace capabilities that remain **main-only** until the qualified 1.2.0 release. See the [current product delta](docs/current-product-delta.md) before treating repository documentation as installed-wheel proof.
|
|
106
|
+
|
|
107
|
+
## Documentation map
|
|
108
|
+
|
|
109
|
+
- Start in 5 minutes: [docs/start-here-5-minutes.md](docs/start-here-5-minutes.md)
|
|
110
|
+
- Operator essentials: [docs/operator-essentials.md](docs/operator-essentials.md)
|
|
111
|
+
- Investigation operator guide: [docs/investigation-operator-guide.md](docs/investigation-operator-guide.md)
|
|
112
|
+
- Adaptive diagnosis: [docs/adaptive-diagnosis.md](docs/adaptive-diagnosis.md)
|
|
113
|
+
- Public launch proof: [docs/public-launch-proof.md](docs/public-launch-proof.md)
|
|
114
|
+
- Artifact reference: [docs/artifact-reference.md](docs/artifact-reference.md)
|
|
115
|
+
- Recommended CI flow: [docs/recommended-ci-flow.md](docs/recommended-ci-flow.md)
|
|
116
|
+
- CLI reference: [docs/cli.md](docs/cli.md)
|
|
117
|
+
- Contributor guide: [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
118
|
+
|
|
119
|
+
## Advanced lanes live in docs
|
|
120
|
+
|
|
121
|
+
Historical and transition-era references (secondary) remain outside the first-time path.
|
|
122
|
+
|
|
123
|
+
- External repository adoption: [docs/adoption.md](docs/adoption.md)
|
|
124
|
+
- Portfolio readiness and reporting: [docs/portfolio-readiness.md](docs/portfolio-readiness.md)
|
|
125
|
+
- Operations handbook: [docs/operations-handbook.md](docs/operations-handbook.md)
|
|
126
|
+
- Remediation cookbook: [docs/remediation-cookbook.md](docs/remediation-cookbook.md)
|
|
127
|
+
- Release process: [docs/project/release-process.md](docs/project/release-process.md)
|
|
128
|
+
|
|
129
|
+
## Top-tier reporting sample pipeline
|
|
130
|
+
|
|
131
|
+
Run `make top-tier-reporting`; see [docs/portfolio-reporting-recipe.md](docs/portfolio-reporting-recipe.md) and [docs/kpi-schema.md](docs/kpi-schema.md).
|
|
132
|
+
|
|
133
|
+
## Upgrade next (intent router)
|
|
134
|
+
|
|
135
|
+
Run `make upgrade-next`; see [docs/upgrade-next-commands.md](docs/upgrade-next-commands.md).
|
|
136
|
+
|
|
137
|
+
## Real workflow operations
|
|
138
|
+
|
|
139
|
+
See [docs/real-workflow-operations.md](docs/real-workflow-operations.md). Common aliases: `make ops-daily`, `make ops-daily-fast`, `make ops-weekly`, `make ops-premerge`, `make ops-premerge-fast`, `make ops-premerge-next`, `make ops-premerge-next-fast`, `make ops-followup`, `make ops-now`, `make ops-now-lite`, `make ops-next`.
|
|
140
|
+
|
|
141
|
+
## Repository layout
|
|
142
|
+
|
|
143
|
+
| Area | Purpose |
|
|
144
|
+
| --- | --- |
|
|
145
|
+
| `src/` | SDETKit Python package and CLI implementation. |
|
|
146
|
+
| `tests/` | Unit, workflow, docs, and contract tests. |
|
|
147
|
+
| `docs/` | Operator guides, artifact references, quality gates, and developer docs, including `docs/artifacts/`. |
|
|
148
|
+
| `.github/workflows/` | CI, quality, maintenance, and artifact upload automation. |
|
|
149
|
+
|
|
150
|
+
## Project policies
|
|
151
|
+
|
|
152
|
+
- Docs map: [docs/docs-map.md](docs/docs-map.md)
|
|
153
|
+
- Security: [SECURITY.md](SECURITY.md)
|
|
154
|
+
- Quality playbook: [docs/project/quality-playbook.md](docs/project/quality-playbook.md)
|
|
155
|
+
- Release notes: [CHANGELOG.md](CHANGELOG.md)
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=65.5.1", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "sdetkit"
|
|
7
|
+
version = "1.2.0"
|
|
8
|
+
requires-python = ">=3.10"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
description = "Operator-grade release confidence and test intelligence platform: deterministic gates, evidence, integration assurance, and failure forensics."
|
|
11
|
+
license = "Apache-2.0"
|
|
12
|
+
license-files = ["LICENSE"]
|
|
13
|
+
keywords = ["sdet", "testing", "qa", "automation", "cli", "devtools", "quality-gates"]
|
|
14
|
+
authors = [{ name = "DevS69 contributors" }]
|
|
15
|
+
maintainers = [{ name = "DevS69 maintainers" }]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 5 - Production/Stable",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
23
|
+
"Programming Language :: Python :: 3.10",
|
|
24
|
+
"Programming Language :: Python :: 3.11",
|
|
25
|
+
"Programming Language :: Python :: 3.12",
|
|
26
|
+
"Topic :: Software Development :: Testing",
|
|
27
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
28
|
+
"Topic :: Utilities",
|
|
29
|
+
]
|
|
30
|
+
dependencies = [
|
|
31
|
+
"httpx>=0.28.1,<1",
|
|
32
|
+
"tomli>=2.0.1; python_version < '3.11'"
|
|
33
|
+
]
|
|
34
|
+
[project.urls]
|
|
35
|
+
Homepage = "https://github.com/sherif69-sa/DevS69-sdetkit"
|
|
36
|
+
Repository = "https://github.com/sherif69-sa/DevS69-sdetkit"
|
|
37
|
+
Documentation = "https://sherif69-sa.github.io/DevS69-sdetkit/"
|
|
38
|
+
Issues = "https://github.com/sherif69-sa/DevS69-sdetkit/issues"
|
|
39
|
+
Releases = "https://github.com/sherif69-sa/DevS69-sdetkit/releases"
|
|
40
|
+
Changelog = "https://github.com/sherif69-sa/DevS69-sdetkit/blob/main/CHANGELOG.md"
|
|
41
|
+
"Release Process" = "https://github.com/sherif69-sa/DevS69-sdetkit/blob/main/docs/project/release-process.md"
|
|
42
|
+
"Trust and Support Policy" = "https://github.com/sherif69-sa/DevS69-sdetkit/blob/main/docs/versioning-and-support.md"
|
|
43
|
+
|
|
44
|
+
[project.optional-dependencies]
|
|
45
|
+
dev = [
|
|
46
|
+
"build==1.5.1",
|
|
47
|
+
"mypy==2.3.0",
|
|
48
|
+
"pre-commit==4.6.0",
|
|
49
|
+
"ruff==0.15.22",
|
|
50
|
+
"twine==6.2.0"
|
|
51
|
+
]
|
|
52
|
+
test = [
|
|
53
|
+
"hypothesis==6.156.6",
|
|
54
|
+
"pre-commit==4.6.0",
|
|
55
|
+
"PyYAML",
|
|
56
|
+
"pytest",
|
|
57
|
+
"pytest-asyncio",
|
|
58
|
+
"pytest-cov",
|
|
59
|
+
"pytest-xdist[psutil]"
|
|
60
|
+
]
|
|
61
|
+
docs = [
|
|
62
|
+
"mkdocs==1.6.1",
|
|
63
|
+
"mkdocs-material==9.7.7"
|
|
64
|
+
]
|
|
65
|
+
packaging = [
|
|
66
|
+
"build==1.5.1",
|
|
67
|
+
"check-wheel-contents==0.6.3",
|
|
68
|
+
"twine==6.2.0"
|
|
69
|
+
]
|
|
70
|
+
telegram = [
|
|
71
|
+
"python-telegram-bot>=22.7,<23"
|
|
72
|
+
]
|
|
73
|
+
whatsapp = [
|
|
74
|
+
"twilio>=9.10.9,<10"
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
[tool.setuptools]
|
|
78
|
+
|
|
79
|
+
[tool.setuptools.package-dir]
|
|
80
|
+
"" = "src"
|
|
81
|
+
[tool.setuptools.packages.find]
|
|
82
|
+
where = ["src"]
|
|
83
|
+
|
|
84
|
+
[tool.ruff]
|
|
85
|
+
target-version = "py310"
|
|
86
|
+
line-length = 100
|
|
87
|
+
extend-exclude = ["templates/platform_problem/rich"]
|
|
88
|
+
|
|
89
|
+
[tool.ruff.lint]
|
|
90
|
+
select = ["E", "F", "I", "UP", "B"]
|
|
91
|
+
ignore = ["E501"]
|
|
92
|
+
|
|
93
|
+
[tool.ruff.lint.per-file-ignores]
|
|
94
|
+
"src/sitecustomize.py" = ["UP017"]
|
|
95
|
+
|
|
96
|
+
[tool.ruff.format]
|
|
97
|
+
quote-style = "double"
|
|
98
|
+
indent-style = "space"
|
|
99
|
+
line-ending = "lf"
|
|
100
|
+
|
|
101
|
+
[tool.mypy]
|
|
102
|
+
python_version = "3.10"
|
|
103
|
+
warn_unused_configs = true
|
|
104
|
+
warn_return_any = true
|
|
105
|
+
no_implicit_optional = true
|
|
106
|
+
strict_equality = true
|
|
107
|
+
check_untyped_defs = true
|
|
108
|
+
warn_redundant_casts = true
|
|
109
|
+
warn_unused_ignores = true
|
|
110
|
+
ignore_missing_imports = true
|
|
111
|
+
|
|
112
|
+
[[tool.mypy.overrides]]
|
|
113
|
+
module = "httpx"
|
|
114
|
+
ignore_missing_imports = true
|
|
115
|
+
|
|
116
|
+
[[tool.mypy.overrides]]
|
|
117
|
+
module = "httpx.*"
|
|
118
|
+
ignore_missing_imports = true
|
|
119
|
+
|
|
120
|
+
[[tool.mypy.overrides]]
|
|
121
|
+
module = [
|
|
122
|
+
"sdetkit.*"
|
|
123
|
+
]
|
|
124
|
+
ignore_errors = true
|
|
125
|
+
|
|
126
|
+
[[tool.mypy.overrides]]
|
|
127
|
+
module = [
|
|
128
|
+
"sdetkit.diagnostic_job",
|
|
129
|
+
"sdetkit.diagnostic_worker_trajectory",
|
|
130
|
+
"sdetkit.failure_vector",
|
|
131
|
+
"sdetkit.safety_gate",
|
|
132
|
+
]
|
|
133
|
+
ignore_errors = false
|
|
134
|
+
|
|
135
|
+
[[tool.mypy.overrides]]
|
|
136
|
+
module = [
|
|
137
|
+
"sdetkit.failure_vector_adapters",
|
|
138
|
+
"sdetkit.failure_vector_cpp",
|
|
139
|
+
]
|
|
140
|
+
ignore_errors = false
|
|
141
|
+
|
|
142
|
+
[[tool.mypy.overrides]]
|
|
143
|
+
module = "sdetkit.workspace_failure_ownership"
|
|
144
|
+
ignore_errors = false
|
|
145
|
+
|
|
146
|
+
[[tool.mypy.overrides]]
|
|
147
|
+
module = "sdetkit.mixed_monorepo_operator_proof"
|
|
148
|
+
ignore_errors = false
|
|
149
|
+
|
|
150
|
+
[[tool.mypy.overrides]]
|
|
151
|
+
module = "sdetkit.cpp_operator_proof"
|
|
152
|
+
ignore_errors = false
|
|
153
|
+
|
|
154
|
+
[[tool.mypy.overrides]]
|
|
155
|
+
module = "sdetkit.merge_readiness"
|
|
156
|
+
ignore_errors = false
|
|
157
|
+
|
|
158
|
+
[[tool.mypy.overrides]]
|
|
159
|
+
module = "sdetkit.protected_proof_chain"
|
|
160
|
+
ignore_errors = false
|
|
161
|
+
|
|
162
|
+
[[tool.mypy.overrides]]
|
|
163
|
+
module = [
|
|
164
|
+
"sdetkit.diagnostic_execution_plan",
|
|
165
|
+
"sdetkit.trajectory_store",
|
|
166
|
+
]
|
|
167
|
+
ignore_errors = false
|
|
168
|
+
|
|
169
|
+
[[tool.mypy.overrides]]
|
|
170
|
+
module = [
|
|
171
|
+
"sdetkit.adoption_proof_recommendations",
|
|
172
|
+
"sdetkit.adoption_repo_topology",
|
|
173
|
+
]
|
|
174
|
+
ignore_errors = false
|
|
175
|
+
|
|
176
|
+
[[tool.mypy.overrides]]
|
|
177
|
+
module = "sdetkit.adoption_surface.jenkins"
|
|
178
|
+
ignore_errors = false
|
|
179
|
+
|
|
180
|
+
[[tool.mypy.overrides]]
|
|
181
|
+
module = [
|
|
182
|
+
"sdetkit.adoption_surface.cpp",
|
|
183
|
+
"sdetkit.adoption_surface.cpp_quality_security",
|
|
184
|
+
]
|
|
185
|
+
ignore_errors = false
|
|
186
|
+
|
|
187
|
+
[[tool.mypy.overrides]]
|
|
188
|
+
module = "sdetkit.adoption_surface.javascript_security"
|
|
189
|
+
ignore_errors = false
|
|
190
|
+
|
|
191
|
+
[[tool.mypy.overrides]]
|
|
192
|
+
module = "sdetkit.adoption_surface.java_security"
|
|
193
|
+
ignore_errors = false
|
|
194
|
+
|
|
195
|
+
[[tool.mypy.overrides]]
|
|
196
|
+
module = [
|
|
197
|
+
"sdetkit.adoption_evidence_bundle",
|
|
198
|
+
"sdetkit.adoption_external_integration",
|
|
199
|
+
]
|
|
200
|
+
ignore_errors = false
|
|
201
|
+
|
|
202
|
+
[[tool.mypy.overrides]]
|
|
203
|
+
module = [
|
|
204
|
+
"sdetkit.adoption_learning",
|
|
205
|
+
"sdetkit.adoption_public_repo_trial_matrix_report",
|
|
206
|
+
]
|
|
207
|
+
ignore_errors = false
|
|
208
|
+
|
|
209
|
+
[[tool.mypy.overrides]]
|
|
210
|
+
module = [
|
|
211
|
+
"sdetkit._pr_quality_required_terminal_checks",
|
|
212
|
+
"sdetkit._pr_quality_required_terminal_merge",
|
|
213
|
+
"sdetkit._pr_quality_required_terminal_records",
|
|
214
|
+
"sdetkit._pr_quality_required_terminal_snapshot",
|
|
215
|
+
"sdetkit.pr_quality_required_terminal",
|
|
216
|
+
]
|
|
217
|
+
ignore_errors = false
|
|
218
|
+
|
|
219
|
+
[tool.mutmut]
|
|
220
|
+
paths_to_mutate = ["src/sdetkit"]
|
|
221
|
+
tests_dir = ["tests"]
|
|
222
|
+
runner = "PYTHONPATH=src pytest -q --ignore=mutants"
|
|
223
|
+
|
|
224
|
+
[tool.pytest.ini_options]
|
|
225
|
+
testpaths = ["tests"]
|
|
226
|
+
addopts = "-m 'not network'"
|
|
227
|
+
markers = [
|
|
228
|
+
"network: allow real network access for this test",
|
|
229
|
+
]
|
|
230
|
+
|
|
231
|
+
[tool.pip_audit]
|
|
232
|
+
ignore-vulns = ["CVE-2026-1703", "CVE-2026-4539"]
|
|
233
|
+
|
|
234
|
+
[project.scripts]
|
|
235
|
+
sdetkit = "sdetkit.cli:main"
|
|
236
|
+
sdkit = "sdetkit.cli:main"
|
|
237
|
+
kvcli = "sdetkit._entrypoints:kvcli"
|
|
238
|
+
apigetcli = "sdetkit._entrypoints:apigetcli"
|
|
239
|
+
sdetkit-test-bootstrap-contract = "sdetkit.test_bootstrap_contract:main"
|
|
240
|
+
sdetkit-test-bootstrap-validate = "sdetkit.test_bootstrap_validate:main"
|
|
241
|
+
sdetkit-diagnostic-queue-runner = "sdetkit.diagnostic_queue_runner_cli:main"
|
|
242
|
+
sdetkit-local-diagnostic-queue-dashboard = "sdetkit.local_diagnostic_queue_dashboard:main"
|
|
243
|
+
sdetkit-adoption-learning-report-dashboard = "sdetkit.adoption_learning_report_dashboard:main"
|
|
244
|
+
sdetkit-maintenance-queue-rollup-dashboard = "sdetkit.maintenance_queue_rollup_dashboard:main"
|
|
245
|
+
|
|
246
|
+
[project.entry-points."sdetkit.notify_adapters"]
|
|
247
|
+
stdout = "sdetkit.notify_plugins:stdout_adapter"
|
|
248
|
+
telegram = "sdetkit.notify_plugins:telegram_adapter"
|
|
249
|
+
whatsapp = "sdetkit.notify_plugins:whatsapp_adapter"
|
|
250
|
+
|
|
251
|
+
[project.entry-points."sdetkit.ops_tasks"]
|
|
252
|
+
[tool.setuptools.package-data]
|
|
253
|
+
sdetkit = ["public_command_surface.json", "data/*.json"]
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"""Top-level package exports and compatibility lazy-imports."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import importlib
|
|
6
|
+
from types import ModuleType
|
|
7
|
+
|
|
8
|
+
_SUBPACKAGES = (
|
|
9
|
+
"readiness",
|
|
10
|
+
"phases",
|
|
11
|
+
"evidence",
|
|
12
|
+
"intelligence",
|
|
13
|
+
"cli",
|
|
14
|
+
"core",
|
|
15
|
+
"gates",
|
|
16
|
+
"ops",
|
|
17
|
+
"utils",
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
_ALIAS_MAP = {
|
|
21
|
+
"gate": "sdetkit.gates.gate",
|
|
22
|
+
"security_gate": "sdetkit.gates.security_gate",
|
|
23
|
+
"playbooks_cli": "sdetkit.cli.playbooks_cli",
|
|
24
|
+
"playbook_post": "sdetkit.cli.playbook_post",
|
|
25
|
+
"serve": "sdetkit.cli.serve",
|
|
26
|
+
"review_engine": "sdetkit.intelligence.review_engine",
|
|
27
|
+
"review": "sdetkit.intelligence.review",
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def __getattr__(name: str) -> ModuleType:
|
|
32
|
+
candidates = [_ALIAS_MAP.get(name, f"sdetkit.{name}")]
|
|
33
|
+
candidates.extend(f"sdetkit.{subpackage}.{name}" for subpackage in _SUBPACKAGES)
|
|
34
|
+
last_error: ModuleNotFoundError | None = None
|
|
35
|
+
for module_name in candidates:
|
|
36
|
+
try:
|
|
37
|
+
module = importlib.import_module(module_name)
|
|
38
|
+
except ModuleNotFoundError as exc:
|
|
39
|
+
if exc.name != module_name:
|
|
40
|
+
raise
|
|
41
|
+
last_error = exc
|
|
42
|
+
continue
|
|
43
|
+
globals()[name] = module
|
|
44
|
+
return module
|
|
45
|
+
raise AttributeError(name) from last_error
|