Repository navigation
feat: evaluate built projects with a scrolling TUI and offline reports - #1076
Conversation
|
@greptileai review |
|
@greptileai review |
|
@greptileai review |
|
|
@greptile-apps please review the latest head. All four findings are addressed, including the later OTLP observation-pairing finding. Expected costs now reuse the canonical transition extractor for arbitrary exporter span names and missing call IDs. Focused planning/runtime regressions and full lint, format and type checks pass. |
|
@greptile-apps please review the latest head. Resolved the new main-branch Capture command documentation conflicts, preserving both Capture and Eval. All four cost/resume findings remain fixed. Full Ruff, formatting and ty pass; 122 CLI, provider, evaluation, layout and release tests pass with one existing skip. |
|
@greptile-apps please review the latest head. The inherited outside-diff judge finding is fixed end to end: both the budget wrapper and ReservedJudgeClient accept the explicit served-model pin, enforce every remaining snapshot field, and bind successful artifacts to the finalized judge identity. Full worker/world/judge alias evaluation coverage and 22 focused regressions pass, along with full Ruff, formatting and ty. |
|
@greptileai review. The latest commit fixes pricing snapshot collisions after a package upgrade by including producer revision in snapshot identity. Both new upgrade regressions reproduced the failure before the fix; all 52 pricing, preparation, saved-run and CLI tests pass, along with full Ruff, formatting and ty checks. Prior snapshots and builds remain unchanged; no provider calls are made by preparation. |
|
@greptileai review. The latest commit makes progress visible immediately after Start, adds setup-stage updates before provider dispatch, and keeps one inline spinner and elapsed clock animated between rollout/judge completions. No execution limits or model behavior changed. All 33 focused progress/CLI/runtime tests and full Ruff, formatting and ty checks pass; a real terminal fixture completed 40 rollouts and judgments with local deterministic providers and normal scrollback. |
|
@greptile-apps please review current head 23e0d9e. The previous review check was cancelled. This adds immediate setup progress and an animated inline rollout/judge bar with elapsed time, preserving terminal scrollback. All 102 focused and shared-consumer tests pass; the combined checkout passes 34 progress, CLI and runtime tests. Full Ruff, formatting and ty checks and actual terminal execution with local test providers passed. |
|
@greptile-apps Please review current head 6671140. The latest change avoids full-corpus spend reconciliation during request-ledger cell admission, preserves all immutable validation and per-request spend enforcement, and makes genuine contention pause with a resume command. Two regression tests reproduced the old behavior; 79 focused tests and full Ruff/format/ty pass. The real CLI completed 40 fixture rollouts with eight workers and 32 injected first-pass failures, then replayed without additional calls. Please review the current commit and update the confidence verdict. |
|
@greptile-apps please review the latest head, including full-context judge requests and explicit judging recovery over unchanged rollouts. |
|
@greptile-apps Please re-review current head 8188341. Both accounting findings are fixed with regressions: full-context judging recovery uses the separately approved allowance without changing simulation identity, and exact request-ledger reconciliation includes paid responses whose artifact writes failed. The 185 focused tests, full Ruff/format/ty gates, and actual CLI recovery/replay fixture pass. No live customer provider calls were launched. |
|
@greptile Please review the latest head, including bounded empty-response and unavailable-replay recovery, excluded-corpus retrieval admission, and judge authoring after a default evaluation. |
|
@greptile Please review the latest head. The import-placement finding is fixed. Judge upgrades now also preserve older optional economics fields without rewriting saved evidence and use distinct lineage recipe identities. |
|
@greptileai review. Native JSON mode is frozen in new eval settings; prior saved request fingerprints are preserved. Calibration resume now retains unchanged split provenance across package upgrades. Focused regressions and live formatting probes are recorded in the description. |
Evaluate a built project with
uv run exp login,uv run exp build powerset, anduv run exp eval powerset.Build owns trace import, scenario mining, provider selection, and world-model grounding. Eval requires a completed build, asks for worker models, repeats, and a judge, then reviews the evaluation before launch. It produces local HTML and JSON reports with a Pareto plot and side-by-side traces. Nothing is uploaded or activated for serving.
User flow
Durable execution and recovery
A shared SQLite request ledger reserves each provider request before dispatch and saves completed responses before releasing unused allowance. Pausing between an assistant response and a simulated observation reuses the completed paid request. Actual provider attempts reconcile unused retry reservations; unknown dispatch spend stays reserved. Insufficient allowance or cell contention pauses with a resume command. Request-ledger admission avoids serial scans of the rollout corpus under the shared cell lock.
Frozen execution identities and pricing remain separate from the approved spending allowance. Raising that allowance preserves the original simulation plan and saved requests. New preparation after a package upgrade receives a revision-bound pricing identity, preserving earlier immutable snapshots.
Judging preserves all visible task, tool, and final-output evidence and reserves the model's declared context minus its output allowance. Judge requests omit incompatible sampling controls. A transcript that cannot be admitted becomes an explicit per-cell exclusion; shared local parameter errors surface their actionable cause.
Resuming a run that stopped during judging reviews a new judging pass over the same saved rollouts. Original preparation and artifacts remain immutable, successful scores are reused, and fresh probe identities permit failed judgments to retry. Recovery honors the approved spending limit independently of the original quote. The report binds the new judging recipe and reconciles exact judge request coordinates across prior passes, including paid responses whose artifact writes failed, without counting worker requests or duplicating charges.
Grounding checks lineage eligibility before input admission or embeddings; a query with no eligible examples has zero retrieval cost and cannot fail an embedding input ceiling. Eligible queries retain their frozen input bound.
Empty Chat completions receive bounded retries. Completed empty responses and the gateway's explicit unavailable-replay response receive fresh client-owned idempotency keys, while caller-owned keys remain unchanged. Every attempted dispatch remains included in conservative retry accounting. An existing default hosted judge no longer prevents authoring a project rubric after build. Identical production trace projections retain their original immutable producer evidence across package upgrades, including older optional economics fields; changed projections still fail replay validation. Judge lineage recipes bind the frozen setup and evidence; identical persisted splits keep their original producer so a package upgrade reuses completed calibration reviews.
New evaluations freeze JSON-object output for their world model. The SDK forwards native JSON mode on Chat, Responses, and Gemini and adds explicit instructions on Anthropic, Bedrock, and Tinker. Tool-result IDs, schema fields, and terminal semantics remain strictly validated. Existing saved settings omit this opt-in and retain their original request fingerprints; no running recipe or paid response is rewritten. Admission includes any provider-added JSON instruction.
Validation
Prepared runs using the earlier cost contract require New evaluation; existing builds and immutable evidence remain available. No silent artifact migration is introduced.
Fixes #1105. This PR targets main; #1095 adds bounded embeddings and #1104 preserves distinct scenarios in the combined acceptance checkout.