Merge remote-tracking branch 'gitea-ssh/main' into codex/p0-product-manifest-standard-20260629
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Failing after 2m46s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped

# Conflicts:
#	docs/LOGBOOK.md
This commit is contained in:
Your Name
2026-06-29 12:47:25 +08:00
16 changed files with 457 additions and 53 deletions

View File

@@ -28,19 +28,16 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
assert data["summary"]["refs_sync_authorized"] is True
assert data["summary"]["workflow_trigger_authorized"] is True
assert data["summary"]["p0_cicd_baseline_status"] == (
"blocked_required_sources_missing"
"ready_for_template_copy_apply_gate"
)
assert data["summary"]["p0_cicd_baseline_workplan_id"] == "P0-004"
assert data["summary"]["p0_cicd_baseline_source_readiness_percent"] == 27
assert data["summary"]["p0_cicd_baseline_source_readiness_percent"] == 100
assert data["summary"]["p0_cicd_baseline_required_source_count"] == 11
assert data["summary"]["p0_cicd_baseline_present_required_source_count"] == 3
assert data["summary"]["p0_cicd_baseline_missing_required_source_count"] == 8
assert (
"warning_step_template_copy_apply_gate_service"
in data["summary"]["p0_cicd_baseline_blocked_source_ids"]
)
assert data["summary"]["p0_cicd_baseline_present_required_source_count"] == 11
assert data["summary"]["p0_cicd_baseline_missing_required_source_count"] == 0
assert data["summary"]["p0_cicd_baseline_blocked_source_ids"] == []
assert data["summary"]["p0_cicd_baseline_safe_next_step"] == (
"restore_or_recreate_tracked_warning_step_source_before_workflow_enablement"
"open_template_copy_apply_gate_after_source_readiness_green"
)
assert data["summary"]["production_deploy_status"] == (
"closure_verified"
@@ -515,17 +512,14 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
)
assert lanes["github"]["metric"]["kind"] == "private_backup_verified"
assert lanes["cicd_baseline"]["metric"]["kind"] == "source_readiness"
assert lanes["cicd_baseline"]["status"] == "blocked_required_sources_missing"
assert lanes["cicd_baseline"]["blocker_count"] == 8
assert lanes["cicd_baseline"]["completion_percent"] == 27
assert lanes["cicd_baseline"]["status"] == "ready_for_template_copy_apply_gate"
assert lanes["cicd_baseline"]["blocker_count"] == 0
assert lanes["cicd_baseline"]["completion_percent"] == 100
assert lanes["cicd_baseline"]["metric"]["workplan_id"] == "P0-004"
assert lanes["cicd_baseline"]["metric"]["required_source_count"] == 11
assert lanes["cicd_baseline"]["metric"]["present_required_source_count"] == 3
assert lanes["cicd_baseline"]["metric"]["missing_required_source_count"] == 8
assert (
"warning_step_template_copy_apply_gate_service"
in lanes["cicd_baseline"]["metric"]["blocked_source_ids"]
)
assert lanes["cicd_baseline"]["metric"]["present_required_source_count"] == 11
assert lanes["cicd_baseline"]["metric"]["missing_required_source_count"] == 0
assert lanes["cicd_baseline"]["metric"]["blocked_source_ids"] == []
assert (
lanes["cicd_baseline"]["metric"]["workflow_modification_allowed"]
is False

View File

@@ -4,27 +4,48 @@ from fastapi import FastAPI
from fastapi.testclient import TestClient
from src.api.v1.agents import router
from src.services.awoooi_gitea_onboarding_warning_step_dashboard import (
load_latest_awoooi_gitea_onboarding_warning_step_dashboard,
)
from src.services.awoooi_gitea_onboarding_warning_step_owner_package import (
load_latest_awoooi_gitea_onboarding_warning_step_owner_package,
)
from src.services.awoooi_gitea_onboarding_warning_step_owner_response_preflight import (
load_latest_awoooi_gitea_onboarding_warning_step_owner_response_preflight,
)
from src.services.awoooi_gitea_onboarding_warning_step_template_copy_apply_gate import (
load_latest_awoooi_gitea_onboarding_warning_step_template_copy_apply_gate,
)
from src.services.awoooi_gitea_onboarding_warning_step_template_copy_execution_plan import (
load_latest_awoooi_gitea_onboarding_warning_step_template_copy_execution_plan,
)
from src.services.awoooi_new_product_onboarding_page_model import (
load_latest_awoooi_new_product_onboarding_page_model,
)
from src.services.awoooi_onboarding_reminder_contract import (
load_latest_awoooi_onboarding_reminder_contract,
)
from src.services.awoooi_product_onboarding_guard import (
load_latest_awoooi_product_onboarding_guard,
)
from src.services.p0_cicd_baseline_source_readiness import (
load_latest_p0_cicd_baseline_source_readiness,
)
def test_p0_cicd_baseline_source_readiness_loader_reports_missing_sources():
def test_p0_cicd_baseline_source_readiness_loader_reports_ready_sources():
payload = load_latest_p0_cicd_baseline_source_readiness()
assert payload["schema_version"] == "p0_cicd_baseline_source_readiness_v1"
assert payload["status"] == "blocked_required_sources_missing"
assert payload["status"] == "ready_for_template_copy_apply_gate"
assert payload["priority"] == "P0-004"
assert payload["readback"]["workplan_id"] == "P0-004"
assert payload["readback"]["scorecard_completion_percent"] == 40
assert payload["readback"]["scorecard_completion_percent"] == 60
assert payload["rollups"]["required_source_count"] == 11
assert payload["rollups"]["present_required_source_count"] == 3
assert payload["rollups"]["missing_required_source_count"] == 8
assert payload["rollups"]["source_readiness_percent"] == 27
assert (
"warning_step_template_copy_apply_gate_service"
in payload["rollups"]["blocked_source_ids"]
)
assert payload["rollups"]["present_required_source_count"] == 11
assert payload["rollups"]["missing_required_source_count"] == 0
assert payload["rollups"]["source_readiness_percent"] == 100
assert payload["rollups"]["blocked_source_ids"] == []
assert payload["operation_boundaries"]["read_only_api_allowed"] is True
assert payload["operation_boundaries"]["workflow_modification_allowed"] is False
assert payload["operation_boundaries"]["workflow_trigger_allowed"] is False
@@ -32,6 +53,41 @@ def test_p0_cicd_baseline_source_readiness_loader_reports_missing_sources():
assert payload["operation_boundaries"]["secret_read_allowed"] is False
def test_recreated_onboarding_sources_keep_apply_gates_closed():
response = {
"accept_warning_only_scope": True,
"confirm_no_push_or_pull_request_trigger": True,
"confirm_no_generic_runner_label": True,
"confirm_runner_pressure_guard_required": True,
}
payloads = [
load_latest_awoooi_gitea_onboarding_warning_step_owner_package(),
load_latest_awoooi_gitea_onboarding_warning_step_owner_response_preflight(
response
),
load_latest_awoooi_gitea_onboarding_warning_step_template_copy_execution_plan(),
load_latest_awoooi_gitea_onboarding_warning_step_template_copy_apply_gate(),
load_latest_awoooi_gitea_onboarding_warning_step_dashboard(),
load_latest_awoooi_product_onboarding_guard(),
load_latest_awoooi_onboarding_reminder_contract(),
load_latest_awoooi_new_product_onboarding_page_model(),
]
assert (
payloads[1]["readback"]["accepted_acknowledgement_count"]
== payloads[1]["readback"]["required_acknowledgement_count"]
)
assert payloads[1]["readback"]["ready_for_template_copy_plan"] is True
for payload in payloads:
boundaries = payload["operation_boundaries"]
assert boundaries["read_only_api_allowed"] is True
assert boundaries["workflow_modification_allowed"] is False
assert boundaries["workflow_trigger_allowed"] is False
assert boundaries["github_api_allowed"] is False
assert boundaries["host_or_k8s_write_allowed"] is False
assert boundaries["secret_read_allowed"] is False
def test_p0_cicd_baseline_source_readiness_endpoint_returns_snapshot():
app = FastAPI()
app.include_router(router, prefix="/api/v1")
@@ -42,6 +98,6 @@ def test_p0_cicd_baseline_source_readiness_endpoint_returns_snapshot():
assert response.status_code == 200
data = response.json()
assert data["schema_version"] == "p0_cicd_baseline_source_readiness_v1"
assert data["status"] == "blocked_required_sources_missing"
assert data["rollups"]["missing_required_source_count"] == 8
assert data["status"] == "ready_for_template_copy_apply_gate"
assert data["rollups"]["missing_required_source_count"] == 0
assert data["operation_boundaries"]["workflow_modification_allowed"] is False