Files
SubMiner/backlog/tasks/task-80 - Strengthen-ipc-contract-typing-and-runtime-payload-validation.md

1.7 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
id title status assignee created_date updated_date labels dependencies priority
TASK-80 Strengthen IPC contract typing and runtime payload validation To Do
2026-02-18 11:43 2026-02-18 11:43
ipc
type-safety
reliability
medium

Description

IPC handlers still rely on many unknown payload casts in main process paths. This task formalizes typed IPC contracts and validates runtime payloads before dispatch to reduce runtime-only failures.

Suggestions

  • Define canonical channel map (channel -> request/response/error types).
  • Add boundary validators for untrusted renderer payloads.
  • Keep channel registration centralized to avoid drift.

Action Steps

  1. Inventory IPC channels and payload shapes in src/main/ipc-runtime.ts and registration callsites.
  2. Introduce shared IPC type map and typed registration helpers.
  3. Add runtime guards/validators at IPC entry points.
  4. Remove unsafe casts where typed contracts are introduced.
  5. Add negative tests for malformed payloads and expected error responses.
  6. Document IPC contract extension process.

Acceptance Criteria

  • #1 IPC channels are defined in a typed central contract
  • #2 Runtime payload validation exists for externally supplied IPC data
  • #3 Unsafe cast usage in IPC boundary code is materially reduced
  • #4 Malformed payloads are handled gracefully and test-covered

Definition of Done

  • #1 IPC-related tests pass
  • #2 IPC contract docs updated