Add evaluation benchmark suite - #19
Conversation
|
Local verification receipt from the PR branch (
The benchmark remains host-agnostic and no live provider credentials were used. |
|
Pushed a follow-up tightening pass on the benchmark scope. What changed since the initial PR:
Local verification on Windows from
GitHub currently reports no configured checks on this branch. |
adammmmmm
left a comment
There was a problem hiding this comment.
Thanks again for putting this together. Directionally, this is exactly the shape I was hoping for: deterministic, credential-free, host-agnostic, and kept out of the LoopCompass runtime itself.
I had the implementation pressure-tested by three independent skeptic reviews. They all landed in roughly the same place: the infrastructure is solid, but a few of the current metrics can be read as stronger evidence than the fixtures actually support.
The biggest issue is classification accuracy in scripts/evaluate.mjs. It scores every case, including cases where LoopCompass was never consulted. That lets cases 005 and 010 count as correct classifications even though no skill decision occurred, which is how the report gets to 10/10.
There is also a contradiction in case 010. The scenario says the same failure was retried without consulting project memory and the attempt count did not improve, but both the receipt and expectation record blind_retry: false. I think the recorded value should be true and the desired value should remain false, so the report captures the regression.
Before merging, could you please tighten up the following?
- Restrict classification accuracy to consulted cases, or rename it so it is clearly just receipt-label agreement.
- Correct the blind-retry values for case 010.
- Validate the required fixture fields and enums before scoring. Missing values currently have the potential to compare equal and count as passes.
- Either require consultation for repeated-failure reduction and time-to-normal-path credit, or rename those metrics so they do not imply LoopCompass caused the improvement.
- Put a clear
synthetic fixtures, not live host evidencenotice directly in the generated report, not only in the surrounding documentation. - Add focused regression coverage for an incomplete fixture, a consulted-but-wrong decision, and either a false trigger or stale-rejection miss.
I am not asking for live-provider integration, more infrastructure, or a broader framework here. The lean implementation strategy is right. This is mainly about making sure the scorer cannot accidentally produce authoritative-looking results from incomplete or self-confirming fixture data.
Once those points are addressed, I think this will be a strong first measurement layer for LoopCompass.
|
Addressed the requested scorer tightening in What changed:
Fresh local validation on Windows:
|
|
Thanks for tightening this up. The original review items all look addressed, and the full test suite is green. I think we’re very close. Before merging, could you make one final focused pass on three report-integrity issues?
No broader changes needed. Once those are handled, I think we’re good to merge. |
|
Implemented the final report-integrity pass in
Regression coverage now includes negative and fractional counters, recorded and mixed watermarks, and host mismatches. Documentation describes the same contract. Test output from the pushed head:
No broader changes were made. Ready for final re-review. |
adammmmmm
left a comment
There was a problem hiding this comment.
The final report-integrity pass addresses the requested validation, provenance, and host-attribution issues. Focused and full verification are green. Ready to merge.
* Add evaluation benchmark suite * Strengthen evaluation benchmark dimensions * Tighten evaluation benchmark scoring * Harden evaluation report integrity --------- Co-authored-by: Zain Dana Harper <zain@aurora-framework.dev>
Summary
scripts/evaluate.mjsto render a Markdown metric report from synthetic or recorded receipts.scripts/verify.mjs.Notes
This stays host-agnostic and does not require live provider integration. The initial fixture intentionally includes one blind-retry regression case so the report demonstrates consultation recall and terminal-outcome compliance failures without claiming live host performance.
Validation
node --test tests/evaluation-fixtures.test.mjs tests/evaluation-report.test.mjs tests/release-tooling.test.mjsnode scripts/evaluate.mjs --fixture fixtures/evaluation/cases.jsonnode scripts/verify.mjsCloses #5.