feat(managed): compose reviewed runtime capabilities - #243
Draft
allisoneer wants to merge 25 commits into
Draft
Conversation
Reconcile ALL-12 repair admission with ALL-40/41 maintenance, exercise strict config v2 with managed bootstrap, and run the production image smoke on the composed auth/control contract. Reviewed source provenance: NAC #239 7f46e51..2e45862; NAC #242 83bdb4b..d55dc0c excluding unrelated 35b4cea; NAC #237 6ea8946..cf5914b. The allison-demo base stack was not imported.
Keep the v2 managed config and control JWKS root-owned while returning the non-secret persistence canaries to the runtime UID. This preserves the restart contract exercised by the real image smoke.
Make managed SessionManager construction the process-hardening and native-credential capture boundary so embedders cannot bypass worker-only Exa isolation. Cover ambient removal, Linux same-UID procfs resistance, no-new-privileges, and repeated managed construction in an isolated adversarial test.
This was referenced Sep 9, 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
Compose the three independently reviewed Managed NAC runtime capabilities on the exact
devbase without importing theallison-demostack:This integration reconciles strict managed config v2 with auth bootstrap/repair while retaining config v1 compatibility, preserves upgrade admission and restart fencing, and exercises the composed contract in the production binary and managed image. It also closes an exact-head review finding by making public managed
SessionManagerconstruction enforce process hardening and native-credential capture before config/store/runtime construction.Exact provenance
devat0f13b9912017c92b4edc4c8b1bec8b40d8355c697f46e5164deceb27b22a03fd1f10595d5e1c41d0..2e4586242cf40b8d640a9a7f330ed69af2bb82da83bdb4b3538566a74806b7e5756987eec824a1db..d55dc0c3c9f2067c85a3910a1f4b836fcf0b69a1, excluding unrelated35b4cead6926ad9da9d0da7da110dbf5bee0de926ea8946520664fe27404881fb149e53c5f60a389..cf5914b5a38b85b6f4c7ac36d5ff5157d0af5f08414af989de7c108cab46844bf62f186c2a301f85All integration commits are SSH-signed. The
allison-demobranch/base stack was not merged or imported. A read-only future merge simulation identified expected textual conflicts only incrates/nac-core/src/store/schema.rsandcrates/nac-server/src/tests/managed_delivery.rs; no merge was performed.Cross-fit coverage
Verification
At exact head
414af989de7c108cab46844bf62f186c2a301f85:make setup— passedmake crate-test CRATE=nac-server— 187 library + 23 binary + stable contract passedmake ci— passed (Rust workspace, 47 web files / 268 tests, format, clippy, source size, OpenAPI/types, assets, production build, static image contract)make test-durability— passedmake test-e2e— 21/21 passed, including managed Exa delegation and managed onboardingmake test-managed-image-contract— passedmake test-managed-image— passed on the real Linux/amd64 image, including restart/auth persistence, capability bounds, and Git LFSOne first final-head CI attempt observed the existing catalog global-state test mismatch (
ProviderDefaultvsBaseline) after 1,250 core passes; the test passed immediately in isolation and the complete clean retry passed.Independent review
Bounded exact-head security/durability review initially found one P1: managed credential isolation could be bypassed through the public library constructor. Commit
414af989moved the invariant to managedSessionManager::newand added the adversarial subprocess coverage above. Re-review accepted the exact head with no remaining P0/P1 findings.Deliberately not performed / remaining live gates
Refs ALL-47, ALL-12, ALL-35, ALL-40, ALL-41.