feat(deps): catalog python3 as a recommended dependency #45
Reference in New Issue
Block a user
Delete Branch "feat/python3-dependency"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
python3had quietly become a soft-dependency of this config without being tracked anywhere. It is used by:save_claude_session.fish,save_antigravity_session.fish) —python3 -cparses thesession_idout of the hook JSON payload. These calls were unguarded (Convention §6 violation).conf.d/paru-wrapper.fish,conf.d/yay-wrapper.fish) — runsscripts/clean_progress_log.py. Already guarded with graceful fallback to raw logs.uvis listed as Required, but installinguvdoes not put apython3interpreter onPATH, and Arch'sbasemeta-package omits python entirely (pacman is C; paru/yay are Rust/Go). So python3 is tracked separately rather than assumed via uv.Classified Recommended (not Required) because every consumer degrades gracefully and it's least guaranteed on this config's primary platform (Arch/CachyOS).
Changes
python3to_fish_deps_catalog.fish— recommended tier,pm: python, no cargo/special method. Arrays re-verified aligned at 27/27.type -q python3, emitting valid empty{}JSON and exiting cleanly when python3 is absent (Convention §6).docs/fish-config.md— §5.6 tier summary and the Dependency Catalog Recommended entry (with the uv/Arch-base caveat).README defers the catalog to the SSOT doc, so no README change was needed.
Manual Verification
fish-deps status— confirmpython3appears under the Recommended tier and is detected (✓ python3 (Found at /usr/bin/python3))..claude_session/.antigravity_sessionstill gets written and the hook outputs{}.env PATH=/nonexistent fish functions/save_claude_session.fish <<< '{}') — confirm it prints{}, exits 0, and writes no session file.fish-deps installon a box missing python3 — confirm it offers to install via the detected PM (pythonon Arch).docs/fish-config.md§5.6 and the Dependency Catalog — confirm the python3 entry reads correctly.🤖 Generated with Claude Code