[PR #1933] [MERGED] test(apple): consolidate keyed archive integer verification #4920

Closed
opened 2026-10-31 00:56:46 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

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

Base: main ← Head: codex/refactor-keyed-archive-verification


📝 Commits (1)

  • ecbfcea test(apple): consolidate keyed archive integer verification

📊 Changes

5 files changed (+193 additions, -272 deletions)

View changed files

📝 docs/testing.md (+6 -4)
➕ scripts/verify/apple/keyed-archive-integers.mjs (+147 -0)
📝 scripts/verify/apple/keyed-archive.mjs (+40 -22)
➖ tests/boundary/filesystem/keyedArchiveNativeIntegers.test.ts (+0 -86)
➖ tests/fixtures/keyedArchiveIntegers.ts (+0 -160)

📄 Description

Summary

Supersedes #1895 by removing the duplicate cold Swift fixture build rather than increasing a Vitest timeout. The real Foundation verification lane now owns integer precision checks alongside its object-graph checks, with one run-local module cache shared by its sequential producers.

Problem and expected behavior

The ordinary native integer test created a fresh Swift module cache. The Foundation verifier then launched that test through a nested npm run test:focused, creating another cache and another test/build lifecycle. This made producer compilation part of the first Vitest case's deadline and duplicated native work.

Change and scope

  • Generate XML/binary integer archives once in the existing Foundation lane, preserving the producer's typed oracle, digests, object IDs, safe controls, unsafe integers and real values.
  • Verify both production CLI and stdio MCP results against that oracle and each other.
  • Remove the superseded native Vitest file and fixture helper. Keep malformed/collision boundary tests in the regular suite.
  • Document the owning verification lane. DeepWiki research on Swift cache reuse was checked against Swift's compiler cache regression.

Contract and boundary impact

  • Semantic owner and earliest changed stage: native verification fixture production.
  • CLI and MCP/tool-catalog contract: none; existing public operations are exercised.
  • Provider, bridge, target-format, or platform compatibility: native Foundation verification remains macOS-only.
  • Evidence, artifact, provenance, or reconstruction contract: unchanged; oracle and archive digests remain checked.
  • Process execution, authorization, cleanup, or containment impact: removes a nested npm/test subprocess; exact run-owned temporary root is still removed in finally.
  • Generated metadata, package, or installation impact: none.

Evidence and regression coverage

  • Existing XML/binary numeric coverage moves to real CLI/MCP verification, including boxed values and object-table identity.

  • #1895 records the original cold-fixture timeout. This change removes its producing duplication.

  • Remaining proof gaps: no Intel/macOS CI run or controlled before/after benchmark. A bounded Flameox xctrace capture exceeded the server's 16 MiB artifact limit and produced no usable CPU profile; runtime below is a local verification measurement, not a speedup claim.

  • Observed, derived, and inferred claims remain distinguishable.

  • Artifact identity, source provenance, and failed attempts remain preserved.

  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

  • npm run build:cached — passed with pinned Node 24.18.0.
  • node scripts/verify/apple/keyed-archive.mjs — passed with real Foundation archives, compiled CLI and stdio MCP; final run 7.22s elapsed.
  • Focused keyedArchiveIntegerAmbiguity.test.ts — 8 tests passed in 2.18s.
  • npm run check:fast and npm run docs:check — passed.
  • Formatting and pre-commit hooks — passed.

Compatibility, safety, and release

  • Breaking changes or migration steps: none.
  • Real Hopper/Ghidra, browser, or OS coverage: macOS Foundation/Swift only; no deep provider involved.
  • Package or release metadata impact: none.
  • Security, privacy, process, or containment review: cache stays inside the owned verification root; no global cache or installer changes.

Review checklist

  • Concrete timeout/duplicate-work problem, linked to #1895.
  • Focused outcome and Conventional Commit title.
  • Public behavior and precision assertions preserved or strengthened.
  • Owning documentation updated.
  • Real CLI/MCP output verified.
  • Diff checked for unrelated changes 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/1933 **Author:** [@morluto](https://github.com/morluto) **Created:** 10/11/2026 **Status:** ✅ Merged **Merged:** 10/11/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/refactor-keyed-archive-verification` --- ### 📝 Commits (1) - [`ecbfcea`](https://github.com/morluto/rea/commit/ecbfcea93b5bcc64f7cccb7358df55beaef385d1) test(apple): consolidate keyed archive integer verification ### 📊 Changes **5 files changed** (+193 additions, -272 deletions) <details> <summary>View changed files</summary> 📝 `docs/testing.md` (+6 -4) ➕ `scripts/verify/apple/keyed-archive-integers.mjs` (+147 -0) 📝 `scripts/verify/apple/keyed-archive.mjs` (+40 -22) ➖ `tests/boundary/filesystem/keyedArchiveNativeIntegers.test.ts` (+0 -86) ➖ `tests/fixtures/keyedArchiveIntegers.ts` (+0 -160) </details> ### 📄 Description ## Summary Supersedes #1895 by removing the duplicate cold Swift fixture build rather than increasing a Vitest timeout. The real Foundation verification lane now owns integer precision checks alongside its object-graph checks, with one run-local module cache shared by its sequential producers. ## Problem and expected behavior The ordinary native integer test created a fresh Swift module cache. The Foundation verifier then launched that test through a nested `npm run test:focused`, creating another cache and another test/build lifecycle. This made producer compilation part of the first Vitest case's deadline and duplicated native work. ## Change and scope - Generate XML/binary integer archives once in the existing Foundation lane, preserving the producer's typed oracle, digests, object IDs, safe controls, unsafe integers and real values. - Verify both production CLI and stdio MCP results against that oracle and each other. - Remove the superseded native Vitest file and fixture helper. Keep malformed/collision boundary tests in the regular suite. - Document the owning verification lane. DeepWiki research on Swift cache reuse was checked against [Swift's compiler cache regression](https://github.com/swiftlang/swift/blob/main/test/ModuleInterface/ModuleCache/SystemDependencies.swiftinterface). ## Contract and boundary impact - Semantic owner and earliest changed stage: native verification fixture production. - CLI and MCP/tool-catalog contract: none; existing public operations are exercised. - Provider, bridge, target-format, or platform compatibility: native Foundation verification remains macOS-only. - Evidence, artifact, provenance, or reconstruction contract: unchanged; oracle and archive digests remain checked. - Process execution, authorization, cleanup, or containment impact: removes a nested npm/test subprocess; exact run-owned temporary root is still removed in `finally`. - Generated metadata, package, or installation impact: none. ## Evidence and regression coverage - Existing XML/binary numeric coverage moves to real CLI/MCP verification, including boxed values and object-table identity. - #1895 records the original cold-fixture timeout. This change removes its producing duplication. - Remaining proof gaps: no Intel/macOS CI run or controlled before/after benchmark. A bounded Flameox xctrace capture exceeded the server's 16 MiB artifact limit and produced no usable CPU profile; runtime below is a local verification measurement, not a speedup claim. - [x] Observed, derived, and inferred claims remain distinguishable. - [x] Artifact identity, source provenance, and failed attempts remain preserved. - [x] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed - `npm run build:cached` — passed with pinned Node 24.18.0. - `node scripts/verify/apple/keyed-archive.mjs` — passed with real Foundation archives, compiled CLI and stdio MCP; final run 7.22s elapsed. - Focused `keyedArchiveIntegerAmbiguity.test.ts` — 8 tests passed in 2.18s. - `npm run check:fast` and `npm run docs:check` — passed. - Formatting and pre-commit hooks — passed. ## Compatibility, safety, and release - Breaking changes or migration steps: none. - Real Hopper/Ghidra, browser, or OS coverage: macOS Foundation/Swift only; no deep provider involved. - Package or release metadata impact: none. - Security, privacy, process, or containment review: cache stays inside the owned verification root; no global cache or installer changes. ## Review checklist - [x] Concrete timeout/duplicate-work problem, linked to #1895. - [x] Focused outcome and Conventional Commit title. - [x] Public behavior and precision assertions preserved or strengthened. - [x] Owning documentation updated. - [x] Real CLI/MCP output verified. - [x] Diff checked for unrelated changes 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 00:56:46 +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#4920
No description provided.