Skip to content

Commit 4d3e41b

Browse files
add preview disclaimers
1 parent 2e3636a commit 4d3e41b

7 files changed

Lines changed: 56 additions & 3 deletions

File tree

DEVELOPMENT.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ Standard development uses `dev-backend` + `dev-frontend` in separate terminals.
2929

3030
### Postgres backend (optional, for `/api/runs`)
3131

32+
> **Preview.** The schema, the CLI surface, and `/api/runs` shape are still
33+
> stabilizing. Recreate the agentevals schema between minor version upgrades
34+
> until further notice; do not depend on persisted data surviving a
35+
> `git pull` of agentevals itself.
36+
3237
The default in-memory backend keeps `make dev-backend` zero-config. To exercise the async run pipeline locally, bring up a Postgres alongside the app:
3338

3439
```bash

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,13 @@ See the [Kubernetes example](examples/kubernetes/README.md) for an end-to-end wa
288288

289289
#### Postgres backend (`/api/runs`)
290290

291+
> **Preview.** Persistent run history backed by Postgres is under active
292+
> development. The `storage.*` and `database.postgres.*` chart values, the
293+
> `/api/runs` HTTP surface, and the database schema may change incompatibly
294+
> in upcoming releases. Operators evaluating this feature should plan to
295+
> recreate the agentevals schema when upgrading between minor versions.
296+
> Default in-memory mode is unaffected.
297+
291298
By default the chart deploys agentevals with an in-memory backend; runs and results are not persisted. To enable the async `POST /api/runs` pipeline with durable Postgres-backed state:
292299

293300
```bash

charts/agentevals/templates/NOTES.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,11 @@ Get the Service URL:
1111
kubectl --namespace {{ include "agentevals.namespace" . }} port-forward $POD_NAME {{ .Values.service.http.port }}:{{ .Values.service.http.port }}
1212

1313
Health check: GET http://<pod-ip>:{{ .Values.service.http.containerPort }}/api/health
14+
15+
{{- if eq .Values.storage.backend "postgres" }}
16+
17+
NOTE: Postgres-backed storage is a preview feature. The storage.* and
18+
database.postgres.* values, the /api/runs HTTP surface, and the database
19+
schema may change incompatibly in upcoming releases. Recreate the
20+
agentevals schema when upgrading between minor versions.
21+
{{- end }}

charts/agentevals/values.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,13 +160,19 @@ env: []
160160
envFrom: []
161161

162162
# ==============================================================================
163-
# STORAGE
163+
# STORAGE (preview feature)
164+
#
165+
# Persistent run history backed by Postgres is under active development.
166+
# storage.* and database.postgres.* keys, and the underlying schema, may
167+
# change incompatibly in upcoming releases. Treat persisted runs and
168+
# results as ephemeral; recreate the agentevals schema when upgrading
169+
# between minor versions. Default in-memory backend is unaffected.
164170
# ==============================================================================
165171

166172
storage:
167173
# -- Storage backend. "memory" (default) keeps the developer experience
168174
# zero-config: nothing persisted, restarts lose in-flight state. "postgres"
169-
# enables /api/runs and persists runs + results in Postgres.
175+
# enables /api/runs and persists runs + results in Postgres (preview).
170176
backend: memory
171177

172178
# ==============================================================================

src/agentevals/api/app.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,18 @@ def create_app(
109109
version=__version__,
110110
description="REST API for evaluating agent traces using ADK's scoring framework",
111111
lifespan=_build_lifespan(),
112+
openapi_tags=[
113+
{
114+
"name": "runs",
115+
"description": (
116+
"**Preview.** Async run pipeline backed by Postgres. The shape of "
117+
"submission, responses, and persisted run / result data may change "
118+
"incompatibly in upcoming releases. Operators evaluating this "
119+
"surface should plan to recreate persisted data when upgrading "
120+
"agentevals between minor versions."
121+
),
122+
},
123+
],
112124
)
113125

114126
app.add_middleware(

src/agentevals/api/runs_routes.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,18 @@
2828

2929
logger = logging.getLogger(__name__)
3030

31-
runs_router = APIRouter(tags=["runs"])
31+
runs_router = APIRouter(
32+
tags=["runs"],
33+
responses={
34+
503: {
35+
"description": (
36+
"Storage backend is not configured. Set "
37+
"AGENTEVALS_STORAGE_BACKEND=postgres (with AGENTEVALS_DATABASE_URL) "
38+
"to enable run history."
39+
)
40+
},
41+
},
42+
)
3243

3344

3445
class RunRequest(CamelModel):

src/agentevals/cli.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,10 @@ def _migrator_or_die() -> "object":
767767
@click.option("--dry-run", is_flag=True, help="Print which migrations would apply without executing.")
768768
def migrate_up(dry_run: bool) -> None:
769769
"""Apply all pending migrations."""
770+
click.echo(
771+
"note: agentevals migrate is a preview feature. Schema may change incompatibly between minor releases.",
772+
err=True,
773+
)
770774
migrator = _migrator_or_die()
771775
try:
772776
applied = asyncio.run(migrator.up(dry_run=dry_run))

0 commit comments

Comments
 (0)