Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
CodeIssuesPull RequestsActionsSecurityInsightsSettings
✨ AI
More
Blame · Line-by-line history

decisions-log.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.

decisions-log.mdBlame46 lines · 1 contributor
d0bc8c2Claude1# GlueCron — Decisions Log
2
3> Append-only. Never delete entries. Each decision records what, why, and any constraints.
4
5## 2026-04-16
6
7### D001: Fly.io for hosting
8- **Decision:** Deploy on Fly.io instead of Hetzner/Render/Railway
9- **Why:** Persistent volumes for git repos, auto-migration on release, London region, simple Dockerfile deploy. Hetzner CLI was unusable. Render doesn't support persistent volumes well. Railway lacks volume persistence.
10- **Constraint:** Single server for now (shared-cpu-1x, 512MB). Scale vertically first.
11
12### D002: Bun runtime (not Node.js)
13- **Decision:** Bun for all runtime, testing, and package management
14- **Why:** 2-4x faster than Node.js, native TypeScript, built-in test runner, faster installs
15- **Constraint:** Some TypeScript strictness issues with Uint8Array (Bun uses ArrayBufferLike)
16
17### D003: Server-side rendering only (no client JS framework)
18- **Decision:** Hono JSX for all rendering, no React/Vue/Svelte client-side
19- **Why:** Fastest possible page loads, zero JS bundle, simpler architecture
20- **Constraint:** Limits interactivity. SSE provides real-time updates without full SPA.
21- **Revisit when:** User demand for rich interactions exceeds what SSR+SSE can deliver
22
23### D004: Neon PostgreSQL (serverless)
24- **Decision:** Neon for database, Drizzle ORM for schema/queries
25- **Why:** Serverless scaling, branching for dev, no connection pool management
26- **Constraint:** Cold starts on first query per session. Mitigated by connection caching.
27
28### D005: Flywheel over static rules
29- **Decision:** AI reviews learn from historical outcomes instead of static rule files
30- **Why:** Rules rot. The flywheel improves automatically as developers accept/reject suggestions.
31- **Constraint:** Needs minimum ~20 review outcomes before patterns emerge. Cold start is stateless.
32
33### D006: Free SBOM export
34- **Decision:** Ship SPDX + CycloneDX for free, no paywall
35- **Why:** GitHub gates this behind enterprise pricing. Free SBOM is a differentiator.
36- **Constraint:** Currently only parses declared dependencies, not transitive.
37
38### D007: GateTest as self-healing loop (planned)
39- **Decision:** GateTest will continuously test, auto-fix, and resubmit
40- **Why:** Zero human intervention for routine failures. The platform heals itself.
41- **Constraint:** Need to define repair boundaries — what can be auto-fixed vs what needs human review.
42
43### D008: Memory system for agent continuity
44- **Decision:** Markdown state files + enhanced CLAUDE.md session protocols
45- **Why:** Context loss across sessions causes repeated work. Memory files bridge the gap.
46- **Constraint:** Files must be kept under 500 lines each to fit in agent context windows.