hardbyte / hardbyte/awa

0.7 release readiness: gates, milestones, and evidence tracker

Open
#383 5 comments 0 reactions 0 assignees View on GitHub
correctness docs operational
Dominant language
Rust
Stars
32
Forks
5
Avg merge
15h 21m
Merged PRs (30d)
21

Description

0.7 release gates. Updated 2026-09-07. Milestone membership alone does not block publication.

## Candidate and evidence

#481 / #482 merged as `a53b2a1` (owner-scoped periodic reconciliation, v045). The reviewed pre-merge head `59a1377` passed [full CI](https://github.com/hardbyte/awa/actions/runs/34026929816) and [release gate](https://github.com/hardbyte/awa/actions/runs/34026762355). Post-merge CI hit the existing Python fixture timeout (#420).

**Hardening candidate:** #484 at `0d6772ef`; #485 at `83372d90` backports it to 0.6. Both remain unmerged. The fixes join native Python tasks/completions at interpreter exit, preserve state after rejected bridge calls, retain canonical callbacks throughout handler continuations (#462), and provide a fully validated quiesced cutover (#457 proposal 2). No new migration.

- [Native crash evidence and deterministic reproduction](https://github.com/hardbyte/awa/tree/brian/release-upgrade-fixes/correctness/evidence/python-shutdown-2026-09-07). All six shutdown regressions pass on main CPython 3.12.3/3.14 and backport 3.13. Stalled synchronous Python code emits a warning after five seconds while retaining the safety join; a blocked native database query is cancelled at exit. Historical wheels retain pinned bytes and use verified CPython 3.13.12.
- Storage/startup checks at the preceding review-fix commits (unchanged by the diagnostic): seven transition tests on PG17/18 on both branches; 28 callback tests on main PG17/18 and backport PG18; 28 Python shutdown/startup tests on each branch; required Rust and Python build/lint checks pass. Review findings have replies with fix commits and red/green evidence.
- Latest [main CI](https://github.com/hardbyte/awa/actions/runs/34070494618), [backport CI](https://github.com/hardbyte/awa/actions/runs/34070517034), and [nightly](https://github.com/hardbyte/awa/actions/runs/34070516647) are running. Earlier main/backport local full suites passed 321/303 tests; main passed 1,000 exit probes. Baseline `0d1a9d6` passed full CI and the complete nightly. Earlier results do not certify the latest review fixes.

## Before the next alpha

- [ ] **Land hardening and the 0.6 stepping-stone:** merge #484/#485, publish the 0.6 patch before directing unfinalized clusters to the new callback/quiesced paths, and verify post-merge CI.
- [ ] **Unblock published SQLx 0.9:** keep 0.9. As of September 7, crates.io still lists 0.9.0; wait for a published release containing [the TCP_NODELAY fix](https://github.com/transact-rs/sqlx/pull/4336), then repeat shipping-dependency validation. Published 0.9.0 reproduces ~41 ms COPY and ~450/s against an 800/s target; the upstream fix gives ~0.05 ms COPY.
- [ ] **Validate the final shipping head:** full CI, release gate, model/witness checks, published-dependency performance, and released-artifact upgrade evidence. Keep the shutdown regression and native crash artifacts; retries never close a crash blocker.
- [ ] **Package and publish:** version/changelog/release notes, Rust/Python/CLI/Docker artifact smoke tests, replace obsolete #421 instructions, then tag and independently verify registries.

## Performance baseline

[September 6–7 overnight](https://github.com/hardbyte/postgresql-job-queue-benchmarking/blob/brian/awa-481-benchmarks/results/2026-09-06-awa-482-overnight/SUMMARY.md): ten throughput/soak cells, both validated two-hour pins; both four-hour soaks sustain ~800/s with median queue depth zero and pinned window-p99 44/46ms. W64/128/256 saturation deltas: +6.3%, −3.7%, −3.3% (single pairs). Candidate first crosses the clean dead-tuple threshold at 19m45s versus main's 35s; neither is sustained baseline recovery. Both binaries use the same upstream SQLx patch, so this is not shipping-dependency validation. [Interpretation](https://github.com/hardbyte/postgresql-job-queue-benchmarking/blob/brian/awa-481-benchmarks/results/2026-09-06-awa-482-overnight/INTERPRETATION.md).

#295 Gate A: retain the incremental queue-storage/ring design unless fresh evidence establishes a release-blocking regression.

## Additional gates before stable

- [ ] Resolve recurring Python fixture pool exhaustion (#420); track nightly failures in #434.
- [ ] **14 consecutive green nightlies after the final migration and compatibility-harness changes.** Earlier streaks do not count.
- [ ] Complete Rust API (#402), Python exports/stubs (#378), and SQL producer/HTTP contracts (#342/#403), or explicitly narrow the supported scope.
- [ ] Dogfood the published alpha through a supported upgrade and sustained traffic; verify rollback boundaries and operator guidance.

## Deferred

#418 remains an extreme fragmented-backlog follow-up unless measurements establish a release regression. #424, the full #295 redesign, #282/#303 maintenance work and independent product expansion do not hold the tag. Compatibility structures remain until #430. Live auto-runtime engine switching from #457 proposal 1 remains separate from the quiesced path.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the unchecked gates in this issue, then inspect the linked main/backport CI, release gate, nightly runs, and shutdown evidence under correctness/evidence/python-shutdown-2026-09-07. Done means the hardening and stepping-stone are published, final CI and release checks pass, required contracts and nightlies are complete, and artifacts and upgrade evidence are independently verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, postgresql, python, rust
Domain
ci-cd, databases, performance, release, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
22/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.