diff --git a/docs/subagents/INDEX.md b/docs/subagents/INDEX.md index 5aacb19..fa0c7a7 100644 --- a/docs/subagents/INDEX.md +++ b/docs/subagents/INDEX.md @@ -6,6 +6,7 @@ Read first. Keep concise. | ------------ | -------------- | ---------------------------------------------------- | --------- | ------------------------------------- | ---------------------- | | `codex-generate-minecard-image-20260220T112900Z-vsxr` | `codex-generate-minecard-image` | `Generate media fallbacks (GIF) from assets/minecard.webm and wire README/docs fallback markup` | `done` | `docs/subagents/agents/codex-generate-minecard-image-20260220T112900Z-vsxr.md` | `2026-02-20T11:35:30Z` | | `codex-main` | `planner-exec` | `Fix frequency/N+1 regression in plugin --start flow` | `in_progress` | `docs/subagents/agents/codex-main.md` | `2026-02-19T19:36:46Z` | +| `codex-task85-20260219T233711Z-46hc` | `codex-task85` | `Resume TASK-85 maintainability refactor from latest handoff point` | `in_progress` | `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md` | `2026-02-20T09:41:54Z` | | `codex-config-validation-20260219T172015Z-iiyf` | `codex-config-validation` | `Find root cause of config validation error for ~/.config/SubMiner/config.jsonc` | `completed` | `docs/subagents/agents/codex-config-validation-20260219T172015Z-iiyf.md` | `2026-02-19T17:26:17Z` | | `codex-task85-20260219T233711Z-46hc` | `codex-task85` | `Resume TASK-85 maintainability refactor from latest handoff point` | `in_progress` | `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md` | `2026-02-20T02:56:34Z` | | `codex-anilist-deeplink-20260219T233926Z` | `anilist-deeplink` | `Fix external subminer:// AniList callback handling from browser` | `done` | `docs/subagents/agents/codex-anilist-deeplink-20260219T233926Z.md` | `2026-02-19T23:59:21Z` | diff --git a/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md b/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md index 31b5c69..0236407 100644 --- a/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md +++ b/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md @@ -9,6 +9,9 @@ ## Current Work (newest first) +- [2026-02-20T09:41:54Z] progress: completed another 5-block safe normalization in `src/main.ts` by prebuilding finalized deps objects for `notifyAnilistSetup`, `consumeAnilistSetupTokenFromUrl`, `handleAnilistSetupProtocolUrl`, `registerSubminerProtocolClient`, and `refreshAnilistClientSecretState`. +- [2026-02-20T09:41:54Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted AniList suites pass: `anilist-setup-protocol-main-deps`, `anilist-setup-protocol`, `anilist-token-refresh-main-deps`, `anilist-token-refresh` (13/13). +- [2026-02-20T09:41:54Z] scope: staged-only checkpoint planned for `src/main.ts` + subagent bookkeeping files; excluding unrelated `vendor/texthooker-ui` and other agent/backlog artifacts. - [2026-02-20T08:34:16Z] progress: extracted field-grouping resolver deps assembly into `src/main/runtime/field-grouping-resolver-main-deps.ts` and rewired `getFieldGroupingResolver`/`setFieldGroupingResolver` handler construction in `src/main.ts`. - [2026-02-20T08:34:16Z] progress: extracted Yomitan extension loader deps assembly into `src/main/runtime/yomitan-extension-loader-main-deps.ts` and rewired `loadYomitanExtension`/`ensureYomitanExtensionLoaded` handler construction in `src/main.ts`. - [2026-02-20T08:34:16Z] progress: added parity tests in `src/main/runtime/field-grouping-resolver-main-deps.test.ts` and `src/main/runtime/yomitan-extension-loader-main-deps.test.ts`; `src/main.ts` now 2993 LOC. diff --git a/src/main.ts b/src/main.ts index 7544bef..440465f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1467,8 +1467,9 @@ const buildNotifyAnilistSetupMainDepsHandler = createBuildNotifyAnilistSetupMain showDesktopNotification: (title, options) => showDesktopNotification(title, options), logInfo: (message) => logger.info(message), }); +const notifyAnilistSetupMainDeps = buildNotifyAnilistSetupMainDepsHandler(); const notifyAnilistSetup = createNotifyAnilistSetupHandler( - buildNotifyAnilistSetupMainDepsHandler(), + notifyAnilistSetupMainDeps, ); const buildConsumeAnilistSetupTokenFromUrlMainDepsHandler = @@ -1499,8 +1500,10 @@ const buildConsumeAnilistSetupTokenFromUrlMainDepsHandler = } }, }); +const consumeAnilistSetupTokenFromUrlMainDeps = + buildConsumeAnilistSetupTokenFromUrlMainDepsHandler(); const consumeAnilistSetupTokenFromUrl = createConsumeAnilistSetupTokenFromUrlHandler( - buildConsumeAnilistSetupTokenFromUrlMainDepsHandler(), + consumeAnilistSetupTokenFromUrlMainDeps, ); const buildHandleAnilistSetupProtocolUrlMainDepsHandler = @@ -1508,8 +1511,10 @@ const buildHandleAnilistSetupProtocolUrlMainDepsHandler = consumeAnilistSetupTokenFromUrl: (rawUrl) => consumeAnilistSetupTokenFromUrl(rawUrl), logWarn: (message, details) => logger.warn(message, details), }); +const handleAnilistSetupProtocolUrlMainDeps = + buildHandleAnilistSetupProtocolUrlMainDepsHandler(); const handleAnilistSetupProtocolUrl = createHandleAnilistSetupProtocolUrlHandler( - buildHandleAnilistSetupProtocolUrlMainDepsHandler(), + handleAnilistSetupProtocolUrlMainDeps, ); const buildRegisterSubminerProtocolClientMainDepsHandler = @@ -1524,8 +1529,10 @@ const buildRegisterSubminerProtocolClientMainDepsHandler = : app.setAsDefaultProtocolClient(scheme), logWarn: (message, details) => logger.warn(message, details), }); +const registerSubminerProtocolClientMainDeps = + buildRegisterSubminerProtocolClientMainDepsHandler(); const registerSubminerProtocolClient = createRegisterSubminerProtocolClientHandler( - buildRegisterSubminerProtocolClientMainDepsHandler(), + registerSubminerProtocolClientMainDeps, ); const maybeFocusExistingAnilistSetupWindow = createMaybeFocusExistingAnilistSetupWindowHandler({ @@ -1666,8 +1673,10 @@ const buildRefreshAnilistClientSecretStateMainDepsHandler = }, now: () => Date.now(), }); +const refreshAnilistClientSecretStateMainDeps = + buildRefreshAnilistClientSecretStateMainDepsHandler(); const refreshAnilistClientSecretState = createRefreshAnilistClientSecretStateHandler( - buildRefreshAnilistClientSecretStateMainDepsHandler(), + refreshAnilistClientSecretStateMainDeps, ); const buildGetCurrentAnilistMediaKeyMainDepsHandler =