feat(web): add mw.RequestIDFrom (resolver sees the request); dependency refresh; v1.4.0

This commit is contained in:
2026-08-12 15:27:32 -06:00
parent 929fafcfa5
commit 80b28dfcc4
8 changed files with 202 additions and 39 deletions
+1
View File
@@ -19,3 +19,4 @@ Decisions worth noting (not ADR-worthy individually):
| UUID v7 for request IDs | v7 with v4 fallback | Time-ordered IDs sort chronologically in logs; fallback ensures generation never fails |
| `observability.Checkable` not redefined | Imported from contracts | Starters implement contracts directly; no web import needed by db/cache starters |
| Background goroutine for in-memory eviction | `time.Ticker` goroutine | Avoids `worker` module dependency; in-memory store is self-contained |
| `mw.RequestIDFrom` resolver sees the request (v1.4.0) | New entry point takes `func(*http.Request) string`; `RequestID` becomes a request-ignoring wrapper over it | An inbound correlation id must be able to survive this boundary, but acceptability is per-service — a typed audit column rejects what an opaque log accepts. The framework provides plumbing only (context + header, once per request); the app owns policy (which header, validation, generation fallback). An empty resolver result attaches nothing rather than a silently-empty value |