Files
makelore/.project-docs/30-worklog/tasks/20260826-recover-pi-updater-integration-8f3a6c21.md
T
brother7 f245603923
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled
docs: complete recovered integration task
2026-08-26 17:07:05 +08:00

4.5 KiB

Task: Recover Pi integration and merge updater fix

Identity

  • Task ID: 20260826-recover-pi-updater-integration-8f3a6c21
  • Mode: Integration
  • Branch: main
  • Worktree: D:\Datas\OthersProjects\makelore
  • Base commit: 48a9189939
  • Owner: codex
  • Status: Completed

Scope

  • Recover the abandoned Pi integration documentation already present in the main worktree and validate it against the completed Pi source-task records.
  • Integrate the updater downgrade-prevention change from source commit 2e61800fed793b63b3b7804a03a4c7d8617e23d7 into main.
  • Verify the focused updater behavior, type safety, lint, and production Vite build before handing back the integrated branch.
  • Preserve unrelated untracked task records byte-for-byte and outside this task's commits.

Intent And Constraints

  • User explicitly authorized force-releasing and taking over the abandoned Pi integration task.
  • Treat completed source task records as read-only evidence; promote only the canonical Pi documentation that is supported by those records.
  • Keep unverified Pi release gaps explicit: real Provider execution, macOS x64/arm64 packaged artifacts, and native non-WSL Linux remain unverified.
  • Apply only the two updater source/test changes from the verified feature commit so the feature task record remains source-owned.
  • Do not modify, delete, or commit 20260819-package-learning-off-115-9c4d.md or the superseded Pi integration task record without separate authority. After the user granted that authority, move both files byte-for-byte to a repository-external recovery directory.

Plan

  1. Validate the pending Pi canonical documentation against source-task facts and current product boundaries.
  2. Apply the verified updater downgrade guard and its focused regression tests.
  3. Run focused tests, typecheck, scoped lint, and build:vite; inspect the final diff and commit the integrated result on main.
  4. Run the Task Documentation Gate, release ownership, and report any remaining foreign-record blocker without weakening or bypassing the gate.

Outcome

  • Recovered and semantically reviewed the pending Pi canonical documentation against the completed hard-cutover, provider, release-proof, legacy-removal, and background-run source tasks.
  • Integrated the exact updater source/test change from 2e61800fed793b63b3b7804a03a4c7d8617e23d7 into main without copying or editing its source-owned task record.
  • Automatic update channel selection and later channel changes now explicitly restore autoUpdater.allowDowngrade = false, preventing installed 2.0.0 from treating online 1.1.9 as an available update.
  • Preserved both unrelated/unregistered task records byte-for-byte and moved them to D:\Datas\OthersProjects\makelore-task-record-recovery-8f3a6c21, outside the repository and the integration commits.

Verification

  • Exact source parity: git diff --exit-code 2e61800 -- electron/main/updater.ts tests/unit/app-updater.test.ts passed before task-record finalization.
  • pnpm exec vitest run tests/unit/app-updater.test.ts: passed, 1 file / 15 tests.
  • pnpm run typecheck: passed.
  • pnpm exec eslint electron/main/updater.ts tests/unit/app-updater.test.ts: passed.
  • pnpm test: passed, 181 regular files / 1543 tests passed / 2 skipped, followed by the pressure file with 1/1 passed.
  • pnpm run build:vite: passed for Renderer, Electron Main, Preload, and the release utility worker; existing dynamic-import and large-chunk warnings remain warnings only.
  • git diff --check: passed.
  • check_doc_drift.py --task-id 20260826-recover-pi-updater-integration-8f3a6c21: passed after the user-authorized recovery move; all project-document changes satisfy integration ownership boundaries.

Follow-ups

  • The two recovered task records remain available outside the repository at D:\Datas\OthersProjects\makelore-task-record-recovery-8f3a6c21; restore them only if a future task establishes the correct owner and destination.
  • Real Provider execution, packaged macOS x64/arm64 artifacts, and native non-WSL Linux artifacts remain explicitly unverified Pi release gates.

Promotion Candidates

  • Applied the already-supported Pi hard-cutover facts to the canonical success criteria, decision index/ADR, architecture, current state, business rules, evidence index, and commitments.
  • No additional updater promotion candidate: the updater behavior is captured by focused tests and does not change an architectural boundary.