fix(validation): use CLR types for Core Csc ancestor checks - #169
Merged
Merged
Conversation
Use FileInfo and DirectoryInfo for the inactive controller's ancestor walk instead of provider-added properties that are absent on raw parent objects. Preserve every ancestor's reparse rejection and all inactive execution gates. Record the failed original 0056 invocation, accepted initial evidence recovery and consumed build/test unit without claiming its missing exception or lifetime. Refs: #108
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.
Summary
Fix the inactive Core Csc controller's ancestor traversal: raw
DirectoryInfoparents do not carry the provider-addedPSIsContainerproperty used under StrictMode. Branch on documented CLR types while retaining every ancestor's reparse check.Record the failed original observer and its completed initial evidence recovery. Action 0056 consumed its dedicated unit; combined build/test usage is 87/120. The Windows lifetime gate remains unresolved, and the lost original exception cannot be attributed to the source defect.
Authorization and Governing Records
The accepted Windows Slice Wave authorizes this evidence work for #108. The executed protocol is commit
698ca30f95502a4f1cf8023ef51c0fc40918a083.Scope and Non-Goals
One inactive controller correction and its canonical evidence record. Preserve the executed active source, failed original, consumed capacity and blocked readers. No retry, activation, new observation or continuation is granted.
Record-System Impact
Update the existing experiment protocol's outcome, source finding and allocation statement alongside the inactive source correction. Existing history readers remain blocked; no successor handoff, new record family, control or Wave change is introduced.
Evidence and Reasoning
The original observer returned exit 1 with empty output. The independently admitted recovery returned exit 0; six hash-verified offline copies establish matching paired reservations and invocations, the one-unit debit and failure before a completed controller clock exchange. Missing Windows records do not establish historical no-launch or current quiescence. The protocol records exact evidence sizes and hashes.
Identity and Security Effects
Only sanitized result fields and evidence identities are documented. No account, token, consent, cache, installation or telemetry effect.
Validation
Official Microsoft PowerShell 5.1 and .NET Framework API references support the source correction. No PowerShell or experiment subject was executed. Full hk checks and final commit hooks passed, including all 32 public-build runner conformance groups. The initial actionlint invocation needed an explicit selection of the already installed ShellCheck 0.11.0; the corrected full run passed.
Review and Disposition
lifetime_triage; no material findings. Review SHA-256:967b32ea0f155bd6ffed45a1950a103234ec36c112a124c107fde72643c989d4(12,559 bytes).collector_schema_triage. Independent triage:wave_review, true positive (confidence 9), requiring CLR type discrimination with unchanged ancestor/reparse checks; this does not establish the original exception.wave_review; no material findings. Review SHA-256:8965da8a669308e8934278ccaeb10f3b82b2598dbfdeb259f6d1f3eb9fa46fe6(6,418 bytes), binding the exact two-file diff against the accepted base (64a1e228574040b6ccaad2eedf9d8fb6a47a24e92b7ea08090e38963e5e7f9ba).Upstream Provenance
No upstream source copied or changed.