this repo has no description
32
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add sample output documentation

alice 54538cbf 81123871

+127
+2
README.md
··· 84 84 bootstrap and reusable-pair workflow still live in `perlsky` itself. 85 85 86 86 The adapter boundary is documented in [docs/ADAPTERS.md](./docs/ADAPTERS.md). 87 + Representative CLI and `summary.json` examples live in 88 + [docs/SAMPLE_OUTPUT.md](./docs/SAMPLE_OUTPUT.md). 87 89 88 90 ## Extraction Shape 89 91
+125
docs/SAMPLE_OUTPUT.md
··· 1 + # Sample Output 2 + 3 + This page shows trimmed examples of what `atproto-smoke` prints and writes. 4 + 5 + ## `list-adapters` 6 + 7 + ```text 8 + - bring-your-own: Use existing accounts on any PDS with minimal configuration. 9 + account strategy: existing-accounts 10 + note: This is the default adapter and the lowest-friction path for non-Perl PDS implementations. 11 + note: The suite will not create accounts for you. Supply one account for single-mode or two for dual-mode. 12 + - perlsky: Use perlsky-flavored defaults like cleanup prefixes and adapter tagging. 13 + account strategy: existing-accounts-or-bootstrap 14 + note: The standalone suite still expects credentials in the config. 15 + note: perlsky-specific account bootstrap and reusable-pair helpers live in perlsky, not in atproto-smoke itself. 16 + ``` 17 + 18 + ## `write-example --mode dual` 19 + 20 + ```text 21 + wrote /tmp/config.json using adapter bring-your-own (dual) 22 + ``` 23 + 24 + Generated config: 25 + 26 + ```json 27 + { 28 + "pdsUrl": "https://your-pds.example", 29 + "artifactsDir": "data/browser-smoke/bring-your-own-dual", 30 + "targetHandle": "alice.mosphere.at", 31 + "strictErrors": true, 32 + "primary": { 33 + "handle": "smoke-primary.your-pds.example", 34 + "password": "replace-me" 35 + }, 36 + "secondary": { 37 + "handle": "smoke-secondary.your-pds.example", 38 + "password": "replace-me-too" 39 + } 40 + } 41 + ``` 42 + 43 + ## `validate --mode dual` 44 + 45 + ```json 46 + { 47 + "pdsUrl": "https://your-pds.example", 48 + "artifactsDir": "data/browser-smoke/bring-your-own-dual", 49 + "appUrl": "https://bsky.app", 50 + "publicApiUrl": "https://public.api.bsky.app", 51 + "publicCheckTimeoutMs": 180000, 52 + "stepTimeoutMs": 120000, 53 + "headless": true, 54 + "strictErrors": true, 55 + "publicChecks": true, 56 + "pdsHost": "your-pds.example", 57 + "targetHandle": "alice.mosphere.at", 58 + "primary": { 59 + "handle": "smoke-primary.your-pds.example", 60 + "password": "replace-me", 61 + "birthdate": "1990-01-01", 62 + "cleanupPostPrefixes": [] 63 + }, 64 + "secondary": { 65 + "handle": "smoke-secondary.your-pds.example", 66 + "password": "replace-me-too", 67 + "birthdate": "1990-01-01", 68 + "cleanupPostPrefixes": [] 69 + } 70 + } 71 + ``` 72 + 73 + ## Real `summary.json` 74 + 75 + Trimmed from a clean strict dual-account run: 76 + 77 + ```json 78 + { 79 + "startedAt": "2026-03-11T20:04:16.563Z", 80 + "appUrl": "https://bsky.app", 81 + "pdsUrl": "https://perlsky.mosphere.at", 82 + "primaryHandle": "smokee2ea20260311-121322.perlsky.mosphere.at", 83 + "secondaryHandle": "smokee2eb20260311-121322.perlsky.mosphere.at", 84 + "steps": [ 85 + { 86 + "name": "primary-login", 87 + "status": "ok" 88 + }, 89 + { 90 + "name": "primary-age-assurance", 91 + "status": "ok" 92 + }, 93 + { 94 + "name": "secondary-login", 95 + "status": "ok" 96 + }, 97 + { 98 + "name": "secondary-age-assurance", 99 + "status": "ok" 100 + }, 101 + { 102 + "name": "primary-preclean-stale-artifacts", 103 + "status": "ok" 104 + } 105 + ], 106 + "notes": [ 107 + "account source: pair-file", 108 + "browser launch candidate succeeded: executable:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" 109 + ], 110 + "unexpected": { 111 + "console": [], 112 + "requestFailures": [], 113 + "httpFailures": [], 114 + "pageErrors": [], 115 + "total": 0 116 + }, 117 + "ok": true 118 + } 119 + ``` 120 + 121 + The full artifact from that run lives at: 122 + 123 + ```text 124 + data/browser-smoke/step-timeout-20260311-2007/summary.json 125 + ```