Architectural Invariant Design: Bun 1.2 Native Cluster SO_REUSEPORT Socket Handoff Guardrail
Bun 1.2 Native Cluster SO_REUSEPORT Socket Handoff Guardrail defines an industrial-grade behavioral standard for backend engineering. Enforces Linux kernel-level SO_REUSEPORT socket sharing and non-destructive connection draining in Bun 1.2+ multi-process deployments. Mandates pre-spawn worker binding and graceful TCP socket migration using server.stop(false) to achieve zero-downtime rolling restarts without connection drops or EADDRINUSE collisions. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.
Hazard Analysis: What Breaks Without This Rule
The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:
| Failure Mode | AI Symptom (The Anti-Pattern) | Severity | Production Impact & Remedy |
|---|---|---|---|
| AI Hallucination & Deprecation Drift | Hard Process Termination and Missing SO_REUSEPORT Causing Port Binding Collisions and TCP Connection Resets | Critical | Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production. Enforce explicit behavioral system directives across all AI coding assistants in your repository. |
| Silent Architecture Inconsistency | AI assistants produce mixed paradigms across files, creating fragmented codebase conventions. | Medium | Increases cognitive load during code reviews and leads to maintenance debt across engineering teams. Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails. |
Step-by-Step Production Directives
Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:
Engineers MUST ALWAYS configure `reusePort
Engineers MUST ALWAYS configure `reusePort: true` inside `Bun.serve` options when spawning multiple instances binding to the same network interface and port.
Engineers MUST NOT call `server.stop()` with `closeActiveConnections
Engineers MUST NOT call `server.stop()` with `closeActiveConnections: true` (or `server.stop(true)`) during rolling deploys or graceful recycles, as this sends TCP RST/abruptly severs active streams.
Code MUST handle SIGTERM and SIGINT by first unbinding the listening socket with `server.stop(false)`, allowing the kernel to stop routing new SYN packets while in-flight requests complete.
Code MUST handle SIGTERM and SIGINT by first unbinding the listening socket with `server.stop(false)`, allowing the kernel to stop routing new SYN packets while in-flight requests complete.
Services MUST enforce an explicit drain timeout deadline (e.g., 10-30 seconds) using `setTimeout` to forcefully call `process.exit(0)` if stubborn client connections fail to terminate cleanly.
Services MUST enforce an explicit drain timeout deadline (e.g., 10-30 seconds) using `setTimeout` to forcefully call `process.exit(0)` if stubborn client connections fail to terminate cleanly.
Clustering supervisors MUST spawn and verify the health check of replacement Bun child processes BEFORE issuing SIGTERM to legacy worker processes to prevent empty accept queues.
Clustering supervisors MUST spawn and verify the health check of replacement Bun child processes BEFORE issuing SIGTERM to legacy worker processes to prevent empty accept queues.
Components NEVER rely on traditional Node.js IPC file descriptor passing when running on Bun 1.2+
Components NEVER rely on traditional Node.js IPC file descriptor passing when running on Bun 1.2+; native kernel `SO_REUSEPORT` socket distribution must be utilized instead.
Frequently Asked Technical Questions
Common questions developers face when configuring AI coding assistants for this stack:
Q:Why is Bun 1.2 Native Cluster SO_REUSEPORT Socket Handoff Guardrail critical for AI coding assistants?
Enforces Linux kernel-level SO_REUSEPORT socket sharing and non-destructive connection draining in Bun 1.2+ multi-process deployments. Mandates pre-spawn worker binding and graceful TCP socket migration using server.stop(false) to achieve zero-downtime rolling restarts without connection drops or EADDRINUSE collisions. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.
Q:How does adopting this rule prevent AI hallucinations?
This rule explicitly declares what the AI must avoid (Hard Process Termination and Missing SO_REUSEPORT Causing Port Binding Collisions and TCP Connection Resets) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.
Q:Which AI coding environments are supported?
This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).
Q:Can I combine this rule with other technology stacks?
Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.