Skip to content

Commit a565750

Browse files
authored
Merge pull request #191 from PyAutoLabs/claude/matern-tfp-smoke-install-ozb8as
fix(hygiene): correct the `extras` remedy — pin the package, not the extra
2 parents 3aa7b65 + 4557e75 commit a565750

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

agents/conductors/hygiene/_hygiene_extras.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,13 @@ def main() -> int:
315315
f"absent in mode=smoke"
316316
)
317317
print(
318-
f"\nAdd each to the smoke install step in {WORKFLOW}, mirroring the "
319-
"`autofit[optional]` line already there — prefer installing the declaring\n"
320-
"library's [optional] extra over pinning the single package, so a future\n"
321-
"addition to that extra is covered too.\n\n"
318+
f"\nAdd each to the smoke install step in {WORKFLOW}.\n\n"
319+
"PIN THE PACKAGE, don't add the declaring library's [optional] extra: this\n"
320+
"leg installs PUBLISHED wheels, so a library extra resolves the RELEASED\n"
321+
"metadata, which lags the source pyproject this scan reads. A stale pin in\n"
322+
"that extra can silently downgrade a package the step pinned deliberately\n"
323+
"(autoarray 2026.7.29.2[optional] pinning nufftax<0.5.0 did exactly that).\n"
324+
"This scan is what covers future additions — that is why it exists.\n\n"
322325
"Do NOT skip-guard or park the failing script: it passes mode=release, so "
323326
"the script is correct and the install set is the defect. Route to /bug."
324327
)

skills/hygiene/hygiene.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ Shared routing context: `PyAutoBrain/skills/COMMANDS.md`.
4141
sibling repo) before re-pointing it. Route `optdeps` findings to `/refactor`
4242
too (add the skip guard), but route `extras` findings to `/bug`: a script
4343
that fails only in `mode=smoke` and **passes `mode=release`** is correct, so
44-
the defect is the CI install set — add the missing install (prefer the
45-
declaring library's whole `[optional]` extra). Never "fix" such a script by
44+
the defect is the CI install set — add the missing install, pinning the
45+
package itself rather than the declaring library's whole `[optional]` extra
46+
(that leg installs published wheels, whose extras lag the source pyproject
47+
and can silently downgrade a deliberate pin). Never "fix" such a script by
4648
skip-guarding or parking it; both silently delete coverage that release
4749
validation still depends on.
4850
Source changes ship via `ship_library` / `ship_workspace`.

0 commit comments

Comments
 (0)