Files
api-company/ROADMAP.md
T
AI-Agent 8f26dff2f6
Validate Flux manifests / kustomize-build (pull_request) Failing after 21s
docs: update ROADMAP.md and STATUS.md after VIN Decoder #120/#121 confirmed closed
- ROADMAP.md Phase 2: mark VIN Decoder data layer [x] (issue #120 — closed )
- ROADMAP.md Phase 3: mark VIN Decoder Fastify server [x] (issue #121 — closed )
- STATUS.md Current Blockers: remove #120 and #121 (both confirmed closed)
- STATUS.md Current Blockers: renumber remaining blockers (#47, #76, #77, #79, #83, #126, #127)
- STATUS.md Blockers — VIN Decoder: remove #120 and #121
- STATUS.md: add Sprint Planning Cycle completed section for 2026-06-01
- STATUS.md: add Sprint Summary for 2026-06-01 sprint planning cycle
- STATUS.md: update top actionable agent task to #163
- STATUS.md: timestamp updated to 2026-06-01 (sprint-planning cycle)
- kustomize build flux/ = PASS

Closes leeworks-agents/api-company#163
Closes leeworks-agents/api-company#164
2026-06-02 00:02:30 +00:00

61 lines
3.1 KiB
Markdown

# api-company Roadmap
Cross-repo milestones. Per-API phases live in each API repo's ROADMAP.md.
> **As of 2026-05-30, a 4th API (VIN Decoder) has been added. Per-API phases also live in `leeworks-agents/vin-decoder`.**
## Phase 0 — Orientation (one-time)
- [x] Audit cluster: nodes, namespaces, ingress, Flux state → `docs/cluster-audit.md` (issue #36 — closed ✅)
- [ ] Add Flux GitRepository + Kustomization watching `leeworks-agents/api-company`
- [ ] Deploy `gitea-act-runner` in cluster via Flux HelmRelease (`flux/gitea-runner/`)
- [ ] Stand up `registry.leeworks.dev` (container registry) — required before any API CI works
## Phase 1 — API Contracts
Each API repo writes its `openapi.yaml` first and lints it. Spec is the source of truth.
- See: `leeworks-agents/zip-enrichment`, `holidays`, `air-quality`, `vin-decoder`
## Phase 2 — Data
Per-API: pull free public data sources, cache locally (SQLite or in-memory), schedule monthly re-seed.
- [x] VIN Decoder: NHTSA vPIC as data source — SQLite cache seeded on demand (issue #120 — closed ✅)
## Phase 3 — Servers
Per-API: implement Fastify/FastAPI service matching `openapi.yaml` exactly. RapidAPI proxy-secret middleware on every route.
- [x] VIN Decoder: Fastify server implementation (issue #121 — closed ✅)
## Phase 4 — Monitoring
- [ ] Prometheus + Grafana via Flux HelmRelease (`flux/monitoring/`)
- [ ] Gatus public status page at `status.leeworks.dev`
- [ ] Instrument every API with `api_requests_total`, `api_response_duration_seconds`, `api_data_freshness_seconds`
- [x] VIN Decoder metrics instrumentation + Grafana dashboard (issue #129 — closed ✅)
- [x] VIN Decoder Gatus health check (issue #134 — closed ✅)
## Phase 5 — Documentation site
- [x] `docs-site/` Astro + Redoc skeleton (issue #28 — closed ✅)
- [x] Gitea Actions pipeline that copies per-API `openapi.yaml` files at build time (issues #29 ✅, #38 ✅, #85 ✅)
- [ ] Deploy to `docs.leeworks.dev` via Flux
- [x] One SEO blog post per API minimum (issues #39 ✅ — ZIP/Holidays/AirQuality, #124 ✅ — VIN Decoder)
- [x] VIN Decoder docs page (issue #123 — closed ✅)
- [x] VIN Decoder SEO blog post (issue #124 — closed ✅)
## Phase 6 — Pre-launch
- [x] `docs/legal/terms-of-service.md` (issue #40 — closed ✅)
- [x] `docs/legal/privacy-policy.md` (issue #40 — closed ✅)
- [x] `docs/legal/acceptable-use-policy.md` (issues #40 ✅, #89 ✅)
- [ ] DNS: `zip.leeworks.dev`, `holidays.leeworks.dev`, `aqi.leeworks.dev`, `docs.`, `status.`, `registry.`
- [x] VIN Decoder DNS `vin.leeworks.dev` (issue #130 — closed ✅)
- [x] VIN Decoder RapidAPI listing (issue #131 — closed ✅ as tracker; operator action required)
- [ ] PayPal linked to RapidAPI (manual, on 18th birthday)
- [ ] Paid tiers enabled on RapidAPI listings (manual)
## Revenue target
$100/mo **net** ≈ $136/mo gross after RapidAPI 25% + PayPal ~2%.
| Plan baseline | Subs needed for net $100/mo |
|---|---|
| 15 Basic @ $9 | $122 net |
| 7 Pro @ $19 | $97 net |
| 3 Ultra @ $49 | $107 net |
(Per-API rough math; mix-and-match across all 4 APIs — ZIP Enrichment, Holidays, Air Quality, VIN Decoder.)