# Task: Integrate Learning module removal ## Identity - Task ID: 20260904-integrate-remove-learning-6e4a9c21 - Mode: Integration - Branch: main - Worktree: /Users/inmanx/Documents/makelore - Base commit: bdc290c2cffee6eebbc1b1a6826edad3f830572a - Owner: codex - Status: Ready for Integration ## Scope - Integrate source task `20260903-remove-learning-7a91` at commit `5a7cb9b2085848631bdf7de45fe1cac74b905ed9` onto the latest local `main`. - Preserve later `main` work, especially the conversation-first AI Design changes, while removing the Learning module from Renderer, Main, tests, assets, packaging, and docs. - Promote the accepted three-module product boundary into canonical project memory and supersede the Learning-specific decision and release commitments. - Verify the merged product on the latest `main`, then start the desktop development app. ## Intent And Constraints - The user explicitly confirmed on 2026-09-04 that Learning should remain removed; this is the human decision required to supersede ADR-005. - Keep Code, Canvas, Robot, authentication, updater, Plugins, packaging, and `/deliverables` behavior intact. - Do not inspect, migrate, or delete historical course data. - Preserve the literal `makelore-learning:v1` compatibility salt where it partitions shared account state; its name is not an active Learning product surface. - Do not restore a Learning fallback route. Stale Learning URLs should resolve through the normal module chooser behavior. - Source task records are read-only during integration. ## Project Context Loaded - Concurrent Task Gate passed in Integration mode on the root `main`; this task held the exclusive integration lock and the completed source task remained isolated. - Planning Gate passed after reading the source record, integrated current state, ADR-005, decision index, architecture, domain rules, success criteria, commitments, and stale registry. - The user's explicit 2026-09-04 confirmation resolves the semantic conflict with accepted ADR-005 and authorizes the three-module canonical product state. - `project-positioning.md` remains a project-wide placeholder; the populated README, AGENTS guidance, decisions, architecture, domain, and current-state records provide the concrete product boundary for this integration. ## Outcome - Cherry-picked source `5a7cb9b2085848631bdf7de45fe1cac74b905ed9` onto the latest local `main` as `bd0873f34823754760368d8d37703c74bf65106d`. - Resolved README and Plugin Marketplace E2E conflicts by preserving the newer unified Plugin workspace and AI Design behavior while removing Learning policy data. - Makelore now exposes only Code, Canvas, and Robot across module selection, guarded routing, sidebar projection, auth state, desktop lifecycle, Host API dispatch, and build output. - Promoted the accepted three-module boundary into canonical decisions, architecture, domain rules, success criteria, glossary, current state, and commitments. ADR-005 and the Learning deployment commitment are superseded. - Learning implementation files, routes, DTOs, assets, tests, and server contract stay deleted. Negative retirement tests and the frozen `makelore-learning:v1` shared account-partition salt are the only intentional implementation references. - Historical course data was neither inspected nor changed. ## Verification - `corepack pnpm install --frozen-lockfile` passed with pnpm `10.33.4`. - `corepack pnpm run typecheck` passed. - Focused Vitest passed 8 files / 109 tests covering module access/navigation, App/provider gates, auth route/store, lifecycle, Main layout, and Host dispatch. - `corepack pnpm run lint:check` completed with 0 errors and 12 existing warnings: 5 in current unchanged UI files and 7 under the historical `.worktrees/learning-player-release-fix` tree. - `corepack pnpm run build:vite` passed for Renderer, Main, Preload, and release utility. The output contains Code, Canvas, and Robot module assets and no Learning-named asset or chunk. - `corepack pnpm test` passed 220 files / 1,844 tests with 3 skips; the isolated pressure suite passed 1/1. - Targeted Electron E2E passed 8/8 across module navigation, retired Learning route, unified Plugins, and the latest Canvas flow. - Full Electron E2E passed 33/33 with 1 Windows-conditional skip. - Source/reference audit found no active Learning file, import, route registration, API constant, product copy, or build artifact. `git diff --check` passed. - Project-doc completeness and task-aware Integration Gate drift checks passed after confirming the source task record remained byte-identical in its source branch. ## Follow-ups - The existing real-account module-access release commitment now covers Code, Canvas, and Robot only. No Learning service deployment or package acceptance remains. - No remote push, packaged-client install, production deployment, or publication was performed by this integration. ## Promotion Candidates - Applied all source promotion candidates to canonical decisions, architecture, domain rules, success criteria, glossary, current state, and commitments. No unresolved Learning promotion candidate remains.