Repository navigation
Conversation
…y launcher Conflicts: Info.plist keeps both keys; main.swift answers --backstop first, then resume-frozen and the session command; releasing.md keeps both sides' checks. # Conflicts: # Resources/Info.plist # Sources/Insomnia/main.swift # docs/releasing.md
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Since the native --backstop command landed, runAgent only ran that command, so no test executed LaunchdBackstop.agentProgram any more. The plist still uses that shell verifier for an older bundle, a requirement without cdhashes and SIP that is not known to be enabled, and install.sh writes the same fallback. Its remaining tests only read the program text or the plist. The intact, edited-script and wrong-build cases now live in one helper that runs twice: once with the native command, as before, and once with the ProgramArguments plistDictionary writes for a target without a native executable, run with HOME in the scratch tree. The shell run checks the exit status, whether the sealed script ran, and the one-line refusal in ~/Library/Logs/Insomnia/insomnia.log with codesign's reason, as main's test did. The native assertions are unchanged. Checked by breaking agentProgram three ways and running the shell test: dropping the -R requirement fails it 4 times (the wrong build runs the script, exits 0 and logs nothing), exiting 0 on refusal fails it 2 times, and skipping verification fails it 3 times. The native test passed with the requirement dropped. swift build and swift test --filter PackagingTests pass, 29 tests, 0 failures.
Owner
Author
|
The full suite at |
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.
Login Items now shows Insomnia, not an unnamed shell script. The recovery agent that undoes an abandoned session runs a small native launcher inside the app, pinned by its code signature, which checks the bundle and then runs the sealed backstop script.
This lands #142 by @ilya-the-frog at bf8a75a. The commit is merged here unchanged, so GitHub marks #142 merged when this one merges and its author keeps the credit. #142 conflicts with #146 (the session command line), which lands first, so it can't merge as it is.
To @ilya-the-frog: please don't push to your branch now. A new commit on it isn't in this pull request, so #142 would stay open instead of showing as merged.
The base is
integration/wave1-base: main with #146 and #147 (which carry #145) merged, as main will be once they land. When #147 merges, this pull request's base changes to main and nothing else changes.Conflicts resolved
Maintainer commits
38b0ef6: the packaging tests run the intact, edited-script and wrong-build cases through the shell verifier as well as the native command. The plist still falls back to the shell verifier for an older bundle, a requirement without cdhashes and SIP that is not known to be enabled, and install.sh writes the same fallback, but since Show Insomnia in Login Items with a pinned native recovery launcher #142 no test ran it. Breaking the verifier three ways (no requirement check, exit 0 on refusal, no verification) fails the new run.Tests
The full suite at this head,
38b0ef6: 1408 tests, 0 failures, on macOS 26.2 on the maintainer's MacBook. Hosted CI runs on macOS 26 and 27.Review
The merge is clean at 0981a6a, the same tree as
f0f183e; only commit messages changed. That review checked the command order in main.swift, that an install, an interrupted install or an uninstall cannot leave the recovery agent running something unpinned, and that the release checklist still covers Login Items, the launcher's spawn constraint and recovery after a restart.38b0ef6had its own review with no findings: the shell run executes the exactProgramArgumentsthe plist writes, and it checks what main's test checked before #142.Evidence
To run on the owner's MacBook at the final head: install, Login Items shows Insomnia, the recovery agent's launcher carries the expected spawn constraint, and after one restart the agent runs and recovers a session journal.


Confidence Score: 5/5
The PR appears safe to merge, with the previous coverage gap fixed and no new actionable issues found.Summary
The PR gives the recovery agent a native
--backstoplauncher so Login Items can identify Insomnia.No new actionable issues or mounted-rule violations were found. macOS tests were not run in this Linux environment.
Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Install or arm recovery] --> B{Native command, cdhash requirement and SIP enabled?} B -->|Yes| C[launchd checks SpawnConstraint] C --> D[Insomnia --backstop verifies bundle] B -->|No| E[System shell verifies bundle] D --> F{Bundle passes?} E --> F F -->|Yes| G[Run sealed backstop.sh] F -->|No| H[Log refusal and exit]Reviews (2) · Last reviewed commit: "Packaging tests: run the agent cases thr..." · Reviewed by Greptile