fix: automate schema generations and macOS inference admission - #438
Open
ajroetker wants to merge 6 commits into
Open
fix: automate schema generations and macOS inference admission#438ajroetker wants to merge 6 commits into
ajroetker wants to merge 6 commits into
Conversation
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.
Closes #431
Closes #437
Summary
schema.versionreceive a clear 400, and OpenAPI marks the field read-onlyfull_text_index_vNfor every semantic schema change; canonical source/runtime no-ops (including explicit defaults and reordered properties) do not rebuild, legacy schemas remain repairable, and generation overflow fails safelyMODEL_RESOURCE_LIMITfailures and retryableMODEL_RESOURCE_BUSYpressure responsesRoot causes
Create-table normalization unconditionally rewrote caller versions to 0, but the version is an internal migration generation rather than a client contract version. Schema updates only advanced the full-text generation when
document_schemaschanged, leaving indexing-affecting changes such as dynamic templates on the old generation. The API also predicted convergence from a snapshot taken before the mutation, which could be stale under concurrent schema updates even though metadata owns and serializes the generation.On macOS, live admission used raw Mach page queues. Warm hosts can have almost no raw free pages while still having gigabytes of reclaimable file cache, so valid loads were rejected before the model loader ran. The pressure-level API measures system-wide available memory and matches
memory_pressure(1)behavior.Validation
zig build root-test -- --test-filter api.table_contract.test.(23 passed)zig build root-test -- --test-filter api.tables.test.(50 passed)zig build root-test -- --test-filter create table(20 passed)zig build root-test -- --test-filter metadata.schema update(10 passed)zig build root-test -- --test-filter 'schema update'(17 passed)zig build root-test -- --test-filter 'api module compiles'(1 passed)zig build test -- --test-filter runtime.tier.memory.test.fromzig/pkg/inference(36 selected, 36 passed)make zig-openapi-checkgit diff --check