Result: done
Files: see docs/briefs/b1194.md.step1.report.md and docs/briefs/b1194.md.step2.report.md
Commit: e3344e42 lowering: m.get(k)?.field lends the member like m[k]?.field; e0a97e40 lowering: text into a fs::Path parameter the callee only reads is lent as a PathBuf
Body: #1194: the checker’s a_safe_reach (check_fields.nika) now counts a get/first/last call on a binding as a place (new shapes_lends_from_a_binding, check_shapes.nika, the same names as the emitter’s emit_place_already_lent), so the member is lent (.as_deref()/&), not moved; emit_core_safe_field writes no extra .as_ref() on such a read. describe_crate_root now reads manifest.dependencies.get(key)?.path, which proves the tools path through lower-std. #1195: the literal’s wrap FactWrap::Path went into nullable_args, but lent_args was never set for a parameter inferred lent, so it lowered f(PathBuf::from("a")) against &fs::Path; check_arguments.nika now records it lent (lent position, want not a view), and emit_core_args.nika writes &PathBuf::from(..), with an inner & for a place (&PathBuf::from(&s)) so s can still be read after the call
Fixes: #1194, #1195
Pushed: local e0a97e40
Tests: both new tests/compiler programs fail on the unfixed binary (E0507 x5; mismatched types) and pass with –both-settings; it describ fs_ path lower 241 passed; lower-std –no-cache fixpoint (rebuild no-op); cargo fmt –check, clippy –all-targets -D warnings clean; pre-push green for both commits; sequences guard not run (not touched)
Gate: green
Deviation: none
Found: none
Needs: none
Changelog: lowering: ?. after get/first/last off a binding lends the member instead of moving it (#1194); text handed to an owned fs::Path parameter the function only reads is lent as &PathBuf::from(..) (ADR-319 D2, #1195)
Owner: none
Disk freed: scratch binaries and probe project (about 70 MB); target/nikaia-project-tests 1.3G (new over 100 MB: rlib/df8bcfe6 516, run-bundle/3f8b93b8 288, build-time-bundle/efd5abe9 488); / 3.9G free (91 %)
Attribution:
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01GFeMqxRbtUMiGVyDMxsvEq