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.