Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
Blame · Line-by-line history

LAUNCH_TODAY.md

Each line is annotated with the commit that last touched it. Click any SHA to jump to that commit and see the surrounding change.

LAUNCH_TODAY.mdBlame89 lines · 1 contributor
988380aClaude1# Pre-launch checklist
a64e08dClaude2
988380aClaude3The platform is effectively feature-complete — BUILD_BIBLE §2 is almost entirely ✅, and blocks A–J have all shipped bar the one row called out below. This doc tracks the remaining go-live work.
a64e08dClaude4
988380aClaude5Legend: ✅ done · 🟡 in-flight · ❌ not started
a64e08dClaude6
7---
8
febd4f0Claude9## Shipped this sprint
10
11Big batches landed on `claude/build-status-update-3MXsf` (see `CHANGELOG.md` for the user-visible breakdown):
12
13- ✅ **Bulk import** — `/import/bulk` paste-a-token flow, multi-repo org migration.
14- ✅ **Migrations dashboard** — `/migrations` per-user history + verify button, backed by `src/lib/import-verify.ts`.
15- ✅ **Spec-to-PR v2 (real AI)** — `/:owner/:repo/spec` + `src/lib/spec-to-pr.ts` now runs the real Anthropic pipeline (graceful fallback if `ANTHROPIC_API_KEY` is unset).
16- ✅ **Repo collaborators + team permissions** — full collaborator model wired through permission middleware.
17- ✅ **Permission middleware** — centralised check applied to all write routes.
18- ✅ **Real-time SSE foundation** — event stream plumbed for live UI updates.
19- ✅ **Preflight CLI** — `bun run preflight` verifies env, DB, git, and required binaries before deploy.
20- ✅ **Error tracking** — `src/lib/observability.ts` wired into `app.onError` (supports `ERROR_WEBHOOK_URL` / `SENTRY_DSN`).
21- ✅ **Launch comms** — `docs/LAUNCH_ANNOUNCEMENT.md` (Show HN + tweet thread + LinkedIn + demo shot list + press kit).
22- ✅ **Demo seed** — `src/lib/demo-seed.ts` + `DEMO_SEED_ON_BOOT=1` flag in `src/index.ts`.
23- ✅ **Public status page** — `/status` HTML + `/status.svg` shields badge.
24
25---
26
988380aClaude27## Infrastructure
28
90fa787Claude29- ✅ Primary deployment target is Fly.io — `fly.toml` is in-repo (see `DEPLOY.md`). A `Dockerfile` is shipped for any other container host. Neon is the database.
988380aClaude30- ✅ Migrations run via `bun run db:migrate`; release-phase wiring documented.
31- ✅ `/healthz`, `/readyz`, `/metrics` endpoints shipped (BUILD_BIBLE §2.6).
32- ✅ Request-ID tracing on every response (`src/middleware/request-context.ts`).
33- ✅ Rate limiting on `/api/*`, `/login`, `/register` (`src/middleware/rate-limit.ts`).
34- ✅ Persistent-volume story for `/data/repos` captured in `DEPLOY.md`.
35- ✅ Bare-repo backups — filesystem snapshot responsibility documented; Neon PITR for the DB.
36- 🟡 `/metrics` shipping to Grafana / Datadog / Prometheus — endpoint exists, pipe not wired.
febd4f0Claude37- ✅ Error-tracking wiring — `src/lib/observability.ts` (supports `ERROR_WEBHOOK_URL` + `SENTRY_DSN`, hooked into `app.onError`). Secrets still need real values in Fly.
988380aClaude38
39## Content
40
41- ✅ Landing page — `src/views/landing.tsx` (`LandingPage`), mounted for logged-out `/` via `src/routes/web.tsx` (BUILD_BIBLE §7, shipped this session).
42- ✅ Legal pages — `legal/TERMS.md`, `legal/PRIVACY.md`, `legal/AUP.md`, `legal/SETUP-GUIDE.md`.
febd4f0Claude43- ✅ Demo org / sample repos — shipped via `src/lib/demo-seed.ts` + `DEMO_SEED_ON_BOOT=1` flag wired in `src/index.ts`. Opt-in on boot.
988380aClaude44- ✅ README reflects shipped feature surface (`README.md`).
90fa787Claude45- ✅ Deployment doc reflects Fly.io-first reality (`DEPLOY.md`).
988380aClaude46- ✅ GATETEST_HOOK.md documents inbound callback contract.
47
48## Operational
49
50- ✅ Autopilot ticker (`src/lib/autopilot.ts`) shipped this session. Runs mirror sync, merge-queue peek, weekly digests, advisory rescans every 5 minutes. Opt out via `AUTOPILOT_DISABLED=1`. Test coverage in `src/__tests__/autopilot.test.ts`.
51- ✅ Site admin panel (`/admin`) + bootstrap rule — oldest user becomes admin when `site_admins` is empty (BUILD_BIBLE Block F3).
52- ✅ Billing plans seeded (free/pro/team/enterprise) + quota enforcement (Block F4).
53- ✅ Audit log surfaced per-user (`/settings/audit`) and per-repo (`/:owner/:repo/settings/audit`) (Block A2).
54- ✅ Email notifications + opt-in weekly digest (Blocks A8, I7).
90fa787Claude55- ✅ Post-receive pipeline — GateTest, secret scanner, AI security review, CODEOWNERS sync, webhook fan-out (Blocks A1, D, repo defaults).
988380aClaude56- ✅ Auto-repair engine runs when `ANTHROPIC_API_KEY` is set.
57- 🟡 Monitoring / on-call rotation — `/metrics` + `/healthz` are live; alerting rules are not.
58- 🟡 Backup restore drill — never rehearsed end-to-end.
59
60## Communications
61
febd4f0Claude62- ✅ Launch announcement draft — `docs/LAUNCH_ANNOUNCEMENT.md` (Show HN + tweet thread + LinkedIn + demo shot list + press kit).
63- ✅ Status page surfaced publicly — `/status` HTML page + `/status.svg` shields badge are live. Note: the dedicated external status page (status.gluecron.com or similar) is separate downstream work; the in-app `/status` satisfies the launch bar.
64- ✅ Changelog cadence committed — `CHANGELOG.md` seeded (Keep-a-Changelog / SemVer). Cadence: update on every user-visible release.
988380aClaude65
66## Legal
67
68- ✅ Terms of Service — `legal/TERMS.md`.
69- ✅ Privacy policy — `legal/PRIVACY.md`.
70- ✅ Acceptable-use policy — `legal/AUP.md`.
71- ✅ License file — `LICENSE` in root.
72- 🟡 Legal audit — `docs/legal-audit.md` tracks outstanding items; review before launch.
73- ❌ DPA template for enterprise SSO customers (Block I10 shipped, customer paperwork did not).
a64e08dClaude74
75---
76
988380aClaude77## Go/no-go gates (the short list)
a64e08dClaude78
febd4f0Claude79**Top blocker: run `flyctl deploy`.** Code is ready; infra just hasn't been provisioned yet. See `DEPLOY_CHECKLIST.md` for the full runbook.
80
811. **Run `flyctl deploy`** — everything below is gated on this. Release command will run `bun run db:migrate` automatically.
822. Set `ERROR_WEBHOOK_URL` or `SENTRY_DSN` as a Fly secret (observability wiring is in place, just needs a real sink).
833. Smoke `/healthz`, `/readyz`, `/status` in production → all green.
844. Register → create repo → clone over HTTPS → push → GateTest posts back → webhook fires. End-to-end in prod.
855. Confirm first-admin bootstrap: oldest user in `users` becomes site admin automatically — register the intended admin first.
866. `AUTOPILOT_DISABLED` decision made explicitly (default: enabled).
877. `DEMO_SEED_ON_BOOT` decision made explicitly (default: off; flip to `1` if you want sample repos).
a64e08dClaude88
988380aClaude89Anything below these bars is non-blocking polish.