docs(project): record Pi resilience verification
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-pi-worker-exit-thinking-5e7c2a91
|
||||
- Base commit: 274187e3cfe2ae6cb97f2b4bcb422b3fdf06fbf2
|
||||
- Owner: codex-root
|
||||
- Status: In Progress
|
||||
- Status: Completed
|
||||
|
||||
## Scope
|
||||
|
||||
@@ -85,10 +85,9 @@
|
||||
task's base and identifies this executor task as `PI-R001`. Its
|
||||
`RES-INV-001..009`, `RES-ACC-001..016`, release blockers, Main-only privacy
|
||||
boundary, and final packaged fault-injection matrix are additional acceptance
|
||||
contracts for this implementation. The pure-document commit will be brought
|
||||
into the implementation branch before final delivery so planning and code
|
||||
share one history; it is deferred until the current red-test/code work is at
|
||||
a safe commit boundary.
|
||||
contracts for this implementation. It is present in this branch as the
|
||||
conflict-free cherry-pick `2b13454`, so planning and implementation share one
|
||||
history without rewriting either line of work.
|
||||
|
||||
## Plan
|
||||
|
||||
@@ -141,25 +140,60 @@
|
||||
settled-before-close, target recovery, sibling isolation, child/write-lease
|
||||
cleanup, explicit deliberate stop, redacted lifecycle evidence, and clean
|
||||
process exit.
|
||||
- Formal NSIS packaging and final packaged execution are still pending; no
|
||||
installer or real-Provider result is claimed at this checkpoint.
|
||||
- Concurrent packaged workers exposed a reachable Windows rename collision
|
||||
while materializing the same managed extension. Materialization is now
|
||||
single-flight per extensions directory; eight concurrent registrations share
|
||||
one atomic result without changing the extension contract.
|
||||
- Formal Windows `package:win` completed from the clean code candidate, including
|
||||
pinned Python/uv acquisition, Vite production build, Pi runtime bundling, and
|
||||
NSIS generation. The final product verifiers and the final-ASAR resilience
|
||||
proof pass. Real Provider verification is not claimed.
|
||||
|
||||
## Verification
|
||||
|
||||
- `corepack pnpm install --frozen-lockfile` — pass with pinned pnpm `10.33.4`.
|
||||
- Focused Pi/runtime/pool/RPC/extension/subagent/UI regressions — pass, latest
|
||||
combined run: 6 files / 60 tests.
|
||||
- Focused Pi/runtime/pool/RPC/extension/subagent/UI regressions — pass, including
|
||||
6 files / 60 tests for the lifecycle contract and 2 files / 9 tests after the
|
||||
extension materialization concurrency repair.
|
||||
- `corepack pnpm run typecheck` — pass.
|
||||
- `corepack pnpm run lint:check` — pass with 0 errors and 5 pre-existing
|
||||
warnings in unrelated `Home`/`Makelore` files.
|
||||
- `corepack pnpm test` — pass: 178 files / 1519 passed / 2 skipped, plus the
|
||||
- `corepack pnpm test` — pass: 178 files / 1520 passed / 2 skipped, plus the
|
||||
isolated pressure file 1/1 passed.
|
||||
- `corepack pnpm run build:vite` — pass for Renderer, Main, Preload, and utility
|
||||
bundles; existing dynamic-import and chunk-size warnings remain non-blocking.
|
||||
- `corepack pnpm run test:electron:windows` — pass: 2 files / 4 tests.
|
||||
- Formal `package:win`, artifact/runtime closure verifiers, final packaged
|
||||
resilience proof, installer byte size/SHA-256, and zero-residue evidence —
|
||||
pending the clean committed candidate.
|
||||
- `corepack pnpm run package:win` — pass from the clean `7aa9f79` product-code
|
||||
candidate. Two earlier attempts were blocked only by a transient GitHub uv
|
||||
0.10.0 download timeout; the final formal command downloaded both x64/arm64
|
||||
archives and completed without staging reuse.
|
||||
- `corepack pnpm run verify:artifact:win` — pass: final `app.asar`, Electron
|
||||
`43.4.0`, Node `24.18.1`, bundled Python/pip/sqlite/SSL, uv `0.10.0`, npm
|
||||
`11.6.2`, required native modules/assets, and NSIS validated. The pre-task-doc
|
||||
candidate installer was `211912226` bytes with SHA-256
|
||||
`54559D5ADEFAF84F3F124A535A811778E2A347E1B5247F43C0D5A31BBDFC6C0D`;
|
||||
the post-documentation clean-HEAD artifact metadata is reported in the final
|
||||
handoff rather than being recursively embedded into the artifact-producing
|
||||
commit.
|
||||
- `corepack pnpm run verify:artifact:pi` — pass: Pi `0.84.2`, final
|
||||
`resources/pi-runtime/dist/cli.js`, 130 production packages, 6 runtime assets,
|
||||
5 native assets outside asar, managed Skills, and materialized
|
||||
extension/subagent closure all present and executable.
|
||||
- `corepack pnpm run verify:publish-runtime` — pass with npm `11.6.2`.
|
||||
- `corepack pnpm run test:pi-subagent:packaged` — pass against the real final-ASAR
|
||||
Main composition. Target worker exit and strict protocol invalidation reached
|
||||
bounded recoverable terminal states; abort-after-exit did not restore
|
||||
`running`; settled-before-close stayed terminal; sibling Conversation kept
|
||||
running; recover reused the same binding and did not replay the uncertain
|
||||
prompt. Lifecycle classifications and all stop/replacement reasons were
|
||||
present and redacted, Renderer was unlocked with recovery available, all
|
||||
pool/subagent/extension/write-lease counters returned to zero, and no tracked
|
||||
Electron/Pi process lingered after exit. `realTurnVerified=false`.
|
||||
- The first final proof attempt selected the still-running isolation Conversation
|
||||
after reload, and the next locator matched both sidebar and header controls.
|
||||
The harness now selects the fault-target sidebar entry deterministically and
|
||||
emits Main/UI state on failure; no product assertion, timeout, or lifecycle
|
||||
contract was relaxed.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
|
||||
Reference in New Issue
Block a user