Vault Outline API key can create docs but lacks documents.update. After adding that scope, run: python3 scripts/outline-sync-playkit.py
Also delete orphan QA & Dev → Playkit sync probe.
Test plan
npm test + npm run typecheck + npm run selftest locally
CI selftest job green on this PR
## Summary
- Add `selftest/` fake site + Playwright suite (`npm run selftest`) and CI job
- Add `scripts/outline-sync-playkit.py` + update `docs/OUTLINE.md` / `docs/SELFTEST.md`
- Roadmap/changelog: mark live docs + selftest done; note Pushgateway soak applied
## Ops (already done on LXC, not in this PR)
- `make deploy-observability` from master worktree: Pushgateway `:9091` up, Prometheus `pushgateway` scrape healthy, `live-playkit.json` provisioned
- Confirmed `RELEASE_TOKEN` secret + Gitea release `v0.3.1`
## Outline (manual once)
Vault Outline API key can **create** docs but lacks **`documents.update`**. After adding that scope, run:
`python3 scripts/outline-sync-playkit.py`
Also delete orphan **QA & Dev → Playkit sync probe**.
## Test plan
- [x] `npm test` + `npm run typecheck` + `npm run selftest` locally
- [ ] CI `selftest` job green on this PR
Fake-site Playwright suite catches BasePage/ApiClient/network regressions
before consumers pin a broken tag; Outline sync + docs for QA & Dev live page;
Pushgateway deploy soak confirmed separately on observability LXC.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
selftest/fake site + Playwright suite (npm run selftest) and CI jobscripts/outline-sync-playkit.py+ updatedocs/OUTLINE.md/docs/SELFTEST.mdOps (already done on LXC, not in this PR)
make deploy-observabilityfrom master worktree: Pushgateway:9091up, Prometheuspushgatewayscrape healthy,live-playkit.jsonprovisionedRELEASE_TOKENsecret + Gitea releasev0.3.1Outline (manual once)
Vault Outline API key can create docs but lacks
documents.update. After adding that scope, run:python3 scripts/outline-sync-playkit.pyAlso delete orphan QA & Dev → Playkit sync probe.
Test plan
npm test+npm run typecheck+npm run selftestlocallyselftestjob green on this PR