chore: merge prod into staging to clear PR #1304 conflicts#1308
Merged
Conversation
release: to prod
release: to prod
release: to prod
release: to prod
release: deploy staging to prod
release: to prod
release: to prod
release: deploy staging to prod
release: fix drizzle migration timestamps and deploy to prod
release: consolidate prod deploy config with OAUTH_JWT_SECRET
fix: patch MCP Accept header for clients that omit text/event-stream
fix: mark reconstructed MCP sessions as initialized
release: to prod
release: To Prod
release: To Prod
release: to prod
release: To Prod
release: to prod
release: To Prod
release: to prod
release: to prod
release: to prod
release: staging to prod
release: to prod
release: staging to prod
release: to prod
release: to prod
release: to prod
release: to prod
release: to prod
release: to prod
release: to prod
release: to prod
release: to prod
release: To Prod
release: to prod - 20260512
release: to prod
release: to prod
release: To Prod
release: To Prod
release: to prod
release: to prod
release: to prod
Post-incident additive index migration. Adds an index on workflow_execution_logs(started_at) to close the seq-scan path used by the per-org gas-usage analytics query that caused the 2026-05-05 RDS CPU incident, plus the 11 missing FK indexes Postgres does not auto-create. Migration uses plain CREATE INDEX IF NOT EXISTS. On dev / PR-env DBs the tables are small / empty so drizzle-kit migrate creates them inline without user-visible impact. On real staging / prod the same indexes must be applied as CREATE INDEX CONCURRENTLY BEFORE merge - plain CREATE INDEX would take an ACCESS EXCLUSIVE lock on workflow_execution_logs (1.9 GB on prod) for the duration of the build, which is the multi-minute lock this PR exists to avoid. Enforcement of that pre-step is a new merge gate: - New workflow .github/workflows/db-prep-check.yml inspects each newly- added drizzle/*.sql for the directive `-- @requires-db-prep` near the top. If present, it requires the `db-prepped-<base-branch>` label on the PR before reporting success. - New labels db-prepped-staging and db-prepped-prod (green) are flipped by the operator after they apply the indexes to the real target DB. - The existing branch-protection ruleset for staging / prod / main has db-prep-check added as a required status check, so a missing label blocks merge at the branch-protection level - not by runbook trust. Indexes are declared in lib/db/schema.ts and lib/db/schema-extensions.ts via index() helpers so future drizzle-kit generate runs do not see them as drift. Composite (status, started_at DESC) on workflow_executions and an FK index on para_wallets are intentionally NOT included; see PR description and Linear KEEP-432 for the reasoning.
perf(db): KEEP-432 cherry-pick db-indexes migration to prod
release: to prod
release: to prod
Co-authored-by: nick <nickkounz@gmail.com>
Resolves CONFLICTING state on staging->prod release PR #1304. The two conflicting files (lib/errors/classify.ts and its test) had staging additions that are strict supersets of prod's version (newer classifier rules for token transfer/approval, ABI lookup, HTTP status, DATABASE_URL, Para session). Taking staging's version preserves those rules; the merge contributes no other tree changes since prod's hotfixes had already landed on staging via independent paths.
🧹 PR Environment Cleaned UpThe PR environment has been successfully deleted. Deleted Resources:
All resources have been cleaned up and will no longer incur costs. |
ℹ️ No PR Environment to Clean UpNo PR environment was found for this PR. This is expected if:
|
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.
Summary
prodintostagingto resolve the CONFLICTING state on the staging->prod release PR release: to prod #1304.lib/errors/classify.tsand its test). Staging's version is a strict superset of prod's (added classifier rules for token transfer/approval, ABI function lookup, generic HTTP status,DATABASE_URL, Para session expiry, etc.). Staging's version is kept; no prod rules are lost.Once this lands on staging, PR #1304 will fast-forward cleanly.