[PR #3263] [CLOSED] test(process): cover cancellation during obstructed root lookup #5682

Closed
opened 2026-10-31 01:08:36 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3263
Author: @xu91102
Created: 10/14/2026
Status: ❌ Closed

Base: main ← Head: codex/process-snapshot-absent-descendants


📝 Commits (7)

  • 1622ece fix(process): retain absent roots after ancestor replacement
  • 4e7b805 test(process): cover cancellation during obstructed root lookup
  • bf3fead fix(ci): include GitHub action sources in lint cache inputs
  • 54b47f3 chore(ci): adopt upstream static cache input ownership
  • 4356202 test(process): retain cancelled obstructed-root regression
  • 7853cdc chore(process): reverse incidental merge hook changes
  • d1cd67d test(process): preserve exact caller cancellation during lookup

📊 Changes

1 file changed (+47 additions, -1 deletions)

View changed files

📝 src/process/capture/FilesystemSnapshot.test.ts (+47 -1)

📄 Description

Summary

Fixes #3238.

Main already adopted the filesystem-obstruction fix and public lifecycle regression in e67c3642c8920a2a9c0e231ee2f16f50b245df31, retaining contributor coauthor credit. This PR keeps the distinct cancellation regression: after observing a selected file, its parent becomes a regular file and cancellation arrives during the awaited final lookup.

The conflict with current main is confined to FilesystemSnapshot.test.ts. The normal merge includes 833136507dd79d959340b09862a53af344e4f1b3, preserves main's typed read/hash cancellation test and resource owner, and adapts this regression to its existing ProcessCaptureSnapshotFailure. It checks the exact explicit caller reason object, cancelled category, partial/truncated snapshot and empty cleanup leases/read failures. Production code, schemas, docs and dependencies match the included main.

Validation

Final head: d1cd67dd128328109df32b933d4d69a17651ba8b; integration merge435620217 has parents previous PR head54b and captured main833; final head retains the complete normal merge/revert/reapply history. No historical CI result is transferred to the new head.

  • Focused selection:11 distinct files,84PASS/4 Windows-only conditional skips. The changed snapshot file was rerun after the explicit-reason adjustment; its final result replaces its earlier overlapping result. Fresh README5 gives12 distinct files89PASS/4skip, across separate invocations.
  • npm run check:6 successful tasks/2 cached,0 errors/1795 warnings; module and architecture guards passed. Docs6 tasks/3 cached plus README5; test discovery1704 exactly once.
  • Actual installed package CLI/MCP verification passed:209 tools/6 prompts, exact-release update, awaited cleanup and verified process lineage. Explicit npm pack --dry-run --json passed. These package/runtime inputs are unchanged by the final test-only reason adjustment.
  • Real macOS owned Node-process CLI/MCP finalization, cancellation and retained-descriptor cleanup/retry are covered. Local Windows/Linux host runtime, hardware and performance were not run. Four Windows-only local tests remain skipped. The separate current-head GitHub Linux/x64 TShark lane passed108 tests/1 skip plus23 synthetic PCAP cases; sigrok passed73 tests plus21 VCD cases. They do not establish hardware acquisition or add to local89PASS.
  • Independent frozen Standards/Spec V2 review: both PASS, final4596 files and fivegitlinks match the reviewed inputs. Current-head CI39358239438 attempt1 completed successfully:34 jobs,17 successful/17 conditional skips. The complete3,017,561-byte log was read. All17 executed jobs first checked out4c168bfd, whose parents are current CI base5fa4defc and this final PR head. The old54b CI38580178010 attempt2 result remains historical.

The normal merge hook auto-fixed two unrelated upstream files. A normal revert restored upstream bytes and a normal single-file commit reapplied the reviewed test; no history rewrite or hook disable was used. The final diff against included main is one test only. A full check on restored inputs succeeded with all six cached tasks and the architecture guard; prior executed V2 checks remain separately recorded.

GitHub Portable20600PASS/170skip aggregates source and five shards; it is not another execution. The actual Windows capability/package lane passed518 tests/31skip, plus47 filesystem and58 native-boundary tests; the macOS Apple artifact lane passed263/4skip. Linux arm64/x64 and macOS arm64 package baselines also succeeded within their logged scope. The Linux build of bundled Windows controls is a cross-build, separate from actual Windows execution. Other17 conditional jobs remain unexecuted; no broader provider, hardware or performance claim.

The initial raw AbortError assertion failed against current main's typed failure and remains recorded. The first independent review also required an explicit caller abort reason; the final regression supplies and checks that same object. Old inaccessible Codex failure causes remain unknown; no unavailable finding is claimed resolved.

Author readiness

Human owner: @xu91102

The human owner explicitly confirmed reviewing the final code and validation evidence, understanding the risks and unverified scope, taking responsibility, and readiness for initial maintainer review.

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3263 **Author:** [@xu91102](https://github.com/xu91102) **Created:** 10/14/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/process-snapshot-absent-descendants` --- ### 📝 Commits (7) - [`1622ece`](https://github.com/morluto/rea/commit/1622ece9f3415db6caaf4493440df763a006a8c9) fix(process): retain absent roots after ancestor replacement - [`4e7b805`](https://github.com/morluto/rea/commit/4e7b805cca9360b5dfb7b208e10ef6b217b44bb3) test(process): cover cancellation during obstructed root lookup - [`bf3fead`](https://github.com/morluto/rea/commit/bf3fead109f5336ae52ea1bcb98c924167c93493) fix(ci): include GitHub action sources in lint cache inputs - [`54b47f3`](https://github.com/morluto/rea/commit/54b47f3e778f92e9dff1143e93c7635bbb69f9fe) chore(ci): adopt upstream static cache input ownership - [`4356202`](https://github.com/morluto/rea/commit/4356202170e2d524fdad15a74fe7b8eb70c32083) test(process): retain cancelled obstructed-root regression - [`7853cdc`](https://github.com/morluto/rea/commit/7853cdc69da7db2e9d6dcd4cd82fd75710bf50b2) chore(process): reverse incidental merge hook changes - [`d1cd67d`](https://github.com/morluto/rea/commit/d1cd67dd128328109df32b933d4d69a17651ba8b) test(process): preserve exact caller cancellation during lookup ### 📊 Changes **1 file changed** (+47 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/process/capture/FilesystemSnapshot.test.ts` (+47 -1) </details> ### 📄 Description ## Summary Fixes #3238. Main already adopted the filesystem-obstruction fix and public lifecycle regression in `e67c3642c8920a2a9c0e231ee2f16f50b245df31`, retaining contributor coauthor credit. This PR keeps the distinct cancellation regression: after observing a selected file, its parent becomes a regular file and cancellation arrives during the awaited final lookup. The conflict with current main is confined to `FilesystemSnapshot.test.ts`. The normal merge includes `833136507dd79d959340b09862a53af344e4f1b3`, preserves main's typed read/hash cancellation test and resource owner, and adapts this regression to its existing `ProcessCaptureSnapshotFailure`. It checks the exact explicit caller reason object, cancelled category, partial/truncated snapshot and empty cleanup leases/read failures. Production code, schemas, docs and dependencies match the included main. ## Validation Final head: `d1cd67dd128328109df32b933d4d69a17651ba8b`; integration merge435620217 has parents previous PR head54b and captured main833; final head retains the complete normal merge/revert/reapply history. No historical CI result is transferred to the new head. - Focused selection:11 distinct files,84PASS/4 Windows-only conditional skips. The changed snapshot file was rerun after the explicit-reason adjustment; its final result replaces its earlier overlapping result. Fresh README5 gives12 distinct files89PASS/4skip, across separate invocations. - `npm run check`:6 successful tasks/2 cached,0 errors/1795 warnings; module and architecture guards passed. Docs6 tasks/3 cached plus README5; test discovery1704 exactly once. - Actual installed package CLI/MCP verification passed:209 tools/6 prompts, exact-release update, awaited cleanup and verified process lineage. Explicit `npm pack --dry-run --json` passed. These package/runtime inputs are unchanged by the final test-only reason adjustment. - Real macOS owned Node-process CLI/MCP finalization, cancellation and retained-descriptor cleanup/retry are covered. Local Windows/Linux host runtime, hardware and performance were not run. Four Windows-only local tests remain skipped. The separate current-head GitHub Linux/x64 TShark lane passed108 tests/1 skip plus23 synthetic PCAP cases; sigrok passed73 tests plus21 VCD cases. They do not establish hardware acquisition or add to local89PASS. - Independent frozen Standards/Spec V2 review: both PASS, final4596 files and fivegitlinks match the reviewed inputs. Current-head [CI39358239438 attempt1](https://github.com/morluto/rea/actions/runs/39358239438/attempts/1) completed successfully:34 jobs,17 successful/17 conditional skips. The complete3,017,561-byte log was read. All17 executed jobs first checked out4c168bfd, whose parents are current CI base5fa4defc and this final PR head. The old54b CI38580178010 attempt2 result remains historical. The normal merge hook auto-fixed two unrelated upstream files. A normal revert restored upstream bytes and a normal single-file commit reapplied the reviewed test; no history rewrite or hook disable was used. The final diff against included main is one test only. A full check on restored inputs succeeded with all six cached tasks and the architecture guard; prior executed V2 checks remain separately recorded. GitHub Portable20600PASS/170skip aggregates source and five shards; it is not another execution. The actual Windows capability/package lane passed518 tests/31skip, plus47 filesystem and58 native-boundary tests; the macOS Apple artifact lane passed263/4skip. Linux arm64/x64 and macOS arm64 package baselines also succeeded within their logged scope. The Linux build of bundled Windows controls is a cross-build, separate from actual Windows execution. Other17 conditional jobs remain unexecuted; no broader provider, hardware or performance claim. The initial raw AbortError assertion failed against current main's typed failure and remains recorded. The first independent review also required an explicit caller abort reason; the final regression supplies and checks that same object. Old inaccessible Codex failure causes remain unknown; no unavailable finding is claimed resolved. ## Author readiness Human owner: @xu91102 The human owner explicitly confirmed reviewing the final code and validation evidence, understanding the risks and unverified scope, taking responsibility, and readiness for initial maintainer review. - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge <!-- Draft PRs may leave pending items unchecked. Resolve material scope and authority questions before integration. --> - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [ ] The PR has one focused outcome and the title follows `type(scope): outcome`. - [ ] Related issue is linked, or the reason for not linking one is stated above. - [ ] Tests cover changed observable behavior and meaningful failure paths. - [ ] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:08:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5682
No description provided.