[GH-ISSUE #8685] [Bug] iNES change-detection test failed with truncated-payload refusal in Linux CI #7510

Open
opened 2026-11-03 00:30:23 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @morluto on GitHub (Nov 2, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8685

Before submitting

  • I searched the open and closed issues for a related report.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

Other

Observed behavior

The Linux GitHub Actions test shard for PR #8567 head b282fece774eb97863cbf3c0cb04c44aa9e85f99 failed tests/boundary/filesystem/inesArtifact.test.ts → rejects changed iNES prefixes at the target entry point. The test expected an error reason containing changed; the actual error rejected the file as truncated iNES payload: header declares 4186128 bytes; file has 40976. The shard reported one failure and 2,331 passing tests. Failed job.

Reproduction

  1. The linked Linux CI run executed test shard 5.
  2. Its target parameter case failed as above. The log identifies the assertion, not the individual mutation in the loop.
  3. A subsequent local macOS arm64 npm run test:focused -- tests/boundary/filesystem/inesArtifact.test.ts passed all 37 tests. I have not reproduced the failure locally or established its frequency.

Expected behavior

The regression should deterministically exercise and detect the intended file-change boundary, while retaining malformed and concurrent-change coverage. The caller should not receive mixed observations from different file versions. Do not simply accept any rejection without establishing when the fixture changed.

Impact and scope

This blocked the PR's shard and aggregate checks; the provider-recovery diff does not edit iNES or filesystem code. The observed result was a refusal, not acceptance of corrupted bytes. Evidence integrity or a production race is not established by this CI log alone.

REA version

PR #8567 head b282fece774eb97863cbf3c0cb04c44aa9e85f99.

Runtime and platform

Linux GitHub Actions, Node 24.22.1; local non-reproduction on macOS arm64, Node 24.22.1.

Target and artifact context

The repository's generated iNES test fixture; no private target involved.

Interface

Other

Earliest failure stage

Test execution / artifact classification.

Relevant output or evidence

See the linked job and tests/boundary/filesystem/inesArtifact.test.ts near the reported assertion. Source inspection: the test temporarily intercepts FileHandle.read on its prototype, mutates the fixture, and restores the spy at the first intercepted read. The target classifier records descriptor metadata, reads a prefix, rechecks identity, and then parses iNES layout.

Typed outcome or recovery expected

Establish whether the mutation occurred before the target descriptor's initial metadata, after it, or on another intercepted file handle. Compare actual timestamps/identity and intended read ordering on the failing platform before changing either the production guard or test expectation.

Analysis or suspected cause

Interception ordering or unchanged filesystem timestamp precision are hypotheses, not established causes. The first spy call may not necessarily prove which descriptor was read; the CI log does not include those observations. There may be a production issue, a test synchronization issue, or another cause.

Additional context

Local focused tests passed; the Linux shard has not been rerun for this report. No source files were changed for this diagnosis.

@gensokyo-dev @kaoru0822-kitauji @N0zoM1z0

Originally created by @morluto on GitHub (Nov 2, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/8685 ### Before submitting - [x] I searched the open and closed issues for a related report. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area Other ### Observed behavior The Linux GitHub Actions test shard for PR #8567 head `b282fece774eb97863cbf3c0cb04c44aa9e85f99` failed `tests/boundary/filesystem/inesArtifact.test.ts` → `rejects changed iNES prefixes at the target entry point`. The test expected an error reason containing `changed`; the actual error rejected the file as `truncated iNES payload: header declares 4186128 bytes; file has 40976`. The shard reported one failure and 2,331 passing tests. [Failed job](https://github.com/morluto/rea/actions/runs/41424974095/job/125210734955). ### Reproduction 1. The linked Linux CI run executed test shard 5. 2. Its `target` parameter case failed as above. The log identifies the assertion, not the individual mutation in the loop. 3. A subsequent local macOS arm64 `npm run test:focused -- tests/boundary/filesystem/inesArtifact.test.ts` passed all 37 tests. I have not reproduced the failure locally or established its frequency. ### Expected behavior The regression should deterministically exercise and detect the intended file-change boundary, while retaining malformed and concurrent-change coverage. The caller should not receive mixed observations from different file versions. Do not simply accept any rejection without establishing when the fixture changed. ### Impact and scope This blocked the PR's shard and aggregate checks; the provider-recovery diff does not edit iNES or filesystem code. The observed result was a refusal, not acceptance of corrupted bytes. Evidence integrity or a production race is not established by this CI log alone. ### REA version PR #8567 head `b282fece774eb97863cbf3c0cb04c44aa9e85f99`. ### Runtime and platform Linux GitHub Actions, Node 24.22.1; local non-reproduction on macOS arm64, Node 24.22.1. ### Target and artifact context The repository's generated iNES test fixture; no private target involved. ### Interface Other ### Earliest failure stage Test execution / artifact classification. ### Relevant output or evidence See the linked job and `tests/boundary/filesystem/inesArtifact.test.ts` near the reported assertion. Source inspection: the test temporarily intercepts `FileHandle.read` on its prototype, mutates the fixture, and restores the spy at the first intercepted read. The target classifier records descriptor metadata, reads a prefix, rechecks identity, and then parses iNES layout. ### Typed outcome or recovery expected Establish whether the mutation occurred before the target descriptor's initial metadata, after it, or on another intercepted file handle. Compare actual timestamps/identity and intended read ordering on the failing platform before changing either the production guard or test expectation. ### Analysis or suspected cause Interception ordering or unchanged filesystem timestamp precision are hypotheses, not established causes. The first spy call may not necessarily prove which descriptor was read; the CI log does not include those observations. There may be a production issue, a test synchronization issue, or another cause. ### Additional context Local focused tests passed; the Linux shard has not been rerun for this report. No source files were changed for this diagnosis. @gensokyo-dev @kaoru0822-kitauji @N0zoM1z0
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#7510
No description provided.