Skip to content

feat(checks): name the rc.4 rules a validator can enforce - #171

Merged
simontaurus merged 1 commit into
mainfrom
feat/checks-for-rc4-rules
Sep 27, 2026
Merged

simontaurus merged 1 commit into
mainfrom
feat/checks-for-rc4-rules

Conversation

@simontaurus

Copy link
Copy Markdown
Contributor

OOLD-SCH-96a3 and OOLD-EXT-c77a are marked machine-checkable in the catalogue and had no check behind them. coverage.rules therefore reported the root @context requirement, the breaking change rc.4 led with, as unenforced: the meta-schema rejects a document without one, but nothing attributed that to the rule.

Checks

rule.context for OOLD-SCH-96a3. The rule is presence, not content, so the check reflects that:

no @context          -> flagged
@context: {}         -> ok
@context: "Thing.schema.json"  -> ok

rule.range-form for OOLD-EXT-c77a, walking nested subschemas:

IRI / array of IRIs / subschema -> ok
42 / ["A", 7]                   -> flagged

Both ids drop out of the coverage.rules warning when validating the specification's examples/.

OOLD-SCH-cfb8 is not covered here: it constrains OO-LD's own vocabulary rather than any document, and was reclassified machine_checkable=no in 1.0.0-rc.5. OOLD-INS-770a needs the context view to decide whether a term carries @type: "@id", so it is left for the conformance work.

522 passed, 7 skipped.

OOLD-SCH-96a3 and OOLD-EXT-c77a were machine-checkable with no check
behind them, so coverage.rules reported the root @context requirement,
the breaking change rc.4 led with, as unenforced.

- rule.context: presence, not content, so {} and a bare remote reference
  both satisfy it
- rule.range-form: an IRI, an array of IRIs, or a subschema
@github-actions

Copy link
Copy Markdown
Contributor

Release preview

Merging this PR would release v2.1.0 (current: v2.0.0).

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

### Features

- **checks**: Name the rc.4 rules a validator can enforce
  ([`882cfd1`](https://github.com/OO-LD/oold-python/commit/882cfd1b7c49aa92f4cd87c598c98679294d40f2))

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.0015s → 0.0015s (-0.1%)
  ➖ test_sqlite_document_store: 0.0016s → 0.0016s (-0.7%)
  ➖ test_local_sparql_store: 0.0292s → 0.0285s (-2.1%)
  ➖ test_oneof_subschema: 0.0460s → 0.0469s (+2.1%)
  ➖ test_enum_docstrings: 0.0387s → 0.0439s (+13.4%)
  ➖ test_subclass_inheritance: 0.0427s → 0.0415s (-2.7%)
  ➖ test_class_hierarchy: 0.0391s → 0.0389s (-0.7%)
  ➖ test_core[v1]: 0.0285s → 0.0291s (+2.3%)
  ➖ test_core[v2]: 0.0330s → 0.0328s (-0.6%)
  ➖ test_schema_generation[v1]: 0.0014s → 0.0014s (-0.9%)
  ➖ test_schema_generation[v2]: 0.0029s → 0.0029s (-0.9%)
  ➖ test_simple_json: 0.0005s → 0.0005s (-2.0%)
  ➖ test_complex_graph: 0.0011s → 0.0011s (-0.6%)

============================================================
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

❌ Patch coverage is 91.30435% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/oold/validation/check_registry.py 91.3% 1 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@simontaurus
simontaurus merged commit 2832dab into main Sep 27, 2026
21 checks passed
@simontaurus
simontaurus deleted the feat/checks-for-rc4-rules branch September 27, 2026 17: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