Goal
Ship the durable agent core end-to-end for ONE workflow (investigation) on PostgreSQL + SQLite, behind the feature flag (default off).
Scope
Runtime and API
Models
Context and tools
Workspace UI (v1)
Acceptance criteria
- A scripted investigation run on the PostgreSQL and SQLite fixtures completes end-to-end: draft, failing identifier, repair via schema tool, verified query, artifacts, cited report.
- Kill the server mid-run; the run resumes without duplicate tool executions.
- Planning runs execute zero database operations (policy unit test, not only eval).
- All six local gates plus
build:lib + attw green; 100% coverage including streaming/durable paths (agent tests live in an isolated test group to survive mock.module process-wide behavior).
Part of #325
Goal
Ship the durable agent core end-to-end for ONE workflow (
investigation) on PostgreSQL + SQLite, behind the feature flag (default off).Scope
Runtime and API
AgentRunServiceover AI SDKWorkflowAgent: start/status/cancel/resume/stream APIs; runs survive refresh/restart via the World chosen in M0{ artifactId, summary, evidenceRefs }instead)AgentRun, semanticAgentEvent,ContextSnapshot,ArtifactRef,EvidenceRef); AI SDK message/tool/stream types are not re-modeledModels
src/lib/llmsettings into the registry - users configure keys once, no second settings surfaceContext and tools
ContextSnapshotat connection-active/run-start: schema/relations/index inventory + fingerprint, incremental refresh, task-aware packing (never dump the full schema into every prompt)tool()wrappers over M1 operations:schema.*,profile.table,monitor.snapshot,query.read,query.explain,artifact.chart,report.composeWorkspace UI (v1)
Studio.tsx: resizable (min ~300px), Planning default with free mode switching, timeline of semantic events, citations, budget meter (tools/DB-time/tokens/repairs), pause/resume/cancelmd; jsx-a11y error gate holdsAcceptance criteria
build:lib+attwgreen; 100% coverage including streaming/durable paths (agent tests live in an isolated test group to survivemock.moduleprocess-wide behavior).Part of #325