Why
Most “CareerOps is broken” reports from self-hosters are config: schema not applied, RLS denying the anon key, or edge functions not deployed. Today that knowledge is scattered across web/README.md, web/SCHEMA.md, and supabase/README.md.
Size
S — one focused troubleshooting doc.
Task
Add docs/TROUBLESHOOTING.md (or a section under web/README.md) covering:
- Blank / Configure wall —
config.js missing or still placeholder URL/key
- PostgREST / missing relation — forgot
supabase/schema.sql or migrations
- Rows won’t save — RLS / wrong project / signed-out
- Search / match / rewrite fail — which edge functions are optional vs needed (web/README Edge functions table)
- Google OAuth “not enabled” — expected until provider is configured
Link web/SCHEMA.md, supabase/README.md, and the demo at careerops.telivity.app as a reference — not as a place to steal credentials.
Acceptance
Out of scope
Changing runtime error UX (nice follow-up issue if you want it).
Why
Most “CareerOps is broken” reports from self-hosters are config: schema not applied, RLS denying the anon key, or edge functions not deployed. Today that knowledge is scattered across
web/README.md,web/SCHEMA.md, andsupabase/README.md.Size
S — one focused troubleshooting doc.
Task
Add
docs/TROUBLESHOOTING.md(or a section underweb/README.md) covering:config.jsmissing or still placeholder URL/keysupabase/schema.sqlor migrationsLink
web/SCHEMA.md,supabase/README.md, and the demo at careerops.telivity.app as a reference — not as a place to steal credentials.Acceptance
web/config.js; never reuse Telivity demo keysdocs/README.mdOut of scope
Changing runtime error UX (nice follow-up issue if you want it).