diff --git a/projects/business/memory/bugs.md b/projects/business/memory/bugs.md index d461134..fc9d04c 100644 --- a/projects/business/memory/bugs.md +++ b/projects/business/memory/bugs.md @@ -1,3 +1,17 @@ +## BUG-078: Old Server Down — SMTP Relay + CI Runner Broken +- **Date:** 2026-02-19 14:09 UTC +- **Severity:** CRITICAL +- **Issue:** Old server (167.235.156.214) is completely unreachable — 100% packet loss. This server runs: + 1. **Postfix SMTP relay** with DKIM for docfast.dev — ALL signup verification and key recovery emails route through it + 2. **Forgejo Actions CI runner** — CI jobs stuck in "pending", no new images built +- **Impact:** + - New signups CANNOT receive verification emails → no new customers + - Code changes cannot be built/deployed through CI pipeline + - Commit 37386bf stuck in pending CI +- **Workaround:** Production manually updated to fb05989 image (accessibility fixes). But no email capability. +- **Fix needed:** Investor must reboot old server via Hetzner Console. Long-term: migrate SMTP to K3s cluster and CI runner to K3s. +- **Status:** OPEN — escalated to investor + ## BUG-077: Cannot Push Code — Forgejo SSH Down + Token Lacks Write Scope - **Date:** 2026-02-19 13:15 UTC - **Severity:** HIGH diff --git a/projects/business/memory/sessions.md b/projects/business/memory/sessions.md index 7a517f5..ea9ec84 100644 --- a/projects/business/memory/sessions.md +++ b/projects/business/memory/sessions.md @@ -1404,3 +1404,41 @@ **Action needed from investor:** 1. **Option A (quickest):** Log into Forgejo (git.cloonar.com) → Settings → Applications → Create token with `write:repository` scope → Update `FORGEJO_TOKEN` in `.credentials/services.env` 2. **Option B:** Register the deploy key (SSH public key from `/tmp/docfast_key.pub` on k3s-mgr) in the docfast repo's deploy keys with write access + +## Session 58 — 2026-02-19 14:09 UTC (Afternoon Session) +- **ACCESSIBILITY + SEO FIXES DEPLOYED TO PRODUCTION:** + - Frontend dev agent completed commit fb05989 with 12 bug fixes + - Deployed to staging via CI, verified, then manually set production image (CI runner down) + - Fixes verified on production: + - BUG-062 ✅ `
` now wraps all content (hero through pricing) + - BUG-063 ✅ EU heading changed from h3 to h2 + - BUG-064 ✅ All modal inputs have aria-label attributes + - BUG-065 ✅ Close buttons have aria-label="Close" + - BUG-066 ✅ Modals have aria-modal="true" + - BUG-067 ✅ Skip-to-content with id="main-content" on main + - BUG-068 ✅ Hash detection for #change-email in app.js + - BUG-057 ✅ JSON-LD Pro description matches page + - BUG-059 ✅ /docs page gets twitter:image meta + - BUG-055 ℹ️ No duplicates found (already clean) + - BUG-056 ℹ️ Sitemap already correct (sitemaps.org) + - BUG-058 ℹ️ twitter:image already present on homepage + - BUG-051/052 ALSO RESOLVED: Duplicate HTTP headers gone on production +- **CRITICAL: OLD SERVER (167.235.156.214) DOWN (BUG-078):** + - Completely unreachable — SSH timeout + - SMTP relay broken → NO signup verification emails can be sent + - Forgejo Actions CI runner was on this server → CI jobs stuck in "pending" + - Commit 37386bf (from backend agent) in repo but CI can't build it + - **New signups are BLOCKED until server is back** +- **BUG-077 STILL OPEN:** Forgejo SSH port 2222 also down +- **Support:** Zero open tickets ✅ +- **Production health:** All pods running, 2 workers healthy, DB good, ~135ms response +- **Investor Test:** + 1. Trust with money? ⚠️ No — email verification broken, can't onboard new customers + 2. Data loss on crash? ✅ No + 3. Free tier abuse? ✅ Rate limited + 4. Lost key recovery? ⚠️ No — recovery emails can't send + 5. Features match website? ✅ Yes +- **Budget:** €181.71 remaining, Revenue: €9 +- **Open bugs:** 1 CRITICAL (BUG-078 server down), 1 HIGH (BUG-077 git access) +- **Status:** NOT LAUNCH-READY — email infrastructure down. Existing customers unaffected (API works), but no new signups possible. +- **Escalation:** Investor must reboot old server via Hetzner Console. Long-term: migrate SMTP + CI to K3s cluster to eliminate single point of failure. diff --git a/projects/business/memory/state.json b/projects/business/memory/state.json index b3b1da7..0111782 100644 --- a/projects/business/memory/state.json +++ b/projects/business/memory/state.json @@ -3,7 +3,7 @@ "phaseLabel": "Build Production-Grade Product", "status": "launch-ready", "product": "DocFast \u2014 HTML/Markdown to PDF API", - "currentPriority": "Git push blocked (BUG-077). 4 code fixes prepared locally. Need Forgejo SSH or write token.", + "currentPriority": "CRITICAL: Old server down → SMTP broken (no emails) + CI runner dead. 12 accessibility/SEO bugs fixed on production. Need old server rebooted.", "ownerDirectives_PRIORITY": "Process these IN ORDER. Do not skip.", "ownerDirectives": [ "Stripe: owner has existing Stripe account from another project \u2014 use same account, just create separate Product + webhook endpoint for DocFast.", @@ -88,15 +88,19 @@ "NEVER_READ_DIRECTLY": true }, "openBugs": { - "CRITICAL": [], + "CRITICAL": [ + "BUG-078: Old server (167.235.156.214) down — SMTP relay broken (no emails) + CI runner dead" + ], "HIGH": [ "BUG-077: Forgejo SSH port 2222 down + API token lacks write:repository scope" ], "MEDIUM": [], "LOW": [], - "note": "Session 57: Git push blocked. Changes ready locally." + "note": "Session 58: 12 a11y/SEO bugs fixed on prod. Old server down breaks email + CI." }, - "blockers": [], + "blockers": [ + "Old server reboot needed (investor action) — SMTP + CI depend on it" + ], "startDate": "2026-02-14", - "sessionCount": 60 + "sessionCount": 58 } \ No newline at end of file