Skip to content

docs(auth): #85 replace stale Supabase project ref with placeholder#87

Closed
TortoiseWolfe wants to merge 1 commit into
fix/docker-pin-pnpmfrom
docs/85-portable-project-refs
Closed

docs(auth): #85 replace stale Supabase project ref with placeholder#87
TortoiseWolfe wants to merge 1 commit into
fix/docker-pin-pnpmfrom
docs/85-portable-project-refs

Conversation

@TortoiseWolfe
Copy link
Copy Markdown
Owner

Summary

  • Replace 32 stale vswxgxbjodpgwfgsjrhq references in 5 docs files with <YOUR-PROJECT-REF> placeholders so fork-onboarding docs work for any forker (not just the original owner's Supabase project).
  • Matches the existing YOUR_PROJECT_REF convention already used at docs/prp-docs/archive/completed/payment-integration-prp.md:443.

Why

docs/AUTH-SETUP.md was the worst offender (28 stale refs) — it gives step-by-step Supabase setup instructions with dashboard URLs hardcoded to the original project. A fresh forker following it verbatim ends up on someone else's Supabase dashboard (404 / access denied), not their own. Every project rotation in this repo's history would have required a doc-wide ref swap; it didn't happen last time, hence issue #85's "Related" section flagged this.

Stacking note

This PR is stacked on #86 (Docker pnpm pin). It has to be — without that fix, the Docker container can't build, so commit hooks can't run, so the change physically can't land per CLAUDE.md's Docker-first rule. GitHub will auto-retarget the base to main after #86 merges.

Scope

This PR is the in-repo half of #85. The other half — repairing the Supabase project's OAuth provider config (external_google_client_id and external_github_client_id are currently literal "placeholder_*" strings, confirmed today via Management API) — is external to the repo. It requires Supabase dashboard access and rides on the operator. The full #85 closure depends on both.

Files touched

File Refs replaced
docs/AUTH-SETUP.md 28 (dashboard URLs, OAuth callback URIs, env-var examples, troubleshooting links)
docs/specs/016-user-authentication/quickstart.md 1 (env example)
docs/specs/016-user-authentication/contracts/auth-api.yaml 1 (OpenAPI server URL)
docs/specs/016-user-authentication/contracts/profile-api.yaml 1 (OpenAPI server URL)
docs/features/payment-integration.md 1 (example "Project ID" format placeholder — replaced with generic abcdefghijklmnopqrst since the surrounding text reads "alphanumeric code like ..." and a literal <YOUR-PROJECT-REF> placeholder would have read awkwardly)

Deliberately not touched: docs/specs/023-user-messaging-system/IMPLEMENTATION-STATUS.md:119 contains a stale ref inside a captured error trace from a historical incident. Rewriting it would falsify the historical record.

Test plan

  • grep -rn "vswxgxbjodpgwfgsjrhq" docs/ → only the one IMPLEMENTATION-STATUS.md hit remains (by design)
  • Spot-checked docs/AUTH-SETUP.md Prerequisites + OAuth callback table + env example for readability after substitution
  • Pre-push hooks (lint, type-check, build) all green

Refs: #85

🤖 Generated with Claude Code

The Supabase project the repo currently points at is huvitqubafsrazpjxsax,
but docs/AUTH-SETUP.md and three other docs files still referenced an
older project ref (vswxgxbjodpgwfgsjrhq, 28 instances in AUTH-SETUP.md
alone) across dashboard URLs, OAuth callback URIs, and env-var examples.

Stale refs in fork-onboarding docs are worse than just inaccurate:

- A fresh forker who follows AUTH-SETUP.md verbatim ends up on someone
  else's Supabase dashboard URL (404 or "access denied"), not their own.
- Every Supabase project rotation in this repo's history would have
  required a doc-wide ref swap (it didn't happen the last time, hence
  this issue).

Replaced all owner-specific refs with <YOUR-PROJECT-REF> placeholders.
Matches the existing YOUR_PROJECT_REF convention already used at
docs/prp-docs/archive/completed/payment-integration-prp.md:443.

Files touched (32 refs total across 5 files):
- docs/AUTH-SETUP.md (28 refs, including 5 OAuth callback URLs that
  GitHub/Google must accept for the fix in issue #85 to even land)
- docs/specs/016-user-authentication/quickstart.md (1 ref, env example)
- docs/specs/016-user-authentication/contracts/auth-api.yaml (1 ref,
  OpenAPI server URL)
- docs/specs/016-user-authentication/contracts/profile-api.yaml (1 ref,
  OpenAPI server URL)
- docs/features/payment-integration.md (1 ref, example "Project ID"
  format placeholder — replaced with generic abcdefghi… since the
  surrounding text reads "alphanumeric code like ..." and a literal
  <YOUR-PROJECT-REF> placeholder would have read awkwardly)

Deliberately not touched:
- docs/specs/023-user-messaging-system/IMPLEMENTATION-STATUS.md:119
  contains a stale ref inside a captured error trace. Rewriting it
  would falsify the historical incident record. Left as-is.

Verification:
  grep -rn "vswxgxbjodpgwfgsjrhq\|huvitqubafsrazpjxsax" docs/
  → only the one IMPLEMENTATION-STATUS.md hit remains (by design)

Scope:
This PR handles only the in-repo doc cleanup half of #85. The other
half (repairing the Supabase project's OAuth provider config — Client
IDs are currently literal "placeholder_*" strings, confirmed via
Management API) is external to the repo and requires Supabase dashboard
access. That work is in flight and will close #85 once smoke-tested.

Refs: #85

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@TortoiseWolfe
Copy link
Copy Markdown
Owner Author

Reopened as #88 against main. GitHub auto-closed this PR when the parent stacked branch (fix/docker-pin-pnpm) was deleted on the merge of #86 — a known footgun with stacked PRs and delete_branch_on_merge=true. Same commit, just rebased onto current main.

TortoiseWolfe added a commit that referenced this pull request May 14, 2026
#92)

Two small hygiene changes that lock in this session's learnings.

1. .gitignore — add `.screenshots/`. The existing `screenshots/` entry
   on line 120 didn't match the dot-prefixed variant, so .screenshots/
   has been showing up in every `git status` run for weeks. One-line
   fix.

2. CLAUDE.md — new section "CI & E2E Stability (Round 10 Lessons,
   2026-05-13)" between "Supabase Database Migrations" and "Important
   Notes", capturing:

   - NEVER merge a PR while another PR's CI is running against the
     same backend. The concurrency mutex in e2e.yml protects this
     now, but the rule still applies for any other shared backend
     introduced later.

   - NEVER bypass commit hooks. Husky + lint-staged + gitleaks catch
     real bugs; --no-verify is explicitly forbidden without user
     opt-in.

   - Programmatic `el.scrollTop = N` does NOT fire scroll events in
     WebKit reliably. The fix pattern (dispatch the scroll event
     explicitly) is now applied at 4 sites in tests/e2e/messaging/,
     and any future test code touching scrollTop should follow it.

   - Branch hygiene — delete_branch_on_merge=true, fetch --prune
     after merge, no floating unmerged branches, avoid stacked PRs
     (PR #87 auto-close footgun documented).

   - CI logs API ≠ UI. The Actions list page is misleading for
     in-progress matrix runs; use `gh run view --json` for
     authoritative state.

   Plus a small fix on the existing "Important Notes" bullet — the
   line claiming "E2E tests are local-only, not in CI pipeline"
   was stale. E2E now runs on every push and PR across 28 shards
   (chromium + firefox + webkit). Updated to reflect reality and
   point at the new CI section.

Verification:
- `git check-ignore .screenshots/` confirms it's now matched by
  the new line 121 entry
- `git status` no longer shows .screenshots/ as untracked
- Pre-commit hooks ran clean (prettier + gitleaks)

Refs: PR #89 (concurrency mutex), PR #87 (stacked-PR autoclose footgun),
      memory entries feedback_branch_hygiene.md and
      lesson_concurrent_ci_shared_backend.md

Co-authored-by: TurtleWolfe <TurtleWolfe@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants