Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepare independently runnable API origins for Fly → Nuremberg → Finland failover. Depends on the database optimization work in #123; production routing remains unchanged.
Fix two gaps exposed by multi-node review: clear caches again when broker subscriptions recover, and recheck webhook claim/access authority after DNS before opening an external POST. Preserve at-least-once delivery and completion fencing. Idle standbys also avoid periodic discovery transactions when they have no connected users, and explicit-chat history drops one redundant SELECT while retaining its read-only snapshot and authorization checks.
Add actual two-process V3 qualification using the real TypeScript client: process-local temporary-key replacement on a new origin, brokerless durable catch-up, revocation on both origins, survival of a separate session, and continued service after one origin drains. Add true 100-chat user-bucket replay and revocation benchmarks to cover the tuned access queries before enabling broader preparation.
Provide local-only Cloudflare pool templates, Coolify node profiles and a sanitized metadata checker. Release digests remain intentionally unbound; the checker does not certify production readiness. Existing Redis/Valkey remains optional; PostgreSQL owns durable state. Full-role nodes run jobs even before ingress, and production activation remains separate.
Validation: paired MCP artifact build, server typecheck and lint passed. Focused suites passed: 33 history tests, 29 repair tests, 24 webhook tests, 11 cache tests, 3 user-replay tests, 6 profile tests, and the two-process V3 test (21 assertions). Independent reviews covered cache/admission races, webhook ownership and routing/TLS configuration. A clean-source 20-sample matrix at nominal added RTT6 measured access→all-custom history 162.81→99.63ms, full 100-chat user replay253.67→162.73ms, and revoked replay242.59→162.33ms. Calibration was7.2–7.7ms. Per-statement probes confirmed auto5custom/5generic versus all-custom10custom/0generic; custom planning cost2.3–2.6ms versus generic reuse0.05–0.08ms in EXPLAIN observations. Small synthetic tables do not qualify production skew, CPU or tail behavior; broad preparation stays opt-in. Hosted CI passed at
8c8f90a74: complete server tests/typecheck/lint, both native architecture images and runtime smoke, and all selected integration checks. No schema, production deployment, DNS/LB or customer-worker changes.