Problem
utils/process_result.py and utils/agentic/aggregation/process_agentic_result.py independently parse and validate common benchmark metadata. PR #2100 adds heterogeneous prefill/decode hardware metadata to both paths, which highlights the maintenance cost and risk of the two implementations drifting.
Goal
Move shared environment parsing, topology validation, and common result fields behind one reusable implementation consumed by both regular and agentic result processors.
Acceptance criteria
- Regular and agentic result processors use the same code for common metadata and multinode topology fields.
- Optional
PREFILL_HARDWARE / DECODE_HARDWARE handling is implemented once, with both-or-neither validation.
- Existing homogeneous, heterogeneous, single-node, and multinode result schemas remain compatible.
- Shared table-driven tests cover the common behavior; processor-specific tests focus on integration and metric output.
Problem
utils/process_result.pyandutils/agentic/aggregation/process_agentic_result.pyindependently parse and validate common benchmark metadata. PR #2100 adds heterogeneous prefill/decode hardware metadata to both paths, which highlights the maintenance cost and risk of the two implementations drifting.Goal
Move shared environment parsing, topology validation, and common result fields behind one reusable implementation consumed by both regular and agentic result processors.
Acceptance criteria
PREFILL_HARDWARE/DECODE_HARDWAREhandling is implemented once, with both-or-neither validation.