Repository navigation
fix: Support complete large comparison assessment after file recovery budget exhaustion in (#773) - #790
Merged
Conversation
…covery-budget-exhaustion-in: assess complete comparisons through bounded frames
…covery-budget-exhaustion-in: include native effort and framing in admission
|
To preview the documentation for this pull request, visit the following URL:
|
vypbot
self-requested a review
October 29, 2026 14:16
Closed
1 task done
Contributor
Bugbot: review complete
|
Contributor
Copilot approval · Human review neededStatus: A protected workflow, policy, or trust-boundary file changed. Technical evidenceRevision: |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #790 +/- ##
===========================================
+ Coverage 94.50% 94.84% +0.33%
===========================================
Files 1035 1084 +49
Lines 33299 35138 +1839
Branches 9824 10427 +603
===========================================
+ Hits 31468 33325 +1857
+ Misses 699 682 -17
+ Partials 1132 1131 -1
🚀 New features to boost your workflow:
|
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.
Fixes #773.
A complete 140-file specification package previously stopped at the 64-file recovery limit, even after omitted patches could be recovered. Native progress analysis now collects verified immutable contents through bounded recovery frames and assesses every source part before one final assessment and the existing publication freshness checks. Each request and retained response identity binds the complete source manifest, pinned base/head/preimage, fresh invocation, issue scope and locale; incomplete, corrupt, duplicated or replayed evidence fails closed.
Validation
The realistic success and late-corruption fixtures first failed at the old 64-file boundary. They preserve 140 paths, 85 recovered blobs, 4,446,409 represented bytes, a 1,106,150-byte registry and 1,035,821 bytes of complete patches. All reconstructed contents and tail markers are checked; the corrupt final blob permits no model request or publication.
Ten new suites pass 177 cases (109 pure policies, 32 adapter, 24 application/integration, 12 diagnostics), plus one added binary-boundary regression. Full root: 784 suites / 14,457 passing tests, existing 35 skips. Global coverage: 98.05% lines, 97.26% statements, 97.94% functions, 94.96% branches. All new pure policies and immutable recovery reach 100%; every module budget passes. Setup acceptance remains 336/350 with 14 explicitly open cases.
Extension: 267 tests / 100% every coverage metric. TypeScript, lint, specifications/catalog, documentation, workflow contracts, generated bundles, npm inventory (87 files) and CLI/API/local-web smoke tests pass. Graphify updated.
Review notes
Native recovery uses at most four accounting frames (64 files, 4 MiB represented bytes, 256 object requests, 50,000 directory entries each), with independent finite invocation totals. Each blob is capped at 2 MiB. Assessment uses at most four rounds of 16 parts. The 299-path inventory, 512 units, 120,000-byte JSON slices, 256,000-byte source/manifest, 384,000-byte fact and 512 KiB full request ceilings remain enforced. Admission now counts the exact native security/schema/task envelope and unchanged configured-effort suffix and reserves 1,024 bytes for variable data framing before the scope request. A boundary regression first failed with zero remaining bytes. The direct legacy recovery adapter retains its former bounds; no configuration switch is added.
Continuation is invocation-local. An interrupted run starts a fresh complete attempt against current native source, with no durable partial receipts or partial progress publication. Consumer access was authorized read-only metadata inspection; all source/model fixtures are synthetic and do not claim semantic model accuracy or execution of a consumer repository. Owning SDD, catalog, communication ledger, diagnostics and operator guidance are updated together.