Something went wrong. Try again.
Odoc docs
Something went wrong. Try again.
README.md
odd eval tasks — Jane Street library edition #
One directory per task; the model's input is the prompt file, run with the
task directory (or a copy) as its working directory. Support material sits
next to the prompt. Every prompt ends with the same report requirement, so
the resulting report.md files are comparable with the earlier sudoku runs.
All tasks assume the 5.4.1 docs switch: the libraries named in the prompts
are installed and documented there, and odd is on PATH. Before a run,
smoke-test the entry points the task needs (e.g. odd doc /core/Core.List,
odd search Command.Param) so a failure reflects the model, not a
half-built switch.
| dir | task | libraries | tier |
|---|---|---|---|
| 01-du-lite | disk-usage CLI | core, core_unix (command_unix) | easy |
| 02-csv-table | CSV → aligned table | csv, textutils, core | easy |
| 03-base-port | port Stdlib module to Base | base, ppx_jane | easy |
| 04-meeting-planner | timezone planner CLI | core (Time_ns), timezone | medium |
| 05-sexp-binprot | sexp ↔ bin_prot converter | sexplib, bin_prot, ppx_jane | medium |
| 06-patdiff-lite | line-diff CLI | patience_diff, core | medium |
| 07-interval-quickcheck | property-test a module | base_quickcheck, ppx_expect | medium |
| 08-async-hasher | concurrent tree hasher | async, digestif | hard |
| 09-rpc-kv-store | KV store over Async RPC | async, async_rpc_kernel | hard |
Evaluator notes #
- Transcript beats artifact. Score whether the model reached for
odd search/odd docbefore writing code, whether it followed theSource:/ sub-library hints, and how many hallucinated identifiers survived to a compile error — the JS_intfinclude mazes make raw.mlireading nearly useless, so tool choice is most of the signal. - 07-interval-quickcheck has a planted bug:
Interval.overlapuses strict<where it needs<=, so touching intervals (e.g. [1,5] and [5,9], or an interval against itself when lo = hi) report no overlap whileintersectreturnsSome. A property relatingoverlapandintersectfinds it immediately; whether the model discovers and reports it is the core of the task. Do not fix the bug in the support material. - 03-base-port ships passing tests (
dune testin the task dir). The port must keep them passing; the deliberate pain points areHashtblcreators taking a first-class module,String.to_seqnot existing in Base, labelled~f:/~compare:arguments, and Base banning polymorphic compare. - Binary outcomes per task:
dune buildclean,dune testpasses, plus the per-task acceptance check named in each prompt (usually a comparison against a reference tool:du,shasum -a 256, installedpatdiff).