writeonce/docs/stories/porch
shoney.arickathil 6b820fdd5f docs(porch-routing): brainstorm story 5 (routing + response ergonomics) to ready
- five decisions: head auto-registers with opt-out (+ patch/options/all);
  request ids mirror limiter trust model with a NON-crypto source; per-route
  body_limit is a SECOND check after routing (global BODY_MAX stays the
  pre-routing ceiling, over-limit = 413); Route fields are corpus-free;
  Vary accumulates by comma-join
- key finding: story 5 has NO upstream dependency, not even iteration 2 --
  request ids are not secrets, so a non-crypto source (time.ticks+counter)
  keeps it startable today; the one porch slice buildable right now
- three story assumptions corrected: per-route limit cannot replace the
  global (body read before routing); the container-owned-move corpus fixture
  has its OWN Route (adding fields is free); Vary needs no iteration 2
- validated against .dev/reference/fiber; zero language enhancement. Board synced

(cherry picked from commit 0589a13db1f3b7c220d9d9fdc76142af6a63c390)
2026-09-15 01:15:31 +02:00
..
00-story.md docs(db2-keys): reconcile databasev2 and porch markdown with the code 2026-08-30 20:36:55 +02:00
01-store-backed-middleware.md docs(porch-store): saturation gate leg closes out porch 1 2026-09-15 01:15:30 +02:00
02-randomness-and-cookies.md docs(porch-cookies): brainstorm story 2 (randomness+cookies) to ready 2026-09-15 01:15:30 +02:00
03-sessions.md docs(porch-csrf): brainstorm stories 3 (sessions) + 4 (CSRF) to ready 2026-09-15 01:15:31 +02:00
04-csrf.md docs(porch-csrf): brainstorm stories 3 (sessions) + 4 (CSRF) to ready 2026-09-15 01:15:31 +02:00
05-routing-response-ergonomics.md docs(porch-routing): brainstorm story 5 (routing + response ergonomics) to ready 2026-09-15 01:15:31 +02:00
06-streaming-core.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00
07-sse-and-compression.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00
08-static-and-lifecycle.md docs(stories): add readiness, retire status: refine, sweep all 47 iterations 2026-08-27 16:54:45 +02:00