Crawler-Factory
Wiki/Constraints.md
Constraints — Crawler Factory
Last updated: 2026-05-03
Non-goals (explicit)
These are things Crawler Factory will never do in Phase 1. Revisit only with an explicit decision.
- Not a general-purpose crawler UI: Crawler Factory creates N crawlers per site, all domain-scoped. It does not replace Algolia's native single-crawler creation flow for arbitrary use cases.
- Not a data transformation layer: The factory creates crawlers and indices. Normalization, enrichment, and transformation are handled by Layer 1 siblings (Transformer, Enrichment) — not this tool.
- Not a user-facing search interface: The factory builds the data infrastructure. Algolia NeuralSearch + Agent Studio sit on top.
- Not a standalone SaaS product: Crawler Factory is embedded in the Algolia Central admin shell at
/admin/factory. It is not a separately deployable app. - No CMS connectors beyond web: Phase 1 is web-only. Future connectors (CMS, KB, video, code) are F1–F4 in [Architecture/Future Extensions].
- No multi-tenant orchestration in Phase 1: Multi-brand corporates (LVMH pattern — multiple sites, shared factory) are 06-Multi-Tenant.md scope, not Phase 1.
- No Heygen / video pipeline: That is Demo Factory (Video-Editing project).
Technical limits
- SSE buffering in dev: Vite SSE buffering causes all URLs to arrive at once in development. Real-time streaming only works on Vercel (production). Known issue KI-003.
- No auth on factory endpoints: API routes currently unprotected. Authentication is Phase 2. Known issue KI-004.
- LLM for extractor generation: The
extractor-generator.tsmodule requires an LLM call (MiniMax vialib/llm/). If the LLM is unavailable, extractor generation fails — no fallback template today. - Algolia Crawler API coverage: Pause/Resume primitives depend on Algolia Crawler API support (OQ-4 — open). If API doesn't expose these, we track state ourselves.
- Domain verification: First-crawler creation may require manual domain verification via Algolia dashboard if the API doesn't expose this step (OQ-1 — open).
Known gaps (not bugs)
- neuralSearch cold-start: Newly-created indices may not immediately support NeuralSearch enablement. Timing unclear (OQ-2 — open).
- Health + Community DSS rows: Two content domain types (Health, Community) deferred until empirical evidence emerges (OQ-5, OQ-6).
- Factory workspace sub-crawler management view: Factory workspace shows placeholder pages for Configurator and Monitor. Full management view pending (UI-003, S4).
Dependencies we cannot control
| Dependency | What we rely on | Risk if it changes |
|---|---|---|
| Algolia Crawler REST API | Create crawlers, test with crawl_urls, monitor progress | If API changes, crawler-client.ts breaks |
| Algolia Search API | Create per-domain indices | If index-creation API changes, index-manager.ts breaks |
| MiniMax LLM via lib/llm/ | recordExtractor generation | If LLM provider changes or quota exceeded, extractor generation fails |
| Playwright | WAF stealth fetch | Playwright updates can break stealth fingerprinting |
| Algolia meta-index schema | Session state persistence | Schema changes require migration |