chore(sre): reconcile backup source readiness
This commit is contained in:
@@ -116,12 +116,11 @@ def test_loader_returns_fixed_architecture_provider_order_and_agent99_bridge() -
|
||||
"total_items": 18,
|
||||
"by_priority": {"P0": 16, "P1": 2},
|
||||
"by_status": {
|
||||
"source_implemented_runtime_pending": 10,
|
||||
"source_implemented_runtime_pending": 11,
|
||||
"in_progress": 3,
|
||||
"planned": 4,
|
||||
"policy_active": 1,
|
||||
},
|
||||
"source_implemented_items": 10,
|
||||
"source_implemented_items": 11,
|
||||
"runtime_closed_items": 0,
|
||||
"program_completion_percent": 0,
|
||||
"asset_coverage_status": "partial",
|
||||
@@ -142,6 +141,12 @@ def test_ledger_links_confirmed_runtime_gaps_without_false_closure() -> None:
|
||||
items["AIA-SRE-013"]["runtime_gaps"]
|
||||
)
|
||||
assert "host99 Agent99" in " ".join(items["AIA-SRE-017"]["runtime_gaps"])
|
||||
assert items["AIA-SRE-011"]["status"] == (
|
||||
"source_implemented_runtime_pending"
|
||||
)
|
||||
assert "controlledApply=false" in " ".join(
|
||||
items["AIA-SRE-011"]["confirmed_truth"]
|
||||
)
|
||||
assert items["AIA-SRE-017"]["status"] == (
|
||||
"source_implemented_runtime_pending"
|
||||
)
|
||||
@@ -172,7 +177,7 @@ def test_projection_keeps_program_asset_and_runtime_truth_separate() -> None:
|
||||
payload = load_sre_k3s_controlled_automation_work_items()
|
||||
projection = build_sre_k3s_program_projection(payload)
|
||||
|
||||
assert projection["rollups"]["source_implemented_items"] == 10
|
||||
assert projection["rollups"]["source_implemented_items"] == 11
|
||||
assert projection["rollups"]["runtime_closed_items"] == 0
|
||||
assert projection["rollups"]["program_completion_percent"] == 0
|
||||
assert projection["domain_count"] == 8
|
||||
|
||||
@@ -575,18 +575,33 @@
|
||||
"title": "Backup/restore readback 與 critical break-glass",
|
||||
"owner_lane": "DataProtection",
|
||||
"risk": "critical",
|
||||
"status": "policy_active",
|
||||
"status": "source_implemented_runtime_pending",
|
||||
"dependencies": [
|
||||
"AIA-SRE-004"
|
||||
],
|
||||
"source_refs": [
|
||||
"apps/api/src/services/backup_restore_signal_automation.py"
|
||||
"apps/api/src/services/backup_restore_signal_automation.py",
|
||||
"apps/api/src/services/agent99_sre_bridge.py",
|
||||
"apps/api/src/jobs/agent99_controlled_dispatch_reconciler_job.py",
|
||||
"apps/api/src/services/agent99_controlled_dispatch_ledger.py",
|
||||
"apps/api/src/services/agent99_telegram_lifecycle.py",
|
||||
"apps/api/src/services/agent99_public_receipts.py",
|
||||
"apps/api/src/repositories/knowledge_repository.py"
|
||||
],
|
||||
"executor": "backup_restore_break_glass",
|
||||
"verifier": "backup_restore_readback_verifier",
|
||||
"rollback": "no-write default; destructive action requires incident-specific break-glass",
|
||||
"exit_condition": "freshness, offsite, escrow and restore-drill evidence close without false green",
|
||||
"next_action": "bind typed route to DR scorecard without running backup/restore"
|
||||
"confirmed_truth": [
|
||||
"backup alerts are typed before generic routing and dispatch only Agent99 BackupCheck with controlledApply=false",
|
||||
"BackupCheck renders a read-only Telegram lifecycle receipt and never uses a controlled-apply receipt",
|
||||
"same-run closure requires durable Telegram, KM, RAG, MCP, PlayBook and DR scorecard acknowledgements before terminal writeback",
|
||||
"existing BackupCheck learning assets reconcile idempotently to backup_restore and no-write semantics"
|
||||
],
|
||||
"runtime_gaps": [
|
||||
"no production same-run BackupCheck dispatch, freshness/offsite/escrow/restore-drill verifier receipt or recipient-visible closure is recorded for this source revision"
|
||||
],
|
||||
"next_action": "deploy one exact source revision through the authorized release lane, replay one read-only backup signal through Agent99 BackupCheck and verify same-run Telegram/KM/RAG/MCP/PlayBook/DR receipts; do not run backup, restore, delete or retention changes"
|
||||
},
|
||||
{
|
||||
"id": "AIA-SRE-012",
|
||||
@@ -832,12 +847,11 @@
|
||||
"P1": 2
|
||||
},
|
||||
"by_status": {
|
||||
"source_implemented_runtime_pending": 10,
|
||||
"source_implemented_runtime_pending": 11,
|
||||
"in_progress": 3,
|
||||
"planned": 4,
|
||||
"policy_active": 1
|
||||
"planned": 4
|
||||
},
|
||||
"source_implemented_items": 10,
|
||||
"source_implemented_items": 11,
|
||||
"runtime_closed_items": 0,
|
||||
"program_completion_percent": 0,
|
||||
"asset_coverage_status": "partial",
|
||||
|
||||
Reference in New Issue
Block a user