7.3 KiB
7.3 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.
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.