Add local launcher-to-secretapi end-to-end smoke runbook
This commit is contained in:
parent
7ef7c662f3
commit
f11b40479c
@ -13,6 +13,9 @@ These templates are deployment-time placeholders for membership-gated commerce.
|
|||||||
3. `secretapi-deploy.md`
|
3. `secretapi-deploy.md`
|
||||||
- Backend deployment runbook for membership + governance install APIs.
|
- Backend deployment runbook for membership + governance install APIs.
|
||||||
|
|
||||||
|
4. `local-e2e-smoke.md`
|
||||||
|
- Local launcher + backend smoke sequence before live deployment.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
1. Copy templates to environment-specific files.
|
1. Copy templates to environment-specific files.
|
||||||
|
|||||||
49
docs/deployment/local-e2e-smoke.md
Normal file
49
docs/deployment/local-e2e-smoke.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# Local E2E Smoke (Launcher + Secret API)
|
||||||
|
|
||||||
|
This smoke path validates wallet intent, membership, member channel, and governance install flow locally before live server wiring.
|
||||||
|
|
||||||
|
## 1) Start Secret API
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd "/Users/vsg/Documents/VSG Codex/web/backend/secretapi"
|
||||||
|
cp .env.example .env.local
|
||||||
|
go run .
|
||||||
|
```
|
||||||
|
|
||||||
|
Default bind is `http://127.0.0.1:8080`.
|
||||||
|
|
||||||
|
## 2) Start Launcher Harness
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd "/Users/vsg/Documents/VSG Codex/launcher"
|
||||||
|
make serve
|
||||||
|
```
|
||||||
|
|
||||||
|
Open `http://127.0.0.1:4310`.
|
||||||
|
|
||||||
|
## 3) Run Deterministic Flow
|
||||||
|
|
||||||
|
1. Enter wallet + chain id.
|
||||||
|
2. Click `Create intent`.
|
||||||
|
3. Sign typed data in local wallet tooling and paste signature.
|
||||||
|
4. Click `Verify signature`.
|
||||||
|
5. Click `Get quote`.
|
||||||
|
6. Confirm tx hash (local/test hash if RPC verification disabled).
|
||||||
|
7. Click `Confirm membership tx`.
|
||||||
|
8. Register member channel and poll events.
|
||||||
|
9. Ack an event.
|
||||||
|
10. Request governance install token and check install status.
|
||||||
|
|
||||||
|
## 4) Expected Results
|
||||||
|
|
||||||
|
1. Membership status resolves to `active`.
|
||||||
|
2. Event polling returns deterministic event envelopes with stable `event_id`.
|
||||||
|
3. Event ack is idempotent for `event_id + device_id`.
|
||||||
|
4. Owner role can open support ticket; workspace member is rejected with `owner_role_required`.
|
||||||
|
5. Governance install token is owner-gated and blocked when availability is parked.
|
||||||
|
|
||||||
|
## 5) Troubleshooting
|
||||||
|
|
||||||
|
1. If CORS fails, set `SECRET_API_ALLOWED_ORIGIN=*` locally.
|
||||||
|
2. If tx confirmation blocks, set `SECRET_API_CHAIN_RPC_URL=` empty for local non-chain smoke.
|
||||||
|
3. If member channel returns `membership_inactive`, re-run wallet intent/verify and membership confirm.
|
||||||
Loading…
Reference in New Issue
Block a user