Bound Windows quota failure context - #231
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Advance the immutable conformance lock to the frozen Windows quota scope and persistence diagnostic source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Moderate retry-scope findings and an end-to-end scope-propagation coverage gap remain.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
This PR adds bounded, path-free Windows quota failure diagnostics and updates related workflow, tests, documentation, and conformance locks.
Changes:
- Adds fixed scope/repeat classifications and diagnostic retry handling.
- Updates Windows and workflow regression coverage.
- Refreshes authority pins and documentation.
File summaries
| File | Summary |
|---|---|
src/phase1-conformance-lock.test.ts |
Verifies authority lock metadata. |
src/client-v1-conformance-workflow.test.ts |
Verifies workflow contracts. |
scripts/windows-quota-diagnostics.test.ps1 |
Tests quota classification and failure propagation. |
scripts/windows-job-supervisor.cs |
Implements diagnostics and retry logic. Moderate (2 votes): supervisor-identity pattern reads can also be retried. Nit (1 vote): end-to-end nested-scope propagation coverage is missing. |
phase1-conformance.lock.json |
Updates frozen authority pins. |
docs/roadmap.md |
Updates delivery status. |
docs/phase1-conformance.md |
Documents hashes and diagnostic behavior. |
.github/workflows/client-v1-conformance.yml |
Embeds the updated supervisor. Moderate (2 votes): pattern expansion can retry supervisor-identity reads. |
Review details
Suppressed comments (1)
scripts/windows-job-supervisor.cs:7140
- The new scope propagation is not covered end to end: the PowerShell cases exercise
ClassifyBootstrapQuotaScopedirectly, while the real denied-directory fixtures usestatus staging(which intentionally yieldsnone). A regression in this wrapper could therefore still emitscope=nonefor the bootstrap failure this change is intended to diagnose. Add a realbootstrap aggregatefixture that fails while traversing a known nested scope and assert the resulting terminal/background diagnostic.
string scope = ClassifyBootstrapQuotaScope(
quotaLabel,
root,
directory);
- Files reviewed: 8/8 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+8113
to
+8118
| throw new QuotaMonitorContextException( | ||
| null, | ||
| operation, | ||
| null, | ||
| ClassifyQuotaReadRepeat(read), | ||
| error); |
Comment on lines
+7661
to
+7666
| throw new QuotaMonitorContextException( | ||
| null, | ||
| operation, | ||
| null, | ||
| ClassifyQuotaReadRepeat(read), | ||
| error); |
Restrict diagnostic retries to isolated-token quota reads, refresh cached metadata for the repeat, and compact unchanged workflow commands below GitHub's size limit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Advance the immutable conformance lock to the size-safe source that restricts diagnostic repeats to fresh isolated-token metadata reads. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Windows quota failures now report fixed bootstrap scope and repeat classifications. A single bounded repeat is explicitly enabled only within the validated isolated-user quota callback. Supervisor-context reads remain single attempts, original metadata/accounting are retained, optional metadata repeats use fresh reads, and the original failure remains terminal. A native isolated-user enumeration fixture verifies persistent access denial remains bounded and fail-closed.
The protected workflow also exceeded GitHub's 500 KiB limit. Three existing run blocks now use quoted YAML scalars, preserving the complete parsed workflow command bodies. The final file is 511,593 bytes, with a regression guard for the 512,000-byte limit. Frozen source
1ad4184a043eea731613fbe6d15482a0c1e237a7and all 25 authority file digests are bound by tested headad4fefefc0e0d331f657f8848c9b0c37e98c4157.Verification and delivery:
Isolated enumeration repeat remains bounded and fail-closed.at 05:08:47.7149591 UTC.395a5c99bb2f4f00106e2b4d3266e312391b6906, preserving frozen source ancestry and matching the tested tree.SDK binding is OpenCoven/sdk#214, with local full verification and independent binding review passed. SDK exact-head CI, verified landing, both validator-scope rotations, and fresh protected validation remain required. Latest protected run 34672157833 passed both Unix records with 197 assertions each and failed Windows at harness-cargo-registry / directory-enumeration-depth-3-plus; no Cave identity, timing or assertion mismatch is established. Chat and active worktrees are preserved.