mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
Share config discovery logic between main and launcher so XDG/home and SubMiner/subminer precedence stay consistent. Add regression tests for resolution order and keep config path/show behavior stable.
5.4 KiB
5.4 KiB
Agent: codex-main
- alias: planner-exec
- mission: Unify config path resolution across app + launcher
- status: handoff
- branch: main
- started_at: 2026-02-19T08:06:28Z
- heartbeat_minutes: 20
Current Work (newest first)
- [2026-02-19T09:05:26Z] handoff: completed TASK-70 (Done); unified config path resolution into shared
src/config/path-resolution.ts, wired app+launcher call sites, added precedence tests, verified build/tests/launcher bundle, and checked AC/DoD in Backlog. - [2026-02-19T09:05:26Z] test:
bun run build && node --test dist/config/path-resolution.test.js dist/config/config.test.js && bun build ./launcher/main.ts --target=bun --packages=bundle --outfile=/tmp/subminer-task70-> pass. - [2026-02-19T08:57:36Z] progress: plan saved to
docs/plans/2026-02-19-task-70-unify-config-path-resolution.md, mirrored to backlog TASK-70planSet; moving to edit/test execution. - [2026-02-19T08:52:23Z] intent: execute TASK-70 by reading full backlog context, writing implementation plan via writing-plans skill, then executing via executing-plans skill with parallel subagents where possible.
- [2026-02-19T08:41:44Z] handoff: created backlog TASK-84 for config-gated keybindings + disabled-feature integration non-loading (Jellyfin example) with tests/docs acceptance criteria.
- [2026-02-19T08:41:22Z] intent: create backlog task for config-gated keybindings so disabled features become no-ops and feature modules (example: Jellyfin) are not loaded when disabled.
- [2026-02-19T08:40:53Z] handoff: completed TASK-83 simplification; removed configurable sentence/audio field overrides for Lapis sentence cards and verified.
- [2026-02-19T08:40:53Z] test:
bun run build && bun run test:config:dist-> pass (33/33). - [2026-02-19T08:38:30Z] intent: implement TASK-83 to remove
isLapis.sentenceCardSentenceField+isLapis.sentenceCardAudioFieldfrom config/types/docs and force fixedSentence/SentenceAudioin integration. - [2026-02-19T08:27:23Z] handoff: completed TASK-69 implementation + verification; backlog TASK-69 set Done with AC/DoD checked.
- [2026-02-19T08:27:23Z] test:
bun run build && bun run test:config:dist-> pass (32/32). - [2026-02-19T08:27:23Z] progress: hardened legacy ankiConnect migration mapping with validators + warnings in
src/config/service.ts; added invalid/valid legacy regression tests insrc/config/config.test.ts; updated migration doc note indocs/configuration.md. - [2026-02-19T08:23:30Z] intent: user approved TASK-69 plan; start implementation (tests first, then validated legacy mapping, then verify + backlog updates).
- [2026-02-19T08:21:11Z] handoff: completed TASK-38 implementation + verification; updated Backlog acceptance checks and notes.
- [2026-02-19T08:21:11Z] test:
bun run build && node --test dist/config/config.test.js dist/core/services/app-ready.test.js-> pass (39/39). - [2026-02-19T08:21:11Z] progress: wired strict startup parse failure handling + warning summary + critical validation dialog path in
src/main.tsand threaded new app-ready dependency insrc/main/app-lifecycle.ts. - [2026-02-19T08:20:00Z] intent: read TASK-69 details, write end-to-end implementation plan via writing-plans skill, then execute via executing-plans skill with parallel subagents where possible.
- [2026-02-19T08:18:47Z] progress: implemented unknown top-level config warning +
ankiConnect.openRouterdeprecation warning; added coverage insrc/config/config.test.ts; verification passed (bun run build && node --test dist/config/config.test.js). - [2026-02-19T08:10:40Z] intent: implement TASK-38 plan Task 1 scope (
src/config/service.ts,src/config/config.test.ts) for unknown top-level key warnings +ankiConnect.openRouterdeprecation warning, then run required build+test command. - [2026-02-19T08:09:46Z] progress: wrote plan
docs/plans/2026-02-19-task-38-config-validation-startup.md, set TASK-38 In Progress, and stored plan in Backlog. - [2026-02-19T08:06:28Z] intent: read backlog/task context, draft implementation plan for TASK-38, then execute with parallel subagents where possible.
Files Touched
docs/subagents/INDEX.mddocs/subagents/agents/codex-main.mddocs/plans/2026-02-19-task-70-unify-config-path-resolution.mdsrc/config/path-resolution.tssrc/config/path-resolution.test.tslauncher/main.tslauncher/config.tssrc/main.tspackage.jsonbacklog/tasks/task-70 - Unify-config-path-resolution-across-main-and-launcher.mdbacklog/tasks/task-84 - Gate-feature-dependent-keybindings-behind-config-flags.mdsrc/config/service.tssrc/config/config.test.tssrc/core/services/startup.tssrc/core/services/app-ready.test.tssrc/main.tssrc/main/app-lifecycle.tsdocs/plans/2026-02-19-task-38-config-validation-startup.mddocs/plans/2026-02-19-task-69-legacy-config-migration-hardening.mddocs/configuration.mdsrc/types.tssrc/config/definitions.tssrc/anki-integration.tsconfig.example.jsoncdocs/public/config.example.jsoncdocs/anki-integration.mddocs/mining-workflow.mdbacklog/tasks/task-83 - Simplify-isLapis-sentence-card-field-config-to-fixed-field-names.mdbacklog/tasks/task-38 - Add-user-friendly-config-validation-errors-on-startup.md
Assumptions
- AGENT_ID/AGENT_ALIAS env vars are unset; using stable fallback
codex-main/planner-execfor this run.
Open Questions / Blockers
- none
Next Step
- Await user review; optional next step is commit for TASK-70 changes.