feat(js): add typed browser file capabilities - #31
Conversation
|
Post-merge independent acceptance audit completed on 2026-09-07. I re-derived issue #8's requirements and checked the merged implementation against each path: declarative Gossamer-backed download creation and repeated cleanup, invalid filename/concrete MIME rejection, stable case-insensitive accept de-duplication, positive maximum-size validation, explicit modern-picker capability/fallback policy, unsupported/cancelled/selection/open/read failures, empty files, exact-limit acceptance, overflow rejection before reading, MIME wildcard/extension checks, and first-handle ordering. No missing source handling was found. The complete family gate now also passes: This includes source/style/FFI/generator gates, standalone consumers, all core tests, the fixture MPK build, Lustre browser E2E, and Mendix 11.12.0 build/runtime browser E2E. The validation worktree's stale |
Summary
glendix/js/filewith a Gossamer-backed declarative download resource and explicit object-URL cleanupVerification
Passed:
gleam format --checkgleam checkgleam build --warnings-as-errorsgleam docs buildgleam test --runtime bun(108 tests)./scripts/verify.sh inner glendixscripts/check-style.pythrough the shared gatescripts/check-ffi-contracts.pythrough the shared gate (331 declarations)picker_capabilityreported available./scripts/dependency-mode.sh check-commit glendix 832ef0382e8898aabbd357362d75b83e1aa52b04The first clean
./scripts/verify.sh shared glendixrun reached standalone-consumer verification after all source/style/FFI/generator gates, then Hex returned its API rate-limit error. This is an environment/service failure rather than a source failure; the gate will be rerun before merge.Closes #8