Skip to content

fix: fail conditional operations closed with Files policy - #30

Merged
kauandotnet merged 1 commit into
mainfrom
codex/files-sdk-conditional-policy
Aug 21, 2026
Merged

fix: fail conditional operations closed with Files policy#30
kauandotnet merged 1 commit into
mainfrom
codex/files-sdk-conditional-policy

Conversation

@kauandotnet

Copy link
Copy Markdown
Contributor

Summary

  • keep ordinary operations on the Files SDK plugin, hook, and receipt pipeline
  • hide every native conditional capability when caller Files policy would be bypassed
  • reject direct conditional upload, exact read, delete, and promotion before adapter dispatch
  • snapshot Files hooks at construction so compatibility cannot drift through later mutation
  • document the Files SDK versus NestM responsibility boundary and compatibility matrix

Current state verified

  • base is @nestm/storage@0.1.0-alpha.8 at 2f2e1d2
  • alpha.8 pins files-sdk 2.2.3
  • Files SDK 2.2.4 and current 2.2.5 still have no native conditional operations in FilesOperation or plugin handlers
  • no Files SDK dependency bump is included because neither release closes the gap

Verification

  • 246 unit tests passed
  • 55 end-to-end tests passed; 4 credentialed live cases skipped
  • lint, formatting, and TypeScript checks passed
  • build, strict publint, packed install, and packed-consumer test passed

Follow-up

This is an explicitly interim compatibility gate for #29. The permanent fix belongs upstream: native create, replace, exact-read, delete, and promotion conditions must traverse the existing Files operation/plugin/hook/receipt dispatcher without weakening provider CAS. Once that exists, this gate should be deleted instead of growing a second plugin pipeline in NestM.

R2 is out of scope.

@kauandotnet
kauandotnet marked this pull request as ready for review August 21, 2026 04:36
@kauandotnet
kauandotnet merged commit e82081a into main Aug 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant