Back to the catalog

grammar-guided-preference-data — docs

Bundle OKF 0.2 · 4 conceitos · divyarthjain/grammar-guided-preference-data

Open source Repository Open in the app JSON README (API)

About

# grammar-guided-preference-data — docs

An [OKF](https://okf.dev) v0.2 documentation bundle. Start here regardless
of which part of the repo (`runtime/`, `training/`, or `simulation/`)
you're about to touch.

* [Architecture](architecture.md) — the Rust/Python split (plus
`simulation/`, a third MuJoCo-based component), why, and the open
question on model choice.
* [Grammar schema](grammar-schema.md) — the JSON schema every model
candidate must match.
* [Physical judge](physical-judge.md) — what the judge is, `MockJudge`
today, the swap-in point for a real judge later.
* [Glossary](glossary.md) — terms used throughout (VLM, GBNF, IK, Ruckig,
DPO, RLAIF, etc.).

See [log.md](log.md) for the dated history of this bundle, and
`../docs/superpowers/specs/2026-07-29-repo-scaffold-design.md` for the
full scaffold design spec this bundle was built from.

Details

Kind
OKF bundles
Topic
Developer tools
Publisher
divyarthjain
Origin
okf_github
Category
dados
Version
0.2
Last push
2026-07-30T09:45:47Z
Repository state
ativo
Language
Python
License
Apache-2.0
Added
2026-09-08 16:02:35
Updated
2026-09-08 16:02:35
Origin id
divyarthjain/grammar-guided-preference-data:docs/index.md

README

# grammar-guided-preference-data

Grammar-guided synthetic preference data for cheap self-improvement in
robot perception. A VLM ("MiniCPM-V 4.6" — working assumption, grounding
unverified, see [`docs/architecture.md`](docs/architecture.md)) proposes
candidate scene descriptions for each camera frame, a grammar constrains
its output to a fixed JSON schema, and the robot's own control stack
(IK feasibility + Ruckig trajectory safety) automatically labels each
candidate CHOSEN/REJECTED — building a DPO preference dataset with zero
human labeling, used for periodic cheap "micro-anneal" fine-tunes.

Start at [`docs/index.md`](docs/index.md) for the full picture.

## Layout

- `runtime/` — Rust workspace: the on-device real-time loop (targets
  Raspberry Pi, aarch64).
- `training/` — Python package: the offline DPO micro-anneal (dev
  machine, not the Pi).
- `simulation/` — Python package: a MuJoCo-based training-time physical
  judge with a live viewer, feeding `data/preference_pairs/*.jsonl`
  alongside the Rust runtime's judge.
- `data/preference_pairs/` — shared JSONL, the interface between the
  runtime and training/simulation components.
- `docs/` — documentation bundle, start here.

## Quick start

```
cd runtime && cargo test --workspace
cd training && uv run pytest
cd simulation && uv run pytest
```

More