The dashboard has a secret-free AI connection panel. GET /api/copilot/status reports not configured, administrator-disabled, or configured. Configured means a server key exists; it does not claim provider access or billing capacity. POST /api/copilot/check explicitly retrieves the configured model to test authentication/model access without generating text. It does not verify generation quota or web-search compatibility. Both endpoints require authentication in public deployment.
Set OPENAI_API_KEY only in the backend hosting provider's environment, never frontend variables, project data, source control or browser storage. OPENAI_MODEL defaults to gpt-5.4-mini. AI_ENABLED=false disables all generation/diagnostics even if a key is present. After a hosting restart, use Refresh AI status, then Check AI connection. A real research/memo request is still needed to confirm generation/billing/tool access.
The owner explicitly authorized copying the existing local development key into Render's secret environment on 27 October 2026. Activation deployment dep-dbg7inp42hec73dr5rdg succeeded. AI is enabled for signed-in application users and incurs provider usage charges. Application-level budgets/quotas are part of production hardening.
Research sends the computed cost profile, question and optional market context to OpenAI Responses with live web search filtered to primary-source domains. Original files, raw unknown project fields and application authentication tokens are not forwarded. Slider suggestions remain deterministic and only apply on user click. Results have linked citations, evidence status, model and retrieval time; factual claims still need human source review. Interrupted or unsourced output is not presented as an established briefing.
Memos use recomputed BOM/DCF/sensitivity data. An explicit economic summary prevents treating feedstock/utilities as costs additional to variable OPEX. Memos have a generated timestamp, model and computed-scenario evidence label in the UI/download. Incomplete provider output is rejected. A changed scenario marks the prior memo stale and blocks its download. No live research is performed for memos. Both API paths request store=False; provider data policies still apply.
- Tests cover missing/configured/disabled state, secret non-disclosure, authenticated diagnostics, model access, sanitized provider errors, recomputed memo data, explicit OPEX accounting, provenance and rejection of incomplete provider output.
- Local model-access check succeeded using the existing development configuration.
- Local demo memo generated/downloaded, with $500,000 total annual OPEX (fixed + variable; feedstock and utilities already included). Initial AI double-counting was caught during review and corrected by explicit computed summary/prompt instructions.
- Local live market research completed with clickable primary-source citations, model and retrieval time. Commentary is an AI draft requiring claim-by-claim review.
- Changing utility assumptions blocked the stale memo download.
- Deployment
a48174eis live on Vercel and Render. CI run40486328085passed: 127 backend tests, four frontend tests, lint/types/build. In the signed-in production dashboard, missing-key status is explicit, research/memo actions are disabled, and Excel remains available. After owner approval, the key was configured server-side and hosted activation checks passed (see below).
API behavior follows the official web search guide. Connection checks do not substitute for checking the accuracy or completeness of generated analysis.
- Render secret configuration saved and deployed without displaying the key or committing it to Git.
- Dashboard reports configured model
gpt-5.4-mini; provider authentication/model access check succeeded. - Hosted synthetic-demo memo generated and downloaded with model/timestamp provenance. It reported CAPEX $2.89M, annual OPEX $0.50M, annual revenue $1.80M, NPV $6.11M, IRR 36.5%, and LCOP $0.84/unit, consistent with the active demo. Feedstock/utilities were explicitly included within variable OPEX.
- Hosted research completed with model/retrieval metadata and five inline source links; the source list included EIA, Federal Reserve, IMF and World Bank pages. Commentary remains an AI draft requiring source review.
- No user project assumptions or existing saved revisions were changed during the activation test. Phase 3 activation is complete.
This is future scope, not Phase 3's delivered research/memo functionality. Follow the canonical founder scenario and A–E roadmap.
Interpret “We earn food revenue; could we sell our waste?” as a reviewable proposed revenue line, not just chat commentary. A price supplied by the user is a user assumption. With no price, ask explicit consent before optional market/buyer research; refusal makes no web or paid research calls. Research responses must provide comparable, attributable prices with sources, retrieval date, region, grade, quantity, unit/currency and delivery basis, showing missing or contradictory evidence. Assess buyer/contract likelihood from demand and commercial evidence but never invent numeric probabilities without a defensible calibrated method. Buyer discovery is not a contract or authorisation to contact the buyer.
Structured output feeds a reviewed scenario in the deterministic financial engine, never model-generated financial totals. Store user wording, assumptions, consent, source/retrieval details, proposal/version and status. Test price-present, absent/declined/approved, unsupported market data, invalid units, unsupported probability, stale research and engine hand-off with mocked AI responses. Do not declare this feature delivered simply because the AI can describe a sale.