[PR #3260] [MERGED] test(domain): keep rejected Evidence payloads inert #5681

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/3260
Author: @N0zoM1z0
Created: 10/14/2026
Status: ✅ Merged
Merged: 10/14/2026
Merged by: @N0zoM1z0

Base: main ← Head: fix/3251-json-admission-continuation


📝 Commits (1)

  • 2dc4412 test(domain): keep rejected Evidence payloads inert

📊 Changes

1 file changed (+56 additions, -0 deletions)

View changed files

📝 src/domain/evidence.test.ts (+56 -0)

📄 Description

JSON admission rejected accessors and proxies, but the parent Evidence refinement still hashed those rejected values and invoked their getters. Main fixes the continuation in 713163e64. This follow-up adds counter-based regressions through the actual parseEvidence API for parameters, raw_result and normalized_result.

Each field exercises accessor and proxy inputs, requires zero caller-code reads, and checks that the original JSON rejection retains its field path without an additional semantic-ID error. These oracles protect inert admission even if canonical hashing later becomes iterative and a depth-only regression would no longer expose unwanted continuation.

Closes #3251.

Validation (Node 24.18.0, npm 11.16.0, Vitest 5.0.3):

  • All three added field cases fail on the pre-fix implementation: actual Evidence authentication reads the rejected accessor three times. The initial experiment also independently reproduces the 10,000-level stack overflow.
  • JSON/Evidence: 2 files, 46 tests passed in 0.79 s; static checks, architecture guards and discovery passed. This PR changes tests only and adds no runtime work or live-result caching.
  • While validating the upstream correction, JSON/Evidence/immutable/bundle tests passed (58 cases, including the existing 125,000-dependent graph), compiled process CLI tests passed, and actual SQLite CLI/MCP tests passed with one conditional skip.
  • The initial parallel consumer run had two explicit 10-second MCP identity timeouts. The unchanged baseline and corrected implementation each passed all seven identity cases in separate controlled runs, without changing deadlines or adding retries. The original failed log is retained; this is not a claim that the parallel run passed.

Provider evidence is scoped to the exercised production boundaries and local owned fixtures; simulated deep providers do not establish real-provider behavior.


🔄 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/3260 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/14/2026 **Status:** ✅ Merged **Merged:** 10/14/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `fix/3251-json-admission-continuation` --- ### 📝 Commits (1) - [`2dc4412`](https://github.com/morluto/rea/commit/2dc4412483d77921a0decba9ace46a61cf9f3b9d) test(domain): keep rejected Evidence payloads inert ### 📊 Changes **1 file changed** (+56 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/domain/evidence.test.ts` (+56 -0) </details> ### 📄 Description JSON admission rejected accessors and proxies, but the parent Evidence refinement still hashed those rejected values and invoked their getters. Main fixes the continuation in [`713163e64`](https://github.com/morluto/rea/commit/713163e6442c53cff6df4e8f79e8d6ba4d1d832f). This follow-up adds counter-based regressions through the actual `parseEvidence` API for `parameters`, `raw_result` and `normalized_result`. Each field exercises accessor and proxy inputs, requires zero caller-code reads, and checks that the original JSON rejection retains its field path without an additional semantic-ID error. These oracles protect inert admission even if canonical hashing later becomes iterative and a depth-only regression would no longer expose unwanted continuation. Closes #3251. Validation (Node 24.18.0, npm 11.16.0, Vitest 5.0.3): - All three added field cases fail on the pre-fix implementation: actual Evidence authentication reads the rejected accessor three times. The initial experiment also independently reproduces the 10,000-level stack overflow. - JSON/Evidence: **2 files, 46 tests passed** in 0.79 s; static checks, architecture guards and discovery passed. This PR changes tests only and adds no runtime work or live-result caching. - While validating the upstream correction, JSON/Evidence/immutable/bundle tests passed (58 cases, including the existing 125,000-dependent graph), compiled process CLI tests passed, and actual SQLite CLI/MCP tests passed with one conditional skip. - The initial parallel consumer run had two explicit 10-second MCP identity timeouts. The unchanged baseline and corrected implementation each passed all seven identity cases in separate controlled runs, without changing deadlines or adding retries. The original failed log is retained; this is not a claim that the parallel run passed. Provider evidence is scoped to the exercised production boundaries and local owned fixtures; simulated deep providers do not establish real-provider behavior. --- <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#5681
No description provided.