|
| 1 | +# Release Readiness Review |
| 2 | + |
| 3 | +Date: 2026-05-07 |
| 4 | + |
| 5 | +## Result |
| 6 | + |
| 7 | +The repository is substantially more release-ready than before this pass: |
| 8 | + |
| 9 | +- installable `a7` CLI entrypoint |
| 10 | +- compatibility `main.py` wrapper |
| 11 | +- debug and release artifact builder for Zig and C |
| 12 | +- committed docs lockfile for deterministic docs builds |
| 13 | +- CI workflow for tests, backends, artifacts, package build, and docs build |
| 14 | +- release checklist, security policy, and updated status docs |
| 15 | + |
| 16 | +This is not a claim that the implementation is free of all bugs or |
| 17 | +vulnerabilities. For a compiler and native-code build pipeline, that standard is |
| 18 | +not factually provable from local tests alone. |
| 19 | + |
| 20 | +## Evidence Checked |
| 21 | + |
| 22 | +- `uv run a7 --help` |
| 23 | +- `PYTHONPATH=. uv run pytest test/test_release_tooling.py -q` |
| 24 | +- `uv run python scripts/build_examples.py --profile debug --backend both --clean` |
| 25 | +- `uv run python scripts/build_examples.py --profile release --backend both --clean` |
| 26 | +- `./run_all_tests.sh` |
| 27 | +- `uv build` |
| 28 | +- `cd site && npm run build` |
| 29 | +- built wheel installed into a temporary virtualenv and invoked as `a7` |
| 30 | +- `git diff --check` |
| 31 | + |
| 32 | +## Fixed In This Pass |
| 33 | + |
| 34 | +- Package metadata now has a real description and a console script. |
| 35 | +- Runtime-only test dependency moved into the dev dependency group. |
| 36 | +- `main.py` now delegates to `src.cli:main`. |
| 37 | +- `scripts/build_examples.py` builds and verifies debug/release artifacts for |
| 38 | + both backends. |
| 39 | +- `run_all_tests.sh` now covers C backend tests, C E2E, error-stage audit, |
| 40 | + debug/release artifact builds, docs style, and full pytest. |
| 41 | +- GitHub CI now runs Python tests, backend verifiers, artifact builds, package |
| 42 | + build, docs style, docs lint, and docs build. |
| 43 | +- GitHub Pages deploy now uses `npm ci` with `site/package-lock.json`. |
| 44 | +- README, SPEC, release docs, status docs, and agent docs describe the same |
| 45 | + release commands. |
| 46 | + |
| 47 | +## Residual Risks |
| 48 | + |
| 49 | +- `a7-py` is not a sandbox. Do not compile or run untrusted A7 source. |
| 50 | +- `fall` is parsed but not semantically validated or lowered. |
| 51 | +- Full ownership/lifetime safety is not implemented. |
| 52 | +- Import/module loading still has fail-open behavior that should be hardened. |
| 53 | +- Backend parity is verified for examples, not all possible source programs. |
| 54 | +- Tag-based publishing is not wired. |
| 55 | +- Automated supply-chain scanning is not configured. |
| 56 | + |
| 57 | +## Recommended Next Pass |
| 58 | + |
| 59 | +1. Make import/module loading fail closed with source-language diagnostics. |
| 60 | +2. Replace Zig backend `@compileError("unsupported")` fallbacks with compiler |
| 61 | + codegen errors. |
| 62 | +3. Add tag-based release workflow after choosing the package publishing target. |
| 63 | +4. Add dependency and secret scanning to CI. |
| 64 | +5. Expand differential backend tests beyond examples. |
0 commit comments