1. _merge_config: track explicit fields instead of comparing to defaults 2. plan_install: let asset resolution errors propagate (fail loudly) 3. _install_binary/_install_appimage: use argv lists instead of shell strings 4. _find_module: narrow exception to OSError/YAMLError, raise ConfigError 5. _install_binary: use pkg.extract_dir to scope binary search 6. plan_install: raise FlowError when pkg type needs PM but none found 7. Frozen dataclasses: change mutable list fields to tuples throughout 8. Remove dead stream_shell method and unused Console import 9. Guard os.getuid() with hasattr for cross-platform safety 10. _parse_targets: raise ConfigError on malformed entries 11. Bootstrap modules: use shlex.quote on all interpolated values Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB