deploy: apps/web has no schema-drift guard and will boot against a schema the worker refuses
Maintainers usually reply within 4 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
Research direction
Start by reading the guard comment block in apps/worker/start.sh, then compare its entry point with apps/web/start.sh and the bare prisma migrate deploy. Determine whether the guard should be shared or web should be explicitly exempt; done means both services have consistent, documented drift behavior and the OUTPOST_ALLOW_SCHEMA_DRIFT release valve remains clear.
Written by the indexing model from the issue text.
Description
Follow-up from #180, which added a drift guard to apps/worker/start.sh only.
apps/web/start.sh runs a bare prisma migrate deploy against the same database with no drift check. After #180, a drifted database blocks the worker while web deploys happily and serves traffic against a schema it does not match.
Two specific consequences:
- The failure class #180 fixes — a migration recorded as applied but never effective — is not worker-specific. Web reads the same database.
- #180's repair migration asserts its own postcondition and fails loudly on a mis-shaped
SystemConfig. But if web deploys first, it applies that migration with no guard around it, so the repair window can close before the worker ever looks.
Either extract the guard into a script both services source, or state in apps/worker/start.sh why web is deliberately exempt. Note the guard is intentionally crude (any difference is fatal, with OUTPOST_ALLOW_SCHEMA_DRIFT as the release valve) — see the comment block in apps/worker/start.sh for why a cleverer classifier was removed.
- Dominant language
- TypeScript
- Stars
- 10
- Forks
- 4
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 7
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CopilotKit/outpost
-
area: docs area: security roadmap: now
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
CopilotKit/outpost#277 ·
Maintainers usually reply within 4 days
-
area: infrastructure roadmap roadmap: later
Difficulty 1/5 Under an hour Newbie friendliness 74/100
CopilotKit/outpost#179 ·
Maintainers usually reply within 4 days
-
area: ai roadmap roadmap: now
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
CopilotKit/outpost#145 ·
Maintainers usually reply within 4 days
-
area: integrations priority: low roadmap roadmap: later
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
CopilotKit/outpost#124 · 3 comments ·
Maintainers usually reply within 4 days
-
area: integrations priority: low roadmap roadmap: later
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
CopilotKit/outpost#123 · 2 comments ·
Maintainers usually reply within 4 days
All issues in CopilotKit/outpost
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug:new
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
callstackincubator/simlock#350 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
openwatersio/maritime-zones#33 ·
Maintainers usually reply within 1 day
-
Booking email verification fails for plus aliases with impersonation protection enabledPossibly taken @kankadev claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
calcom/cal.diy#30293 · 1 comment ·
Maintainers usually reply within 5 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AOSSIE-Org/DebateAI#611 ·
Maintainers usually reply within 3 days