Skip to content

24 skeleton-validation tests skip because quire is not a dependency — and the skip message blames the wrong thing #10

Description

@kreneskyp

Found while adding the FR-035 manifest gate (#8, PR #9).

The measurement

make test reports:

121 passed, 24 skipped

Every one of the 24 is tests/test_skeletons_and_validate.py, skipping with:

SKIPPED [23] tests/test_skeletons_and_validate.py:220: quire wheel lacks validate_document
SKIPPED  [1] tests/test_skeletons_and_validate.py:230: quire wheel lacks validate_document

The message is wrong. quire is not a dependency of this repository at all:

$ poetry run python -c "import quire"
ModuleNotFoundError: No module named 'quire'

So the guard reads "the installed wheel is too old" when the truth is "the package was never installed." Anyone reading the output would go looking for a version bump.

Why it matters

This module ships 23 skeletons. They are the authoring templates every consumer starts from, and validate_document is what proves a filled skeleton satisfies its own object type's contract.

All 23 are validated by nothing, and the suite reports green.

This is the same defect shape as #8 — a gate that does not run, reporting success — on a different surface. #8 was the manifest; this is the skeletons.

Work

  1. Add quire as a dev dependency, from internal-pypi, at a version exposing validate_document (quire-rs has shipped it since the FR-032 work; v0.30.1 is current).
  2. Run the 24. Expect them to fire. That is the point — 23 unvalidated skeletons is not a state that arrives clean.
  3. Every failure is a real finding about a skeleton or an object type's data_schema, to be fixed rather than skipped around.
  4. Correct the guard's message so a genuinely-old wheel and an absent package are distinguishable. If the intent is that this suite requires quire, the guard should be removed entirely rather than reworded — a dev dependency that is declared is present.

Not a reason to soften anything

Per CLAUDE.md's check-quality rule: a large number of newly-failing tests here would be a bad corpus result, not a bad check. The skeletons have never been validated; whatever they turn up is real.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions