writeonce/docs/stories
shoney.arickathil 274f7c5361 docs(porch-csrf): brainstorm stories 3 (sessions) + 4 (CSRF) to ready
sessions (3):
- six decisions: pure-auth-primitive row (no payload bag); wall-clock
  time.now not monotonic time.ticks (restart durability); login always
  mints a fresh id (fixation, no anon-session model); throttled last_seen
  touch at idle/20 (not a WAL write per request); Session writes
  req.principal; config refuses absolute < idle
- finding: no per-key actor pool, so NOT blocked on lang-41 (plain @table
  CRUD, same path storefront uses); the no-bag rule closes the one place
  fiber's Set(key,any)+msgp+RegisterType would have hit principle 13

csrf (4):
- five decisions: fiber's hybrid transport (session-stored CsrfToken
  @table + double-submit cookie, both must pass; no CSRF for sessionless
  apps); opt-in single-use (checkout example); double-click -> distinct
  SPENT refusal, NOT coupled to lang-41-blocked idempotency; trusted
  origin/referer/Sec-Fetch-Site second layer; refusal classes distinct in
  logs, opaque in body
- no actor pool, not blocked on lang-41

both validated against .dev/reference/fiber (v3, 3ca9a9d); exactly ZERO
language enhancement needed beyond iteration 2's random_bytes. Board synced.

(cherry picked from commit 3a4fb4215b23d2516362e2dd0acc5bec6c9aebc0)
2026-09-15 01:15:31 +02:00
..
databasev2 feat(query-corpus): iteration 9g corpus #1 — skillhost needs no new query grammar 2026-09-15 01:15:30 +02:00
language-runtime-database fix(lang41): an unadopted shard must not impersonate shard 0 2026-09-15 01:15:30 +02:00
porch docs(porch-csrf): brainstorm stories 3 (sessions) + 4 (CSRF) to ready 2026-09-15 01:15:31 +02:00
runtime-v2 feat(rt2): term.size + term.width — the wmux ladder's last runtime asks 2026-09-15 01:15:30 +02:00
wmux docs(rt2): runtime-v2 track — the runtime beyond sockets 2026-09-15 01:15:30 +02:00
00-status.md docs(porch-csrf): brainstorm stories 3 (sessions) + 4 (CSRF) to ready 2026-09-15 01:15:31 +02:00
board-views.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00