feat(sre): close provider and telegram automation receipts

This commit is contained in:
ogt
2026-07-17 02:27:29 +08:00
parent 1b551e0d33
commit 6b82adca35
45 changed files with 8263 additions and 944 deletions

View File

@@ -2,8 +2,8 @@
"schema_version": "sre_k3s_controlled_automation_work_items_v1",
"governance_version": "global_product_governance_v2",
"program_id": "AIA-SRE-P0-20260715",
"generated_at": "2026-07-16T15:18:00+08:00",
"status": "phase_3_paid_provider_bounded_canary_in_progress",
"generated_at": "2026-07-17T02:00:46+08:00",
"status": "phase_3_paid_provider_first_canary_failed_safe_rollback_verified",
"scope_complete": false,
"current_p0": {
"id": "AIA-SRE-013",
@@ -77,7 +77,7 @@
"paid_execution_mode": "canary",
"paid_canary_percent": 5,
"paid_canary_authorization_ref": "AIA-SRE-013-user-approved-20260716",
"paid_canary_authorization_status": "user_direction_received_durable_gate5_receipt_pending",
"paid_canary_authorization_status": "user_direction_and_durable_gate5_consumed_first_canary_terminal_failed",
"durable_gate5_authorization": {
"required": true,
"binding": [
@@ -90,25 +90,32 @@
],
"accepted_source": "durable_operation_log_or_authorization_receipt",
"free_form_authorization_ref_is_sufficient": false,
"status": "pending"
"status": "consumed_terminal_failed",
"authorization_ref": "019f6c09-e77c-7800-35af-9179358c8f37",
"run_id": "019f6c09-e77c-7800-35af-9179358c8f37",
"trace_id": "00-4a83cb2dea7749b398a5e6d6c90737df6ed6c3b8e9534e8b-89789ec6474d4a52-01",
"approval_durable": true,
"single_use_claim_consumed": true,
"terminal_state": "failed",
"terminal_error_code": "E-PAID-CANARY-VERIFY"
},
"paid_canary_scope": "one committed sanitized fixture per provider; no infrastructure remediation",
"claude_cost_cap_status": "source_configured_canary_runtime_readback_pending",
"gemini_cost_cap_status": "source_configured_canary_runtime_readback_pending",
"claude_credential_status": "runtime_secret_reference_verifier_pending_no_secret_value_read",
"gemini_credential_status": "runtime_secret_reference_verifier_pending_no_secret_value_read",
"claude_cost_cap_status": "generation_finalized_and_aggregate_run_cap_verified",
"gemini_cost_cap_status": "failed_generation_estimate_finalized_and_aggregate_run_cap_verified",
"claude_credential_status": "runtime_secret_reference_generation_authenticated_no_secret_value_read",
"gemini_credential_status": "runtime_secret_reference_present_but_provider_authentication_rejected_no_secret_value_read",
"credential_metadata": {
"claude": {
"user_supplied_credential_noted": true,
"raw_value_recorded_in_repository": false,
"raw_value_readback_allowed": false,
"protected_secret_reference_status": "pending_secure_ingress_and_metadata_verifier"
"protected_secret_reference_status": "k8s_secret_ref_present_and_generation_authenticated"
},
"gemini": {
"user_supplied_credential_noted": true,
"raw_value_recorded_in_repository": false,
"raw_value_readback_allowed": false,
"protected_secret_reference_status": "pending_secure_ingress_and_metadata_verifier"
"protected_secret_reference_status": "k8s_secret_ref_present_but_generation_authentication_rejected"
}
},
"cloud_transport_contract": {
@@ -116,14 +123,14 @@
"observed_transport": "public_http",
"execution_scope": "sanitized_candidate_only",
"tool_loop_terminal": "fail_closed",
"pre_generation_receipt": "same_run_api_tags_probe_plus_redis_exact_readback_source_ready_runtime_pending",
"pre_generation_receipt": "blocked_no_transport_receipt_tcp_timeout",
"exact_prometheus_target_runtime_status": "missing"
},
"ollama_gcp_b": {
"observed_transport": "public_http",
"execution_scope": "sanitized_candidate_only",
"tool_loop_terminal": "fail_closed",
"pre_generation_receipt": "same_run_api_tags_probe_plus_redis_exact_readback_source_ready_runtime_pending",
"pre_generation_receipt": "transport_receipt_present_but_not_same_run_and_public_http_degraded",
"exact_prometheus_target_runtime_status": "missing"
},
"production_sensitive_payload_allowed": false,
@@ -134,7 +141,29 @@
"partial_five_lane_terminal": "rollback_both_paid_providers_and_fail_canary",
"daily_monthly_and_per_incident_cost_caps_required": true,
"source_status": "same_run_gate5_atomic_single_use_claim_and_aggregate_cap_ready",
"runtime_status": "paid_canary_pending"
"runtime_status": "first_canary_partial_failed_paired_rollback_verified"
},
"latest_canary_receipt": {
"run_id": "019f6c09-e77c-7800-35af-9179358c8f37",
"status": "failed_rollback_verified",
"provider_results": {
"ollama_gcp_a": "transport_unreachable_no_generation",
"ollama_gcp_b": "provider_canary_timeout_after_120_seconds",
"ollama_local": "http_connection_reset_no_generation",
"claude": "generation_succeeded_contract_verifier_failed",
"gemini": "authentication_rejected"
},
"claude_latency_ms": 4879.9,
"claude_tokens": 1886,
"claude_cost_usd": 0.011802,
"aggregate_accounted_cost_usd": 0.012099,
"aggregate_cost_cap_usd": 0.25,
"paired_rollback_verified": true,
"persistent_paid_routes_enabled": false,
"raw_prompt_persisted": false,
"raw_response_persisted": false,
"secret_value_read_or_returned": false,
"learning_writeback_status": "pending_provider_scorecard_km_rag_mcp_playbook_ack"
},
"production_provider_route_switch_allowed": false,
"required_before_paid_provider_enablement": [
@@ -603,28 +632,35 @@
"apps/api/src/services/paid_provider_canary_authorization.py",
"apps/api/src/services/paid_provider_canary_gate5_run.py",
"apps/api/src/services/paid_provider_canary_validation.py",
"apps/api/src/jobs/paid_provider_canary_worker.py",
"apps/api/src/services/ai_rate_limiter.py",
"scripts/ops/run-paid-provider-canary.py",
"k8s/awoooi-prod/04-configmap.yaml",
"k8s/awoooi-prod/06-deployment-api.yaml"
],
"executor": "ordered model router",
"executor": "singleton signal-worker paid canary executor plus ordered model router",
"verifier": "provider-attributed replay accuracy, latency and cost readback",
"rollback": "Claude/Gemini are disabled together on any partial five-lane result; remain on the ordered Ollama chain",
"exit_condition": "provider order is enforced; GCP public-HTTP hops remain sanitized candidate-only with cloud tool loops fail-closed until secure transport promotion; paid providers remain 5 percent canary only; the durable Gate5 UUID is the same execution run/trace and is atomically single-use; protected-secret metadata, paired rollback, aggregate cost cap, finalized receipts, latency/token/cost and production readback are verified without secret-value exposure",
"confirmed_truth": [
"The user supplied Claude and Gemini credential material, but raw values are not repository data and must not be copied or read back",
"GCP-A/GCP-B are currently public HTTP boundaries and cannot receive unsanitized or tool-loop payloads",
"Claude and Gemini enablement, canary outcome and rollback form one atomic pair"
"Claude and Gemini enablement, canary outcome and rollback form one atomic pair",
"Gate5 run 019f6c09-e77c-7800-35af-9179358c8f37 was durably approved and consumed exactly once; Claude generation authenticated, Gemini authentication was rejected, and both paid gates returned to disabled",
"The first canary accounted USD 0.012099 under the USD 0.25 run cap and persisted neither raw prompt nor raw response",
"The first Gate5 approval emitted approval_hmac_key_not_set_using_dev_fallback; this is a production approval-signing contract drift, not evidence that paid providers are hard locked"
],
"runtime_gaps": [
"durable Gate5 authorization receipt bound to the canary run is missing",
"Claude/Gemini protected-secret reference metadata verification is pending",
"daily/monthly/per-incident cost-cap and production cost readback are pending",
"GCP-A/GCP-B exact Prometheus targets are absent from production",
"sanitized five-lane paid canary has not run and no paired rollback receipt exists"
"GCP-A transport is unreachable and has no same-run transport receipt",
"GCP-B is reachable and has qwen3:14b, but the first canary used an obsolete 120 second outer timeout instead of the 300 second diagnose budget",
"host111 accepts TCP but resets the Ollama HTTP request and requires Agent99 bounded host service diagnosis",
"Claude authenticated but its first response did not satisfy the deterministic OpenClawDecision contract; strict tool schema source fix awaits CD and replay",
"Gemini production secret reference is present but provider authentication is rejected; the user-supplied replacement is not yet present in the protected runtime secret path",
"APPROVAL_HMAC_KEY is not bound to a dedicated protected production secret; the development fallback must be retired after a secret-metadata-only preflight and before production provider promotion",
"singleton approved-run executor handoff and container import-path fixes await Gitea CD",
"provider scorecard KM/RAG/MCP/PlayBook acknowledgement is pending"
],
"next_action": "first close the ordered alert-chain, Host110 tombstone/Host111 verifier and critical fail-closed safety queue; then create the durable Gate5 receipt, verify protected-secret metadata without reading values, deploy cost caps, execute one sanitized five-lane fixture, and roll back both paid providers unless all five lanes are comparable"
"next_action": "deploy the executor, strict Claude schema and Ollama timeout fixes; bind APPROVAL_HMAC_KEY through a dedicated protected secret reference without reading its value; repair GCP-A transport and host111 through their typed owner lanes; rotate Gemini through protected secret ingress without repository or log exposure; then create a new single-use Gate5 run and rerun the sanitized five-lane verifier"
},
{
"id": "AIA-SRE-014",

View File

@@ -1,6 +1,6 @@
{
"schema_version": "telegram_canonical_routing_registry_v1",
"generated_at": "2026-07-14T15:50:04+08:00",
"generated_at": "2026-07-17T01:43:42+08:00",
"status": "source_policy_ready_runtime_not_applied",
"mode": "source_only_no_secret_no_telegram_send_no_route_change",
"supersedes": {
@@ -30,7 +30,7 @@
],
"legacy_shared_sre_blocked_types": ["TYPE-1", "TYPE-6B", "UNKNOWN"],
"raw_chat_id_allowed": false,
"shared_sre_rule": "Only shared infrastructure, security incident, disaster recovery, and P0/P1 incident lifecycle signals may use the AwoooI SRE war room alias.",
"shared_sre_rule": "Only explicit P0/P1 operational allowlist routes may use the AwoooI SRE war room alias; StockPlatform is limited to incident_lifecycle ingress and business reports remain product-routed or blocked.",
"shared_sre_forbidden": [
"raw product P2/P3 monitoring",
"marketing",
@@ -191,8 +191,8 @@
"product_id": "stockplatform-v2",
"display_name": "StockPlatform v2",
"owner": "stockplatform_product_ops",
"source_audit_status": "wooowooowooobot_private_route_shared_with_tsenyang_site_ownership_drift",
"egress_status": "blocked"
"source_audit_status": "p0_p1_operational_incident_lifecycle_allowed_via_tsenyang_shared_sre_business_and_raw_product_routes_blocked",
"egress_status": "allowed"
},
{
"product_id": "tsenyang-website",
@@ -339,6 +339,70 @@
"owner": "sre_shared_runtime",
"egress_status": "allowed"
},
{
"route_id": "awoooi-backup-restore",
"product_id": "awoooi",
"signal_family": "backup_restore",
"severity": [
"P0",
"P1"
],
"scope": "shared",
"bot_alias": "tsenyang_bot",
"chat_alias": "awoooi_sre_war_room",
"allowed_destination": "telegram_chat_alias:awoooi_sre_war_room",
"receipt_backend": "awoooi.alert_operation_log+telegram_outbound_receipts",
"owner": "dr_runtime",
"egress_status": "allowed"
},
{
"route_id": "awoooi-infrastructure",
"product_id": "awoooi",
"signal_family": "infrastructure",
"severity": [
"P0",
"P1"
],
"scope": "shared",
"bot_alias": "tsenyang_bot",
"chat_alias": "awoooi_sre_war_room",
"allowed_destination": "telegram_chat_alias:awoooi_sre_war_room",
"receipt_backend": "awoooi.alert_operation_log+telegram_outbound_receipts",
"owner": "sre_shared_runtime",
"egress_status": "allowed"
},
{
"route_id": "awoooi-observability",
"product_id": "awoooi",
"signal_family": "observability",
"severity": [
"P0",
"P1"
],
"scope": "shared",
"bot_alias": "tsenyang_bot",
"chat_alias": "awoooi_sre_war_room",
"allowed_destination": "telegram_chat_alias:awoooi_sre_war_room",
"receipt_backend": "awoooi.alert_operation_log+telegram_outbound_receipts",
"owner": "observability_runtime",
"egress_status": "allowed"
},
{
"route_id": "awoooi-ai-agent",
"product_id": "awoooi",
"signal_family": "ai_agent",
"severity": [
"P0",
"P1"
],
"scope": "shared",
"bot_alias": "tsenyang_bot",
"chat_alias": "awoooi_sre_war_room",
"allowed_destination": "telegram_chat_alias:awoooi_sre_war_room",
"receipt_backend": "awoooi.alert_operation_log+telegram_outbound_receipts",
"owner": "ai_agent_runtime",
"egress_status": "allowed"
},
{
"route_id": "awoooi-raw-product-monitoring",
"product_id": "awoooi",
@@ -442,6 +506,22 @@
"egress_status": "blocked",
"blocked_reason": "configured_destination_returns_chat_not_found_and_has_no_durable_receipt"
},
{
"route_id": "stockplatform-operational-incident-lifecycle",
"product_id": "stockplatform-v2",
"signal_family": "incident_lifecycle",
"severity": [
"P0",
"P1"
],
"scope": "shared",
"bot_alias": "tsenyang_bot",
"chat_alias": "awoooi_sre_war_room",
"allowed_destination": "telegram_chat_alias:awoooi_sre_war_room",
"receipt_backend": "awoooi.alert_operation_log+telegram_outbound_receipts",
"owner": "stockplatform_product_ops",
"egress_status": "allowed"
},
{
"route_id": "stockplatform-market-data",
"product_id": "stockplatform-v2",
@@ -456,6 +536,25 @@
"egress_status": "blocked",
"blocked_reason": "private_route_is_shared_with_tsenyang_site_and_product_ownership_is_not_reconciled"
},
{
"route_id": "stockplatform-business-report",
"product_id": "stockplatform-v2",
"signal_family": "business_report",
"severity": [
"P0",
"P1",
"P2",
"P3"
],
"scope": "product",
"bot_alias": "wooowooowooobot",
"chat_alias": "wooowooowooobot_private",
"allowed_destination": "blocked",
"receipt_backend": "none",
"owner": "stockplatform_product_ops",
"egress_status": "blocked",
"blocked_reason": "business_reports_must_remain_on_a_stockplatform_owned_product_route"
},
{
"route_id": "tsenyang-site-health",
"product_id": "tsenyang-website",
@@ -501,12 +600,12 @@
],
"rollups": {
"product_count": 11,
"route_count": 20,
"allowed_route_count": 4,
"blocked_route_count": 13,
"route_count": 26,
"allowed_route_count": 9,
"blocked_route_count": 14,
"disabled_route_count": 2,
"not_implemented_route_count": 1,
"shared_sre_allowed_route_count": 4,
"shared_sre_allowed_route_count": 9,
"raw_numeric_destination_count": 0,
"runtime_route_change_count": 0,
"telegram_send_count": 0