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
claude/adoring-hopper-5x74bqclaude/affectionate-feynman-ykrf1hclaude/architecture-audit-design-wxprenclaude/build-status-update-3MXsfclaude/charming-meitner-mllb5rclaude/compare-gate-gluecron-s4mFQclaude/confident-faraday-tikcwbclaude/continue-work-XMTlIclaude/crontech-gluecron-deploy-7MIECclaude/crontech-platform-setup-SeKfwclaude/design-2026claude/ecstatic-ptolemy-jMdigclaude/enhance-github-integration-QNHdGclaude/fix-aa-loop-issue-PonMQclaude/fix-actions-and-processclaude/fix-desktop-errors-XqoW8claude/fix-red-workflowsclaude/fix-website-access-6FKJNclaude/gatetest-integration-hardeningclaude/github-audit-improvements-bDFr9claude/gluecron-launch-status-FoMRlclaude/hopeful-lamport-olfCTclaude/issue-to-pr-and-protectionsclaude/jolly-heisenberg-2sg1Qclaude/launch-preparation-QmTb6claude/new-session-xk1l7claude/plan-platform-architecture-kkN4yclaude/platform-analysis-roadmap-1nUGLclaude/platform-launch-assessment-8dWV8claude/polish-platform-release-AeDrUclaude/resume-previous-work-KzyLwclaude/review-crontech-handoff-qYEVqclaude/review-project-completeness-lHhS2claude/review-readme-docs-ulqPKclaude/serene-edison-rj87weclaude/setup-multi-repo-dev-BCwNQclaude/ship-fixes-and-tests-Jvz1cclaude/site-audit-competitive-pctlwgclaude/site-migration-vercel-XstpKclaude/standalone-product-repos-XHFTDcopilot/feat-smart-empty-states-keyboard-first-enhancementcopilot/feat-smart-morning-digest-review-context-restorecopilot/fix-and-process-workflowscopilot/update-ai-powered-code-reviewfeat/debt-mapfeat/push-policy-codeowners-hardeningfeat/smart-digest-contextfeat/stage-impactfeat/t1-secret-migrationfeat/u-polishfeat/w-self-hostfeat/w2-claude-configfix/agent-journey-orphan-sweepgatetest/auto-fix-1776586424172gatetest/auto-fix-1776586534814gatetest/auto-fix-1776590685143gatetest/auto-fix-1776590808199mainops/redeploy-retriggerstyle/dxt-cta-themeworktree-agent-a3377aad30d55da26worktree-agent-a7ef607b7ee1d6c74
ROADMAP.md12.1 KB · 229 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# Gluecron Roadmap & Checklist

**Living document. Last updated: 2026-05-17. Edit as items move.**

This is the single source of truth for what's done, what's in flight, what's
critical for the next demo, and what's queued for after. If it's not on this
list, it's either not real or not committed to. Update it every time we
ship something or learn something new.

---

## 🚨 BLOCKING — must do before tomorrow's onboarding

These take ~10 minutes total. Without them the demo doesn't show what gluecron actually is.

- [ ] **SSH to Hetzner box, edit `/etc/gluecron.env`, add:**
  - [ ] `ANTHROPIC_API_KEY=sk-ant-...` (from console.anthropic.com)
    - Without this: AI PR review, AI incident responder, AI commit messages, AI auto-merge, AI spec-to-PR are ALL silent no-ops. The entire "AI-native git host" pitch is dark.
  - [ ] `EMAIL_PROVIDER=resend`
  - [ ] `RESEND_API_KEY=re_...` (from resend.com — free tier covers thousands of emails)
  - [ ] `EMAIL_FROM=noreply@gluecron.com` (or whatever domain you have set up)
  - [ ] `GATETEST_API_KEY=...` (so push-time security scans actually run instead of silent no-op)
  - [ ] `DEPLOY_EVENT_TOKEN=$(openssl rand -hex 32)` (also add the SAME value to GitHub repo Settings → Secrets → Actions)
  - [ ] `SELF_HOST_REPO=ccantynz-alt/Gluecron.com` (fixes the "platform repo not found" warn)
- [ ] `systemctl restart gluecron` to pick up the env vars
- [ ] Open `/admin/health` — confirm everything turns green/non-red

- [ ] **Configure social sign-in (optional but valuable):**
  - [ ] `/admin/google-oauth` — paste Google OAuth Client ID + Secret
  - [ ] `/admin/github-oauth` — paste GitHub OAuth Client ID + Secret

- [ ] **Dry-run the demo in incognito:**
  - [ ] Sign up as a fake user
  - [ ] Verify the auto-verify fallback works (no email needed)
  - [ ] Create a repo
  - [ ] Push some code (use a small public repo)
  - [ ] File an issue labelled `ai:build` — confirm autopilot picks it up
  - [ ] Open a PR — confirm AI review fires (now that ANTHROPIC_API_KEY is set)
  - [ ] Merge the PR

---

## 🟡 IN FLIGHT — finishing now

- [ ] **4 polish agents still running:**
  - [ ] Agent J — `/help` page polish
  - [ ] Agent K — marketing pages (`/features`, `/about`, `/vs-github`)
  - [ ] Agent L — `/settings/tokens` (PAT creation)
  - [ ] Agent M — `/:owner/:repo/compare` (branch compare for new PRs)
- [ ] **Agent N (repo settings)** committed `c14f275` to worktree — cherry-pick onto main with the others when batch completes

---

## ✅ DONE this session (commits already on main)

### Reliability sweep (Phase 1)
- [x] AA reload loop killed (PWA ripped out, kill-switch shipped) — `d7ba05d`, `44fe49b`, `904927d`
- [x] Hetzner deploy git-remote URL fixed (was 404'ing 17h) — `ec16b67`
- [x] Minimum-viable Hetzner script with `set -x` tracing — `d8b9606`
- [x] Migration step re-added to deploy — `a358c63`
- [x] AUDIT.md + AUDIT-v2.md produced (4-agent + 5-agent audits)
- [x] Silent failure sweep across 18 files — `a28cede`
- [x] `/admin/health` + JSON endpoint + autopilot/deploy/queue/crontech checks — `115c66b`
- [x] AI incident responder for platform deploy failures — `89a0761`
- [x] Deploy paths unified (`scripts/self-deploy.sh` is canonical) — `ff4423b`
- [x] `/admin/diagnose` auto-merge check uses SELF_HOST_REPO — `a3b6378`

### Polish — marketing surfaces (Phase 2.1)
- [x] Web fonts (Inter + Inter Tight + JetBrains Mono) — `3a5755e`
- [x] Animated hero blobs + bigger headline — `3a5755e`
- [x] Pricing: "One subscription. Replaces three on GitHub." + bundle-math card — `13ac035`
- [x] Login + Register premium gateway feel — `98f45b4`
- [x] Global page entrance animation + accent focus rings — `ed6e438`

### Polish — auth + dashboard (Phase 2.2)
- [x] Real Sign in with Google (`/admin/google-oauth` + login button + tests) — `582cdac`
- [x] Dashboard: greeting eyebrow + gradient title + animated orb — `a004c46`

### Polish — app-level surfaces (parallel batch 1)
- [x] Repo home page (`/:owner/:repo`) — `544d842`
- [x] Issues UI (list + detail, AI-comment treatment) — `f7ad7b8`
- [x] Pull requests UI (list + detail, gate-status + merge card) — `b078860`
- [x] User settings (8 section cards + danger zone) — `98eb360`

### Polish — onboarding surfaces (parallel batch 2)
- [x] Code browse (file viewer + commit detail + new repo + profile + per-repo search) — `efb11c5`
- [x] Notifications page (hero + filter pills + AI-row treatment) — `fd8be1f`
- [x] Import flow (`/import` + `/import/bulk`) — `7a99d47`
- [x] Discovery (`/explore` + `/search`) — `283fbc2`
- [x] Admin panel (hero + stat cards + 11-tile action grid) — `07f4b70`

**Cumulative this session: 20+ commits on main. 2011/2011 tests pass. TypeScript clean.**

---

## 🟢 SHOULD ship tonight if time (high leverage, low risk)

- [ ] **Build `/admin/integrations` page** — env vars via UI instead of SSH'ing to the box. ~1.5 hrs.
  - DB-stored config (encrypted secret column)
  - `getConfigValue(key)` helper that checks DB first, env var fallback
  - Site-admin gated form for ANTHROPIC_API_KEY, RESEND_API_KEY, GATETEST_URL+KEY, CRONTECH_DEPLOY_URL+SECRET, DEPLOY_EVENT_TOKEN
  - Audit log every change
  - Demo moment: paste ANTHROPIC_API_KEY in admin UI → watch AI features turn green on `/admin/health` live
- [ ] **Sub-30s deploys for code changes:**
  - [ ] Lockfile-hash cached `bun install` (skip when bun.lock unchanged) — ~10 min
  - [ ] Migration skip when no new `drizzle/*.sql` files — ~10 min
  - [ ] CSS-only fast path (if diff is only in `src/views/`, skip migrations + smoke) — ~15 min

---

## 📋 KNOWN BUGS (from AUDIT-v2.md P1 list — not yet fixed)

- [ ] Repo-scoped routes 500 instead of 404 on missing record (issues, pulls, packages, releases, security, symbols, sponsors) — each needs a try/catch
- [ ] No DB-blip resilience middleware — every page blocks 5-15s on a sick DB
- [ ] No Fly rollback path (Hetzner has one, Fly doesn't)
- [ ] Workflow log truncation has no UX warning
- [ ] Dead schema: `pr_risk_scores` table never written to
- [ ] Dead code: `scripts/deploy-crontech.sh` not invoked
- [ ] `/admin/sso`, `/admin/github-oauth`, `/admin/mirrors/sync-all` use middleware `requireAuth` but rely on inline `isSiteAdmin()` — inconsistent pattern, not insecure
- [ ] Documentation drift: BUILD_BIBLE.md (4500 lines) and CLAUDE.md both contain claims that don't match code

---

## 🎨 SURFACES still unpolished (post-tomorrow polish queue)

### Repo-scoped features
- [ ] `DiffView` component itself (used inside polished commit + PR pages — only surrounding card is polished)
- [ ] Releases (`releases.tsx`)
- [ ] Contributors / Insights (`contributors.tsx`, `insights.tsx`)
- [ ] Traffic analytics (`traffic.tsx`)
- [ ] Dependencies (`deps.tsx`)
- [ ] Security advisories / code scanning (`advisories.tsx`, `code-scanning.tsx`)
- [ ] Symbols / xref nav (`symbols.tsx`)
- [ ] AI features pages (`ask.tsx`, `ai-changelog.tsx`, `ai-explain.tsx`, `ai-tests.tsx`)
- [ ] Workflows / Actions (`workflows.tsx`)
- [ ] Gates / branch protection / rulesets / required checks / protected tags (`gates.tsx`, `rulesets.tsx`, `required-checks.tsx`, `protected-tags.tsx`)
- [ ] Environments + Deployments (`environments.tsx`, `deployments.tsx`)
- [ ] Webhooks (`webhooks.tsx`)
- [ ] Web file editor (`editor.tsx`)

### Settings sub-pages
- [ ] 2FA setup (`settings-2fa.tsx`)
- [ ] Passkeys (`passkeys.tsx`)
- [ ] Developer apps / OAuth apps (`developer-apps.tsx`)
- [ ] Audit log (`audit.tsx`)
- [ ] Sponsors (`sponsors.tsx`)
- [ ] Saved replies (`saved-replies.tsx`)
- [ ] Marketplace (`marketplace.tsx`)
- [ ] Workflow secrets (`workflow-secrets.tsx`)
- [ ] Signing keys (`signing-keys.tsx`)

### Specialized routes
- [ ] Orgs (new, view, members, teams) — `orgs.tsx`, `org-insights.tsx`
- [ ] Wiki pages — `wikis.tsx`
- [ ] Discussions / forums — `discussions.tsx`
- [ ] Project boards / kanban — `projects.tsx`
- [ ] Gists — `gists.tsx`
- [ ] Packages — `packages.tsx`
- [ ] Playground (`/play` — anonymous try-it) — `playground.tsx`
- [ ] Demo (`/demo` — live demo with tiles) — `demo.tsx`

### Admin sub-pages
- [ ] `/admin/ops` (Operations console) — `admin-ops.tsx`
- [ ] `/admin/deploys` (deploy timeline) — `admin-deploys-page.tsx`
- [ ] `/admin/status` (synthetic monitor) — `admin-status.tsx`
- [ ] `/admin/self-host` (self-host config) — `admin-self-host.tsx`
- [ ] `/admin/sso` (Enterprise SSO config) — `sso.tsx`
- [ ] `/admin/github-oauth` (already styled — minor polish only)

### Cross-cutting
- [ ] Loading skeletons (`skeleton.tsx` exists, not used everywhere)
- [ ] Empty states across niche routes
- [ ] Error pages 404 / 500 / 403 (`error-page.tsx`)
- [ ] Mobile responsive audit pass — ALL polished surfaces work on mobile but haven't been audited

---

## 🧪 UNTESTED categories

- [ ] **E2E browser flows** — no real-browser test runner wired (chromium download blocked in this Anthropic container)
- [ ] **Mobile responsive on real devices** — works on Chrome DevTools mobile sim, no physical device test
- [ ] **Accessibility (axe / Lighthouse)** — needs browser
- [ ] **Load test (k6 / locust)** — needs live infra hammering
- [ ] **Real security pentest** — GateTest configured but API key not set, scans silently no-op
- [ ] **Cross-browser** (Safari, Firefox, Edge) — one container, one engine

---

## 🚀 "LIGHTNING YEARS AHEAD" roadmap (post-onboarding)

Ordered by **leverage per hour**. The first 3 are the differentiators that competitors don't have.

### Tier 1 — true product differentiators
1. [ ] **GateTest aggregation platform** — extend GateTest to be the unified scan-results surface. Playwright (E2E), k6 (load), axe (a11y), and the existing GateTest static scanner all POST results to the same `/api/v1/gate-runs` endpoint. One UI shows everything. Genuinely new product positioning. **~3-4 hrs.**
2. [ ] **Multi-agent CI on every PR** — code reviewer (exists), security reviewer (new), QA agent that tries to break the PR (new), all run in parallel. Surfaces three independent AI perspectives. **~4-6 hrs.**
3. [ ] **AI proactive monitoring** — hourly autopilot task that reads recent logs + audit_log via Claude and opens issues like "I noticed memory growth on workflow-runner". Goes from reactive to proactive. **~3-4 hrs.**

### Tier 2 — speed + polish wins
4. [ ] **Sub-30s deploys** (already partially listed under "Should ship tonight")
5. [ ] **Mobile responsive pass** — design audit + fix across all polished surfaces. **~3-4 hrs.**
6. [ ] **`DiffView` component rebuild** — the diff renderer used in commit/PR pages. Currently plain. Make it Vercel-quality. **~2-3 hrs.**

### Tier 3 — new capabilities
7. [ ] **Realtime collaboration on issues/PRs** — multiple users editing same draft simultaneously. SSE infra exists, needs the merge layer. **~6-8 hrs.**
8. [ ] **Visual workflow editor** — DAG editor for `.gluecron/workflows/*.yml` instead of YAML. **~10-15 hrs.**
9. [ ] **Time-travel state explorer** — replay any past state of an issue/PR/repo. Differentiation nobody has. **~10-15 hrs.**
10. [ ] **Self-host one-click installer** — `curl gluecron.com/install-server | bash` for a full gluecron on any Linux box in 60s. **~6-8 hrs.**

### Tier 4 — infrastructure / enterprise
11. [ ] **Edge-network deploy** — Cloudflare Workers in front of Hetzner. Sub-100ms anywhere on earth.
12. [ ] **Comprehensive API docs site** — `/api-docs` exists but plain. Should be Stripe-quality.
13. [ ] **Localization** — English-only today.
14. [ ] **SOC2 compliance path** — for enterprise customers.
15. [ ] **Mobile PWA done right** — properly architected this time (not the broken one we ripped out).

---

## 📊 Latest commits on main (auto-updated, top of `git log`)

Run `git log --oneline -15` to see what's actually shipped. The HEAD SHA the live server is running can be confirmed at `https://gluecron.com/version`.

---

## How to update this file

- Move items between sections as they ship / change priority
- Don't delete items — strike them through or move to a "shipped" log
- Update the date at top whenever you edit
- Commit the change so it persists for everyone (future you, future Claude, anyone else looking at the repo)