Skip to content

feat(meta): vendor OO-LD 1.0.0-rc.4 and rc.5 - #169

Merged
simontaurus merged 1 commit into
mainfrom
feat/vendor-rc5
Sep 27, 2026
Merged

simontaurus merged 1 commit into
mainfrom
feat/vendor-rc5

Conversation

@simontaurus

Copy link
Copy Markdown
Contributor

The newest tracked meta-schema was 1.0.0-rc.3. meta_store resolves the default to the highest tracked version, so pip install oold[validation] && oold validate ran against rc.3's 73 rules and could not see the 19 added since, including OOLD-SCH-96a3, the root @context requirement that rc.4 led with.

After: the default resolves to 1.0.0-rc.5, 92 rules, 47 machine-checkable.

Three consequences, each handled

A withdrawn keyword breaks coverage for older versions. The fixture corpus is refreshed from the newest tag, so it cannot exercise x-oold-reverse-default-properties, which the vocabulary removed, while 1.0.0-rc.1 still declares it. VOCAB_EXEMPT does not apply: that covers keywords outside the x-oold- prefix, and this one has it. Added VOCAB_WITHDRAWN as the separate concept and excluded it from vocabulary_coverage.

Probe schemas needed @context. Three tests build a minimal document to check the dialect resolves; from rc.4 a document requires @context as well as $id. The comment already noted the $id case for the same reason.

no_context.schema.json is now refused outright. It is a deliberately broken fixture and the meta-schema rejects it, which is correct. The test's subject is the round trip, so it still asserts roundtrip.generated is OK and coverage WARNs, and now asserts schema.meta is the only failure rather than that there are none.

Fixture refresh also picked up the http://schema.org correction in tests/data/oold/UiAnnotations.schema.json (OO-LD/oold-schema#179).

Verified: 504 passed, 7 skipped; oold validate over the specification's examples/ reports 380 passing checks against 1.0.0-rc.5.

The newest tracked meta-schema was rc.3, so a validator run resolved to
73 rules and could not see the 19 added since, including the root
@context requirement.

- VOCAB_WITHDRAWN excludes a keyword the vocabulary removed: the fixture
  corpus tracks the newest release, so nothing it contains can cover
  x-oold-reverse-default-properties while rc.1 still declares it
- probe schemas in the test suite carry @context, required of a document
  from rc.4
- a schema without a root @context is now refused by the meta-schema,
  so the round-trip test asserts that this is the only finding
@github-actions

Copy link
Copy Markdown
Contributor

Release preview

Merging this PR would release v1.1.0 (current: v1.0.3).

Changelog preview (truncated)
## v1.1.0 (2026-09-27)

### Features

- **meta**: Vendor OO-LD 1.0.0-rc.4 and rc.5
  ([`fae8ed0`](https://github.com/OO-LD/oold-python/commit/fae8ed07142e4af41215a77792ee40aa10e34661))

Preview via python-semantic-release and conventional commits.

@github-actions

Copy link
Copy Markdown
Contributor

📊 Benchmark Results

Click to see benchmark comparison
📊 Benchmark Comparison (threshold: 1.3x)
============================================================

➖ Unchanged (within threshold):
  ➖ test_simple_dict_document_store: 0.0020s → 0.0020s (+0.9%)
  ➖ test_sqlite_document_store: 0.0021s → 0.0021s (-0.1%)
  ➖ test_local_sparql_store: 0.0387s → 0.0391s (+0.9%)
  ➖ test_oneof_subschema: 0.0616s → 0.0616s (-0.0%)
  ➖ test_enum_docstrings: 0.0521s → 0.0524s (+0.7%)
  ➖ test_subclass_inheritance: 0.0553s → 0.0579s (+4.6%)
  ➖ test_class_hierarchy: 0.0523s → 0.0531s (+1.6%)
  ➖ test_core[v1]: 0.0369s → 0.0366s (-0.6%)
  ➖ test_core[v2]: 0.0446s → 0.0455s (+2.0%)
  ➖ test_schema_generation[v1]: 0.0017s → 0.0018s (+5.3%)
  ➖ test_schema_generation[v2]: 0.0038s → 0.0038s (-0.1%)
  ➖ test_simple_json: 0.0007s → 0.0007s (+0.5%)
  ➖ test_complex_graph: 0.0016s → 0.0017s (+0.9%)

============================================================
Summary: 0 regressions, 0 improvements, 13 unchanged
============================================================

✅ No significant performance regressions

Threshold: 1.3x (30% slower triggers a regression warning)

Note: Benchmarks are informational only and won't fail the build.

💡 Tip: Download the benchmark-results artifact for detailed JSON data

@codecov

codecov Bot commented Sep 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@simontaurus
simontaurus merged commit 9ed8118 into main Sep 27, 2026
21 checks passed
@simontaurus
simontaurus deleted the feat/vendor-rc5 branch September 27, 2026 16:59
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