Commit c3b1bbb
refactor(eval): split progress reporter into strategy-based reporting package
Reimplements the design from #1040 (closed as stale) on current main:
the 1475-line _progress_reporter.py monolith threaded is_coded booleans
through every method to switch between the legacy and coded StudioWeb
evaluation APIs. The differences (endpoint routing, GUID conversion,
eval snapshot shape, result collection format, update payload keys) now
live in strategy classes under _cli/_evals/_reporting/:
- _strategy_protocol.py: EvalReportingStrategy protocol
- _legacy_strategy.py: GUID ids, assertionRuns, no path segment
- _coded_strategy.py: string ids, evaluatorRuns, coded/ segment
- _reporter.py: event handling, HTTP plumbing, per-execution state
- _models.py / _utils.py / _strategies.py: shared pieces + selection
_progress_reporter.py remains as a compatibility shim. Behavior is
unchanged: the existing 61-test progress reporter suite passes without
modification; 24 new strategy unit tests added.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent a5f4418 commit c3b1bbb
12 files changed
Lines changed: 1848 additions & 1475 deletions
File tree
- packages/uipath
- src/uipath/_cli/_evals
- _reporting
- tests/cli/eval
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments