mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
chore(backlog): capture task planning and subagent handoffs
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
---
|
||||
id: TASK-80
|
||||
title: Strengthen IPC contract typing and runtime payload validation
|
||||
status: To Do
|
||||
assignee: []
|
||||
status: In Progress
|
||||
assignee:
|
||||
- opencode-task80-ipc-contract
|
||||
created_date: '2026-02-18 11:43'
|
||||
updated_date: '2026-02-18 11:43'
|
||||
updated_date: '2026-02-22 00:21'
|
||||
labels:
|
||||
- ipc
|
||||
- type-safety
|
||||
@@ -46,9 +47,28 @@ IPC handlers still rely on many `unknown` payload casts in main process paths. T
|
||||
- [ ] #4 Malformed payloads are handled gracefully and test-covered
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
<!-- SECTION:PLAN:BEGIN -->
|
||||
Plan of record (2026-02-22):
|
||||
1) Add central typed IPC contract module at `src/shared/ipc/contracts.ts` and migrate `src/core/services/ipc.ts`, `src/core/services/anki-jimaku-ipc.ts`, and `src/preload.ts` from string literals to contract constants/types.
|
||||
2) Add runtime IPC payload validators at `src/shared/ipc/validators.ts` for externally supplied payloads (runtime option id/direction/value boundary, subsync request shape, overlay modal, subtitle position, and kiku/jimaku payloads where renderer-supplied).
|
||||
3) Wire validators at IPC boundaries so malformed payloads are handled gracefully (return structured `{ ok: false, error }` for invoke handlers or no-op/log for fire-and-forget channels) and avoid unsafe `as` casts in boundary code.
|
||||
4) Reduce unsafe casts in runtime IPC wiring (`src/main/dependencies.ts`, `src/main.ts`, IPC composer generics) by narrowing types before domain calls.
|
||||
5) Add/extend IPC tests for malformed payload behavior (`src/core/services/ipc.test.ts`, `src/core/services/anki-jimaku-ipc.test.ts`), then run `bun run build`, `bun run test:core:src`, and `bun run test:core:dist`.
|
||||
6) Update `docs/architecture.md` with central IPC contract and boundary-validation conventions; then finalize TASK-80 AC/DoD evidence in Backlog MCP.
|
||||
<!-- SECTION:PLAN:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
2026-02-22: Started execution session opencode-task80-ipc-contract-20260222T001728Z-obrv. Loading IPC boundary code and preparing implementation plan via writing-plans before any code edits.
|
||||
|
||||
Saved plan document: docs/plans/2026-02-22-task-80-ipc-contract-validation.md. Proceeding with executing-plans implementation flow as requested.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
|
||||
## Definition of Done
|
||||
<!-- DOD:BEGIN -->
|
||||
- [ ] #1 IPC-related tests pass
|
||||
- [ ] #2 IPC contract docs updated
|
||||
<!-- DOD:END -->
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
---
|
||||
id: TASK-82
|
||||
title: Add end-to-end smoke suite for launcher mpv ipc and overlay runtime
|
||||
status: To Do
|
||||
assignee: []
|
||||
status: In Progress
|
||||
assignee:
|
||||
- codex-task82-smoke-20260222T002523Z-3j7u
|
||||
created_date: '2026-02-18 11:43'
|
||||
updated_date: '2026-02-18 11:43'
|
||||
updated_date: '2026-02-22 00:27'
|
||||
labels:
|
||||
- testing
|
||||
- e2e
|
||||
@@ -52,9 +53,51 @@ Current coverage is strong at unit/service level but thin on end-to-end behavior
|
||||
- [ ] #4 Smoke suite documented in development/release docs
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
<!-- SECTION:PLAN:BEGIN -->
|
||||
Plan-of-record (2026-02-22, codex-task82-smoke-20260222T002523Z-3j7u)
|
||||
|
||||
Goal
|
||||
- Add deterministic e2e smoke coverage for launcher -> mpv IPC socket -> app overlay start/stop runtime wiring.
|
||||
- Run suite in CI + release quality gates with actionable failure artifacts.
|
||||
- Document command, coverage, and release-checklist linkage.
|
||||
|
||||
Execution slices (parallel where safe)
|
||||
1) Launcher smoke harness (core implementation)
|
||||
- Create launcher/smoke.e2e.test.ts with fake mpv + fake app fixtures in temp dir.
|
||||
- Validate startup path, socket readiness, app --start args/env, and post-run --stop behavior.
|
||||
- Emit actionable artifact logs under .tmp/launcher-smoke/<run-id>.
|
||||
|
||||
2) Script + workflow wiring (can run in parallel after command exists)
|
||||
- package.json: add test:launcher:smoke:src and include in launcher lane.
|
||||
- .github/workflows/ci.yml: run launcher smoke suite and upload smoke artifacts on failure.
|
||||
- .github/workflows/release.yml: mirror quality-gate step and failure artifact upload.
|
||||
|
||||
3) Docs wiring (parallel with workflows)
|
||||
- docs/development.md: command usage + what it validates + artifact path.
|
||||
- docs/installation.md: release/checklist reference to launcher smoke gate.
|
||||
|
||||
4) Validation + closure
|
||||
- Run focused lane: bun run test:launcher:smoke:src and bun run test:launcher.
|
||||
- Run integration lane: bun run test:fast.
|
||||
- Run dist confidence lane: bun run build && bun run test:smoke:dist (or record unrelated blockers).
|
||||
- Update TASK-82 AC/DoD checks with exact evidence and final summary.
|
||||
|
||||
Scope guardrails
|
||||
- No commit/push in this run.
|
||||
- Keep smoke suite dependency-free (local fakes only).
|
||||
- If new required scope appears, pause and request user scope decision before expanding AC.
|
||||
<!-- SECTION:PLAN:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
2026-02-22: Started execution with opencode-task82-smoke-20260222T002150Z-p5bp via writing-plans -> executing-plans workflow.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
|
||||
## Definition of Done
|
||||
<!-- DOD:BEGIN -->
|
||||
- [ ] #1 Smoke suite passes on baseline branch
|
||||
- [ ] #2 Release checklist references smoke suite
|
||||
<!-- DOD:END -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user