Repository navigation
Add the guarded aether-apply entry point (item 05) - #5
Merged
Merged
Conversation
Co-authored-by: Copilot App <[email protected]>
Restore prior staging on preparation failure and reject a changed running-system context before activation. Co-authored-by: Copilot App <[email protected]>
Co-authored-by: Copilot App <[email protected]>
Reject executable option hooks, preserve original sudo identity, verify isolated environments, and keep cleanup errors from rolling back an already committed candidate. Co-authored-by: Copilot App <[email protected]>
Add actual failed-profile-update coverage and prevent interactive prompts from hanging the restricted-account VM fixture. Co-authored-by: Copilot App <[email protected]>
NixOS makes /var/empty immutable; use Aether's private state home without restoring caller configuration or environment. Co-authored-by: Copilot App <[email protected]>
Co-authored-by: Copilot App <[email protected]>
Use one filtered fixture layout and its own flake outputs for base, package and firewall closures instead of equivalent inline modules with different merge ordering. Co-authored-by: Copilot App <[email protected]>
…as its agent Fsync atomic state directory changes, escape Unicode display controls, and avoid relying on a login PATH in the systemd-launched cancellation test. Co-authored-by: Copilot App <[email protected]>
Wait for QMP reset and assert the boot identity changes before checking volatile approval and persistent recovery state. Co-authored-by: Copilot App <[email protected]>
Retain fetched flake inputs on the fixture disk and assert the R1 build prints both package changes without activating. Co-authored-by: Copilot App <[email protected]>
Co-authored-by: Copilot App <[email protected]>
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.
Scope
Implements item 05 only. Adds the requested ADR,
aether-apply build|test|switch, human-onlyaether-confirm, protected snapshot/staging/build/activation handling, and synchronized prompt/playbook/README/hardening/rescue guidance. No LICENSE changes, later work-order items or live-host timer experiments.--riskonly raises the floor. R4/unsupported proposals print a bounded source diff without mutation. Kernel/initrd/hardware changes are build-only with manual boot/reboot handoff.This is a cooperative-agent guardrail, not a hostile-Nix sandbox. Trusted packages/modules can execute privileged behavior. Root/wheel, additive sudo grants or another privileged route defeat the restricted-account assumptions. SSH freshness is human attestation.
Executed evidence
Tested executable/test/config SHA:
b30cb4406dbe293867c2a0bf0db209959c333cceSuccessful Linux run: https://github.com/jrcruciani/aether/actions/runs/35635585546
All three jobs passed:
The VM uses the exact fixture flake/importer/proposal bytes for preloaded closures and persistent writable store storage. Checks/builds/activations/sudo/systemd are real, not command mocks. This remains direct-boot VM evidence, not a bootloader or live-host test.
PR head:
7af6e28ba0c0c5ee49dc1958a1e8041bd0bc305a. Its only delta from the fully tested SHA is the requested single section-05 evidence paragraph indocs/CHANGELOG.md; exact equality outside that file was verified. Automatically triggered PR CI may run, but no duplicate manual VM rerun is required for this documentation-only delta.Parent review/merge remains the handoff boundary; this PR has not been merged.