Skip to content

TESTING: review + expert-parallel protocol for the benchmark skill (@xuanguang-li) #10

Description

@mmcky

Testing and review protocol for @xuanguang-li — everything we'd like your eyes on, in order, with the machinery validation already done so your time goes to judgement, not reproduction.

Context. Your evaluation system is packaged as the benchmark plugin on PR #5: the deterministic engine (benchmark/scripts/scoring/), the framework (EVALUATION_FRAMEWORK.md), your ge_arrow (#717 → 2.85) and markov_asset (#654 → 2.25) evaluations as regression anchors, and a rubric-v2 revision from the 2026-07-21 adversarial design review (your measurement foundation was endorsed by both review tracks and is unchanged). We have already re-validated end-to-end from a fresh checkout of lecture-python.myst#717 on jax 0.10.1: exact reproduction of 2.85 / no-conversion / fragile with the same deciding flips — see reviews/validation-run-ge_arrow-2026-07-22.md. You do not need to repeat that exercise.

1. Review the rubric v2 changes (on PR #5)

The v2 changes touch only the verdict layer of your rubric — dimension scoring is untouched. Please push back on anything; rubric semantics stay yours.

  • Verdict gates — correctness 1 caps the verdict at net regression, correctness 2 at mixed/wash, enforced in score_all (rubric.py); the logic&design bug-cap is now derived from the correctness evidence (builds / x64 divergence) rather than a hand-set boolean
  • No-conversion verdict — fires when the baseline as-used total is under a 1 s materiality floor and the candidate is slower as-used; reconciles review mode with your triage bound (the polished-ge_arrow case). The 1 s floor is a labeled policy choice — is it the right one?
  • Sensitivity stampscore.py perturbs every scored input one at a time (booleans flipped, counts ±1, floats ±10%) and stamps the scorecard robust/fragile with deciding flips listed
  • K-repeat as-used — median of 3 fresh-process runs per side, with a contested-band annotation when runs span a band edge
  • The flagged Copilot thread: x64 divergence currently forces correctness 1 only when shipped drift also exceeds 1e-8 (your original semantics). Copilot suggested unconditional; we deliberately left it as authored — your call, in the PR #5 review thread

2. Three design calls (comment on #7)

  • Readability instrument v2 — docstring coverage inverts your own exemplars (odu.py, your LOW example, measures 0.86; flagship-aiyagari style ~0.41–0.55, capped at 2). Proposal: equation-traceability — per numbered equation, cite the single implementing expression; fraction traceable old vs new, same citation discipline as your checklists
  • Extraction/replay verification — a mechanical diff of extracted code and replayed call sequence against the lecture's cells (our validation run caught an undisclosed whitespace normalisation this way); longer-term, whether executing the lecture itself at both refs should become the as-used source
  • Confirm or amend the x64 guard decision from item 1 as a rubric-level statement

3. Optional — see the skill in action

Not required (the validation already covers the machinery), but if you want to feel out what reviewers will receive, from a lecture-python.myst checkout:

git clone https://github.com/QuantEcon/skills ~/skills
cd ~/skills && git checkout land-evaluation-system

then in a Claude Code session:

/plugin marketplace add ~/skills
/plugin install benchmark@quantecon
/benchmark:review-acceleration 717

Evaluation artifacts land in benchmark-eval/<lecture>/ in your workspace; #717 should land on exactly 2.85 / no-conversion / fragile (your numbers are the answer key). Any conversion PR works. The by-hand walkthrough of the same steps is docs/tutorial-run-an-evaluation.md. What we most want from this: critique the report — is it something you would sign?

4. The acceptance test — expert-parallel on lecture-python.myst#654

The part only you can do (#8 milestone). Protocol:

  1. The skill runs a complete v2 evaluation of #654 from scratch (fresh extraction, measurement, evidence, score, report) — we drive this and post the report here, not on #654
  2. You evaluate #654 independently (or, if you prefer, adjudicate the skill's report line by line — your choice; independent-first is the stronger test)
  3. We reconcile: every discrepancy resolved by evidence, with the rubric amended where your judgement and the instrument disagree
  4. The reconciled report becomes the single authoritative comment on #654 — which is being kept deliberately clean until then

Comment here, on PR #5, or on #7 — whatever is easiest. Relates to #4 (skill wiring), #7 (rubric v2), #8 (work plan).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions