docs: record final PI release proof evidence

This commit is contained in:
2026-08-24 16:12:16 +08:00
parent df1151b5eb
commit dc166a18cb

View File

@@ -8,7 +8,7 @@
- Worktree: D:\Datas\OthersProjects\makelore-pi-release-proof-3e725ac7 - Worktree: D:\Datas\OthersProjects\makelore-pi-release-proof-3e725ac7
- Base commit: 977445ba450f4ad32b6e6db2caf048517513ab39 - Base commit: 977445ba450f4ad32b6e6db2caf048517513ab39
- Owner: codex-root - Owner: codex-root
- Status: In Progress (planner Spec review fixes required) - Status: Ready for Planner Re-review (platform release blockers remain)
## Scope ## Scope
@@ -67,97 +67,111 @@
## Outcome ## Outcome
- Candidate `a795e0c970e6c9fac5609bea5ceda2517bf3ca48` contains the - Code candidate `df1151b5eb8588f126ccbee98cb7bf0b46285659` fixes every
final-product Pi artifact verifier, packaged Pi/provider-shaped smoke, Spec implementation defect from the planner's first Spec review. The packaged
17.3 performance runner, expanded Electron E2E, release runbook, synchronized extension/subagent proof now executes Main and runtime code from final
README, Linux package metadata fix, and Linux compatibility-executable fix. `app.asar`/`resources/pi-runtime`; cold and warm prompt samples are distinct
- Windows x64 and Linux x64 final unpacked products passed Pi `0.84.2` and include resources-ready, worker-spawn, RPC-ready, session-open,
production-closure, resource, lifecycle, controlled provider-shaped, prompt-accepted, and agent-settled milestones; one packaged run holds four
extension/subagent, concurrency/isolation, and performance qualification. parent workers plus four child workers while exercising the real UI and then
Windows NSIS and Linux x64 AppImage/deb distributables were produced. proves process/permit/dispatch/lease cleanup; the verifier enumerates ASAR
- Product-owned OpenCode resource paths and development-machine path residue are internals; and a Linux x64 RPM is generated and inspected.
empty. OpenCode-named files retained under the exact pinned upstream - Windows x64 and WSL2 Linux x64 final products passed Pi `0.84.2`
`@earendil-works/pi-ai/dist/providers` closure are reported separately because production-closure, packaged composition, lifecycle, controlled
Pi statically imports them; deleting them would corrupt the pinned runtime. provider-shaped, extension/subagent, 4+4 pressure/isolation, cleanup, and
- The implementation is ready for PI-160 integration, but PI-150 remains blocked performance qualification. Windows NSIS and Linux AppImage/deb/RPM
from `Done` and the product is not cross-platform release-ready because macOS distributables were produced.
x64/arm64 validation was explicitly skipped. QG-004/QG-005 also remain - Full ASAR enumeration found zero product-owned OpenCode paths. Exact matches
`Explicitly Waived / Accepted Risk`, with `realTurnVerified=false`. under the pinned upstream `@earendil-works/pi-ai/dist/providers/opencode*`
closure remain classified separately because Pi imports them; they are not
Makelore-owned runtime residue.
- The five requested fixes are ready for planner re-review, but PI-150 remains
blocked from `Done`, PI-160 must not start, and the product is not
cross-platform release-ready: macOS x64/arm64 was explicitly skipped and no
independent native non-WSL Linux desktop/compositor acceptance run exists.
QG-004/QG-005 remain `Explicitly Waived / Accepted Risk`, with
`realTurnVerified=false`.
## Verification ## Verification
- Exact pnpm `10.33.4` frozen install passed on Windows (997 packages) and WSL2 - Exact pnpm `10.33.4` frozen install passed on Windows and WSL2 Ubuntu 24.04
Ubuntu 24.04 x64 (999 packages); lockfile remained unchanged. x64; the candidate stayed clean at `df1151b` and the lockfile change is limited
to the direct `@electron/asar@3.4.1` verifier dependency.
- Candidate-final Windows checks passed: `pnpm run typecheck`; `pnpm run - Candidate-final Windows checks passed: `pnpm run typecheck`; `pnpm run
lint:check` with 0 errors and five pre-existing warnings; `pnpm test` with 178 lint:check` with 0 errors and five pre-existing warnings; `pnpm test` with 178
files, 1504 passed and two skipped; `pnpm run test:e2e` with 24/24; production files, 1505 passed and two skipped; `pnpm run test:e2e` with 24/24; `pnpm run
Vite/Electron build passed as part of packaging and E2E. build:vite`; and the focused final-proof suite with 6 files/32 tests.
- `pnpm run package:win` passed. NSIS - Final Windows NSIS `release/Makelore-2.0.0-win-x64.exe` is 208,297,927 bytes
`Makelore-2.0.0-win-x64.exe` is 211,835,138 bytes with SHA-256 with SHA-256
`0DB9D811058595E91BED9FFE4FFF1E94D170FDAC411D1D54CD9F6856FCA60521`. `3DDCF48D28ABA914F427DC828428E4248A9751F8A449324F48060BA981E7B3D8`.
The existing packaged-runtime verifier passed for Electron `43.4.0`, Node The rebuilt `win-unpacked` artifact verifier enumerated 10,278 ASAR entries,
`24.18.1`, bundled Python/uv/npm, native modules, and Unicode copy behavior. found zero product-owned OpenCode path or development path residue, and passed
- Windows final-product Pi artifact verifier passed with five samples: 130 packaged Electron/Node/runtime/resource qualification. Structured evidence is
applicable production packages, six assets, four packaged Skills, no missing in ignored release reports `pi-artifact-win-followup.json`,
or relocated packages, no product-owned OpenCode paths, no development path `pi-product-proof-win-followup.json`, and `pi-smoke-win-followup.json`.
residue, cold/warm ready p95 `653/628 ms`, and exit p95 `20 ms`. - The Windows packaged product proof loaded Main through final `app.asar`, ran
- Windows packaged smoke passed all coverage flags for session, prompt, tool, cold/warm managed workers and the materialized extension/subagent bridge, held
abort, settle, reopen, two-worker overlap/isolation, provider abort isolation, 4 parent + 4 child workers as 8 live OS processes while the UI remained
subagent, and shutdown. Each of the four controlled protocol shapes issued interactive, and then reported zero active/waiting process-budget entries,
four image requests; real Provider verification remained false by waiver. child permits, dispatches, parents, PIDs, and write leases.
- Windows Spec 17.3 performance report passed all ten scenarios and all budgets - Windows formal five-sample performance evidence
at clean commit `a795e0c`: cold/warm RPC p95 `626/627 ms`, Composer p95 `6 `pi-performance-win-followup.json` passed every budget. Managed cold p95 was
ms`, Renderer first-commit p95 `33.8181 ms` (max `54.6524 ms`), exit p95 `20 resources `25 ms`, spawn `13 ms`, RPC `669 ms`, session `3 ms`, accepted `1
ms`, RSS p95 `126536 KiB`, and 100 runtime patch items transported in 20 ms`, settled `309 ms`; warm p95 was `8/13/674/8/0/270 ms`. Pressure UI p95
batches/21 SSE frames/20 Renderer transactions. was `176 ms`; Renderer first-commit p95 was `33.6402 ms` (max `48.8593 ms`).
- Linux x64 final product was built under WSL2 kernel - WSL2 Linux final product was rebuilt at the exact same clean commit. Final RPM
`6.6.87.2-microsoft-standard-WSL2`. AppImage SHA-256 is `release/Makelore-2.0.0-linux-x86_64.rpm` has SHA-256
`8b5a23de48670bd6edfac93ef74c5ebd58645c609ccd2a504d0d94ce04a18b06`; `c7d7eac673abed61d83af2fbd2cc33d81ffa3b2c1e449ad89ee8f118f7400c64`.
deb SHA-256 is RPM inspection reports Name `niancode`, Version `2.0.0`, Release `1`, Arch
`d6f5b08dec3ffc39c1944aeb38b1e8fa6fb7e1c6fcb72092c66d7c918a5590c5`. `x86_64`, and contains `/opt/Makelore/niancode`,
The Linux compatibility executable is intentionally `niancode`, preserving `/opt/Makelore/resources/app.asar`, and
the project identifier contract; the verifier default and unit test now match `/opt/Makelore/resources/pi-runtime/dist/cli.js`.
the actual electron-builder output. - Linux artifact verification enumerated 10,280 ASAR entries and found zero
- Linux final-product artifact verification and packaged smoke passed with five product-owned OpenCode path. WSLg launched the final packaged product from
samples and the same coverage/waiver contract. The 131-package/six-asset `app.asar`; extension/subagent, live 4+4/8-PID pressure, UI interaction, and
closure had no missing/relocated package, no product-owned OpenCode path, and zero-resource cleanup all passed. Evidence is in
no development path residue. Cold/warm ready p95 was `447/445 ms` in artifact `pi-artifact-linux-rpm-followup.json`,
verification and `467/463 ms` in smoke. `pi-product-proof-linux-rpm-followup.json`, and
- Linux Spec 17.3 performance report passed all ten scenarios and all budgets at `pi-smoke-linux-rpm-followup.json` in the Linux checkout's ignored
clean commit `a795e0c`: cold/warm RPC p95 `452/474 ms`, Composer p95 `5 ms`, `release/evidence` directory.
Renderer first-commit p95 `27.5318 ms`, exit p95 `8 ms`, and RSS p95 `169668 - Linux formal five-sample report `pi-performance-linux-rpm-followup.json`
KiB`. This is WSL2 final-product/CLI/Electron-probe evidence, not an passed every budget. Managed cold p95 was resources `14 ms`, spawn `6 ms`,
independent Linux desktop-compositor GUI acceptance run. RPC `456 ms`, session `2 ms`, accepted `1 ms`, settled `284 ms`; warm p95 was
- The aggregate `package:linux` command initially hit transient GitHub EOFs; `4/4/465/1/1/256 ms`. Pressure UI p95 was `99 ms`; Renderer first-commit p95
retry produced x64 AppImage/deb. Its rpm sub-target did not complete because was `27.897758 ms` (max `42.186106 ms`); exit p95 was `7 ms`.
the isolated Ubuntu environment lacked `rpmbuild`; an attempt to install the - Linux results are WSL2/WSLg final-product evidence, not an independent native
standard `rpm` package was stopped after the Ubuntu mirror stalled. No x64 rpm non-WSL Linux desktop/compositor/distribution acceptance run. Controlled
artifact is claimed. This does not invalidate the qualified unpacked product, provider-shaped smoke issued six requests per protocol (distinct cold, warm,
AppImage, or deb, but a later RPM release must run on a prepared Linux builder. and abort-isolation paths); real Provider verification remains false by the
explicit waiver.
## Follow-ups ## Follow-ups
- Planner review of `977445b..a795e0c` returned `Standards Pass / Spec Needs - Request planner re-review of `c7e7772..df1151b`. The five prior findings now
Fix` and requires direct final-ASAR composition smoke, distinct cold/warm have direct final-product implementation and structured Windows/Linux
prompt milestones, live 4-parent/4-child UI pressure plus cleanup proof, ASAR evidence; no source-only unit-test result is used as their release proof.
path enumeration for OpenCode residue, and the declared Linux x64 RPM target. - Do not start PI-160 or integrate `df1151b` while PI-150 remains blocked by the
- PI-160 should integrate candidate `a795e0c` and this task record, then perform accepted platform evidence boundary. If the planner accepts the five fixes,
canonical project-memory reconciliation in an integration-owned worktree. keep PI-150 as the active frontier until the missing platform decision or
evidence is resolved.
- Keep missing macOS x64/arm64 artifact/runtime/resource/performance evidence as - Keep missing macOS x64/arm64 artifact/runtime/resource/performance evidence as
a release blocker; do not promote a cross-platform release-ready or PI-150 a release blocker; do not promote a cross-platform release-ready or PI-150
`Done` conclusion without independent macOS execution. `Done` conclusion without independent macOS execution.
- If RPM distribution is required, rerun the x64 rpm target on a Linux builder - Keep the lack of an independent native non-WSL Linux
with `rpmbuild` installed; do not infer rpm validity from AppImage/deb. desktop/compositor/distribution run explicit. The WSL2/WSLg run qualifies the
generated Linux artifacts and final process seam but does not erase that
environment boundary.
- Real Provider Account and real-provider concurrency/credential/protocol - Real Provider Account and real-provider concurrency/credential/protocol
compatibility remain accepted risk unless the user explicitly revokes the compatibility remain accepted risk unless the user explicitly revokes the
waiver and supplies provider access. waiver and supplies provider access.
## Promotion Candidates ## Promotion Candidates
- PI-160 should promote the current Pi runtime/Conversation state from README - After PI-150 is actually unblocked, PI-160 may promote the current Pi
and `docs/pi-runtime-release-runbook.md` into canonical project memory after runtime/Conversation state from README and
`docs/pi-runtime-release-runbook.md` into canonical project memory during
integration review. integration review.
- PI-160 should record QG-004/QG-005 as `Explicitly Waived / Accepted Risk`, - PI-160 must record QG-004/QG-005 as `Explicitly Waived / Accepted Risk`, with
with `realTurnVerified=false`; this is not a Pass. `realTurnVerified=false`; this is not a Pass.
- PI-160 must preserve the macOS x64/arm64 missing-evidence blocker unless a - PI-160 must preserve any unresolved macOS x64/arm64 or native Linux
later task supplies independent final-product evidence. missing-evidence blocker; this candidate does not authorize overriding it.