Add magnon-dispersion-bec task - #13
Open
wenjun-ke wants to merge 1 commit into
Open
Conversation
YIG dipole-exchange spin-wave dispersion parameter extraction plus pumped magnon-gas thermodynamics with a BEC threshold. Self-contained numerical problem; no bundled input data. Registers the task in registry.json and validate_repository.py. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
@wenjun-ke is attempting to deploy a commit to the Benchmarkthing Team on Vercel. A member of the Team first needs to authorize it. |
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.
Summary
Adds
tasks/magnon-dispersion-bec, a magnonics task combining dipole-exchange spin-wave dispersion parameter extraction with pumped magnon-gas thermodynamics.Part A — dispersion parameter extraction. From an in-plane magnetized YIG film's measured FMR frequency and spectral minimum, infer
4πM, the exchange stiffnessD, andk_min. Then forward-predict, from the same material parameters, the surface (θ=π/2) branch frequency at a given wavevector and a second film's spectral minimum.Part B — pumped magnon gas. A 3D exchange-dominated magnon gas at 300 K under parametric pumping, treating pumping as rapid thermalization that conserves magnon number and total energy. Three interlocked configurations: a sub-critical pumped gas (chemical potential, pumped temperature, BEC threshold, T^3/2 density scaling), a supercritically pumped gas that condenses (condensate fraction on the μ=ε_min branch), and a third whose exchange stiffness is the value extracted in Part A — so a Part-A error propagates into Part B.
The task is self-contained: every numerical input is in
task.md, with no bundled data files. Output is a single fencedRESULTblock in/root/result.mdwith 21 named numeric fields.Contents
task.md— human-authored prompt, no skill hints, explicit output contract.environment/—python:3.12-slimDockerfile with pinned numpy/scipy/matplotlib/pytest.environment/skills/magnon-gas-thermodynamics/— one mentor skill (SKILL.md +references/model.md).oracle/—solve.py+magnon_physics.py, deriving all 21 values by computation;oracle/provenance/manifest.jsonrecords the source model and primary references (Stancil & Prabhakar; Chumak et al. 2015; Demokritov et al. 2006; Serga et al. 2010).verifier/—test_outputs.pyrecomputing the quantities and comparing with tolerance bands.Registration touches two files outside the task directory: the
registry.jsonentry (digest computed with the publishedtask_digestconstruction) and the task name in.github/scripts/validate_repository.py'sEXPECTED_TASKS.CI validators all pass locally:
validate_repository.py,validate_tasks.py tasks,lint_skill_frontmatter.py,test_lint_skill_frontmatter.py,lint_frontierphysics_docs.py, andruff@0.14.10on the changed Python files.Evaluation
Oracle: reward 1.0 (
bench eval run --agent oracle --sandbox docker).smoke-haiku-magnoneval-haiku-magnon-highns-sonnet-magnon-higheval-opus-magnoneval-opus-magnon-highns-opus-magnon-high-v2eval-opus-magnon-withskillws-opus-magnon-v2The with-skill control passes (
ws-opus-magnon-v2), so the task is solvable and the instructions, dependencies, and verifier assumptions hold together.Open issues, flagged for reviewers
I'd rather surface these than have a reviewer find them.
1. The no-skill difficulty gate does not currently hold. Opus 4.8 solved this in the no-skill condition on two separate runs (
eval-opus-magnon,ns-opus-magnon-high-v2), against one no-skill failure at high reasoning. The review bar asks for tasks that are "independently hard in the no-skill condition," and the primary benchmark score is the no-skill number — by that standard this task is not yet calibrated, and the Opus no-skill result is not a fluke of a single trial. Haiku 4.5 and Sonnet 5 do fail it. Every cell is a single trial, so these are indicative rather than converged rates. If the bar is "fails the strongest current model without skills," this needs deepening before merge; happy to take direction on whether that blocks or whether more trials should come first.2. The verifier is not independent of the oracle.
verifier/magnon_physics.pyandoracle/magnon_physics.pyare byte-identical apart from one docstring word ("verifier copy" vs "oracle copy"). The provenance manifest describes the verifier as one that "independently imports" its physics core to recompute the quantities, which overstates the separation — in practice the verifier re-runs the oracle's implementation, so a modelling error in the shared core would be invisible to it rather than caught. The tolerance bands still guard against an agent's arithmetic drift, but not against the physics being wrong. Worth deciding whether an independently derived check is required here.3.
network_mode: publicon a closed-form computation task. The task needs no network — all inputs are in the prompt and the image pins its dependencies at build time. Leaving the agent sandbox on public network weakens determinism and gives a route to the published literature the task is modelled on (Demokritov et al. 2006 and the other cited references).no-networklooks like the safer setting. I left it as-is rather than change task semantics after the eval runs above were collected, since flipping it would invalidate them.