Skip to content

chore: pin all version locations to pyproject on every hook run - #10

Merged
ra-co88 merged 1 commit into
developfrom
chore/version-sync-gate
Oct 12, 2026
Merged

ra-co88 merged 1 commit into
developfrom
chore/version-sync-gate

Conversation

@ra-co88

@ra-co88 ra-co88 commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Tooling half of the release-integrity work (security half is in fix/unc-path-guard).

Closes the gap that shipped 1.0.2b7 with five stale version copies: nothing
imports the version manifest files, so testmon import-graph selection never
ran their tests and no CI job compared the copies.

  • tests/unit/test_release_version_sync.py — asserts every hand-maintained
    copy (uv.lock, __init__.py, both fnos manifests, fnos docker-compose
    image tag, README shields badges) agrees with pyproject.toml.
  • Makefile test-affected — runs the file in a second, plain (non-testmon)
    pytest
    . Proven by probe: testmon reports "changed files: 0" for data-only
    changes and deselects the module even when passed positionally;
    --testmon-forceselect only narrows, never widens;
    --testmon-force-select does not exist in pytest-testmon 2.2.0. Only a
    non-testmon invocation is reliably un-deselectable.
  • .cursor/skills/publish/SKILL.md — FORK NOTE: release steps 5-6 (manual
    tag + push + re-merge main into develop + ancestry verify + +ra.1
    marker) are manual on this fork because Release / Auto Tag / Sync
    workflows are disabled.

Gate: make all green (4633 passed, 25 skipped, 0 failed).

tests/unit/test_release_version_sync.py asserts that every hand-maintained
copy of the release version (uv.lock, __init__, both fnos manifests, the
fnos docker-compose image tag, README shields badges) agrees with
pyproject.toml. It shipped broken at 1.0.2b7 because nothing imports those
files, so testmon import-graph selection never ran their tests and no CI
job compared the copies.

Makefile test-affected now force-runs the file in a second, plain
(non-testmon) pytest: testmon reports "changed files: 0" for data-only
changes and deselects the module even when passed positionally, and
--testmon-forceselect only narrows, never widens. Only a non-testmon
invocation is reliably un-deselectable. Proven by probe: a drifted
version goes 4 failed / 2 passed; --testmon-force-select does not exist
in pytest-testmon 2.2.0.

Also: publish SKILL fork note (manual tag + ancestry repair, +ra.1
marker) and a format-all artifact (MemorySettings).

Gate: make all green (4633 passed, 25 skipped, 0 failed) in the commit
that introduced these files.
@ra-co88
ra-co88 merged commit 80cb10a into develop Oct 12, 2026
3 checks passed
@ra-co88
ra-co88 deleted the chore/version-sync-gate branch October 19, 2026 20:39
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.

2 participants