prompt: autoreduce-pypi-name-collision shipped (PyAutoReduce#71) + induction filed - #307
Merged
Merged
Conversation
The prompt was filed as "published autoreduce 0.9 never got the 3.12 floor". The survey disproves that premise: `autoreduce` on PyPI is ayush9pandey/ AutoReduce, an unrelated and actively maintained project. PyAutoReduce has zero git tags and zero references in PyAutoHands, so it has never been published — there is no floor gap and the <=3.14.7 cap is not ours. The real defect is that pyproject.toml claims a distribution name we do not own, and both READMEs tell users to install it. Decision: publish as `pyautoreduce`, import package stays `autoreduce`. - draft/bug/pyautoreduce/published_autoreduce_09_missing_312_floor.md -> active/autoreduce_pypi_name_collision.md, rewritten to the real finding - active.md: register the task (was Status: issued but never registered — it had been carrying Lifecycle Drift since 2026-08-19) - draft/release/pyautoreduce/pyautoreduce_release_induction.md: new prompt for the PyAutoHands induction + date versioning, blocked on #71 - dashboard regenerated Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V19RfJbExKP4hsT5c6LttV
Both PRs open: - PyAutoReduce#72 (library) — distribution renamed to `pyautoreduce` - autoreduce_workspace#1 (workspace) — merges behind #72 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V19RfJbExKP4hsT5c6LttV
…able Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V19RfJbExKP4hsT5c6LttV
…tion Human decisions (2026-08-24): nightly cadence with the other projects; the family's date scheme with no 0.x line first; account-scoped PyPI token from the Jammy2211 account under the PyAutoLabs org, narrowed to a project-scoped one after the first publish. Two consequences recorded with them: - Nightly is activity-gated over a repo list, so PyAutoReduce has to join that list in PyAutoBrain's nightly-release.yml as well as release.yml's matrices — otherwise a day whose only merged work is in PyAutoReduce reads as "no activity, skipped". PyAutoBrain added to the prompt's repo list. - `YYYY.MM.DD.1` and the family's `2026.8.24.1` are the same thing on PyPI: release.yml computes `date +"%Y.%-m.%-d"` (no padding), and PEP 440 integer normalization drops leading zeros anyway, so a padded tag cannot survive to the index. Recorded as the family format with a note not to add a padded variant for this repo alone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V19RfJbExKP4hsT5c6LttV
Shipped: PyAutoReduce#72 (94a27f3) + autoreduce_workspace#1 (a2386ba), both CI green, merged in library-first order. Issue #71 closed. active/autoreduce_pypi_name_collision.md -> complete/2026/08/, active.md entry released, index + dashboard regenerated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V19RfJbExKP4hsT5c6LttV
origin/main had advanced by 10 commits (autofit-plot-functions-kwargs shipped, plus dashboard renderer work). The generated files auto-merged textually, which left complete/index.md claiming 1122 records against a tree holding 1123 and 19 stale lines in dashboard.html. Regenerated with the repo's own tooling (lifecycle.py index --apply, pyauto-brain intake --apply dashboard) rather than hand-resolved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V19RfJbExKP4hsT5c6LttV
The branch was 90 commits behind main, and its three conflicts were all
generated pages: complete/index.md, dashboard.md, dashboard.html. Merging it as
it stood would have overwritten main's current dashboard with one rendered
before those 90 commits — a silent regression of the page, not a stale check.
Resolved with the repo's own tooling rather than by hand:
python3 scripts/lifecycle.py index --apply
pyauto-brain intake --mind . --apply dashboard
which is exactly what dashboard_refresh.yml's PR leg asks a contributor to run.
The regenerated pages take main's 90 commits and this branch's new completion
record together, so the merge result is current rather than either side's
snapshot.
Merge rather than rebase: this branch is not mine to rewrite.
Verified before pushing — dashboard --check current, registry_toc --check fresh,
lifecycle check OK, 212 tests pass.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PjWdVFPn2WDzcqpMXTMp7G
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.
Mind state for the task that shipped as PyAutoReduce#72 (
94a27f3) and autoreduce_workspace#1 (a2386ba), plus the follow-up prompt it spawned. Issue PyAutoReduce#71 is closed.What changed
draft/bug/pyautoreduce/published_autoreduce_09_missing_312_floor.md→complete/2026/08/autoreduce-pypi-name-collision.md— reframed, then recorded on merge vialifecycle.py record, with## Original promptfolded in.draft/release/pyautoreduce/pyautoreduce_release_induction.md— new: induction into the PyAutoHands release machinery + date versioning, with the human's three answers recorded.active.md— the task was registered, then released on completion. Net-zero againstmain: it converged byte-identically with main's own release ofautofit-plot-functions-kwargs, leaving the singletransformed-message-factor-gradient-unpackHOLD entry.complete/index.md,dashboard.md,dashboard.html— regenerated.Lifecycle drift closed along the way
The prompt had been sitting in
draft/since 2026-08-19 withStatus: issuedand a live issue link, never registered inactive.md. It was carrying Lifecycle Drift the whole time. Moved toactive/and registered at start_dev; released at completion.Why the prompt was reframed
It was filed as "published
autoreduce 0.9never got the Python 3.12 floor". The survey disproved the premise:autoreduceon PyPI is ayush9pandey/AutoReduce, unrelated to PyAutoLabs, and PyAutoReduce had never been tagged (git ls-remote --tagsempty) or referenced anywhere in PyAutoHands. There was no floor gap; the<=3.14.7cap was the other project's.The real defect was that
pyproject.tomlclaimed a distribution name we do not own while both READMEs told users to install it — andautoreduce_workspace/requirements.txthad a literalautoreduce[hst]install spec, so workspace setup actually fetched a stranger's package. Fixed by publishing aspyautoreducewith the import package left asautoreduce.The full finding, the traps, and the rejected alternatives are in the completion record.
Note on the base
origin/mainadvanced by 10 commits mid-task (autofit-plot-functions-kwargsshipped, plus dashboard renderer work). Merged in rather than rebased, per the repo's no-history-rewriting rule. The generated files auto-merged textually and came out wrong —complete/index.mdclaimed 1122 records against a tree holding 1123, anddashboard.htmlkept 19 stale lines — so they were regenerated withlifecycle.py index --applyandpyauto-brain intake --apply dashboardinstead of hand-resolved.lifecycle checkandlifecycle index --checkboth pass, and the net diff againstmaintouches only this task's files.Generated by Claude Code