physicsnemo-discover
PhysicsNeMo Discoverability
Help a user navigate PhysicsNeMo: point them at files, folders, examples, and docs in the repo at its current state. Never write training code; never cite a path from memory.
Core principle
PhysicsNeMo evolves — classes get renamed, examples move, experimental/ graduates. Any static list of class names and paths rots, so discover, don't remember: enumerate from the live repo every turn.
PhysicsNeMo is composable: each solution is a product (model family × datapipe × training strategy × config). An example is one reference instantiation of that product, not a prescription. Surface the axes and the menu along each axis, then cite examples as concrete starting points to fork and recombine.
What a correct answer satisfies
These are constraints, not a script — choose the searches that meet them and skip work the task doesn't need. Search patterns per axis live in references/RECIPES.md.
- Live-grounded. Every class, path, and example you name was read or globbed this turn.
__init__.pyproves what is exported, not what files exist — Globphysicsnemo/models/<family>/*.pybefore naming a sibling implementation file. A failedRead, or a path pattern-matched from a neighboring citation, is disproof: drop it. - Verified before emit. Every absolute path you plan to cite survives one
Bash ls -d <path1> <path2> …round-trip before you write the response. Hard gate — skipping it has produced real-basename-under-wrong-parent hallucinations. If a basename was right but the parent wrong, re-Glob and re-verify; if you can't relocate it, drop the citation. - A menu, not a single pick. Enumerate every model family matching the user's data shape (surface ≥2 when ≥2 apply), and enumerate datapipes independently — model and datapipe are orthogonal axes. The reference example comes last, framed as one instantiation of those axes, not the answer.
- Self-documentation is ground truth.
__init__.pyexports, per-exampleREADME.md,docs/*.rst,pyproject.toml, top-of-file module docstrings. Treatreferences/TAXONOMY.mdas a navigation hint, not an answer. Flag anything underphysicsnemo/experimental/as "API may change." - Abstain when out of scope. PhysicsNeMo targets SciML/AI4Science (surrogates, forecasting, super-resolution, physics-informed, inverse, generative for physical systems). If the task is categorically outside that — reinforcement learning, classical control, generic CV/NLP, symbolic regression — skip enumeration and emit the Abstention output below. Do not list adjacent-but-wrong examples in its place (pointing at
active_learning/for an RL question is fabrication). When unsure whether a task is in scope, abstain.