An AI for Science harness for magnetism and spintronics research.
한국어 README · Manuals · 한국어 매뉴얼 · Project page
MagLab was built for researchers in magnetism and spintronics who want AI for Science to become a practical lab instrument, not a demo prompt. The goal is to support the parts of research that actually slow scientists down: finding and auditing literature, translating material stacks into parameters, checking units and physical ranges, moving between simulation scales, fitting spintronic effects, generating reproducible figures, drafting instrument scripts, keeping an electronic lab notebook, reviewing manuscripts, and turning verified results into papers, posters, slides, rebuttals, and grant text.
The central design choice is that MagLab is a harness platform. The LLM layer plans, routes, explains, and drafts. Domain modules perform the scientific work: physics formulae, unit conversion, material lookup, simulation pipelines, fitters, figure renderers, literature connectors, SCPI safety checks, data lineage, and review workflows. The point is not to replace the scientist. The point is to make the scientist's research loop faster, more organized, and more reproducible.
AI for Science matters because modern research is no longer limited only by ideas. It is also limited by coordination overhead: too many papers to audit, too many file formats, too many unit conventions, too many simulation backends, too many figure revisions, and too much undocumented context living in lab notebooks, scripts, and memory. A useful scientific AI system therefore cannot be just a chatbot. It needs a controlled environment where language models can ask for deterministic tools, receive structured results, preserve provenance, and expose enough of the process for a scientist to inspect it.
MagLab takes that position seriously. It treats the LLM as an orchestration layer, not as the source of scientific truth. Numerical values should come from formula modules, data files, fitters, simulations, literature records, or explicit user input. Figures should be vector artifacts tied to data and provenance, not generated raster guesses. Manuscripts, posters, and emails should start from verified results and remain marked for human review. This is what makes AI for Science operational: the model helps the research loop move, while the harness keeps the loop inspectable.
For magnetism and spintronics, this is especially important. A typical project crosses material stacks, magnetic units, transport geometries, micromagnetic assumptions, solver-specific files, fitted effect models, and publication figures. Small mistakes are easy: mixing CGS and SI, reporting a fit parameter outside a physical range, forgetting how a figure was generated, or citing a paper that does not support the claim. MagLab is built around those failure modes.
| Research bottleneck | MagLab support |
|---|---|
| Literature overload | Extract keywords from a paper folder, search OpenAlex/Semantic Scholar/arXiv/Crossref, build an evidence matrix, inspect authors, journal metrics, citation graphs, and local corpus context. |
| Material and unit friction | Query magnetic materials, build multilayer stacks, compute exchange length/FMR/domain-wall/skyrmion formulae, convert magnetic units, and run a physics oracle before downstream work. |
| Simulation handoff | Generate and validate micromagnetic specs, prepare DFT and atomistic inputs, parse solver outputs, and connect DFT -> atomistic -> micromagnetic -> device-scale workflows. |
| Fitting and interpretation | Fit AMR, AHE, OHE, PHE, SMR, USMR, ST-FMR, FMR/Kittel, damping, spin pumping/ISHE, DMI, domain-wall, skyrmion/Thiele, hysteresis, and Curie-temperature models. |
| Figure reproducibility | Build FigureSpec JSON, render journal-aware vector figures, compose multi-panel outputs, and use a schematic primitive catalog for spintronics figures. |
| Instrument scripting | Scaffold PyVISA drivers, validate SCPI sequences, ingest manuals for RAG, generate scripts from experiment descriptions, and run safety checks before hardware use. |
| Lab memory | Create structured ELN entries, list notes by date/sample/tag/type, generate measurement plans, and create DOE/active-learning next-step suggestions. |
| Review and critique | Run persona-style manuscript review, synthesize consensus/dissent, explain anomalous results, and keep AI assistance disclosure explicit. |
| Authoring and communication | Draft manuscript sections, cover letters, revision letters, rebuttals, abstracts, grants, emails, slides, and posters while preserving human review requirements. |
| Orchestration | Use the interactive REPL, Ralph loops, MCP server/client, subagents, skills, gateway bots, cost tracking, checkpoints, and provenance records to coordinate a full research lifecycle. |
This README describes the current source tree, not only a future plan. The CLI
entry point is implemented in maglab/cli.py, the optional PI/smolagents
harness surface is registered through maglab/commands/harness.py, and the
package metadata in pyproject.toml exposes the maglab console script.
The best way to check the code path from a checkout is:
.venv/bin/python -m maglab --help
.venv/bin/python -m maglab doctor --helpIf an older global pipx install is already on your PATH, it can lag behind the
checkout until you reinstall or upgrade it. In that case, the source command
above is the authority for this repository, and the installed command can be
refreshed with the editable install command in the next section.
Implemented today:
| Surface | Current status | Notes |
|---|---|---|
| CLI and REPL | Implemented | maglab, maglab -p, maglab ask, and maglab run route through the terminal app and configured backend. |
| Deterministic physics/material tools | Implemented | Formula evaluation, unit conversion, physics oracle, material lookup/search/build, and DataPoint creation run without LLM credentials. |
| Analysis and fitting | Implemented | Effect registry, CSV/HDF5 loading, model inspection, lmfit-based fitting, deterministic discovery attempts, and ELN/provenance hooks are wired. |
| Figure tooling | Implemented | FigureSpec creation, render/compose/export, journal styles, and a primitive catalog are available; real rendering depends on plotting extras. |
| Instrument tooling | Implemented as scaffold and safety workflow | PyVISA driver scaffolds, SCPI validation, manual ingest/index, skill generation, script generation, and static safety checks are present. |
| Literature workflow | Implemented with optional connectors | Offline keyword extraction is available; OpenAlex/Semantic Scholar/arXiv/Crossref paths require the relevant extras and network/API availability. |
| Lab notebook and planning | Implemented | ELN note creation/listing and measurement-plan generation write project artifacts under the active workspace. |
| Review, authoring, communications | Implemented with human-review gates | Manuscript review, anomaly explanation, manuscript/cover-letter/revision/email/abstract/grant/rebuttal drafting, slides, and posters are marked for researcher review. |
| Report, provenance, and task inspection | Implemented | report inventory, prov summary/status/lineage, and task list/status/scaffold inspect artifacts already written to disk. |
| Tool gating and autonomy | Implemented | Every model tool call passes deny rules, the physics sanity oracle and an autonomy gate. Tools are tiered from the read-only/destructive/network hints they declare; copilot (the default) runs read-only offline tools freely and prompts on a terminal for anything irreversible. Without a terminal the action is refused rather than silently run. |
| Tools across backends | Implemented | The api backend passes tool schemas natively; the delegated CLIs take none on the command line, so MagLab describes them in the prompt and parses the reply back into tool calls. Both paths execute through the same registry and hooks. |
| Manifest harness | Implemented as planning, compilation and local execution | harness doctor/compile/run/worker/pi-tool are deterministic and offline; --execute-local runs through MagLab's own subagent runner. Live PI handoff requires PI plus a workflow tool from pi-agents and is never simulated. |
| External solvers, hardware, gateways | Environment-gated | MagLab prepares inputs, validates specs, and checks readiness; it does not bundle MuMax3, OOMMF, VAMPIRE, VISA drivers, Slack/Telegram/Discord credentials, or remote cluster access. Without a solver, sim pipeline --backend mock still runs end to end, but every value it produces is recorded as provenance_type: MOCK, never SIMULATED. |
Install MagLab as a global terminal program with the recommended research bundle. The bundle pulls in every MagLab research feature so the terminal can guide you through any remaining provider, solver, instrument, or gateway setup.
git clone https://github.com/TaewoooPark/MagLab.git
cd MagLab
pipx install --python python3.12 --editable ".[research]"
maglab install doctor
maglab doctor
maglab setup all
maglab manual --lang enIf pipx or Python 3.12 is missing on macOS, use this known-good path:
uv tool install pipx --python python3.12
pipx ensurepath
pipx install --python python3.12 --editable ".[research]"From a development checkout, the repository-local virtual environment is often the most faithful way to run the code you are editing:
uv pip install -e ".[research]"
.venv/bin/python -m maglab --help
.venv/bin/python -m maglab doctorThe screenshots below are captured from the actual CLI, not mocked output. The
first view shows the initial MagLab REPL headline and /help quick result.
MagLab can also be operated from PI's interactive TUI. The PI session below is
using the Anthropic Haiku model with the bash tool enabled, and its startup
screen shows the loaded skills/extensions without a skill-conflict warning.
The same PI mode can run MagLab commands through the ! shell operator, for
example a live Haiku-backed one-shot query:
After that, open any research folder and run maglab. MagLab keeps global
config/data/cache in your user app directories, but reads and writes project
artifacts relative to the folder where you launched it.
cd ~/research/my_spintronics_project
maglab workspace init
maglab workspace status
maglab workspace brief
maglab workspace tree --summary --type docs --max-depth 2
maglab workspace tree --changed
maglabRun deterministic tools without an LLM key:
maglab physics compute exchange_length A=13e-12 Ms=860e3
maglab physics units 1000 oe tesla
maglab mat search Py --json
maglab mat show Permalloy
maglab analyze model stfmr
maglab figure primitives listSchematic primitives are not freehand raster images. They are parameterized,
editable SVG objects with journal-aware style tokens, bounded thin-film stack
scaling, role-aware material colors, and explicit scene frames for composing
device, stack, and measurement geometry panels. The sot-device-scene primitive
targets a Nature-style double-column canvas with a stack → patterned-device →
qualitative-readout story, and can also return a self-contained HTML document
with inline SVG for browser-first review/export workflows:
{
"primitives": [
{"name": "sot-device-scene", "frame": [0.02, 0.06, 0.96, 0.88]},
{"name": "multilayer-stack", "frame": [0.05, 0.10, 0.40, 0.78]},
{"name": "hall-bar", "frame": [0.56, 0.18, 0.38, 0.58]}
]
}Connect an LLM backend when you want natural-language orchestration, drafting, review, or agent workflows. Codex is supported through the official authenticated Codex CLI; MagLab does not store Codex OAuth tokens. Direct API providers are also supported for Anthropic, Grok, DeepSeek, Qwen, Kimi, Gemini, and OpenAI.
maglab auth codex
maglab auth anthropic
maglab auth qwen
maglab auth status
maglab auth test
maglab doctor --smoke
maglabInside the REPL, use /help quick for the first-run path and /help all for
the full slash-command tree. Use /workspace brief, /doctor, /sim doctor --explain, and /connect status to inspect the current folder and setup state.
Use
/connect codex, /connect <provider>, /connect api <provider>, or
/connect ollama to switch backends. API-key commands always use hidden
terminal input; maglab auth set <provider> remains available for explicit key
storage and scripting. Use /reset config to restore the previous config backup
or /reset defaults to return MagLab to a clean default config.
maglab doctor is the installation audit. It checks the active folder,
LLM backend, feature extras, GPU/SSH/no-GPU simulation paths, bilingual manuals,
figure/export readiness, poster/deck templates, workspace-scoped LLM file tools,
and physics/provenance gates against the UX promised in plan/.
One-shot mode is useful in scripts and CI:
maglab -p "Plan a reproducible ST-FMR analysis workflow for Pt/CoFeB/MgO"The README is the map. The manuals are the operating instructions. They are also available from an installed global CLI:
maglab manual --lang en
maglab manual figures --lang ko| Area | English | Korean |
|---|---|---|
| Manual index | docs/manuals/en/index.md | docs/manuals/ko/index.md |
| Quickstart and operating manual | English | 한국어 |
| Literature intelligence | English | 한국어 |
| Materials and physics | English | 한국어 |
| Simulation | English | 한국어 |
| Analysis and fitting | English | 한국어 |
| Figures | English | 한국어 |
| Instruments | English | 한국어 |
| Lab notebook and planning | English | 한국어 |
| Review and anomaly explanation | English | 한국어 |
| Authoring and communications | English | 한국어 |
| Orchestration, agents, MCP, gateway | English | 한국어 |
Use MagLab in layers. Start with deterministic commands, then add model orchestration only when the folder, dependencies, and provenance path are clear.
| Situation | First commands | What to check before trusting output |
|---|---|---|
| Fresh clone or global install | maglab install doctor -> maglab doctor -> maglab setup all |
Python version, installed extras, global command path, missing optional solvers. |
| Opening a new research folder | maglab workspace init -> maglab workspace brief -> maglab workspace tree --summary |
MAGLAB.md, visible project files, ignored/private paths, generated output directory. |
| Connecting a model | maglab auth codex or maglab auth <provider> -> maglab auth status -> maglab doctor --smoke |
Whether the backend returns the sentinel, where credentials are stored, selected model. |
| No GPU available | maglab sim doctor --backend auto --explain -> maglab sim pipeline --backend mock |
Mock outputs are workflow artifacts, not physical solver results. Use CPU for small real runs. |
| Local GPU available | maglab sim doctor --backend local-gpu |
mumax3, nvidia-smi, mesh size, small validated test job before spending time. |
| SSH GPU or cluster | maglab sim doctor --backend ssh-gpu --host <host> --user <user> |
No connection is opened unless --probe-ssh is added; verify SSH keys and remote modules first. |
| Measurement CSV ready | maglab analyze load data.csv -> maglab analyze model <effect> -> maglab fit --effect <effect> data.csv |
Required columns, geometry assumptions, parameter bounds, residuals, provenance IDs. |
| Figure needed | maglab figure spec -> maglab figure render ... --datapoints ledger.json |
DataPoint binding, axis labels, units, journal width, vector output. |
| Poster or slides needed | maglab present templates --detail -> `maglab present slides |
poster ...` |
| Writing or rebuttal | maglab write ... --dry-run or maglab comms revision ... |
HUMAN REVIEW REQUIRED, citation existence, claim support, no unsupported numbers. |
Inside the REPL, the same flow is available through slash commands:
/help quick
/workspace brief
/doctor
/setup all
/connect codex
/connect openai
/sim doctor --explain
/manual ko quickstart-operations
During LLM calls, MagLab prints a compact activity trace: model stage, elapsed time, stop instruction, and tool/file references when they are visible to the harness. Hidden model reasoning is not printed. The useful observable signal is what was run, which Python module mediated it, and which workspace files were referenced or touched.
Literature to experiment plan
maglab lit search papers/pt_cofeb_mgo --top-n 40
maglab lit authors "spin orbit torque CoFeB MgO"
maglab lab plan "SOT efficiency in Pt/CoFeB/MgO" --n-doe 16 --output sot_plan.yamlMeasurement to fit to figure
maglab analyze load data/stfmr.csv --columns frequency,field,voltage
maglab analyze model stfmr
maglab fit --effect stfmr data/stfmr.csv --method least_squares
maglab fit --discover --effect ordinary_hall data/hall.csv --init-grid '{"R_H":[-1e-10,0,1e-10]}'
maglab sim plot data/stfmr.csv --journal aps --format pdf --output figures/stfmr.pdfMultiscale simulation handoff
maglab sim dft --structure bcc_fe --engine qe --calc-type jij --output-dir runs/dft_fe
maglab sim atomistic --engine vampire --j-ij-k 398 --t-max-k 1300 --output-dir runs/vampire_fe
maglab sim pipeline --structure bcc_fe --scales dft,atomistic,micro,device --backend mockInstrument workflow
maglab instr ingest "Keithley 2400" --manufacturer Keithley --manual-path manuals/keithley_2400.pdf
maglab instr skillgen "Keithley 2400" --manufacturer Keithley --safety-model keithley-2400
maglab instr script "Keithley 2400" --description "field sweep Hall voltage measurement" --output hall_sweep.py
maglab instr check hall_sweep.pyAuthoring after verified results
maglab write "ST-FMR fit gives xi_DL=0.12 with provenance IDs ..." --journal prl --dry-run
maglab comms cover-letter --journal "Physical Review Letters" --title "Spin-orbit torque ..."
maglab present templates --detail
maglab present slides "Key results and figures from the SOT study" --template aps-12min --format beamer --n-slides 10
maglab present poster "Key results and figures from the SOT study" --template aps-march-poster --format svgFirst-run readiness check
maglab doctor
maglab doctor --feature simulation --sim-backend ssh-gpu --host gpu.example.edu --user alicemaglab interactive research agent
maglab -p "QUERY" non-interactive one-shot query
auth codex · claude · gemini-cli · ollama · anthropic · grok · deepseek · qwen · kimi · gemini · openai · openai-compatible · set · list · status · test
physics compute · units · oracle
mat list · show · search · build
sim doctor · micro · validate · plot · job · dft · atomistic · pipeline
fit --effect EFFECT DATA.csv
analyze load · model · consistency · symmetry
device fom
figure spec · render · compose · export
primitives list · show · ingest
instr scaffold · scpi · script · check · ingest · skillgen · implement
lit search · authors · keywords · journal · graph
lab note · note-list · plan
review MANUSCRIPT
explain ANOMALY
ralph start · status · cancel
write RESULTS
comms revision · cover-letter · email · abstract · grant · rebuttal
gateway setup · start · stop · status · install
present templates · slides · poster
hypotheses TOPIC
mcp list · serve · add · enable · disable
agents list · show
skill list · create · install
harness doctor · compile · run · worker · pi-tool
report inventory
prov summary · status · lineage
task list · status · scaffold
cost
manual [topic] --lang en|ko
config show · path · set · restore · reset
install doctor
doctor
workspace status · brief · init · tree
theme list · set
version · info
The short list above is intentionally operational rather than exhaustive. Use
maglab <command> --help for option names and safety flags. Several commands
have deliberately conservative defaults: SSH checks do not probe a host unless
--probe-ssh is explicit, and presentation and manuscript commands mark generated
text as human-reviewed material.
MagLab is organized as a layered harness:
researcher intent
-> CLI / REPL / gateway / MCP
-> orchestrator, subagents, skills, checkpoints, budgets
-> physics oracle, honesty gate, DataPoint, W3C PROV ledger
-> deterministic engines
physics · materials · simulation · analysis · figures · instruments
-> lifecycle applications
literature · lab notebook · review · authoring · communications
-> human-reviewed scientific output
The verification layer is not the mission statement. It is the safety rail that lets MagLab be useful in scientific work. MagLab should help a researcher move from question to evidence to experiment to analysis to communication while keeping enough structure that the work can be inspected later.
maglab/
├── core/ orchestrator, hooks, autonomy, budgets, checkpoints, Ralph, subagents
├── llm/ provider abstraction, credentials, tool schemas, MCP client
├── physics/ formulae, units, materials database, physics oracle
├── sim/ DFT, atomistic, micromagnetic, multiscale pipeline, backends
├── analysis/ effect registry, fitting, consistency, symmetry, device FoM
├── figure/ FigureSpec, renderers, primitives, journal styles, exports
├── instrument/ SCPI, PyVISA scaffold, manual RAG, safety checks, scripts
├── literature/ connectors, corpus, RAG, graphs, authors, journals, keywords
├── lab/ ELN entries, measurement planning, active learning
├── reviewer/ persona review, meta-review, rubrics, disclosure, corpus RAG
├── authoring/ manuscript, BibTeX, data vault, slides, posters, comms
├── gateway/ Slack, Telegram, Discord daemon adapters
├── provenance/ DataPoint, W3C PROV ledger, store
├── report/ honesty gate and report rendering
├── ui/ terminal rendering and themes
└── mcp_server.py external agent tool server
harness.manifest.json defines the agent society around this package:
local-context-librarian, search-scout, citation-auditor, paper-reviewer,
synthesis-editor, physics-validator, result-analyst, experiment-manager,
hypothesis-gen, and comms-writer.
That manifest is exposed through three distinct user surfaces:
- Legacy MagLab CLI/REPL mode:
maglab,maglab -p ..., Ralph, and the current orchestrator use MagLab's existing backend layer. - Deterministic commands: physics, literature, analysis, figure, instrument, and related commands run concrete MagLab modules and can be used without an LLM key when the feature itself is offline.
- Harness mode:
maglab harness doctor,maglab harness compile,maglab harness run <workflow> --dry-run,maglab harness worker <agent>andmaglab harness pi-toolturn the manifest into inspectable execution plans. Planning is deterministic and offline — no provider is contacted — so a dry run is reproducible and safe to run anywhere.--execute-localthen runs the plan through MagLab's own subagent runner, which means every step keeps the existing four-layer verification, hooks and budget accounting.
Workflow names come from the manifest (survey, paper-review, citation-map,
local-gap, physics-validation, result-analysis, hypothesis-generation,
deep-research). The ergonomic aliases literature-review/lit-review →
survey and deepresearch/research → deep-research are accepted; a real
manifest name always wins over an alias.
maglab harness doctor # what would stop a run right now
maglab harness compile --write # write .pi/workflows/*.json
maglab harness compile --check # fail if the routing table drifted
maglab harness run literature-review --topic "SOT switching in CoFeB" --dry-run --output text
maglab harness run deepresearch --topic "field-free SOT switching" --dry-run
maglab harness run survey --topic "SOT switching" --execute-local --local-max-steps 2
maglab harness worker citation-auditor --task '{"candidates":[],"session_id":"demo"}' --json
maglab harness pi-tool --payload-json '{"workflow":"survey","input":"SOT switching"}'
maglab run "SOT switching in CoFeB" --harness-workflow literature-review
maglab lit search papers/sot --harness-plan --harness-jsonharness doctor reports structural readiness (workflow steps resolving to
declared agents, agents backed by agents/*.md, declared skills present,
MCP servers registered, an LLM backend configured). The two PI checks are
reported but never block, because local execution does not need PI.
harness compile writes drift artifacts to .pi/workflows/. They are
machine-independent by construction — no absolute paths, no local install state,
no timestamps — so --check fails only when the manifest itself has changed.
They are not the live execution payload; that is the topic-bound
pi_agents_workflow_payload in harness run --dry-run output, alongside a
local_run_plan and a cross_links block carrying the PI flow id and any
provenance activity recorded with --record-provenance.
--pi-handoff prints the exact
pi --mode json --no-builtin-tools --tools workflow -p ... invocation, which is
useful to read even where PI cannot run. --execute-pi runs it, and is gated on
the environment: PI must be installed and expose a workflow tool (that comes
from pi-agents, not the base binary). When it cannot run, the command says so and
points at --execute-local — it is never simulated.
MagLab is designed to leave a paper trail in the workspace instead of hiding state inside a chat transcript. Common artifact locations are:
.maglab/
├── artifacts/ saved harness payloads, reports, and final results
├── harness-budget.sqlite
├── harness-provenance.sqlite
└── mcp.json workspace MCP server registry when configured
notebook/ ELN entries and fit-linked notes
figures/ rendered or composed figure outputs
runs/ simulation and workflow run directories
papers/ local literature corpora and evidence matrices
reports/ manuscript, review, slide, and poster outputs
Artifact paths are command-specific and configurable, but this separation is the intended operating model: raw research files stay in the project, generated outputs are visible on disk, provenance and budget records are inspectable, and LLM-assisted text remains marked for human review.
Python 3.11 to 3.13 is supported.
uv pip install -e . # core
uv pip install -e ".[research]" # recommended: all research features
uv pip install -e ".[llm]" # LLM backends
uv pip install -e ".[mcp]" # MCP server and client
uv pip install -e ".[sim]" # simulation stack
uv pip install -e ".[figure]" # plotting and figure rendering
uv pip install -e ".[instr]" # PyVISA and instrument manuals
uv pip install -e ".[literature]" # literature APIs and RAG
uv pip install -e ".[reviewer]" # reviewer panel support
uv pip install -e ".[authoring]" # papers, slides, posters, docs
uv pip install -e ".[gateway]" # messaging gateway
uv pip install -e ".[dev]" # ruff, mypy, pytest, pre-commitFor normal research use, prefer the all-in-one .[research] extra. Then run
maglab install doctor to check Python, PATH, global app paths, and installed
research extras; run maglab doctor for a first-run readiness report and
maglab setup all to see feature-specific setup checks, optional remote
packages, terminal setup commands, and the matching REPL slash commands. Inside
the MagLab REPL, use /setup,
/setup <feature>, or direct commands such as /setup-llm,
/setup-literature, /setup-simulation, /setup-figure,
/setup-instrument, /setup-authoring, /setup-review, /setup-gateway, and
/setup-mcp. Existing working dependencies and commands are treated as ready;
the setup and doctor views only tell you what still needs attention.
Some simulation engines require external binaries or remote-execution packages
that must be installed separately: OOMMF, MuMax3, VAMPIRE, VASP, Quantum
ESPRESSO, HPC/GPU execution environments, and paramiko for Python-native SSH.
MagLab can still generate inputs, validate specs, run mock paths, and parse
prepared outputs without owning those solver installations.
uv pip install -e ".[dev]"
ruff check maglab/ tests/
mypy maglab/
pytestThe test suite is organized around smoke, integrity, golden, and integration markers. Quantitative validation is expected to be deterministic. LLM-as-judge is not used for physics, fitting, citation, or numerical correctness.
- MAGLAB.md: persistent project context and invariant principles
- harness.manifest.json: subagents, workflows, and model routing
- Manuals: feature-by-feature operating guide
- 한국어 매뉴얼: 기능별 한국어 사용 설명서
- Repository metadata: GitHub description, topics, and social-preview copy
Suggested GitHub description:
AI for Science harness for magnetism and spintronics research: literature, physics, simulation, fitting, figures, instruments, authoring, and provenance in one CLI.
Suggested GitHub topics:
ai-for-science, magnetism, spintronics, micromagnetics, materials-science,
scientific-computing, research-automation, llm-agents, cli, provenance,
simulation, data-analysis, scientific-figures, instruments, open-science
Suggested thumbnail/social preview description:
MagLab turns the magnetism and spintronics research lifecycle into a verifiable CLI workflow: LLM orchestration wrapped around deterministic tools, provenance, simulation, fitting, figures, instruments, and scientific writing.
MIT. See LICENSE.
Built with Python, NumPy, SciPy, lmfit, Matplotlib, Pydantic, and the assumption that researchers remain responsible for science.




