CI off dev mirrors: quire from internal-pypi, semantic-core from GitHub Packages (PLAT-974) - #101
Merged
Merged
Conversation
…ub Packages (PLAT-974) - pyproject.toml: quire ^0.47.1 pinned to the internal-pypi source as a dev dependency; deleted the local-pypi (pypi.ix) poetry source and the dev-quire poe task. - Makefile: deleted the dev-quire target and its help line (semantic-install already existed). - .github/workflows/ci.yml: the ci job now calls semantic-module-ci.yml instead of lib-ci.yml, and passes REGISTRY_TOKEN for @agent-ix packages from GitHub Packages. - tests/conftest.py: missing-dependency message points at `poetry install` instead of `make dev-quire`/quire-rs#392. - Deleted tests/test_additive_compatibility.py (NFR-001-AC-5, TC-131): it validated agent-ix/spec-objects-business and agent-ix/filament-core-data from ~/dev through the quire CLI. The owner ruled that prerelease software carries no backward-compat test. NFR-001-AC-1..4 are unaffected and still compare against tests/fixtures/baseline-0.1.0/. - tests/test_skeletons_and_roles.py: added the shutil.which("quire") skip guard its five sibling CLI-driven tests already carry. Real CI never installs a quire CLI binary (only the Python package and the npm toolchain), and this was the one test in that family without the guard, confirmed failing the same way on main's own most recent CI run. - spec/: retired NFR-001-AC-5, dropped its TC-131 rows from tests.md, removed the resolved quire-rs#392 line from spec.md Out of Scope, and logged the change in spec/log.md. Local gates (poetry install; make semantic-install; quire CLI absent from PATH, matching CI): pytest 255 passed, 41 skipped, 1 xfailed, 0 failed; make schemas-check clean; black --check clean; ruff check clean. Linear: PLAT-974 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… bump xfail version - tests/test_skeletons_and_roles.py: split the TC-119 test in two. The wheel-packaging check (make build, no tests/fixtures/ entry in the wheel) needs no engine and now always runs; the quire coverage check keeps its CLI skip guard. Added a mutation-check test proving the packaging assertion can fail on a namelist carrying a tests/fixtures/... entry. - spec/spec.md: NFR-001's summary no longer claims a two-consumer measurement (AC-5 is retired) — states what AC-1..4 actually measure against the checked-in 0.1.0 baseline. - spec/non-functional/NFR-001-additive-compatibility.md: the AC-5 retirement note is now one plain line; the history lives in spec/log.md. - tests/test_semantic_manifest.py: the TC-135 xfail reason now says quire 0.47.1 (still xfails under it, confirmed by the gate run below). - spec/log.md: corrected the PLAT-974 bullet — only QUIRE_MISSING changed in conftest.py, not both messages — and added the TC-119 split. Gates (quire CLI absent from PATH, matching CI): pytest 257 passed, 41 skipped, 1 xfailed, 0 failed; make schemas-check clean; black --check clean; ruff check clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
pyproject.toml carried a committed leftover from before this PR: version = "0.24.0+20260920.225303.cc6561d.6c4d8ec2" and [tool.poetry-dynamic-versioning] enable = false. Every publish would have shipped that frozen version instead of one derived from the tag. Restored version = "0.1.0" # Placeholder, dynamically replaced and enable = true, matching every other repo's main (e.g. spec-objects-business). `poetry check --lock` confirms poetry.lock needs no update; `poetry version` now reports a tag/commit-derived version (0.25.0.post3.dev0+<sha>), not the frozen 0.24.0. Verified `git diff pyproject.toml` still shows only this two-line fix after the full pytest run (which invokes `make build` twice inside test_no_fixture_reaches_the_wheel and test_the_wheel_fixture_check- adjacent helpers) — nothing rewrote the file. Gates (quire CLI absent from PATH, matching CI): pytest 257 passed, 41 skipped, 1 xfailed, 0 failed; make schemas-check clean; black --check clean; ruff check clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear: PLAT-974
What changed
pyproject.toml:quirepinned to^0.47.1from theinternal-pypisourceas a dev dependency; deleted the
local-pypi(pypi.ix) poetry source andthe
dev-quirepoe task.Makefile: deleted thedev-quiretarget and its help line(
semantic-installalready existed and needed no change)..github/workflows/ci.yml: theci:job now callssemantic-module-ci.ymlinstead oflib-ci.yml, and passesREGISTRY_TOKENso@agent-ix/semantic-coreresolves from GitHubPackages. The
publishinput and itsif:guard already existed.tests/conftest.py: the missing-dependency message now namespoetry installinstead ofmake dev-quire/agent-ix/quire-rs#392.package-lock.jsonalready resolved@agent-ix/semantic-corefromnpm.pkg.github.com; no regeneration needed.tests/test_additive_compatibility.py(NFR-001-AC-5, TC-131): itvalidated
agent-ix/spec-objects-businessandagent-ix/filament-core-datafrom~/devthrough thequireCLI. Theowner ruled that prerelease software carries no backward-compat test.
NFR-001-AC-1..4 are unaffected and still compare against the checked-in
tests/fixtures/baseline-0.1.0/baseline.spec/: NFR-001-additive-compatibility.md retires AC-5 and itsnow-dev-dependency Verification wording;
tests.mddrops the TC-131 rows;spec.mddrops the resolvedagent-ix/quire-rs#392line from Out ofScope;
spec/log.mdgets a dated bullet.A fix beyond the brief
tests/test_skeletons_and_roles.py::test_no_fixture_reaches_the_payload_or_mints_an_idshells out to the
quireCLI (quire coverage) with noshutil.which("quire") is Noneskip guard, unlike its five siblingCLI-driven test files.
semantic-module-ci.ymlnever installs aquireCLIbinary (only the Python package via
poetry installand the npm toolchainvia
make semantic-install), so this test fails withFileNotFoundError: 'quire'in real CI — confirmed againstmain's own mostrecent CI run (also failing, for the pre-
internal-pypireason this PRfixes). Added the same guard the other five files use.
Local gate numbers
Run with the
quireCLI removed fromPATH(matching the CI environment,which has no CLI, only the Python package):
pytest: 255 passed, 41 skipped, 1 xfailed, 0 failedmake schemas-check: clean (64 files, no drift)black --check .: cleanruff check .: cleanThe 41 skips are the six
quire-CLI-driven test files (five pre-existing,one newly guarded here) skipping for lack of the CLI — expected in CI, which
never installs it.
🤖 Generated with Claude Code