Commit5472bea
docs(self-host): declare Gluecron self-canonical, drop GitHub-mirror framing
docs(self-host): declare Gluecron self-canonical, drop GitHub-mirror framing - CLAUDE.md: Source-of-truth section now states there is no GitHub mirror or fallback; durability is the offsite backup, a fresh host re-seeds from restore.sh. Removed the cloud-session push-to-GitHub-proxy / fall-back-to GitHub instructions. Reframed the old GitHub repo as frozen-then-deleted. - SELF_HOST.md: banner pointing to docs/CUTOVER_RUNBOOK.md; the old keep-GitHub-as-fallback guidance is superseded. - signin-v2 / pricing: corrected the inaccurate two-way-GitHub-mirror claim (mirroring is one-way pull) to one-command import. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 files changed+24−145472bea2b0a03dc567b6c9840f4b31469de1d6f7
4 changed files+24−14
ModifiedCLAUDE.md+15−12View fileUnifiedSplit
@@ -2,11 +2,14 @@
22
33AI-native code intelligence platform — git hosting, automated CI, and push-time gate enforcement.
44
5## Source of truth: Gluecron (not GitHub)
5## Source of truth: Gluecron (self-canonical, no GitHub mirror)
66
7This repository self-hosts on Gluecron itself. The canonical remote is
8`https://gluecron.com/ccantynz/Gluecron.com.git`. GitHub is a 7-day
9fallback mirror only.
7This repository self-hosts on Gluecron itself. The one canonical remote is
8`https://gluecron.com/ccantynz/Gluecron.com.git`. **Gluecron is self-canonical:
9there is no GitHub mirror or fallback.** Durability comes from the offsite
10backup (`scripts/backup-offsite.sh` → rclone), not from GitHub. A fresh host
11re-seeds from a restored backup (`scripts/restore.sh`), never from GitHub.
12(Cutover status + operator steps: `docs/CUTOVER_RUNBOOK.md`.)
1013
1114**For any AI session working in this repo:**
1215
@@ -17,14 +20,12 @@ fallback mirror only.
1720 Tools: `gluecron_create_pr`, `gluecron_merge_pr`,
1821 `gluecron_create_issue`, `gluecron_comment_pr`, etc. See
1922 `src/lib/mcp-tools.ts` for the full 15-tool surface.
20- **Cloud (web) sessions:** the clone comes from the GitHub mirror and
21 `git push` to origin goes through the GitHub proxy. To run a PR
22 through Gluecron: (1) push the feature branch to origin as usual,
23 (2) also push it to the canonical remote —
23- Push the feature branch straight to the canonical remote —
2424 `git push https://x:${GLUECRON_PAT}@gluecron.com/ccantynz/Gluecron.com.git HEAD:<branch>`
2525 (requires `gluecron.com` in the environment's network allowlist) —
26 then (3) open the PR with `gluecron_create_pr`. If gluecron.com is
27 unreachable, fall back to GitHub and say so in the session.
26 then open the PR with `gluecron_create_pr`. There is no GitHub fallback;
27 if gluecron.com is unreachable, stop and surface it rather than pushing
28 to GitHub.
2829- Do NOT call any `mcp__github__*` write tool. The settings file's
2930 `permissions.deny` already blocks them; if you encounter a deny
3031 error, switch to the equivalent `gluecron_*` tool.
@@ -51,8 +52,10 @@ git push gluecron main
5152git remote add gluecron https://x:${GLUECRON_PAT}@gluecron.com/ccantynz/Gluecron.com.git
5253```
5354
54**Do NOT use Vercel** — it has been disconnected. GitHub (`ccantynz-alt/Gluecron.com`)
55is a mirror only; pushing there does not deploy.
55**Do NOT use Vercel** — it has been disconnected. The old GitHub repo
56(`ccantynz-alt/Gluecron.com`) is being retired: frozen read-only now, deleted
57after a 30-day safety window. It is NOT a mirror and pushing there does nothing
58— use the canonical Gluecron remote only.
5659
5760## READ FIRST — every session
5861
Modifieddocs/SELF_HOST.md+7−0View fileUnifiedSplit
@@ -1,5 +1,12 @@
11# Gluecron self-host — eating our own dog food
22
3> **Status (2026-07-09): the mirror is being CUT.** Gluecron is now
4> self-canonical — no GitHub mirror, no fallback. This doc is the background
5> design; the live cutover steps (offsite backup, freeze-then-delete the
6> GitHub repo, retire `hetzner-deploy.yml`) are in **`docs/CUTOVER_RUNBOOK.md`**.
7> The old "keep GitHub as a 7-day/30-day fallback" guidance below is superseded
8> by the runbook, which sequences durability (backups) before removal.
9
310> BLOCK W. The moment Gluecron's own source code stops living on GitHub
411> and starts living on Gluecron itself.
512
Modifiedsrc/routes/pricing.tsx+1−1View fileUnifiedSplit
@@ -276,7 +276,7 @@ const PricingPage: FC<{ plans: Plan[]; loggedIn: boolean }> = ({
276276 />
277277 <FaqItem
278278 q="Can I migrate from GitHub for free?"
279 a="Yes. The migration tool is on every tier, free included. Point it at a GitHub repo URL and we mirror code, issues, PRs, and releases in one shot. No vendor lock — you can migrate back the same way."
279 a="Yes. The migration tool is on every tier, free included. Point it at a GitHub repo URL and we import code, issues, PRs, and releases in one shot. No vendor lock — you can migrate back the same way."
280280 />
281281 <FaqItem
282282 q="Does the free tier include private repos?"
Modifiedsrc/views/signin-v2.tsx+1−1View fileUnifiedSplit
@@ -145,7 +145,7 @@ export const SignInV2: FC<SignInV2Props> = (props) => {
145145 </div>
146146 <div class="si-prop-item">
147147 <span class="si-green-dot"></span>
148 <p class="si-prop-text">Continuous two-way GitHub mirror — trial for months, cut over when you're ready, leave any time.</p>
148 <p class="si-prop-text">One-command GitHub import — bring your code, issues and PRs across, cut over when you're ready, leave any time.</p>
149149 </div>
150150 </div>
151151 <div class="si-proof-footer">quality numbers published live · gluecron.com/trust</div>
152152