Some checks failed
Test / test (push) Has been cancelled
Cross-platform vectors / TypeScript vectors (bun) (push) Has been cancelled
Cross-platform vectors / Kotlin vectors (gradle) (push) Has been cancelled
Docker build and publish / docker (push) Has been cancelled
Publish / publish (push) Has been cancelled
V3.1 → V3.12 consolidated and tagged for the first GA release. Wire format unchanged from 0.4.x — 4.0 peers interoperate with 0.4.x peers byte-for-byte. The version bump is semantic: audit-cycle complete, opt-in surface fully exposed, threat model refreshed for every new surface. Highlights: - All 24 @shade/* packages bumped to 4.0.0 in lockstep. - CHANGELOG 4.0.0 section is the canonical manifest of what landed. - THREAT-MODEL extended (§10 fingerprint gates, §11 WebRTC P2P, §12 Web-Worker boundary) + residual-risks table refreshed. - OpenAPI now covers all 27 routes: prekey, transfer, KT, inbox, bridge, observer, /metrics, /healthz, /ready. - MIGRATION 0.3.x → 4.0 documented + smoke-tested against shade migrate-storage on a real SQLite DB. - docs/audit/REVIEW-BUNDLE.md + SCOPE.md ready for external reviewer. - scripts/soak.ts harness for the GA-stable 2-week soak window. - All V*.md plans archived under docs/archive/ with Status: Done. - Voice/Video carved out into V5.0; 4.0 audit focuses on the frozen non-realtime stack. Tests: TS 1000/1000 + Kotlin 11/11 cross-platform vectors green. Docker: gt.zyon.no/stian/shade-prekey:4.0.0 builds and reports version 4.0.0 on /health. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.9 KiB
2.9 KiB
Shade V3.1 — Documentation & Hardening Foundation
Status: Done Effort: S (1–2 uker) Forrige: V2.3 Neste: V3.2 / V3.3 / V3.4 (kan kjøres parallelt)
Mål
Lukke "lav-friksjon"-gjelden fra V2.1, V2.2 og V2.3 før vi tar fatt på de tunge sikkerhetsløftene. Dette er pre-arbeidet som låser opp resten av roadmapen: operatører skal kunne deploye trygt, transfer-konsumenter skal ha klare grenser, og OpenAPI skal dekke hele HTTP-flaten.
Ingen ny kjernekode — kun docs, OpenAPI-utvidelser, retention-defaults og en test-/threat-matrise.
Scope
Inn
- README +
@shade/server-README: eksplisitt "keys vs payloads"-narrativ med diagram + lenke tilTHREAT-MODEL.md. - Ny
docs/PRODUCTION-CHECKLIST.md: TLS, backup, observer-token-rotering, SQLite vs PG, log-nivå, stale-params, secret-rotering. - Hardening-seksjon i
docs/streams.md: max stream-size, TTL, quota-mønstre — peker mot@shade/files-hooks som referanse. openapi.yamlutvidet med/v1/transfer/*(chunk,state,health) + sikkerhetsskjema forShadeTransferAuthenticator.- Retention-defaults i
docs/streams.md+ SDK-template:pruneStreamStates-cron som default — "ferdige streams ryddes etter N dager". SECURITY.md-utvidelse: review-status, "hvordan rapportere", lenking fraTHREAT-MODEL.md-rader →tests/security/*(test-/threat-matrise).
Ut
- Faktisk crypto-review (det er V4.0).
- Endringer i krypto- eller wire-format.
- Ny kode utenfor SDK-templates.
Leveranser
Dokumentasjon
docs/PRODUCTION-CHECKLIST.md— ny.docs/streams.md— utvidet med "Hardening" og "Retention".README.md— diagram-justering + "Hva som ikke går via Shade-server".packages/shade-server/README.md— speile narrativet.SECURITY.md— review-status + threat-/test-matrise.THREAT-MODEL.md— krysslenker til konkrete tester.
Kode (kun konfig + templates)
packages/shade-server/openapi.yaml—/v1/transfer/*-paths,ShadeTransferAuthenticatorsecurityScheme.packages/shade-cli/templates/bun-server— defaultpruneStreamStates-cron.
Tester
- Lint-test: OpenAPI-spec validerer fortsatt mot OpenAPI 3.1-skjema.
- Smoke-test for cron i template.
Akseptansekriterier
- Ny utvikler kan lese README +
PRODUCTION-CHECKLIST.mdog deploye prod-klar Shade uten å lese hele kodebasen. - Generert klient (Python eller Go) fra
openapi.yamldekker både prekey- og transfer-flate uten manuelle fixes for happy path. THREAT-MODEL.mdlinker hver "Mitigations"-rad til minst én test-fil.- Default SDK-template
bun-serverprune'r resumable streams uten manuell konfig.
Avhengigheter
Ingen.
Risiko
Lav. Verste utfall er foreldet docs hvis V3.2+ endrer overflater. Mitiger ved å skrive små, oppdaterbare seksjoner heller enn lange narrative kapitler.
Migrasjon
Ingen — alt er additivt.