Skip to content

Follow-up: Pydantic eval runtime models and CLI/docs alignment#25

Merged
jt-poolside merged 4 commits intomainfrom
jt/eval-fixes
Mar 13, 2026
Merged

Follow-up: Pydantic eval runtime models and CLI/docs alignment#25
jt-poolside merged 4 commits intomainfrom
jt/eval-fixes

Conversation

@jt-poolside
Copy link
Copy Markdown
Contributor

@jt-poolside jt-poolside commented Mar 12, 2026

Summary

  • Migrate eval runtime types (EvalResult, StepEvalContext, PipelineEvalContext, metadata/result models) from dataclasses to Pydantic models.
  • Replace manual eval context parsing with TypeAdapter validation in EvalFunction.
  • Support Pydantic generic aliases in eval schema/type extraction (eval_data).
  • Remove fragile getattr fallback for pipeline eval_bindings in DSL assembly.
  • Align docs and skill references to the canonical CLI command: bridge eval run.

Why

  • Addresses post-merge review feedback on model consistency and validation.
  • Removes brittle indirection and stale command documentation.

Validation

  • Ran: .venv/bin/pytest -q tests/test_eval.py tests/test_step.py tests/test_pipeline.py tests/test_invoke_step.py tests/test_serialization.py
  • Result: 146 passed (2 existing serialization warnings).

Note

  • No Forge command change needed; Forge already invokes bridge eval run.

- migrate eval context/result/metadata types from dataclasses to Pydantic models\n- replace manual eval context construction with TypeAdapter validation\n- support Pydantic generic metadata in eval schema/type extraction\n- remove fragile getattr fallback for pipeline eval_bindings DSL emission\n- update eval tests for new validation/runtime behavior
- replace run-eval wording with eval run in README and bridge-pipelines skill docs\n- keep docs consistent with current CLI command structure
@jt-poolside jt-poolside requested a review from tkpoolside March 12, 2026 22:38
Copy link
Copy Markdown
Collaborator

@tkpoolside tkpoolside left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM once comments resolved!

- remove redundant payload defaults now covered by Pydantic model defaults\n- move ValidationError import to module top in eval tests
@jt-poolside jt-poolside merged commit 2c8a862 into main Mar 13, 2026
6 checks passed
@jt-poolside jt-poolside deleted the jt/eval-fixes branch March 13, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants