Add fail-closed diagnostic task inventory - #117
Merged
Conversation
myobie
marked this pull request as ready for review
July 31, 2026 00:17
This was referenced Jul 31, 2026
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.
Summary
st2 tasks --jsonwith the versionedst2.task-inventory.v1envelopeSafety boundary
This branch is directly based on current
mainand has no PR #106 ancestry or dependency. It adds no catalog lock, publisher, incomplete-apply state, lifecycle flip, CAS protocol, or cutover procedure.The existing exec writer remains a plain PID record. Spawn, list, kill, reap, remove, and all lifecycle behavior are unchanged. Inventory observes legacy PID state without rewriting it, verifies the live PID against its kernel start token and PID-file mtime, and reports
indeterminatewhen that proof is unavailable. Missing PTY and exec roots remain absent.Catalog discovery runs before and after runtime observation. Semantic drift makes the receipt incomplete; this detects observed change without claiming writer serialization or a transactional snapshot.
Verification
cargo test --workspace --all-targets -- --test-threads=1git diff --checkHosted Nix and independent macOS verification are pending.