Release 0.6.0: current-directory CLI, runtime-policy, reboot-stable cleanup - #7
Merged
Conversation
…leanup - install-service runtime-trust policy --runtime-policy strict|balanced (balanced default on macOS): a stock Homebrew interpreter can host the scheduled sweep via a narrow /opt/homebrew|/usr/local + admin-group carve-out, while world-writable, foreign-owned, symlinked and writable-code components stay hard failures. Fixes install-service refusing on every Homebrew Mac. - Reboot-stable ownership identity: the persisted inode check compares st_ino only (st_dev is not stable across reboots on APFS/Linux). Fixes tracked directories never being removed after a restart. Within-boot fd-relative and mount-boundary checks keep the full device+inode pair. - Current-directory commands: keep/rm/explain/extend act on the ephemdir directory you are in (a subdirectory resolves to the managed root) with no name; extend accepts a bare lifetime; path prefers the current directory. All fail closed on an absent/invalid/mismatched marker and never fall back to the latest directory for destructive commands. The random marker plus st_ino remain the deletion gate. 527 tests, ruff + mypy --strict clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Highlights
install-service --runtime-policy strict|balanced(balanced default onmacOS) — installs on a stock Homebrew interpreter; world-writable, foreign-
owned, symlinked and writable-code components are still rejected.
st_inoonly (st_devis not stable across reboots), restoring automaticpost-reboot cleanup. Within-boot fd-relative and mount-boundary checks keep
the full device+inode pair.
keep/rm/explain/extend/path(a subdirectoryresolves to the managed root), fail-closed on a bad marker, no latest-
fallback for destructive commands.
527 tests, ruff + mypy --strict clean; build + twine check pass.