fix(operations): preserve external scheduler evidence source - #525
Merged
Conversation
|
Warning Review limit reachedNext included review available in 36 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (9)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
marked this pull request as ready for review
August 31, 2026 22:21
seonghobae
deleted the
fix/external-scheduler-evidence-path-collision
branch
September 1, 2026 01:13
This was referenced Sep 1, 2026
seonghobae
added a commit
that referenced
this pull request
Sep 1, 2026
seonghobae
added a commit
that referenced
this pull request
Sep 1, 2026
This was referenced Sep 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
Prevent the external scheduler evidence audit from destroying, redirecting, ambiguously sharing, replacing, or visually misrepresenting retained operational evidence at Noema-owned authority boundaries. Source evidence and audit output remain separate filesystem objects; retained input must not traverse symlinked parents, accept multiply-linked aliases, or cease naming the exact descriptor-validated inode before the audit proceeds; report publication must not follow unsafe parent/leaf authority; retained diagnostics must not preserve Unicode formatting controls that can alter buyer/operator-visible meaning.
Test-first repair lineage
Earlier commits establish path-collision, parent/leaf symlink, same-inode hardlink, single-link source, private report publication, diagnostic-sanitization, and post-read retained-source identity boundaries.
081f90145b332f77a037c6fc4574218326698ae7added a regression where stable descriptor metadata is insufficient because the configured pathname resolves to a different inode after bytes are accepted. Superseded hosted runs are not claimed as terminal RED evidence.8077fa1bec8fc8df077d7ad8d157afb79be51210withholds parsed evidence until descriptor close succeeds, then re-lstats the retained pathname and requires the same regular, single-linkdev/ino/size/mtime/ctime identity with parent authority rechecked.6c7eb459b85f5d36cc75b3b3d1a2203d889a0a32and compatible focused tests cover post-read pathname drift branches.1ed38b6a321ef085bc9c5e123c8e821ae4c83efcalso closes the publication race: scheduler reports use the shared private writer with exclusive one-shot creation, so an accepted source inode concurrently moved ontoreportPathis rejected rather than replaced. It retains the required Unreleased changelog entry.Current exact authority
Only evidence for unchanged exact head
1ed38b6a321ef085bc9c5e123c8e821ae4c83efcis eligible.main@f0ce457111f961f8627c7eece439d80b749a768d;CHANGELOG.md,scripts/external-scheduler-evidence-audit.mjs,scripts/lib/acquisition-private-output.mjs, and six focused external-scheduler test files;33446724867queued; reviewer-ci33446724840queued; required Security Scan33446724821queued; dedicated patch-validator-image33446724854pending.Focused validation recorded on the exact pushed tree: 19 files / 153 tests passed; the two touched production modules contributed to combined 100% statements, branches, functions, and lines; direct
tsc --noEmitandgit diff --checkpassed. Hosted exact-head checks remain authoritative and predecessor/queued/pending/stale/model-only evidence is not merge evidence.Related: #96