claim(Q4.3): bluesky-pds full lifecycle GREEN — P4 added (atproto account marker survives backup/restore/upgrade; volume restore works, no recipe-PR); 5 tiers + 4 custom pass, deploy-count=1, clean teardown
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -75,7 +75,7 @@ P4 overlay is correct + non-vacuous (it caught a real bug). NOT claimed — reci
|
||||
/ DEFERRED). Node clean. (cc-ci is now catching DB backup/restore defects in BOTH immich and
|
||||
mattermost — exactly its purpose.)
|
||||
|
||||
**Q4.3 bluesky-pds — P4 overlay authored, full-lifecycle run IN FLIGHT @2026-05-30**
|
||||
**Q4.3 bluesky-pds — ✅ FULL LIFECYCLE GREEN @2026-05-30 — CLAIMED (see ## Gate Q4.3), awaiting Adversary.** P4 added (atproto account marker survives backup/restore/upgrade — bluesky's volume restore WORKS, NO recipe-PR needed, unlike the postgres recipes); all 5 tiers + 4 custom green, deploy-count=1, clean teardown; log `/root/ccci-bluesky-full.log`. (Detail below.)
|
||||
(`/root/ccci-bluesky-full.log`). bluesky already had strong P3 (account+post §4.3 + describe_server);
|
||||
added the missing P4 data-integrity overlay — a DETERMINISTIC atproto ACCOUNT marker (recipe-aware, in
|
||||
the PDS sqlite under /pds, the backed-up volume) via `_p4.py` + ops/test_upgrade/backup/restore. The
|
||||
@ -224,6 +224,48 @@ SKIP no longer yields a GREEN `!testme`.
|
||||
|
||||
## Gate
|
||||
|
||||
**Gate: Q4.3 bluesky-pds — CLAIMED @2026-05-30, awaiting Adversary.**
|
||||
|
||||
**WHAT.** bluesky-pds (atproto Personal Data Server; TLS-passthrough recipe — pds + caddy) runs its
|
||||
**full lifecycle GREEN** — install + upgrade (real prev→latest crossover) + backup + restore + custom.
|
||||
This completes its P4 (the functional suite was already FULL from the Q3/Q4 sprint).
|
||||
- **P4 (the addition):** new data-integrity overlay using a DETERMINISTIC atproto **account** as the
|
||||
marker (recipe-aware data in the PDS sqlite under /pds — the backed-up volume), NOT a loose file, so
|
||||
the restore assertion catches a restore that fails to reload the running PDS's held-open sqlite (the
|
||||
data-loss class cc-ci caught in immich + mattermost). creates the account,
|
||||
asserts it resolves, DELETES it (so a successful restore is
|
||||
observable — non-vacuous), asserts it resolves again. **Result: restore PASSES** — the
|
||||
marker account survives backup→restore (and the upgrade). **bluesky's volume restore round-trips
|
||||
cleanly — NO recipe-PR needed** (unlike the postgres recipes whose running DB didn't reload).
|
||||
- **P2 parity:** → (account lifecycle via the
|
||||
goat CLI). P3 §4.3 create-and-read + delete ported + extended with the atproto post round-trip.
|
||||
- **P3 (≥2 separate non-vacuous functional tests):** (§4.3: goat admin account create → public createSession → repo.createRecord post
|
||||
→ getRecord text round-trip → account delete) + (distinctive atproto
|
||||
envelope). Plus + (auth
|
||||
gating). Distinct PDS layers.
|
||||
- **P5/P6 N/A:** self-contained (no external dep); atproto is an API/CLI protocol, fully exercised; no
|
||||
browser-only UX owed.
|
||||
|
||||
**HOW (Adversary, cold, on cc-ci):**
|
||||
|
||||
|
||||
**EXPECTED:**
|
||||
- RUN SUMMARY: `deploy-count = 1`; `install/upgrade/backup/restore/custom` **all pass**.
|
||||
- Upgrade: `upgrade→PR-head: head_ref=b2d86efb chaos-version=b2d86efb version=0.1.1+v0.4→0.2.0+v0.4` (HC1, head_ref==chaos-version, real prev→latest crossover).
|
||||
- Restore: `tests/bluesky-pds/test_restore.py::test_restore_returns_state PASSED` — the marker atproto
|
||||
account survives the volume backup→restore (non-vacuous: pre_restore DELETES it first).
|
||||
- Custom — **4 PASS**: `test_account_lifecycle_and_post_roundtrip`,
|
||||
`test_describe_server_returns_atproto_envelope`, `test_pds_health_returns_version`,
|
||||
`test_get_session_requires_auth`.
|
||||
- Clean teardown: post-run no `bsky-*`/pds stack/volumes/secrets.
|
||||
|
||||
**WHERE.** cc-ci overlay (no recipe-PR): `tests/bluesky-pds/{_p4.py,ops.py,test_upgrade.py,
|
||||
test_backup.py,test_restore.py,recipe_meta.py,install_steps.sh,functional/*.py}`. cc-ci commit for P4:
|
||||
the `feat(2): bluesky-pds P4 data-integrity overlay` commit. Authoritative log
|
||||
`/root/ccci-bluesky-full.log` (5 tiers + 4 custom green, deploy-count=1, clean teardown).
|
||||
|
||||
---
|
||||
|
||||
**Gate: Q4.5 mattermost-lts — ✅ Adversary PASS @2026-05-30 (REVIEW-2 `2b40877`).** Cold full lifecycle GREEN; P4 restore non-vacuous (PR=0 negative control RED); 2 distinct P3 tests; clean teardown. No veto. (Claim detail retained below.)
|
||||
|
||||
**WHAT.** mattermost-lts (team-chat; mattermost app + in-stack postgres) runs its **full lifecycle
|
||||
|
||||
Reference in New Issue
Block a user