docs release evidence g09 historical 4ce5aaf - AlexandreZanata/Abastevo GitHub Wiki
G09 backend readiness sign-off (P09-T03)
Status: G09 BLOCKED — bounded backend MVP is locally rehearsed, but provisioned-staging acceptance and P09 phase integration are still open. P10 MUST NOT start. No Android source changes in this task.
Candidate and tree
- Candidate:
4ce5aaf79aa3bf8d8cf31c05635dfa2b30714556(P08 merge, PR #9). - Rehearsal tree: P09 branch adds only harness/docs (
backend/testdata/e2e,contracts/testdata/compat,infra/scripts/rehearse.sh,scripts/,Makefileentries, release evidence). Core product paths (backend/cmd,backend/internal,backend/db,backend/go.*,contracts/openapi) match the candidate. - Schema: 19 migrations on the ledger (disposable drill count); PostGIS 3.6. Policy: consensus-v1, moderation-v1. Images: pinned postgis/caddy digests + immutable release tags per P08-T01/T02.
Checklist vs evidence
- P01–P08 phase PRs/fixes integrated (PRs #4–#9); G01…G08 linked in PROGRESS; P01 direct commits recorded without retroactive PRs.
- Candidate selected (
4ce5aaf); local matrix green (see below). No release certified from a phase merge alone. - Catalog, identity, observation, media, validation, consensus,
moderation, privacy flows run end to end in real-PostGIS suites
(57 packages ok) + local rehearsal smoke (
p09-t01). - Empty/upgrade migrations + duplicate/replay/concurrency cases pass in P01-T08/P02-T03/P03/P04/P06 suites (real PostGIS, race).
- OpenAPI frozen + shared fixtures + legacy deltas documented
(
p09-t02,legacy-deltas-v1); wire has noGASOLINE_PREMIUM. - Android regression baseline passes in a supported environment (BUILD SUCCESSFUL; 88 tasks up-to-date, no Android inputs changed).
- Private storage, role/secret/dependency gates + no critical/high
findings locally (
p08-t08); topology TLS/origin rules reviewed (p08-t01); live edge/TLS at deploy stays pending below. - Off-host encrypted backup restored with measured RPO/RTO — PENDING:
disposable drills pass (
p08-t03/p08-t04), provisioned-host drill with measured RPO≤24h/RTO≤4h not run (no provisioned host). - Retention/export/erasure runtime + deletion replay pass on
disposable DB (P07-T03…T05,
p08-t04replay); privacy notice is a draft pending legal review (see blockers). - Load/fault/cache at accepted capacity — PENDING: bounded local
smoke passes (
p08-t07: 54,951 reqs, p95 8.1 ms, faults 7/7;p08-t06cache 10/10); 30-minute staging matrix not run. - Operator runbooks tested as harnesses (deploy/backup/restore/ monitoring/edge-cache/retention/recovery); live staging drill pending (same provisioned-host blocker).
Blockers (all must clear before G09 COMPLETE)
- P09 phase integration: PR #10 (T01…T03) still open/draft; merge only
after required
Quick verification+ phase exit on the final head. - Provisioned staging: 30-minute load matrix, R2 media suite, live TLS/edge + cache-through-proxy, off-host restore with measured RPO/RTO, worker kill-and-drain.
- Legal review of
docs/backend/PRIVACY_NOTICE.md+ retention matrix before any pilot; record reviewer + date, never checkbox-only. - Wiki mirror: phases INTEGRATED with WIKI_PENDING; sync once per merged phase from the merged SHA (no wiki claims here).
Operator readiness / rollback
- Deploy:
infra/scripts/deploy.sh(backup precheck, migrate, rollout, smoke; auto-return to previous compatible release). Rollback: prior binary + forward schema fix; pause writes if needed; never destructive down-migration. Restore:restore.shverify-first + ledger replay. - If any blocker materializes as regression, withdraw this sign-off, keep P10 unstarted, and fix on a new task commit.
Decision
G09 remains BLOCKED; P10-T01 stays blocked. scripts/check-g09.sh
refuses certification while any box above is unchecked, and
scripts/tests/test-g09.sh proves that refusal.