Skip to content

Carry forward 4 unique items from PR #116 (Engine B foundation) - #131

Merged
realmarcin merged 1 commit into
mainfrom
carry-pr-116-unique-content
Jun 10, 2026
Merged

Carry forward 4 unique items from PR #116 (Engine B foundation)#131
realmarcin merged 1 commit into
mainfrom
carry-pr-116-unique-content

Conversation

@realmarcin

Copy link
Copy Markdown
Contributor

Summary

PR #116 was the original Engine B foundation PR. Its bulk was carried in PR #109 via the vendored byte-identical `scripts/validate_id_label_correspondence.py` (with #109 additionally adding the OK_EXCEPTION mechanism on top).

This PR carries the 4 remaining items from #116 that #109 didn't include:

Item Purpose
`.gitignore` — exclude `cache/` OAK label cache directory created during validation
`scripts/.validate_id_label_correspondence.sha256` Integrity sidecar for the vendored validator. Regenerated against current main's copy (which includes #109's OK_EXCEPTION) — sha256 differs from the original #116 hash
`tests/data/optional_binding/omits_bound_optionals.yaml` Test fixture
`tests/test_optional_binding_obligation.py` Regression test that REQUIRED id↔label bindings on OPTIONAL slots do NOT promote those slots to de-facto required (pins the contract for `shared_environment_term` and `chebi_term`)

With this landed, PR #116 can be closed as fully superseded.

Test plan

  • `uv run pytest tests/test_optional_binding_obligation.py -v` — 2 passed in 4.86s.
    • test_absent_optional_bound_slot_does_not_trip_required_obligation
    • test_present_wrong_label_is_caught

🤖 Generated with Claude Code

PR #116 was the original Engine B foundation PR. Its bulk was carried in
PR #109 via the vendored byte-identical scripts/validate_id_label_correspondence.py
(with #109 additionally adding the OK_EXCEPTION mechanism on top).

Four items in #116 had NOT yet been carried over:

1. .gitignore — exclude cache/ (the OAK label cache directory created
   locally during validate runs)
2. scripts/.validate_id_label_correspondence.sha256 — integrity sidecar
   for the vendored validator; regenerated against the current main copy
   (which includes #109's OK_EXCEPTION extension) rather than the original
   PR #116 hash
3. tests/data/optional_binding/omits_bound_optionals.yaml — fixture
4. tests/test_optional_binding_obligation.py — regression test that
   REQUIRED id↔label bindings on OPTIONAL slots do NOT promote those slots
   to de-facto required; verified by linkml-term-validator validate-data
   --labels. Pins the optional-slot contract for shared_environment_term
   and chebi_term

Both new tests pass locally (test_absent_optional_bound_slot_does_not_trip
_required_obligation + test_present_wrong_label_is_caught).

With this PR landed, PR #116 can be closed as fully superseded.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@realmarcin
realmarcin merged commit c473601 into main Jun 10, 2026
1 check failed
@realmarcin
realmarcin deleted the carry-pr-116-unique-content branch June 10, 2026 20:13
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