You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Development plan for taking /benchmark:review-acceleration from its v0 outline to an operational skill. This is workstream B of the benchmarking programme (QuantEcon/meta#335); the evaluation system it packages was designed and validated by @xuanguang-li on lecture-python.myst#717.
Where we are
In place
Pending
Skill scaffold with the v0 procedure (equivalence → static metrics → as-used benchmark → 7-dimension weighted scoring → verdict-banded report)
Operational skill body
benchmark/scripts/README.md documenting the 8 evaluation scripts
The scripts themselves — @xuanguang-li agreed (2026-07-07) to package and send them
Full rubric specified in the lecture-python.myst#717 thread (dimensions, weights, numeric anchors, verdict bands, worked HIGH/LOW examples)
Rubric transcribed into references/rubric.md
Named calibration endpoints: HIGH = aiyagari Bellman pattern (~25× faster as-used), LOW = ge_arrow (~45× slower as-used)
Validation runs against the two live PRs
Work items
1. references/rubric.md (unblocked — the natural next PR)
Transcribe the rubric from the #717 thread: 7 dimensions with weights (correctness & numerical fidelity 0.20, readability & pedagogical clarity 0.25, computational efficiency as-used 0.15, logic & design 0.15, coding style & idiom 0.10, API ergonomics 0.10, maintainability 0.05), the 1–5 numeric scoring anchors per dimension, and the verdict bands (≥4.0 merge; 3.0–3.9 merge after fixes; 2.5–2.9 revisit; <2.5 do not merge)
Include the worked HIGH/LOW calibration cases (aiyagari pattern, ge_arrow) with their measured numbers, as scoring anchors
Encode the measurement standard: as-used, fresh-process totals (JIT compile time included) are the headline; warm timings reported alongside, never alone; crossover-n curve; recompile audit (one recompile per distinct static-arg value or shape)
2. Land the evaluation scripts (blocked on the script handoff)
Receive and commit the 8 scripts: check_equivalence.py, static_metrics.py, benchmark.py, cold_start.py, sweep_bench.py, as_used_total.py, bellman_bench.py, run_all.py
Generalise from ge_arrow-specific code to take a lecture/implementation pair as input (baseline ref + candidate ref + lecture path)
Replace the v0 outline with the driving procedure: given baseline/candidate refs for one lecture, run the scripts, score each dimension against the rubric anchors with cited evidence, compute the weighted total, emit the verdict + a fix list mapping each recommendation to the dimension it lifts
Report format suitable for posting as a PR review comment
Guardrail from the calibration data: warm-only speedup claims are flagged, never accepted as the headline (the ge_arrow lesson — warm 1.4–4.8× faster, as-used ~45× slower)
4. Validation (blocked on 3)
Run against lecture-python.myst#717 (ge_arrow) — expect agreement with the published evaluation (weighted ≈2.95, do-not-merge-as-is); note the branch is far behind main and needs updating first
Run against lecture-python.myst#654 (markov_asset) — the second named validation case
Sanity-check the HIGH anchor on the aiyagari Bellman pattern
5. Documentation + rollout (blocked on 4)
Distill the rubric into the QuantEcon manual as the companion to the JAX style page — QuantEcon.manual#104 tracks this ("skill first, then documentation")
/qe:check-jax (skills#3) checks how JAX is written against the style guide; this skill judges whether an accelerated implementation earns its place in a lecture — the boundary QuantEcon.manual#104 draws. The "should this lecture use JAX at all" question belongs here.
Development plan for taking
/benchmark:review-accelerationfrom its v0 outline to an operational skill. This is workstream B of the benchmarking programme (QuantEcon/meta#335); the evaluation system it packages was designed and validated by @xuanguang-li on lecture-python.myst#717.Where we are
benchmark/scripts/README.mddocumenting the 8 evaluation scriptsreferences/rubric.mdWork items
1.
references/rubric.md(unblocked — the natural next PR)2. Land the evaluation scripts (blocked on the script handoff)
check_equivalence.py,static_metrics.py,benchmark.py,cold_start.py,sweep_bench.py,as_used_total.py,bellman_bench.py,run_all.py3. Operational skill body (blocked on 1–2)
4. Validation (blocked on 3)
5. Documentation + rollout (blocked on 4)
Boundary
/qe:check-jax(skills#3) checks how JAX is written against the style guide; this skill judges whether an accelerated implementation earns its place in a lecture — the boundary QuantEcon.manual#104 draws. The "should this lecture use JAX at all" question belongs here.🤖 Generated with Claude Code