← ClaudeAtlas

mir-backend-go-fiberlisted

Make It Right (Fiber module). Fiber web framework reliability augmentation for Go backends, covering Fiber v3 (current) and v2 (still patched). Chains: mir-backend (generic gates) -> mir-backend-go (Go runtime) -> this (Fiber library mechanics). Adds the mechanical footguns the runtime-agnostic tiers omit: fiber.Ctx and every value read from it (Body, Params, Query, Headers) are pooled and reused after the handler returns, so retaining them corrupts or discloses another request's data; the v2->v3 API rewrite that AI mixes up (Ctx is now an interface, BodyParser became c.Bind().Body(), c.Context() returns a context.Context, TrustedProxies became TrustProxyConfig); c.Bind() silently skips validation when fiber.Config.StructValidator is nil; fasthttp's incompatibility with net/http middleware; and graceful shutdown via ListenConfig.GracefulContext or app.ShutdownWithContext, which hangs on keep-alive connections when ReadTimeout is 0. TRIGGER only when the Go backend uses the Fiber framework - building, reviewin
anantbhandarkar/make-it-right · ★ 15 · AI & Automation · score 81
Install: claude install-skill anantbhandarkar/make-it-right
# /mir-backend-go-fiber · Make It Right (Fiber) Bottom tier of the chain: `mir-backend` (generic gates) → `mir-backend-go` (Go runtime model) → **this** (Fiber library mechanics). Run the gates first; load the Go runtime tier for goroutine lifecycle, context propagation, and race discipline; reach for *this* at Gate 5 (design mechanics), Gate 6 (implementation), and Gate 7 review. **Runtime-level concerns (goroutine leaks, data races, context propagation, typed-nil, slice aliasing, `os.Root`, module checksums) live in `mir-backend-go` — not here.** **Stack state, verified 13 Aug 2026.** | Line | Current | Notes | |---|---|---| | **v3** (`github.com/gofiber/fiber/v3`) | v3.4.0 (2026-07-02); v3.0.0 GA 2026-02-02 | Current major. `go.mod` requires Go 1.25. `fiber migrate --to v3` assists the port | | **v2** (`github.com/gofiber/fiber/v2`) | v2.52.15 (2026-08-12) | Still receiving security patches. Different handler signature and binding API | **Establish which major the project is on before writing a line.** The two have different handler signatures, a different binding API, and different config field names — code written for one does not compile against the other, and AI mixes them constantly (footgun 2). Fiber is built on `fasthttp`, not on `net/http`. That is the root of most Fiber-specific footguns. ## The Fiber footguns AI walks into most ### 1. `fiber.Ctx` and every value read from it are pooled — retaining them is data corruption This is Fiber's defining hazard, a