You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Arcade scoring and a leaderboard, in-game player switching, the difficulty menu and score multiplier, initials entry and personal bests, ska sound, and exe build artifacts.
Anyone who installs silphe today gets a flat random field and a single roach.
Steps, in order
1. Playtest gate — the operator plays it and critiques it, and every comment is addressed and merged before anything below starts.
Nothing has been played. All of the above is verified by tests, which prove the logic holds and say nothing about whether the round is any good. #59 already lists the two things known to need a human at the controls — round length, now roughly 21 landed hits to clear a hard round against 6-8 before, and whether a screen carrying a maze, silver hide-holes, dark tunnel mouths, gold and purple crumbs, corpses and a cyan gecko is readable at a glance. Anything else the playtest turns up gets filed and fixed too. This step is the gate, not a formality.
2. Bump to 0.2.0 in both pyproject.toml and src/silphe/__init__.py — see #60, which adds the guard that makes a half-done bump fail loudly.
3. Write the 0.2.0 entry in CHANGELOG.md, which currently stops at 0.1.0.
4. Build and upload following docs/0004-pypi-publish.md — being brought up to date under #61, because its current upload command would fail on a second release.
5. Verify: pip install silphe==0.2.0 into a throwaway environment, then silphe-play opens onto the maze with a brood in it.
6. Tag v0.2.0 and push it.
Why 0.2.0
New features, all backward compatible — no entry point changed, no public function was removed, and the recording schema stayed at SCHEMA_VERSION = 1 throughout because every field added was additive. Under semver on a 0.x line that is a minor bump. A patch release would misrepresent the size of the change.
Problem
PyPI has
silphe0.1.0, uploaded 2026-06-11. Fifteen commits have landed onmainsince, and none of it is installable:Anyone who installs
silphetoday gets a flat random field and a single roach.Steps, in order
1. Playtest gate — the operator plays it and critiques it, and every comment is addressed and merged before anything below starts.
Nothing has been played. All of the above is verified by tests, which prove the logic holds and say nothing about whether the round is any good. #59 already lists the two things known to need a human at the controls — round length, now roughly 21 landed hits to clear a hard round against 6-8 before, and whether a screen carrying a maze, silver hide-holes, dark tunnel mouths, gold and purple crumbs, corpses and a cyan gecko is readable at a glance. Anything else the playtest turns up gets filed and fixed too. This step is the gate, not a formality.
2. Bump to 0.2.0 in both
pyproject.tomlandsrc/silphe/__init__.py— see #60, which adds the guard that makes a half-done bump fail loudly.3. Write the 0.2.0 entry in
CHANGELOG.md, which currently stops at 0.1.0.4. Build and upload following
docs/0004-pypi-publish.md— being brought up to date under #61, because its current upload command would fail on a second release.5. Verify:
pip install silphe==0.2.0into a throwaway environment, thensilphe-playopens onto the maze with a brood in it.6. Tag
v0.2.0and push it.Why 0.2.0
New features, all backward compatible — no entry point changed, no public function was removed, and the recording schema stayed at
SCHEMA_VERSION = 1throughout because every field added was additive. Under semver on a 0.x line that is a minor bump. A patch release would misrepresent the size of the change.Notes
release.ymlis not onorigin(Land release.yml (OIDC release workflow) via classic-PAT — normal push blocked by PAT workflow scope #6). This release is a manual twine upload, and switching to the automated path is that issue's job, not this one's.