Skip to content

Validate abstract vector array instances - #99

Merged
quinnj merged 1 commit into
masterfrom
maintenance/jsonschema-vector-instances
Oct 4, 2026
Merged

quinnj merged 1 commit into
masterfrom
maintenance/jsonschema-vector-instances

Conversation

@quinnj

@quinnj quinnj commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

Views, ranges, and bit vectors are rejected by type="array" even though the schema generator and array keywords already support abstract vectors. Accept AbstractVector instances while retaining existing concrete-array behavior.

The shared additional-items loop now iterates tail values and reports their logical JSON positions. This also fixes the existing bounds errors for offset vectors with tuple items and schema-valued additionalItems. No new exports or dependencies.

Validation:

  • All 73 public controls pass on Julia 1.9.4 and 1.13.1. The original 58-control reproduction passes 34/fails 24 on 1.9.4 and passes 32/fails 26 on 1.13.1; the difference is two error-order checks on already unsupported inputs.
  • Both full package suites pass 5,940 assertions with bounds checks; all tested source hashes remain unchanged.
  • Controls cover generated schemas, views/ranges/bit vectors, item/length/contains/uniqueness constraints, empty/nullable/nested values, offset-vector tuple tails and error pointers, and existing concrete-matrix type acceptance. The independent offset reproduction passes on Julia 1.9.4 and 1.13.0 after the shared-loop fix.
  • JuliaFormatter 2.14.0 with the repository configuration, git diff --check, and a complete independent private review pass. Hosted CI and coverage processing are pending.

Co-authored by Codex

AI disclosure: This work was prepared with assistance from OpenAI Codex.

Validation after publication: all seven exact-head checks passed, and all six correct-repository coverage uploads were accepted and processed (96.46%). The ordinary merge has the same tested Git tree; master also passed all seven checks and all six accepted and processed coverage reports (96.46%).

AI disclosure: This work was prepared with assistance from OpenAI Codex.
@quinnj
quinnj merged commit 832330b into master Oct 4, 2026
7 checks passed
@quinnj

quinnj commented Oct 4, 2026

Copy link
Copy Markdown
Member Author

Merged the array-instance and offset-indexing fixes. Concrete arrays retain their existing behavior; one-dimensional views, ranges, and bit vectors now receive array validation, and tuple tail checks use logical JSON positions for offset-indexed vectors.

All 73 regression assertions and both full 5,940-assertion suites pass on Julia 1.9.4 and 1.13.1. The exact published head and identical merge tree each passed all seven hosted checks and all six accepted, processed coverage uploads (96.46%).

AI disclosure: This work was prepared with assistance from OpenAI Codex.

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