7.9 KiB
7.9 KiB
Task: Implement PI-150 packaging, E2E, and performance proof
Identity
- Task ID: 20260824-pi-release-proof-3e725ac7
- Mode: Feature
- Branch: codex/20260824-pi-release-proof-3e725ac7-pi-release-proof
- Worktree: D:\Datas\OthersProjects\makelore-pi-release-proof-3e725ac7
- Base commit:
977445ba45 - Owner: codex-root
- Status: In Progress
Scope
- Implement and verify
PI-150 — Packaging, E2E, and performance release prooffrom cumulative PI-140 delivery base977445b. - Own final Pi production-closure staging, electron-builder wiring, artifact verification, actual packaged Pi/provider-shaped smoke, Coding Electron E2E, performance evidence, release note/runbook draft, and README current-state updates.
- Produce Windows x64 and Linux x64 final-product artifact evidence available
from this host. Keep canonical
.project-docsupdates for PI-160 Integration Gate; this feature record contains the task-scoped evidence and promotion candidates.
Intent And Constraints
- Preserve Main-owned runtime/provider/credential boundaries, the exact pinned Pi package and pnpm versions, Makelore app identity, project-scoped state, and the single light product system.
- Final artifact checks must prove Pi version/engine/entry/resources/production
closure/
get_state, extension and skill presence, no OpenCode production residue, and no development-machine absolute path. smoke:pi:realmeans the actual Pi process seam from the final artifact using controlled loopback/provider-shaped endpoints. Real external Provider Accounts and real-provider two-worker turns are explicitly waived accepted risks, never Pass; every substitute report retainsrealTurnVerified=false.- The user explicitly skipped macOS validation. Do not manufacture or reuse static/cross-platform evidence for macOS x64 or arm64. Their missing final artifact, closure/native/resource, loopback, and performance evidence remains an explicit release blocker, so this task cannot claim cross-platform release-ready or PI-150 Done.
- The canonical project memory at this base is stale and still describes OpenCode. Treat the planner-owned PI Spec/ticket and current source as the task authority; do not edit canonical memory in this feature worktree.
- The main worktree is occupied by an older integration task. Remain rooted in this isolated worktree and do not inspect or modify peer uncommitted files.
Plan
- Audit the cumulative PI-140 tree against every PI-150 packaging, smoke, E2E, performance, release-note, and README requirement; reuse only verified existing seams and identify concrete missing behavior.
- Implement focused missing harnesses/wiring/tests with behavior-level regression coverage, then run typecheck and relevant unit tests.
- Run the full pinned validation set and build the Windows x64 final product artifact; run its verifier, actual packaged Pi/provider-shaped smoke, and required performance scenarios with structured statistics.
- Use WSL2 only if available to perform a frozen Linux x64 install, final product build, verifier/smoke, and performance run; label any environment or artifact limitation precisely.
- Record reproducible commands/results, accepted Provider risk, skipped macOS release blocker, release note/runbook, README delta, and PI-160 promotion candidates; complete the Task Documentation Gate without overstating release readiness.
Outcome
- Implementation is complete enough for final-product qualification: the tree now contains a final-product Pi artifact verifier, packaged Pi/provider-shaped smoke, Spec 17.3 performance runner, expanded Electron E2E, release runbook, and synchronized README current-state language.
- Final artifact execution and cross-platform evidence are still in progress.
PI-150 remains blocked from
Doneby the explicitly skipped macOS x64/arm64 validation, regardless of Windows/Linux results.
Verification
pnpm install --frozen-lockfilewith pnpm10.33.4: passed; 997 packages, lockfile unchanged.- Focused Pi verifier/performance/docs/runtime tests: 6 files passed, 14 tests passed, 2 skipped.
pnpm run typecheck: passed after implementation and release-doc updates.- Scoped ESLint for every changed script/test: passed.
pnpm run build:vite: passed after the implementation changes.pnpm exec playwright test tests/e2e/pi-coding-first-chat.spec.ts --workers=1: passed, 2/2. The first run correctly exposed that complete tool cards require user expansion and that the fixture used invalid worker statusfailed; the final test follows the real expansion path and uses contract statuserror.pnpm run lint:check: passed with 0 errors and 5 pre-existing warnings.pnpm test: passed; 178 files, 1504 tests passed, 2 skipped.- Full Electron E2E after the production build: passed, 24/24. An earlier
attempt hit one Canvas hover timing failure, and the next attempt had a
Windows Playwright worker exit with code
3221226505; both isolated paths passed and the final uninterrupted full run passed. - Final-product artifact verification is pending.
- First Windows packaging on candidate
8820e82passed, and the existing Windows artifact verifier passed. The first invocation of the new Pi verifier exposed that pnpm10.33.4forwards the conventional--separator to the script; the parser is being corrected and the artifact will be rebuilt from the corrected commit before evidence is accepted. - The rebuilt
13efe84Windows artifact passed the existing verifier. The new verifier then found OpenCode-named files only inside the exact pinned@earendil-works/pi-ai/dist/providersproduction package. Pi statically imports those provider modules fromproviders/all.jsandmodels.generated.js; deleting them would corrupt the pinned closure. The verifier is being narrowed to reject product-owned/legacy OpenCode resource paths while reporting this upstream Pi package exception explicitly. - A one-sample verifier probe then showed the source filename
makelore-runtime-v3.mjsis not retained literally by the production bundle. The final verifier now checks four stable extension contract markers insideapp.asar; executable extension/subagent behavior remains owned bysmoke:pi:real. With both corrections applied, the final-product verifier probe passed against the existing unpacked Windows artifact, including exact Pi0.84.2, Node24.18.1, 130 expected production packages, six assets, four Skills, empty product-owned OpenCode paths, the explicit upstream Pi exception list, empty development-path residue, and actualget_state/ lifecycle execution. - WSL2 Ubuntu 24.04 independently cloned
0d03d00into its Linux filesystem, verified Node22.22.2, pnpm10.33.4, and passed frozen install with 999 packages. Pi staging passed for Linux x64 and arm64 (131 applicable packages, six assets each), and electron-builder producedlinux-unpackedplus the x64 AppImage. The fullpackage:linuxcommand then failed while building deb targets because package metadata lackedhomepage; this is a real release packaging blocker. The verified origin URL is being added as the minimal fpm metadata fix before rebuilding both Windows and Linux from one final commit.
Follow-ups
- Build and qualify Windows x64 and Linux x64 final product artifacts.
- Keep missing macOS x64/arm64 evidence as a release blocker; do not promote a cross-platform release-ready conclusion.
Promotion Candidates
- PI-160 should promote the current Pi runtime/Conversation state from README
and
docs/pi-runtime-release-runbook.mdinto canonical project memory after integration review. - PI-160 should record QG-004/QG-005 as
Explicitly Waived / Accepted Risk, withrealTurnVerified=false; this is not a Pass. - PI-160 must preserve the macOS x64/arm64 missing-evidence blocker unless a later task supplies independent final-product evidence.