Localhost-first MVP for turning messy business inputs into reviewed tasks, risks, follow-up drafts, owner summaries, and exports.
apps/api FastAPI + SQLite backend
apps/web Vite React frontend
data Local SQLite database and upload storage
packages Prompt seeds and shared project assets
specs Implementation notes derived from the spec kit
cd apps/api
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000cd apps/web
npm install
npm run devcd apps/api && pytest
cd apps/web && npm run buildThe app supports two analysis runtimes:
deterministic: local Python analyzer, no network or credentials.openai: OpenAI Agents SDK analyzer with schema-bound output.
Runtime selection is controlled by environment:
ACTIONINBOX_ANALYZER_MODE=auto # auto | deterministic | openai
ACTIONINBOX_OPENAI_MODEL=gpt-5.4-mini # optional model overrideauto uses the OpenAI analyzer only when runtime credentials are already present in the process environment; otherwise it falls back to deterministic analysis and records a warning. No secrets are stored by the app.
Use the Evaluation view or API endpoint to compare deterministic and live OpenAI analysis on the same inbox item without creating tasks, drafts, approvals, or board entries:
POST /api/inbox/{id}/evaluate-analysisThe response includes provider scores, task previews, warnings, quality deltas, and a recommended provider.