CopilotKit / CopilotKit/outpost

deploy: apps/web has no schema-drift guard and will boot against a schema the worker refuses

Open
#183 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: infrastructure roadmap roadmap: next
Dominant language
TypeScript
Stars
7
Forks
3
Avg merge
7d 16h
Merged PRs (30d)
15

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:

  1. The failure class #180 fixes — a migration recorded as applied but never effective — is not worker-specific. Web reads the same database.
  2. #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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

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.

Assessment

Tech stack
shell
Domain
databases, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.