Skip to content

feat(s0): self-contained wheel + PyPI substrate (PR1)#19

Merged
SollanSystems merged 5 commits into
mainfrom
feat/s0-pypi-substrate
Jul 4, 2026
Merged

feat(s0): self-contained wheel + PyPI substrate (PR1)#19
SollanSystems merged 5 commits into
mainfrom
feat/s0-pypi-substrate

Conversation

@SollanSystems

Copy link
Copy Markdown
Owner

Implements spec PR1 (docs/superpowers/specs/2026-07-03-adoption-slices-design.md): the packaging substrate every adoption slice sits on.

  • loop/_resources.py: importlib.resources-first resolution, repo-relative editable fallback
  • wheel force-includes schemas/, templates/, and 4 tool scripts under loop/_bundle/
  • new loop-engineer console script → uvx loop-engineer inspect . funnel
  • acceptance test: builds the wheel, installs into a fresh venv, runs scaffold/doctor/inspect from a temp dir with the checkout absent; asserts the bundle zip manifest; CI build failure hard-fails
  • tag-triggered publish workflow via PyPI trusted publishing (no tokens)

Suite: 220 passed / 7 skipped locally (2 env-guarded wheel skips run for real in CI); self_eval 13/13.

Whole-branch review: READY. Cross-task consistency verified: bundled tools' _REPO_ROOT is harmless in the wheel layout (loop resolves via site-packages, no stdlib shadowing); ride-along gate scripts have no import-time side effects; wheel test and publish smoke make no contradictory assumptions. Release prerequisite tracked for the 0.6.1 tag: PyPI trusted publisher + pypi GitHub environment must exist before the first v* tag.

Copilot AI review requested due to automatic review settings July 4, 2026 09:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b704d54a6d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread loop/__main__.py
scripts_dir = Path(__file__).resolve().parent.parent / "scripts"
from ._resources import tools_dir

scripts_dir = tools_dir()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Write baselines relative to the user checkout

When the wheel path is selected here, the imported metrics.py lives under site-packages/loop/_bundle/tools; that script still sets _REPO_ROOT = Path(__file__).resolve().parent.parent and --baseline writes _REPO_ROOT / docs/metrics-baseline.json. For uvx/wheel users running loop metrics --baseline <workspace>, the command therefore succeeds while writing into the installed package bundle (or failing on read-only site-packages) instead of updating the checkout's docs/metrics-baseline.json.

Useful? React with 👍 / 👎.

/tmp/smoke/bin/loop-engineer --version
/tmp/smoke/bin/loop scaffold /tmp/smoke-loop
/tmp/smoke/bin/loop doctor /tmp/smoke-loop
/tmp/smoke/bin/loop inspect /tmp/smoke-loop || true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Let the inspect smoke test fail the release

In the tag publish workflow this masks every loop inspect failure, including the exact missing-bundled-script/import errors the wheel smoke test is meant to catch. The scaffolded contract currently produces a successful inspect exit, so on a v* tag this || true can let a broken wheel artifact upload and publish instead of stopping the release.

Useful? React with 👍 / 👎.

@SollanSystems SollanSystems merged commit c3cd8c9 into main Jul 4, 2026
4 checks passed
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