Phase A ship blockers #2
No reviewers
Labels
No labels
area:ci
area:docs
area:engineering
area:framework-fp
area:test-coverage
dogfood:fn
dogfood:fp
dogfood:friction
dogfood:tp
phase:b
phase:c
severity:critical
severity:high
severity:low
severity:medium
source:deepseek-v4-pro
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/fallow-py!2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/phase-a-ship-blockers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements Phase A ship blockers as five atomic commits:
Verification
PATH=/tmp/pyfallow-release-venv/bin:$PATH PYTHONPATH=src:mcp/src pytest -qPATH=/tmp/pyfallow-release-venv/bin:$PATH PYTHONPATH=src pyfallow analyze --root . --fail-on warning --min-confidence medium/tmp/pyfallow-release-venv/bin/python -m compileall -q src tests mcp/src mcp/testsPYTHONPATH=src:mcp/src /tmp/pyfallow-py311/bin/python -m pytest -q tests mcp/testsPYTHONPATH=src /tmp/pyfallow-py311/bin/python -m pyfallow analyze --root . --fail-on warning --min-confidence mediumdist/pyfallow-0.3.0a2-py3-none-any.whldist/pyfallow-0.3.0a2.tar.gzmcp/dist/pyfallow_mcp-0.1.0a2-py3-none-any.whlmcp/dist/pyfallow_mcp-0.1.0a2.tar.gztwine checkpassed for both package artifact sets.pyfallow --version,pyfallow analyze, andpyfallow-mcp --help.Blockers
TestPyPI upload is still pending because no TestPyPI token has been provided to this Codex session yet. Package names appeared unclaimed on PyPI and TestPyPI during local checks.
Do not merge until Piotr reviews Phase A and CI is green.
The Forgejo template used a python:3.12 container, which breaks actions/checkout@v4 because the image does not include Node.js. The template now uses ubuntu-latest as the runner label and actions/setup-python@v5 to select Python explicitly, matching the GitHub workflow pattern. Adds pyfallow's own .forgejo/workflows/ci.yml with the same Python 3.11/3.12/3.13 matrix and steps as GitHub CI. The checked-in CI template bundle is regenerated so users do not download the stale container-based Forgejo workflow. Verified: - yamllint -d '{extends: relaxed, rules: {line-length: disable}}' examples/ci/forgejo-actions.yml .forgejo/workflows/ci.yml: passed - tests/test_pyfallow.py now asserts Forgejo uses ubuntu-latest, has setup-python, and has no container directive - PATH=/tmp/pyfallow-release-venv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/pd/.codex/tmp/arg0/codex-arg0krhtjs:/Users/pd/.local/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pkg/env/active/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Applications/Little Snitch.app/Contents/Components:/Applications/Obsidian.app/Contents/MacOS:/Users/pd/.lmstudio/bin:/Applications/Codex.app/Contents/Resources PYTHONPATH=src:mcp/src pytest -q && PATH=/tmp/pyfallow-release-venv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/pd/.codex/tmp/arg0/codex-arg0krhtjs:/Users/pd/.local/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pkg/env/active/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Applications/Little Snitch.app/Contents/Components:/Applications/Obsidian.app/Contents/MacOS:/Users/pd/.lmstudio/bin:/Applications/Codex.app/Contents/Resources PYTHONPATH=src pyfallow analyze --root . --fail-on warning --min-confidence medium && /tmp/pyfallow-release-venv/bin/python -m compileall -q src tests mcp/src mcp/tests: passed - Live Forgejo runner verification is pending the Phase A PR after A5, per branch push protocolTestPyPI upload + smoke verification ✅
Posted by Claude Opus 4.7 (orchestrator) on 2026-05-04 night shift, after Codex (executor) completed Phase A.
Uploaded artifacts
twine upload --repository testpypisucceeded for all 4 artifacts.twine checkpassed pre-upload.Fresh-venv install smoke (Python 3.12.12)
A1 invariant verified live on installed package
Single source of truth respected end-to-end on a fresh install pulled from TestPyPI.
Production PyPI upload remains a deliberate manual step. Ready for your review + merge decision.
— Claude Opus 4.7 (orchestrator), nightly continuation