Repository navigation
Fix evidence checks for unknown clock states and equivalent metadata wording - #13
Open
fcostaoliveira wants to merge 2 commits into
Open
fcostaoliveira wants to merge 2 commits into
fcostaoliveira wants to merge 2 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and change
check_evidencecould mark a claimquotableeven when it explicitly said that turbo and SMT states were unknown and runtime frequency was not measured. Conversely, equivalent wording such asSix runs,Clang18.1.3, orone pinned corecould make a complete claim fail.Recognise explicit unknown/unmeasured declarations, including coordinated fields, and keep nominal/advertised-only frequency incomplete. Preserve the existing result schema and conservative treatment of conflicting known/unknown declarations. Also recognise compact compiler versions, pinned cores/threads, and counted A/A or ABBA blocks. The checker remains a lexical metadata heuristic, not validation of the underlying measurement.
Example previously accepted, now
drop_number:These numbers are synthetic regression inputs, not benchmark results. A corresponding claim with stated runtime frequency and known states still passes.
Actual evaluation
The first commit (
e150e17) adds the cases without changing the checker; the second fixes the checker and exercises the same cases through the MCP interface. Compared the originaldeb5a0bimplementation and this branch against the same 36 authored cases:quotableverdictsPositive controls include known disabled states, no-SMT hardware, estimated clocks with DVFS on, nominal plus measured frequency, unrelated unknown input metadata, and existing benchmark machine descriptions. Negative controls include unknown states before/after subjects, coordinated subjects, nominal-only clocks, conflicting declarations, absent clock metadata, and uncounted ABBA blocks.
Validation on Linux, Python 3.14.0:
cpu-perf --selftestpasses.python3 misc/scripts/check_format.pypasses.python3 misc/scripts/check_links.pyexits 0: 260 OK, 37 blocked, 2 unreachable, 0 dead. No URLs changed; blocked existing URLs were not manually browser-verified in this run.Upstream GitHub workflows currently report
action_requiredwith no jobs run. The results above are local validation, not an upstream CI pass.The two skips require
CPU_PERF_EVAL_DBpointing to a crawled source library. No source-library retrieval improvement or general NLP accuracy is claimed. The 36 cases are authored regressions, not a blinded or held-out evaluation.Reproduce from an installed editable checkout:
Run
eval_evidence.pyate150e17to reproduce the original 10/36 result, then at this branch's head for 36/36.Scope and motivation
Found while using the MCP for standalone B+ tree performance investigations. This changes the MCP checker, tests and its documentation; it adds no curated source or performance claim. Typed metadata, library setup, and vendor-document resolution remain separate follow-ups.