spb/tools-spboucher-ai
Public
1# Roadmap and known gaps23## Measured state (see docs/verification.md for exact numbers and dates)4Launch target: ≥ 150 public records, ≥ 50 in-depth — exceeded (353 public, 92 in-depth at import). Remaining gaps are listed honestly below.56## Known gaps71. **Unverifiable hosts.** Several official sites block automated clients (openai.com, chatgpt.com, claude.ai, godaddy.com, tableau.com, mathworks.com, realtor.ca, moodle.org, sec.gov without UA…). They are marked *unverifiable* (soft) rather than broken; a manual quarterly check is needed.82. **Pricing pages missing** for 18 commercial records (vendor has no public pricing page or blocks bots) — tracked by validator warnings.93. **Taxonomy tension:** full-text search engines under *vector-databases*; ORMs under *web-frameworks*; object storage under *backup-recovery*. Proposed new leaves: `search-engines`, `orm-data-access`, `object-storage`.104. **Semantic search is dormant** until `AI_PROVIDER` and a key are configured on the node (adapter, embeddings column and RRF fusion are implemented and tested lexically only).115. **French interface/content**: architecture ready (English-only strings centralised in pages; schema has no locale column yet). Plan: `tool_translations(tool_id, locale, summary, description, reviewed_by)` + `/fr` routes, human-reviewed only.126. **Owner platforms** (MacLustr, AKOS, PolyLLM, SPB Git, FinData, UQO Research DB) are recorded as **private**; publishing any of them requires the owner's explicit approval in Admin (`Make public`).137. **Rate limiting** is per process; fine for one PM2 instance.148. **Logo assets**: monograms only; vendor logos would need per-vendor permission review.159. **CI**: `scripts/ci.sh` + GitHub-Actions-style workflow are provided, but spbgit has no runner; CI runs locally/on the node before each release.1617## Next milestones18| # | Milestone | Measure of done |19|---|---|---|20| 1 | Verify the ~45 soft-blocked hosts by hand; add `pricing_url` where a page exists | validator warnings ≤ 5; 0 `unchecked` |21| 2 | Taxonomy revision (3 new leaves), re-categorize ~12 records | `docs/taxonomy.md` updated; counts ≥ 5 per leaf |22| 3 | Enable embeddings with a capped budget; evaluate hybrid vs lexical on the ranking fixture (expand to 60 cases) | MRR ≥ 0.8 hybrid, cost < 1 USD/month |23| 4 | 50 additional records from owner use (Apple frameworks, Québec open-data portals, UQO teaching stack) | 400+ public, 120+ deep |24| 5 | French translations for the 92 deep records (human-reviewed) | `/fr/tools/<slug>` live for deep records |25| 6 | Public read-only JSON API with ETags (`/api/v1/tools`) | documented in README, rate-limited |26| 7 | Lighthouse budget in CI (performance ≥ 90 mobile) | report attached to verification.md |27