GOLAKE-100. First run writes tests/proof/baseline.json; subsequent
runs diff against it. >10% regression emits a SKIP with REGRESSION
detail (not a fail — perf claim is required:false in claims.yaml so
the gate stays green; the human summary tells the regression story
honestly). Skip-with-loud-reason if any earlier case in the run
failed, per spec "performance only after contract+integration pass."
Workload (deterministic, repeatable):
ingest 1000-row CSV (5 roles × 5 cities × seeded scores) → /v1/ingest
query SELECT count(*) ×20 against the just-ingested dataset
vector add 200 dim=4 vectors with formulaic content (no Ollama)
search ×20 against the perf index with a fixed query vector
RSS per-service post-workload sample via /proc/<pid>/status
Recorded metrics:
ingest_rows_per_sec, query_p50_ms, query_p95_ms,
vectors_per_sec_add, search_p50_ms, search_p95_ms,
rss_{storaged,catalogd,ingestd,queryd,vectord,embedd,gateway}_mb
baseline.json on this box (committed):
25000 rows/sec ingest · 17ms p50 / 24ms p95 query
6250 vectors/sec add · 8ms p50 / 20ms p95 search
queryd 69 MiB · vectord 14 MiB · others 11-29 MiB
Honest measurement-design finding from the very first compare run:
back-to-back runs surfaced -41% ingest and +29% query p50 — pure
disk-cache + queryd-cold-start noise. Single-sample baselines have
real noise floor ≈40%. Recorded as REGRESSION skips so the human
summary surfaces it, not a code regression. Tightening the threshold
or moving to multi-sample medians is a Phase E recommendation.
Verified end-to-end:
just proof contract — 53 pass · 1 skip · ~4s
just proof integration — 104 pass · 1 skip · ~8s
just proof performance — 110 pass · 3 skip · ~10s
just verify — 9 smokes still green · 29s
All 11 cases (4 contract + 6 integration + 1 performance) deterministic
end-to-end. Phase E (final report against the 9 mandated questions)
is the last piece.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
20 lines
496 B
JSON
20 lines
496 B
JSON
{
|
|
"captured_at_utc": "2026-04-29T10:28:34+00:00",
|
|
"git_sha": "1313eb2173a34a49db9d030e101fa0b5cee2cabc",
|
|
"metrics": {
|
|
"ingest_rows_per_sec": 25000,
|
|
"query_p50_ms": 17,
|
|
"query_p95_ms": 24,
|
|
"vectors_per_sec_add": 6250,
|
|
"search_p50_ms": 8,
|
|
"search_p95_ms": 20,
|
|
"rss_storaged_mb": 17.1,
|
|
"rss_catalogd_mb": 28.3,
|
|
"rss_ingestd_mb": 28.9,
|
|
"rss_queryd_mb": 69.3,
|
|
"rss_vectord_mb": 14.1,
|
|
"rss_embedd_mb": 11.0,
|
|
"rss_gateway_mb": 14.4
|
|
}
|
|
}
|