Settings into { build, words: ProjectWords }. It took about 6 cargo check rounds, because 42 field reads were spread over project.rs, main.rs and an it test. A small script put words. in at each line and column the compiler named. My first run of that script used a wrong scratchpad path and wasted a turn. Writing the Nikaia file took one go, and lower-std accepted it the first time.project.rs: the it tests that call optimizations and skip_free_at_exit, and main.rs’s field reads.throws becomes Result<_, Thrown<E>>, String? becomes &Option<String>), and the Thrown::split() adapter from P4a.tools/ uses filter_map yet (it lowered fine anyway).ProjectWords means a field inside Settings or only a type passed to the functions. The brief named it but left this open, and I picked the field.cargo check (several rounds), one lower-std / build cycle, lib project::, the brief’s it filters plus the guard set, the three touched it test groups, nikaia test --project tests/compiler, clippy, pre-push-check (twice: once printed nothing, once for its exit code), and rs2nika --score. Probably wasted: tests/compiler (no check_/emit_ file changed, and the brief asked for it anyway), and the first pre-push-check, whose output I cut away with tail.Settings.words) or left as it is. That would have meant one edit pass instead of a guess and a loop of compiler errors.Open: project_settings.nika changed on disk after my commit, and not by me. I did not check what changed. The supervisor should compare it with aab4d749 before the next lower-std.