feat: implement nono sideload#1190
Conversation
PR Review SummarySize
Affected crates
Blast radius — ModerateThis PR touches: source code,CI / build tooling Updated automatically on each push to this PR. |
73ea968 to
c95ec75
Compare
c95ec75 to
7b99c9c
Compare
There was a problem hiding this comment.
Code Review
This pull request introduces a new sideload feature to the nono-cli tool, enabling the installation of packs from a local directory without registry attestation or cryptographic verification for development and testing. It adds a sideload subcommand, a Cargo feature flag, integration tests, and documentation, along with safety guards like compile-time errors for release builds and lockfile validation to prevent production binaries from loading sideloaded packs. A critical security review comment was kept, which identifies a potential path traversal vulnerability in build_local_downloads where artifact paths are joined without validation, potentially allowing arbitrary file reads.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
When developing a registry pack, it's not easy to test the behavior of the pack, because nono requires the pack to have proper lockfiles and attestation. To solve for this developer case, without harming the security of production nono users, this commit introduces a new compile-time build flag called sideload, which is disabled for production builds. When nono is compiled with sideload, it introduces a new CLI command, nono sideload. This command copies the path into the correct registry location and updates the lockfile like normal. Additionally, other commands like nono run disable attestation Signed-off-by: Anil Kulkarni <anil@terminal.space>
7b99c9c to
470f2c1
Compare
Signed-off-by: Anil Kulkarni <anil@terminal.space>
0c4c6bb to
cdc73b8
Compare
When developing a registry pack, it's not easy to test the behavior of the pack, because nono requires the pack to have proper lockfiles and attestation.
To solve for this developer case, without harming the security of production nono users, this commit introduces a new compile-time build flag called sideload, which is disabled for production builds.
When nono is compiled with sideload, it introduces a new CLI command, nono sideload. This command copies the path into the correct registry location and updates the lockfile like normal. Additionally, other commands like nono run disable attestation
Linked Issue
Closes #1188
Summary
Test Plan
Checklist
CHANGELOG.mdif needed