v6.51.5
v6.51.5 (2026-05-07)
Bug Fixes
- fix(safety): guard annotate writes against KiCad lock files (closes #213)
Add ProjectContext.lock_file / is_locked properties and
jbom.common.kicad_runtime module with:
- is_running_inside_kicad(): detects plugin mode via pcbnew import
- check_write_permitted(): write guard with plugin bypass, dry-run
warning vs hard error, and actionable message pointing at --dry-run
Wire check_write_permitted() into jbom annotate after project resolution
so both --normalize and --repairs paths are protected by a single guard.
Plugin mode bypasses the guard entirely: KiCad holds the lock by design
and the plugin has direct in-memory access.
Adds 11 unit tests covering all guard paths and plugin-mode bypass.
Co-Authored-By: Oz oz-agent@warp.dev (721abfb)