[PR #1668] [MERGED] test(ci): stabilize JADX recovery and ignore generated reports #4736

Closed
opened 2026-10-31 00:54:32 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1668
Author: @Y0UW1SH
Created: 10/11/2026
Status: ✅ Merged
Merged: 10/11/2026
Merged by: @morluto

Base: main ← Head: fix/ci-jadx-cleanup-and-test-reports


📝 Commits (1)

  • 5226656 test(ci): stabilize JADX recovery and ignore generated reports

📊 Changes

2 files changed (+11 additions, -4 deletions)

View changed files

📝 .gitignore (+1 -0)
📝 tests/boundary/process/jadxIntegration.test.ts (+10 -4)

📄 Description

Summary

Stabilize the synthetic JADX cleanup-recovery test and keep generated Vitest blob reports out of source formatting.

These two CI fixes were verified during #1612 maintenance. That browser proposal remains closed following the maintainer's #1608 scope decision. The runtime catalog/deadline fixes are already proposed in #1363.

Problem and expected behavior

After the injected ownership-verification failure clears, the child can move between live and exited snapshots. A single immediate close can reject while the retained cleanup owner can still recover. Require verified cleanup within a bounded recovery window.

Vitest writes generated JSON into .vitest/blob/; source formatting should ignore those reports alongside existing coverage and report directories.

Change and scope

  • Retry provider.close() for at most five seconds only during the test's intentional recovery and final teardown. Preserve the initial shared failure, retained workspace, verified process/workspace removal, and single-launch assertions.
  • Add .vitest/ to .gitignore.

Exactly two files change: +11/-4. Head: 5226656a2f550c3a40503ab5cfdf03706fa1b371; branch parent: 7bb4ac219c16884fcadd946eed4015ace2a2419f; verified tree: 891b3e099bbf3a965fa601782538e9b6bca7e5e5.

Contract and boundary impact

  • Semantic owner and earliest changed stage: test recovery and generated-report eligibility.
  • CLI and MCP/tool-catalog contract: none.
  • Provider, bridge, target-format, or platform compatibility: none.
  • Evidence, artifact, provenance, or reconstruction contract: none.
  • Process execution, authorization, cleanup, or containment impact: production behavior unchanged; test recovery still requires verified ownership and removal.
  • Generated metadata, package, or installation impact: none; generated reports stay untracked.

Evidence and regression coverage

  • Updated the existing recovery test; neighboring retention and launch-blocking cases remain unchanged.
  • Fresh CI for this head passed all 31 jobs, including the required gate, all four test shards, and aggregate coverage: 7,242 tests passed, 89 skipped; line coverage 88.37% with the normal thresholds enabled.
  • The synthetic JADX integration suite passed 33/33 cases. CI tested virtual merge 8451051a4fd5f84e042e1bd655c92150abb7f3fe against upstream 79569349651b5089f04d466b955f5f1ac59a6a1d.
  • User-visible CLI/MCP output: not applicable.
  • Local host limitation: this container's incompatible ps prevents owned-process tests from launching; the fresh GitHub-hosted suite provides that verification. These JADX tests use the repository's synthetic MCP fixture, not a real JADX engine.

Validation performed

  • npm run check:ci — 8/8 tasks and architecture guards passed across 1,101 source files; duplication 2.45% under the unchanged 2.6% gate. A cold parallel run hit the container memory limit; isolated typechecking passed, then the normal command passed.
  • npm run build:cached — 3/3 tasks passed.
  • npm run docs:check — 6/6 tasks passed.
  • Source formatting passed with an actual generated Vitest blob report still present.
  • Commit hooks, git diff --check, and independent review of the final two-file diff passed.

Compatibility, safety, and release

  • Breaking changes or migration steps: none.
  • Fresh CI passed the real-browser lane and Linux x64/arm64, macOS x64/arm64, and Windows package lanes. This test-only change makes no new real JADX-engine verification claim.
  • Reviewed subsequent upstream changes through f88c99021b88ce67e513025901f57478d8107d0c: the JADX provider/test and report ignore paths are unchanged, and the shared process-identity extension preserves existing calls.
  • Package or release metadata impact: none.
  • Security, privacy, process, or containment review: production ownership checks remain unchanged.

Review checklist

  • This PR addresses concrete CI failures.
  • One focused maintenance outcome and conventional title.
  • Related CI history and the existing runtime proposal are linked.
  • Existing meaningful failure and recovery assertions remain.
  • Owning docs, contracts, and generated metadata: no changes required.
  • User-visible CLI/MCP output: not applicable.
  • Final diff checked for secrets, unrelated changes, and unsupported claims.

Published in draft and promoted only after the fresh full CI run passed. Ready for review; unmerged.


🔄 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/1668 **Author:** [@Y0UW1SH](https://github.com/Y0UW1SH) **Created:** 10/11/2026 **Status:** ✅ Merged **Merged:** 10/11/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/ci-jadx-cleanup-and-test-reports` --- ### 📝 Commits (1) - [`5226656`](https://github.com/morluto/rea/commit/5226656a2f550c3a40503ab5cfdf03706fa1b371) test(ci): stabilize JADX recovery and ignore generated reports ### 📊 Changes **2 files changed** (+11 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+1 -0) 📝 `tests/boundary/process/jadxIntegration.test.ts` (+10 -4) </details> ### 📄 Description ## Summary Stabilize the synthetic JADX cleanup-recovery test and keep generated Vitest blob reports out of source formatting. These two CI fixes were verified during #1612 maintenance. That browser proposal remains closed following the maintainer's #1608 scope decision. The runtime catalog/deadline fixes are already proposed in #1363. ## Problem and expected behavior After the injected ownership-verification failure clears, the child can move between live and exited snapshots. A single immediate close can reject while the retained cleanup owner can still recover. Require verified cleanup within a bounded recovery window. Vitest writes generated JSON into `.vitest/blob/`; source formatting should ignore those reports alongside existing coverage and report directories. ## Change and scope - Retry `provider.close()` for at most five seconds only during the test's intentional recovery and final teardown. Preserve the initial shared failure, retained workspace, verified process/workspace removal, and single-launch assertions. - Add `.vitest/` to `.gitignore`. Exactly two files change: +11/-4. Head: `5226656a2f550c3a40503ab5cfdf03706fa1b371`; branch parent: `7bb4ac219c16884fcadd946eed4015ace2a2419f`; verified tree: `891b3e099bbf3a965fa601782538e9b6bca7e5e5`. ## Contract and boundary impact - Semantic owner and earliest changed stage: test recovery and generated-report eligibility. - CLI and MCP/tool-catalog contract: none. - Provider, bridge, target-format, or platform compatibility: none. - Evidence, artifact, provenance, or reconstruction contract: none. - Process execution, authorization, cleanup, or containment impact: production behavior unchanged; test recovery still requires verified ownership and removal. - Generated metadata, package, or installation impact: none; generated reports stay untracked. ## Evidence and regression coverage - Updated the existing recovery test; neighboring retention and launch-blocking cases remain unchanged. - [Fresh CI for this head](https://github.com/morluto/rea/actions/runs/38103032569) passed all 31 jobs, including the required gate, all four test shards, and aggregate coverage: 7,242 tests passed, 89 skipped; line coverage 88.37% with the normal thresholds enabled. - The synthetic JADX integration suite passed 33/33 cases. CI tested virtual merge `8451051a4fd5f84e042e1bd655c92150abb7f3fe` against upstream `79569349651b5089f04d466b955f5f1ac59a6a1d`. - User-visible CLI/MCP output: not applicable. - Local host limitation: this container's incompatible `ps` prevents owned-process tests from launching; the fresh GitHub-hosted suite provides that verification. These JADX tests use the repository's synthetic MCP fixture, not a real JADX engine. ## Validation performed - `npm run check:ci` — 8/8 tasks and architecture guards passed across 1,101 source files; duplication 2.45% under the unchanged 2.6% gate. A cold parallel run hit the container memory limit; isolated typechecking passed, then the normal command passed. - `npm run build:cached` — 3/3 tasks passed. - `npm run docs:check` — 6/6 tasks passed. - Source formatting passed with an actual generated Vitest blob report still present. - Commit hooks, `git diff --check`, and independent review of the final two-file diff passed. ## Compatibility, safety, and release - Breaking changes or migration steps: none. - Fresh CI passed the real-browser lane and Linux x64/arm64, macOS x64/arm64, and Windows package lanes. This test-only change makes no new real JADX-engine verification claim. - Reviewed subsequent upstream changes through `f88c99021b88ce67e513025901f57478d8107d0c`: the JADX provider/test and report ignore paths are unchanged, and the shared process-identity extension preserves existing calls. - Package or release metadata impact: none. - Security, privacy, process, or containment review: production ownership checks remain unchanged. ## Review checklist - [x] This PR addresses concrete CI failures. - [x] One focused maintenance outcome and conventional title. - [x] Related CI history and the existing runtime proposal are linked. - [x] Existing meaningful failure and recovery assertions remain. - [x] Owning docs, contracts, and generated metadata: no changes required. - [x] User-visible CLI/MCP output: not applicable. - [x] Final diff checked for secrets, unrelated changes, and unsupported claims. Published in draft and promoted only after the fresh full CI run passed. Ready for review; unmerged. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 00:54:32 +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#4736
No description provided.