P3_WP05_FAILURE_INJECTION.json 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. {
  2. "work_package": "P3-WP05",
  3. "engineering_status": "ENGINEERING_COMPLETE_ENTERPRISE_OBSERVABILITY_UAT_BLOCKED",
  4. "generated_at": "2026-08-11",
  5. "scope_boundary": "Synthetic local contract verification only. No enterprise monitoring, SMTP, collaboration, ITSM, on-call, or pilot system was contacted.",
  6. "cases": [
  7. {
  8. "case_id": "WP05-FI-001",
  9. "scope": "telemetry correlation and sensitive-input rejection",
  10. "preconditions": ["Local Python test process", "Synthetic IDs and resource references"],
  11. "steps": ["Normalize API, task, database, graph, and object-storage events", "Inject secret-named and raw-SQL attributes"],
  12. "safety_boundary": "No raw rows, SQL, credentials, URLs, tokens, or provider endpoints",
  13. "expected": "All valid events retain one correlation ID; invalid evidence is rejected before adaptation",
  14. "evidence": ["tests/core/orchestration/test_production_observability.py"],
  15. "rollback": "No persistent state or network operation",
  16. "status": "VERIFIED_LOCAL"
  17. },
  18. {
  19. "case_id": "WP05-FI-002",
  20. "scope": "alert delivery lease, retry, dead letter, and compensation",
  21. "preconditions": ["Local PostgreSQL at migration 20260811_480", "Synthetic incident and alert UUIDs"],
  22. "steps": ["Replay exact and conflicting delivery requests", "Race two database workers", "Use an expired fencing token", "Fail three attempts", "Record controlled human compensation"],
  23. "safety_boundary": "No SMTP, collaboration, paging, or external queue",
  24. "expected": "Exact replay is stable; conflict and stale worker fail closed; retry is bounded; dead letter and compensation are separately auditable",
  25. "evidence": ["tests/core/orchestration/test_production_operations_service.py", "tests/integration/test_production_operations_postgres.py"],
  26. "rollback": "Delete only WP05-TEST-* and wp05-test-* synthetic rows through the controlled test cleanup",
  27. "status": "VERIFIED_LOCAL"
  28. },
  29. {
  30. "case_id": "WP05-FI-003",
  31. "scope": "capacity and recovery",
  32. "preconditions": ["Synthetic 100-500 user / 50-500 source snapshots"],
  33. "steps": ["Raise utilization and queue watermarks", "Attempt queue overflow", "Apply backpressure recommendation"],
  34. "safety_boundary": "No production load or source access",
  35. "expected": "Throttle/backpressure precedes hard-limit refusal; no accepted item is silently discarded",
  36. "evidence": ["tests/core/orchestration/test_production_observability.py"],
  37. "rollback": "Discard process-local state",
  38. "status": "VERIFIED_LOCAL"
  39. },
  40. {
  41. "case_id": "WP05-FI-004",
  42. "scope": "API, provider-output, and append-only audit boundary",
  43. "preconditions": ["Local Flask test client", "Local PostgreSQL runtime and evidence roles"],
  44. "steps": ["Submit oversized and sensitive delivery bodies", "Return a malicious provider envelope", "Attempt runtime INSERT, UPDATE, DELETE, and TRUNCATE against the audit ledger", "Roll back a caller transaction after recording an independent rejection"],
  45. "safety_boundary": "Only stable reason codes, references, and correlation IDs may enter the audit ledger",
  46. "expected": "Requests fail with no-store and no sensitive echo; provider output is rejected; direct ledger mutation fails; controlled and independent audit receipts remain",
  47. "evidence": ["tests/core/orchestration/test_production_operations_api.py", "tests/core/orchestration/test_production_operations_openapi_contract.py", "tests/integration/test_production_operations_postgres.py"],
  48. "rollback": "Remove only the namespaced synthetic rows using the evidence-owner test cleanup and restore triggers immediately",
  49. "status": "VERIFIED_LOCAL"
  50. },
  51. {
  52. "case_id": "WP05-FI-101",
  53. "scope": "enterprise monitoring, messaging, on-call, and ITSM",
  54. "preconditions": ["monitoring", "smtp", "collaboration", "itsm", "pilot_goal", "Approved change window"],
  55. "steps": ["Emit approved test alert", "Verify actual deduplication, silence, delivery, receipt, escalation, recovery, ITSM forward/reverse reference, and postmortem"],
  56. "safety_boundary": "Enterprise approval, test routing, and named operators required",
  57. "expected": "Enterprise interfaces demonstrate confirmed delivery and recovery without secret/raw-data persistence",
  58. "evidence": [],
  59. "rollback": "Disable test routing and close the approved synthetic incident",
  60. "status": "TBD_EXTERNAL"
  61. }
  62. ]
  63. }