Skip to content

chore: 0.0.0 placeholder to reserve faultgate-zero on PyPI - #1

Merged
samirsawarkar merged 2 commits into
mainfrom
chore/placeholder-0.0.0
Oct 21, 2026
Merged

samirsawarkar merged 2 commits into
mainfrom
chore/placeholder-0.0.0

Conversation

@samirsawarkar

Copy link
Copy Markdown
Collaborator

What and why

Reserves the faultgate-zero name on PyPI before M0 of the build spec (CEO approved 2026-10-21).

  • pyproject.toml: hatchling package faultgate-zero 0.0.0, MIT, Python >= 3.11, no dependencies
  • src/faultgate_zero/__init__.py: __version__ = "0.0.0" only
  • README.md: says this is a placeholder and 0.1.0 is the first usable release
  • .github/workflows/ci.yml: build, twine check --strict, install the wheel and import it, on 3.11 / 3.12 / 3.13
  • .github/workflows/publish.yml: on a v* tag, checks tag == package version, builds, tests the wheel, publishes through PyPI trusted publishing (environment pypi; pending publisher already added on pypi.org)

Tests

  • Local uv build + twine check --strict pass on both sdist and wheel
  • CI green on this PR

Review

  • Author (agent/model): Claude Code (Claude Opus 5.5)
  • Reviewer (different model family) and verdict: Codex, pending

Risks and rollback

Publishing 0.0.0 is public and a PyPI version can't be re-uploaded; it can be yanked. No code ships, so there is nothing to break for users.

🤖 Generated with Claude Code

Minimal hatchling package (import name faultgate_zero, __version__ 0.0.0),
README stating 0.1.0 is the first usable release, CI that builds, runs
twine check and installs the wheel on Python 3.11-3.13, and a tag-triggered
publish workflow using PyPI trusted publishing (environment pypi).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@samirsawarkar

Copy link
Copy Markdown
Collaborator Author

AES review: Codex (gpt-6.1-sol) on 63fbd0c: REJECT

  • Unapproved dependencies: the build backend (hatchling) and the CI tools build and twine have no OK row in a scout report (.aes/scout/ was empty).
  • Verification gaps (not defects): the reviewer ran read-only, so it couldn't run the CI build. CI has since passed on 3.11 / 3.12 / 3.13. The PyPI trusted-publisher setup is outside the repo.
  • Passed: version and tag assertions, OIDC id-token: write in environment pypi with no stored secrets, git diff --check, and no .aes/ content committed.

Response

  • e8141c8 switches the backend to setuptools>=77, the same as faultgate, so the two repos share one toolchain. The wheel contents are unchanged.
  • A focused aes scout is running on setuptools, build, twine, pypa/gh-action-pypi-publish and the actions/* steps. The PR gets a re-review once the scout reports OK rows.

Note: the first review attempt failed before it started, because AES pins gpt-5.5, which this Codex login doesn't support. It was re-run on gpt-6.1-sol.

Same build backend as faultgate (setuptools>=77, src layout auto-discovered),
so both repos share one packaging toolchain. Wheel contents unchanged:
faultgate_zero/__init__.py plus metadata and LICENSE.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@samirsawarkar

Copy link
Copy Markdown
Collaborator Author

AES re-review: Codex (gpt-6.1-sol) on e8141c8: ACCEPT

No blocking findings. The earlier rejection is resolved: .aes/scout/scout-a8ccd56b.md marks setuptools, build, twine, pypa/gh-action-pypi-publish and the actions/* steps OK.

  • Metadata, the tag/version guard (accepts v0.0.0, rejects v0.0.1), OIDC publishing with no stored secrets, the placeholder README and the .aes/ ignore all pass.
  • The reviewer ran read-only, so it couldn't run the build. CI ran build, twine check --strict and the installed-wheel test on 3.11 / 3.12 / 3.13, all green. The PyPI trusted-publisher setup is outside the repo; the v0.0.0 tag run will show whether it works.

@samirsawarkar
samirsawarkar merged commit ab53c6b into main Oct 21, 2026
3 checks passed
@samirsawarkar
samirsawarkar deleted the chore/placeholder-0.0.0 branch October 21, 2026 11:24
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.

1 participant