This is the companion repository for part of The Ohio State University's Emerging Technology Studio's workshop for the Mind and Machine Alignment Summit. Reproduced here are several archetypal case studies of real work we've done with researchers, faculty, and staff. Each of tbe case studies uses data that is permissively licensed or public domain so anyone is free to share, remix, and adapt as they'd like. Likewise, the repository is Apache 2.0 licensed so you can do so similarly with the code.
Over the past three or four years the field of AI has moved so fast the primary constant has been change, workflows and techniques changing in periods of months or weeks. So rather than a snapshot of how we do things at any particular time this repository aims to communicate more the processes on top of existing capabilities so hopefully future changes layer on top. These examples and the stories behind them aren't meant to be prescriptive, rather some of what has worked for us over the course of dozens of projects of varying goals, scopes, and techniques.
Many, but not all, of the engagements we've worked in have had a similar form: structured, semi-structured, or unstructured data/corpus in, structured analysis out. Many had substantial overlap in requirements and approaches, and that overlap is what's meant to be represented here. The examples will cover both specific, local strategies in addition to the process and strategy that went into them.
If you've cloned this repository and use an agent, eg Claude Code, Codex, OpenCode, you can
likely make use of a 'skill' that's in this repository that should help your agent help you
explore the project. Agents differ and things change, but ideally the agent loads it automatically,
otherwise you can (likely) tell it to load the mnms-guide skill or prefix your prompt with /mnms-guide.
For running the code, you'll want to install the tool uv from https://astral.sh/ .
If you're not familiar, it's a tool that makes it more convenient to manage Python projects.
uv sync --all-packages # install the whole workspace into one .venv
Create a .env at the repo root with:
HF_TOKEN=... # Hugging Face (dataset streaming / ASR)
LITELLM_URL=https://litellm.cloud.osu.edu/
LITELLM_KEY=sk-... # OSU LiteLLM proxy — the single LLM entry point
CONTACT_EMAIL=you@example.edu # identifies the data-acquisition User-Agent
Fetch data first (start small with --limit), then run a branch:
# 0. acquire a corpus (writes data_acquisition/data/<source>/ + manifest.jsonl)
uv run --package data_acquisition python data_acquisition/fetch_pmc_oa.py --limit 29
# 1. run the branch that consumes it
uv run --package corpus_coding python corpus_coding/main.py --n-articles 9
See each branch's README.md for its specific fetcher and options, and
.claude/skills/mnms-guide/references/running-branches.md for the full run guide.
uv workspace of independent branchesEach member is a self-contained branch built around one case study.
| Member | Modeled on a project we did | What it does |
|---|---|---|
data_acquisition/ | generic tooling | Polite fetchers for openly-licensed corpora → a git-ignored data/<source>/ tree + JSON-Lines manifest |
transcription/ | self-hosted ASR work | IBM Granite-Speech on Common Voice, WER scoring |
corpus_coding/ | multi-model article coding for meta analysis | Multi-model codebook coding → inter-model agreement + intra-model consistency + cost |
structure_analysis/ | a syllabus clustering study | LLM field extraction → embeddings → BERTopic clustering → validation vs. ground-truth labels |
bt_scoring/ | a ranking of political viewpoint in podcasts | Pairwise LLM-as-judge → Bradley-Terry latent scale with standard errors |
A list of things, in no particular order, we've noticed or used that appears in the projects
20 commits
1 commits
Python
64.2%
HTML
33.4%
Nix
2.4%
This is the companion repository for part of The Ohio State University's Emerging Technology Studio's workshop for the Mind and Machine Alignment Summit. Reproduced here are several archetypal case studies of real work we've done with researchers, faculty, and staff. Each of tbe case studies uses data that is permissively licensed or public domain so anyone is free to share, remix, and adapt as they'd like. Likewise, the repository is Apache 2.0 licensed so you can do so similarly with the code.
Over the past three or four years the field of AI has moved so fast the primary constant has been change, workflows and techniques changing in periods of months or weeks. So rather than a snapshot of how we do things at any particular time this repository aims to communicate more the processes on top of existing capabilities so hopefully future changes layer on top. These examples and the stories behind them aren't meant to be prescriptive, rather some of what has worked for us over the course of dozens of projects of varying goals, scopes, and techniques.
Many, but not all, of the engagements we've worked in have had a similar form: structured, semi-structured, or unstructured data/corpus in, structured analysis out. Many had substantial overlap in requirements and approaches, and that overlap is what's meant to be represented here. The examples will cover both specific, local strategies in addition to the process and strategy that went into them.
If you've cloned this repository and use an agent, eg Claude Code, Codex, OpenCode, you can
likely make use of a 'skill' that's in this repository that should help your agent help you
explore the project. Agents differ and things change, but ideally the agent loads it automatically,
otherwise you can (likely) tell it to load the mnms-guide skill or prefix your prompt with /mnms-guide.
For running the code, you'll want to install the tool uv from https://astral.sh/ .
If you're not familiar, it's a tool that makes it more convenient to manage Python projects.
uv sync --all-packages # install the whole workspace into one .venv
Create a .env at the repo root with:
HF_TOKEN=... # Hugging Face (dataset streaming / ASR)
LITELLM_URL=https://litellm.cloud.osu.edu/
LITELLM_KEY=sk-... # OSU LiteLLM proxy — the single LLM entry point
CONTACT_EMAIL=you@example.edu # identifies the data-acquisition User-Agent
Fetch data first (start small with --limit), then run a branch:
# 0. acquire a corpus (writes data_acquisition/data/<source>/ + manifest.jsonl)
uv run --package data_acquisition python data_acquisition/fetch_pmc_oa.py --limit 29
# 1. run the branch that consumes it
uv run --package corpus_coding python corpus_coding/main.py --n-articles 9
See each branch's README.md for its specific fetcher and options, and
.claude/skills/mnms-guide/references/running-branches.md for the full run guide.
uv workspace of independent branchesEach member is a self-contained branch built around one case study.
| Member | Modeled on a project we did | What it does |
|---|---|---|
data_acquisition/ | generic tooling | Polite fetchers for openly-licensed corpora → a git-ignored data/<source>/ tree + JSON-Lines manifest |
transcription/ | self-hosted ASR work | IBM Granite-Speech on Common Voice, WER scoring |
corpus_coding/ | multi-model article coding for meta analysis | Multi-model codebook coding → inter-model agreement + intra-model consistency + cost |
structure_analysis/ | a syllabus clustering study | LLM field extraction → embeddings → BERTopic clustering → validation vs. ground-truth labels |
bt_scoring/ | a ranking of political viewpoint in podcasts | Pairwise LLM-as-judge → Bradley-Terry latent scale with standard errors |
A list of things, in no particular order, we've noticed or used that appears in the projects
20 commits
1 commits
Python
64.2%
HTML
33.4%
Nix
2.4%