Direct Python workflow
A workbench first, agent later.
The current system performs live public-data fetching and deterministic analysis. It deliberately avoids claiming full autonomy until planning, self-checking, and iterative refinement are implemented and benchmarked.
Deployment shape
Frontend runs on Vercel as a Next.js app. Backend runs as a separate FastAPI Vercel project. The frontend server route proxies research requests to `FASTAPI_BASE_URL` and falls back to labeled Demo Mode if the backend is absent.
Safety envelope
Fetches block localhost, private IPs, link-local, reserved, and multicast targets. Each connector applies timeout, max size, row cap, and content-type validation before parsing.
Data handling
Raw fetched data is never overwritten. Cleaning is conservative and logged. V1 stores runs in memory, so backend restarts can clear run history.
V2 path
OpenClaw orchestration, queueing, database history, observability, and benchmark dashboards are future adapters once the direct workflow stays reliable.
Workflow stages
Capture
Question, connector, and one or more public source URLs.
Fetch
FastAPI validates public targets, blocks private networks, checks content type, and applies timeout/size limits.
Validate
Parsed rows are checked for empty or unsupported data before analysis starts.
Analyze
Python computes numeric statistics, missing values, category distributions, date trends, correlations, outliers, and source comparison.
Summarize
Ollama or 9Router can summarize locally; template fallback keeps the run usable without model services.
Present
The web app shows provenance, confidence, charts, table preview, limitations, and export links.