feat(core): add Discord presence service and extract Jellyfin runtime composition

Introduce Discord presence runtime support and continue composition-root decomposition by moving Jellyfin wiring into dedicated composer modules. This keeps main runtime orchestration thinner while preserving behavior and test coverage across config, runtime, and docs updates.
This commit is contained in:
2026-02-22 14:53:10 -08:00
parent 43a8a37f5b
commit edfe6640ac
52 changed files with 2222 additions and 317 deletions

View File

@@ -0,0 +1,46 @@
# Agent: `codex-task104-launcher-config-20260222T194708Z-z9x1`
- alias: `codex-task104-launcher-config`
- mission: `Execute TASK-104 end-to-end with plan-first workflow and no commit`
- status: `done`
- branch: `main`
- started_at: `2026-02-22T19:47:08Z`
- heartbeat_minutes: `5`
## Current Work (newest first)
- [2026-02-22T19:47:08Z] intent: load backlog context, write execution plan with writing-plans skill, execute with executing-plans skill, and validate launcher test lanes.
- [2026-02-22T19:56:26Z] progress: extracted launcher config domain modules (`shared-config-reader`, `youtube-subgen-config`, `jellyfin-config`, `plugin-runtime-config`, `cli-parser-builder`, `args-normalizer`) and reduced `launcher/config.ts` to orchestration facade.
- [2026-02-22T19:56:26Z] test: `bun test launcher/config-domain-parsers.test.ts launcher/parse-args.test.ts`, `bun run test:launcher`, and `bun run test:fast` all passed.
- [2026-02-22T19:56:26Z] handoff: TASK-104 finalized Done in Backlog MCP with AC/DoD checks complete and final summary recorded.
## Files Touched
- `docs/subagents/agents/codex-task104-launcher-config-20260222T194708Z-z9x1.md`
- `docs/subagents/INDEX.md`
- `docs/subagents/collaboration.md`
- `docs/plans/2026-02-22-task-104-launcher-config-domain-parsers-cli-builder.md`
- `launcher/config.ts`
- `launcher/config/shared-config-reader.ts`
- `launcher/config/youtube-subgen-config.ts`
- `launcher/config/jellyfin-config.ts`
- `launcher/config/plugin-runtime-config.ts`
- `launcher/config/cli-parser-builder.ts`
- `launcher/config/args-normalizer.ts`
- `launcher/config-domain-parsers.test.ts`
- `launcher/parse-args.test.ts`
- `launcher/jellyfin.ts`
- `launcher/types.ts`
- `package.json`
## Assumptions
- Existing launcher CLI behavior can be preserved with modular extraction plus regression tests.
## Open Questions / Blockers
- none
## Next Step
- await user follow-up (optional: commit, docs wording update, or additional jellyfin session-source hardening).