- Removed frontend
apiKeydirect entry from model config flow. - Introduced server-side credential resolution via
credentialRef. - Kept build/run separation and preserved the single-workspace structure.
- Strengthened task instance, artifact, and final deliverable flow.
- Added demo-mode adapters as scoped scaffolding, without replacing the orchestrator.
ModelConfignow usescredentialRefinstead ofapiKey.- Settings and build routes persist
LLM_CREDENTIAL_REFand never expose secret values. - LLM adapters resolve secrets on the server through
credentialRef -> ${REF}_API_KEY. - Task execution now reads persisted task instance data, not only raw run instruction text.
- Runtime agent execution produces
agent.plan,agent.output, andtool.resultartifacts as first-class outputs. - Run finalization now requires
task.instance, at least one agent output, and afinal.deliverable. - Final report remains auxiliary and is no longer treated as the primary task result.
- Added
DEMO_MODEentry points for mock LLM, mock spec compiler, mock GitHub search, and mock Agent Reach tooling. - Demo mode keeps the workflow/orchestrator real and only swaps adapters.
- Run detail page now shows:
- Final Deliverable
- Final Report
- Artifacts
- Runtime Trace
- Missing final deliverable state is explicit.
- The known Turbopack NFT warning still exists and is separate from this stage.