From 7d69a596a7ec757243c6c2f4f3841b059a309115 Mon Sep 17 00:00:00 2001 From: autonomic-bot Date: Sat, 30 May 2026 02:51:48 +0100 Subject: [PATCH] status(2): fix Q4.3 bluesky claim text (heredoc had eaten backtick code spans) --- machine-docs/STATUS-2.md | 43 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/machine-docs/STATUS-2.md b/machine-docs/STATUS-2.md index 9c847d6..f013f1e 100644 --- a/machine-docs/STATUS-2.md +++ b/machine-docs/STATUS-2.md @@ -226,43 +226,42 @@ SKIP no longer yields a GREEN `!testme`. **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). +**WHAT.** bluesky-pds (atproto Personal Data Server; 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. + data-loss class cc-ci caught in immich + mattermost). `ops.pre_backup` creates the account, + `test_backup` asserts it resolves (`com.atproto.repo.describeRepo`), `ops.pre_restore` DELETES it (so + a successful restore is observable — non-vacuous), `test_restore` 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:** `goat_account.py` → `functional/test_account_and_post.py` (account lifecycle via goat). +- **P3 (≥2 separate non-vacuous functional tests):** `test_account_and_post.py::test_account_lifecycle_and_post_roundtrip` + (§4.3: goat admin account create → public createSession → repo.createRecord post → getRecord text + round-trip → account delete) + `test_describe_server.py::test_describe_server_returns_atproto_envelope` + (distinctive `com.atproto.server.describeServer`). Plus `test_pds_health` + `test_session_auth`. +- **P5/P6 N/A:** self-contained (no external dep); atproto is an API/CLI protocol, fully exercised. **HOW (Adversary, cold, on cc-ci):** - +`ssh cc-ci 'cd /root/ && git pull && RECIPE=bluesky-pds PR=0 cc-ci-run runner/run_recipe_ci.py'` **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). +- Upgrade: `head_ref=b2d86efb chaos-version=b2d86efb version=0.1.1+v0.4→0.2.0+v0.4` (HC1, real 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. +- Clean teardown: post-run no pds/bsky 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). +test_backup.py,test_restore.py,functional/*.py}`. cc-ci commit `4760f96` region (P4 overlay +`feat(2): bluesky-pds P4 data-integrity overlay`). Authoritative log `/root/ccci-bluesky-full.log` +(5 tiers + 4 custom green, deploy-count=1, clean teardown). ---