Files
makelore/.project-docs/30-worklog/tasks/20260820-learning-project-client-4f91c2a8.md

3.2 KiB

Task: Integrate Makelore Learning project catalog client

Identity

  • Task ID: 20260820-learning-project-client-4f91c2a8
  • Mode: Feature
  • Branch: codex/20260820-learning-project-client-4f91c2a8-learning-project-client
  • Worktree: D:\Datas\OthersProjects\makelore-learning-project-client-4f91c2a8
  • Base commit: 31a628e2d1
  • Owner: codex
  • Status: Ready for integration

Scope

  • Verify the integrated Makelore Learning project catalog against the implemented Works Square contract.
  • Adjust only client contract or integration code that proves incompatible with the server implementation.
  • Run focused Learning tests, typecheck, lint, and the production compile in proportion to any client changes.

Intent And Constraints

  • Preserve the accepted Renderer -> Host API -> Electron Main -> Works Square trust boundary.
  • Preserve login and module_access.learning entry gating while relying on independent server authorization.
  • Do not restore course generation, progress, local course library, OpenMAIC playback, Agent, ASR, runtime, or compatibility reads.
  • Renderer must not receive Works credentials, object-storage identifiers, arbitrary download URLs, or local filesystem paths.
  • Treat the current integrated client as authoritative unless server contract tests expose a concrete mismatch.

Outcome

  • Verified that Makelore main already contains the accepted Learning project catalog implementation through merge commit d967b0f and the later documentation integration through 31a628e.
  • Confirmed the Renderer -> Host API -> Electron Main -> Works Square chain uses only the four new project endpoints and the { success, data } camel-case response contract.
  • Confirmed the detail page renders server-provided Markdown with controlled authenticated media URLs, raw HTML disabled, and no direct remote image or credential access from Renderer.
  • Confirmed downloads remain Main-owned and validate content length, SHA-256, ZIP signature, and safe destination handling before reporting success.
  • No client source adjustment was required because the implemented Works Square API matches the already integrated client contract exactly.

Verification

  • corepack pnpm install --frozen-lockfile — passed with the pinned pnpm@10.33.4.
  • corepack pnpm run typecheck — passed.
  • corepack pnpm run lint:check — passed with 0 errors and 6 pre-existing warnings outside the Learning implementation.
  • corepack pnpm test -- tests/unit/learning-route.test.ts tests/unit/learning-project-download.test.ts tests/unit/learning-page.test.tsx tests/unit/learning-client.test.ts tests/unit/learning-sidebar.test.tsx — the repository test script ran the complete suite; 175 files and 2057 tests passed.
  • corepack pnpm run build:vite — passed for Renderer, Electron Main, Preload, and utility worker bundles; only existing chunk-size/dynamic-import warnings were reported.
  • git diff --check — passed.

Follow-ups

  • None. The server deployment must run its new Alembic migration before this already integrated client is pointed at the updated backend.

Promotion Candidates

  • None. The client catalog architecture and current-state documentation were already promoted by the completed integration ending at 31a628e.