Repository navigation
fix(security): repair deferred-model serialization in workers - #4151
Merged
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
🦞👀 Pull request received. I will update this pull request when review starts. |
Collaborator
Author
|
Paired proof from the fresh upstream locked native environment and actual private staging regression: {
"baseline": {
"coldChildVerified": true,
"startupResult": "1 failed / 1 passed; cold HIGH subtype raises TypeError in Pydantic.model_dump",
"findingValidation": "Unresolved model remains rejected"
},
"candidate": {
"startupAndResponsesTestsPassed": 71,
"knownGenericSdkWarnings": 55,
"installedPackages": 77,
"changedDependencies": {
"pydantic-core": [
"2.46.4",
"2.50.2"
],
"typing-extensions": [
"4.15.0",
"4.16.0"
],
"pydantic": [
"2.13.4",
"2.14.2"
],
"typing-inspection": [
"0.4.2",
"0.4.4"
]
},
"allOtherPackagesUnchanged": true,
"dependencyConsistencyPassed": true,
"coldHighFindingFieldsPreserved": true,
"invalidFindingAndUnresolvedModelRejected": true
},
"integrationRegression": {
"before": "Actual private staging fails ENOENT for compatibility requirements",
"after": "Both copied companion contents match; stops before external installation"
},
"localGates": {
"focusedVitest": 20,
"fullVitest": 8380,
"configuredSkips": 5,
"maxWorkers": 4,
"static": true,
"typesBuild": true,
"independentReview": "P0-P3 clean after staging finding fixed"
},
"qualification": {
"python": "3.12.16",
"uv": "0.13.5",
"native": "Linux arm64 / two CPUs",
"hosted": "x86_64 / four CPUs remains to qualify",
"modelsInvoked": false,
"publisherCodeExecuted": false,
"networkUse": "Public package installation only"
},
"scopeLimit": {
"actualHostedTypeErrorFamilyKnown": false,
"latestSolarisReplay": "52/62 complete then 20-minute deadline; originals and cleanup preserved",
"packageRecoveryProved": false,
"originalRetryApplied": false
}
}The first independent review found missing copied companion assets; both are now staged, their hashes are recorded, and the entire seven-file re-review is clean. This fixes the demonstrated cold-model serialization mechanism. The historical hosted TypeError family remains unconfirmed, and the separate measured Solaris capacity failure remains open. No security verdict, original publication retry or recovery is claimed. |
This branch was successfully deployed
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.
The worker’s upstream lock installs Pydantic2.13.4/core2.46.4, which raises a built-in TypeError when serializing a valid cold deferred subtype through SerializeAsAny. Apply the upstream serialization repair using a hash-locked four-package compatibility closure, retaining every other upstream locked dependency.
The actual worker environment now runs model-free startup checks that preserve every HIGH finding field while invalid findings and unresolved models still fail. Existing adapter/dependency checks remain. Copied diagnostic installer bundles include the new companions, record their hashes and explicitly distinguish the compatibility set from the upstream lock. Normal findings, completeness, retry and publication gates are preserved.
Validation: fresh locked77-package Linux environment reproduces the old failure, then installs the exact hashed closure;71native adapter/startup checks and dependency consistency pass, with other73packages unchanged.20focused Vitest and all8,380application tests pass (five configured skips/fourworkers/coverage thresholds unchanged); static/full TypeScript-build/package types and independent P0–P3 re-review pass. The copied-bundle regression failsENOENT before the integration fix and passes afterward. Native qualification uses LinuxARM64/twoCPU rather than hostedX64/fourCPU;55known generic SDK warnings remain. No real models or publisher execution; native network use is public package installation only.
Related #4043 remains open. The historical hosted TypeError family is unconfirmed; a separate actual replay completed52/62roots before the20-minute deadline without observing TypeError. This library repair does not establish Solaris recovery or fix that capacity shortfall. No original publication retry or recovery claim.