Skip to content

Refuse eight schema keys that nothing reads - #4

Merged
cekees merged 3 commits into
mainfrom
dead-keys
Nov 2, 2026
Merged

cekees merged 3 commits into
mainfrom
dead-keys

Conversation

@cekees

@cekees cekees commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Stacked on #2 and #1. This PR's own commit is the last one, 7f68da3 Refuse eight schema keys that nothing reads. The branch merges #1 (23a9038) so the removals can be recorded in docs/changes.md. Merge #1 and #2 first. This PR is independent of #3.

The schema accepted these keys from the v0.1 and v0.2 drafts. No code in ymf reads or writes any of them, and a grep of proteus cekees/main finds none either. A document that carries one now gets an error naming the key.

key where what replaced it
strong_form_expression strong_form equations, which ymf.symbolic reads. units.py only mentioned it in two docstrings.
known_analytical_solution strong_form solution_paths.analytical and vvuq.verification.reference
dimensional_check strong_form ymf.units.check, called by whoever wants it
unit_systems model units given on each unknown, coefficient and condition
bmi_interface discretizations[] none (no BMI adapter exists)
archive, xdmf, and the Xdmf alias top level the archive is its own format

Kept: mesh_generation and roughness_source. The inventory listed them as dead, but ymf.data_sources reads both, so they go with the decision on that module. Also read by nothing, not removed: model.units (convention, default). It was not on the approved list, so it waits for the same decision.

The two examples that carried dimensional_check and bmi_interface drop those keys. Three test fixtures drop strong_form_expression, and one of them moves to equations. The new test_a_removed_key_is_refused_by_name loads each case from a file, so the Xdmf case also covers the removed alias. All 8 cases fail against the schema before this commit.

suite before (#2) after
every extra 604 passed, 2 skipped, 1 xfailed 612 passed, 2 skipped, 1 xfailed
ymf[spec] alone 430 passed, 19 skipped, 1 xfailed 438 passed, 19 skipped, 1 xfailed
ymf[units] alone 333 passed, 48 skipped 333 passed, 48 skipped
ymf[symbolic] alone 531 passed, 14 skipped, 1 xfailed 539 passed, 14 skipped, 1 xfailed

These are local runs on macOS arm64. The xfail is the composed-domain test that #3 fixes.

🤖 Generated with Claude Code

cekees and others added 2 commits November 1, 2026 21:23
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The schema accepted them from the v0.1/v0.2 drafts; no code in ymf or in
Proteus (cekees/main, checked by grep) reads or writes any of them, so a
document carrying one said something nobody heard. Now it is told which key.

- strong_form: strong_form_expression (superseded by equations; units.py
  only mentioned it in two docstrings, which now say what it does read),
  known_analytical_solution, dimensional_check (+ DimensionalCheckDef,
  DimCheckMethodEnum)
- model: unit_systems (+ UnitSystemDef)
- discretizations[]: bmi_interface
- top level: archive, xdmf, and the Xdmf -> xdmf fold in compose

Kept: mesh_generation and roughness_source, which ymf.data_sources reads;
they go with the decision on that module. Not on the list but also read by
nothing: model.units (convention, default); left for that decision too.

Examples heat_equation.ymf and poisson_v02_enriched.ymf drop
dimensional_check and bmi_interface; three test fixtures drop
strong_form_expression (one moves to equations). New
test_a_removed_key_is_refused_by_name loads from a file, so the Xdmf case
covers the fold: 8 of 8 cases fail on the schema before this commit.
Recorded in docs/changes.md (from #1, merged into this branch).

| suite               | before (#2)                       | after                             |
|---------------------|-----------------------------------|-----------------------------------|
| every extra         | 604 passed, 2 skipped, 1 xfailed  | 612 passed, 2 skipped, 1 xfailed  |
| ymf[spec] alone     | 430 passed, 19 skipped, 1 xfailed | 438 passed, 19 skipped, 1 xfailed |
| ymf[units] alone    | 333 passed, 48 skipped            | 333 passed, 48 skipped            |
| ymf[symbolic] alone | 531 passed, 14 skipped, 1 xfailed | 539 passed, 14 skipped, 1 xfailed |

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cekees
cekees merged commit 6d49a1b into main Nov 2, 2026
10 checks passed
@cekees
cekees deleted the dead-keys branch November 2, 2026 10:02
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