SnapAPI session 52: blog post + status tests (332 tests)
This commit is contained in:
parent
69abd8871a
commit
8c1826c005
2 changed files with 62 additions and 5 deletions
|
|
@ -1,5 +1,62 @@
|
|||
# SnapAPI Session Log
|
||||
|
||||
## Session 52 — 2026-03-03 18:00 CET (Blog Post + Status Route Tests)
|
||||
|
||||
**Goal:** Add SEO content (new blog post) and fill test coverage gaps (status/health routes).
|
||||
|
||||
**Health Check:**
|
||||
- Production: ✅ healthy, 5+ days uptime, 2 replicas (still v0.1.0 health endpoint / v0.5.2 code)
|
||||
- Staging: ✅ healthy, deployed 740c70f
|
||||
|
||||
**Work Done:**
|
||||
|
||||
### 1. New Blog Post: "Automating OG Image Generation" (sub-agent: snapapi-dev-3)
|
||||
- Created `public/blog/automating-og-images.html` — ~1000-word post about using screenshot APIs for dynamic OG images
|
||||
- Full SEO: JSON-LD BlogPosting schema, OG tags, Twitter cards, canonical URL
|
||||
- WCAG 2.1 AA: skip-to-content, header/main/footer landmarks
|
||||
- CTA box linking to signup/pricing
|
||||
- Updated `public/blog.html` (blog index card)
|
||||
- Updated `public/sitemap.xml` (new URL entry)
|
||||
- No redirect needed — existing `/blog/:slug` generic pattern handles it
|
||||
|
||||
### 2. Status Route Tests (sub-agent: snapapi-dev-3)
|
||||
- Created `src/routes/__tests__/status.test.ts` — 2 tests (GET /status, GET /status.html)
|
||||
|
||||
### 3. Blog Tests Updated (sub-agent: snapapi-dev-3)
|
||||
- Added 6 new tests in `blog.test.ts` for the OG images post (200 status, redirect, SEO, JSON-LD, word count, keywords)
|
||||
- Updated index/sitemap assertions
|
||||
|
||||
**Test Suite:** 332 tests passing (up from 320), 1 pre-existing skip
|
||||
|
||||
**TDD Compliance:** ✅ Tests written alongside code
|
||||
|
||||
**Git Commits:**
|
||||
- `740c70f` Add status route tests, OG images blog post, and blog tests
|
||||
|
||||
**Deployment:**
|
||||
- Built Docker image on k3s-mgr, imported to w1 (10.0.1.6) and w2 (10.0.1.7)
|
||||
- Deployed to staging, verified: health OK, blog post 301→200, status 200
|
||||
|
||||
**Notes:**
|
||||
- Claude Sonnet 4.1 not available for sub-agents (instant failure, 11ms runtime) — use default Opus
|
||||
- Worker node IPs: 10.0.1.6 (w1), 10.0.1.7 (w2) — NOT 10.0.0.x
|
||||
|
||||
**Investor Test:**
|
||||
1. Stranger trust with money? **Yes on staging**
|
||||
2. Data loss on crash? **No** (CNPG PostgreSQL)
|
||||
3. Free tier abuse? **Low** (IP-limited playground, watermarks)
|
||||
4. Key recovery? **Yes on staging**
|
||||
5. All website features work? **Yes on staging**
|
||||
|
||||
**Blockers (unchanged):**
|
||||
- Production deploy: needs investor approval (staging ahead, prod v0.5.2)
|
||||
- Stripe production webhook: needs investor
|
||||
- CI/CD: No Forgejo runner (manual docker build workaround)
|
||||
|
||||
**Assessment:** Added first content marketing asset (blog post 3/3). Test coverage continues to grow. Product is solid on staging; production gap remains the critical issue.
|
||||
|
||||
---
|
||||
|
||||
## Session 51 — 2026-03-03 15:00 CET (Browser/Screenshot Tests + Accessibility)
|
||||
|
||||
**Goal:** Cover untested critical paths (browser pool, screenshot service) + WCAG 2.1 AA accessibility audit & fix.
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"phase": "production-live",
|
||||
"version": "0.5.2-prod (missing usage dashboard+v0.6.0 fixes) / 0.7.1-staging (image 9fe59d4, 320 tests)",
|
||||
"version": "0.5.2-prod (missing usage dashboard+v0.6.0 fixes) / 0.7.2-staging (image 740c70f, 332 tests)",
|
||||
"staging": {
|
||||
"status": "running",
|
||||
"namespace": "snapapi-staging",
|
||||
"replicas": 1,
|
||||
"image": "git.cloonar.com/openclawd/snapapi:9fe59d4",
|
||||
"image": "git.cloonar.com/openclawd/snapapi:740c70f",
|
||||
"healthCheck": "passing"
|
||||
},
|
||||
"production": {
|
||||
|
|
@ -75,8 +75,8 @@
|
|||
"Sitemap updated with /pricing and /changelog (staging)",
|
||||
"Nav: Pricing link updated, Changelog added to footer (staging)",
|
||||
"WCAG 2.1 AA accessibility: header/main/footer landmarks + skip-to-content link on all 16 pages (staging)",
|
||||
"Test suite: 320 tests passing (staging) — billing, middleware, SSRF, cache, auth, keys, playground, screenshot, health, watermark, usage, SEO, blog, browser pool, screenshot service, accessibility",
|
||||
"Developer blog at /blog with 2 posts: why-screenshot-api + screenshot-api-performance (staging)",
|
||||
"Test suite: 332 tests passing (staging) — billing, middleware, SSRF, cache, auth, keys, playground, screenshot, health, watermark, usage, SEO, blog, browser pool, screenshot service, accessibility, status route",
|
||||
"Developer blog at /blog with 3 posts: why-screenshot-api, screenshot-api-performance, automating-og-images (staging)",
|
||||
"Blog: dark theme, JSON-LD BlogPosting schema, OG tags, breadcrumbs, CTA boxes (staging)",
|
||||
"Blog: clean URL 301 redirects /blog → /blog.html, /blog/:slug → /blog/:slug.html (staging)",
|
||||
"Blog link in nav and footer, sitemap updated with blog URLs (staging)"
|
||||
|
|
@ -102,6 +102,6 @@
|
|||
"priceId": "price_1T2XHpRtlDv9c8GoThHfd8kS"
|
||||
}
|
||||
},
|
||||
"lastSession": "2026-03-03T14:00:00Z",
|
||||
"lastSession": "2026-03-03T17:00:00Z",
|
||||
"codeLocation": "Forgejo repo openclawd/SnapAPI. Clone: git clone forgejo-snapapi:openclawd/SnapAPI.git"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue