3e964ac2cb
Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
31 lines
3.6 KiB
JSON
31 lines
3.6 KiB
JSON
{
|
|
"planPath": "archreview/plans/PLAN-06-edge-integrations.md",
|
|
"tasks": [
|
|
{ "id": 1, "subject": "Task 1: Revision-checked inbound handler cache (self-healing across failover / direct SQL / known-bad)", "status": "completed", "blockedBy": [] },
|
|
{ "id": 2, "subject": "Task 2: DB-authoritative compile semantics — management warning text + design doc", "status": "completed", "blockedBy": [1] },
|
|
{ "id": 3, "subject": "Task 3: InvalidateMethod seam — the Inbound API consumer of plan 05's invalidation contract", "status": "completed", "blockedBy": [1, 2] },
|
|
{ "id": 4, "subject": "Task 4: Abandoned inbound executions — defer DI-scope disposal + orphan telemetry", "status": "completed", "blockedBy": [3] },
|
|
{ "id": 5, "subject": "Task 5: Inbound error contract — code field + SITE_UNREACHABLE + 415 for non-JSON bodies", "status": "completed", "blockedBy": [4, 6] },
|
|
{ "id": 6, "subject": "Task 6: InboundApiEndpointFilter hot-reads options via IOptionsMonitor", "status": "completed", "blockedBy": [] },
|
|
{ "id": 7, "subject": "Task 7: Parallelize startup compile of inbound methods", "status": "completed", "blockedBy": [] },
|
|
{ "id": 8, "subject": "Task 8: ExternalSystemDefinition.TimeoutSeconds — entity + EF mapping + migration", "status": "completed", "blockedBy": [] },
|
|
{ "id": 9, "subject": "Task 9: Honor the per-system timeout in ExternalSystemClient.InvokeHttpAsync", "status": "completed", "blockedBy": [8] },
|
|
{ "id": 10, "subject": "Task 10: Carry TimeoutSeconds through the artifact pipeline to sites", "status": "completed", "blockedBy": [8] },
|
|
{ "id": 11, "subject": "Task 11: TimeoutSeconds management commands + CLI", "status": "completed", "blockedBy": [8, 3] },
|
|
{ "id": 12, "subject": "Task 12: TimeoutSeconds in Central UI form + spec doc sync", "status": "completed", "blockedBy": [8] },
|
|
{ "id": 13, "subject": "Task 13: Path-template substitution (/recipes/{id}) in BuildUrl", "status": "completed", "blockedBy": [9] },
|
|
{ "id": 14, "subject": "Task 14: Bound outbound HTTP response buffering", "status": "completed", "blockedBy": [13] },
|
|
{ "id": 15, "subject": "Task 15: Structured JSON AuthConfiguration with legacy colon fallback", "status": "completed", "blockedBy": [14] },
|
|
{ "id": 16, "subject": "Task 16: Cancellation-aware ErrorClassifier.IsTransient overload", "status": "completed", "blockedBy": [15] },
|
|
{ "id": 17, "subject": "Task 17: SMS first-transient short-circuit (duplicate amplification + sweep bound)", "status": "completed", "blockedBy": [] },
|
|
{ "id": 18, "subject": "Task 18: Honor SmsConfiguration.MaxRetries/RetryDelay — per-type retry policy", "status": "completed", "blockedBy": [] },
|
|
{ "id": 19, "subject": "Task 19: Configurable OAuth2 authority/scope — entity + EF + migration + token service", "status": "completed", "blockedBy": [8] },
|
|
{ "id": 20, "subject": "Task 20: OAuth2 authority/scope surfaces — management command + CLI + UI + doc", "status": "completed", "blockedBy": [19] },
|
|
{ "id": 21, "subject": "Task 21: Notification low-severity cleanups — deterministic SMTP selection + OAuth2 cache visibility", "status": "completed", "blockedBy": [18, 19] },
|
|
{ "id": 22, "subject": "Task 22: Validate Twilio AccountSid format at config save", "status": "completed", "blockedBy": [11] },
|
|
{ "id": 23, "subject": "Task 23: Document DelmiaNotifier at-least-once semantics + idempotency requirement", "status": "completed", "blockedBy": [] },
|
|
{ "id": 24, "subject": "Task 24: Document the dual-key API-key rotation procedure", "status": "completed", "blockedBy": [2, 5] }
|
|
],
|
|
"lastUpdated": "2026-07-10"
|
|
}
|