Skip to content

fix(agentos): accept [ as a package command name - #2015

Merged
eersnington merged 4 commits into
mainfrom
stack/fix-agentos-accept-bracket-command-name-wovpmrut
Sep 30, 2026
Merged

eersnington merged 4 commits into
mainfrom
stack/fix-agentos-accept-bracket-command-name-wovpmrut

Conversation

@eersnington

@eersnington eersnington commented Sep 30, 2026 •

Copy link
Copy Markdown
Member
  • The coreutils package declares the command [ (POSIX test). The resolver allows only A-Z a-z 0-9 - _ . @ in command names, so resolving any software list that includes coreutils fails.
  • [ is now accepted as an exact name. Other names with brackets ([x, ]) and path separators are still rejected.
for command in &manifest.commands {
    // `[` is the POSIX name of `test`. It contains no path separator.
    if command.command != "[" {
        validate_manifest_component("command", &command.command, MAX_PACKAGE_COMMAND_BYTES)?;
    }
    validate_relative_manifest_path("command entry", &command.entry)?;
}

Code: crates/client/src/software.rs


This is part 1 of 4 in a stack:

@railway-app

railway-app Bot commented Sep 30, 2026

Copy link
Copy Markdown

This PR was not deployed automatically as @eersnington does not have access to the Railway project.

In order to get automatic PR deploys, please add @eersnington to your workspace on Railway.

@the-company-company the-company-company Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No issues found

Reviewed commit 118abe8.

@the-company-company the-company-company Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 1 high-severity finding

Reviewed commit 3a81572.

Comment on lines +234 to +237
/// Remote actor SQLite rejects a statement whose bound values exceed 128 KiB.
/// The other values in a metadata chunk write are at most 272 bytes, so 64 KiB
/// leaves ample room.
const METADATA_CHUNK_SIZE: usize = 64 * 1024;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 High · Keep existing 256 KiB metadata generations readable

Reducing this constant also changes load_metadata's format validation: it recomputes expected_chunks with 64 KiB and rejects any loaded chunk larger than 64 KiB. A database written by the previous release with, for example, a 100 KiB dump has one 100 KiB chunk, so reopening it now fails before the filesystem can mount. Keep the write chunk size at 64 KiB, but make the reader accept the legacy 256 KiB layout (or version and migrate the stored format) so persisted VMs survive the upgrade.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i knew you'd flag this you little 💩

there is no legacy metadata. this is not even released api dawg

@eersnington
eersnington merged commit 6a6e18d into main Sep 30, 2026
8 checks passed
@eersnington
eersnington deleted the stack/fix-agentos-accept-bracket-command-name-wovpmrut branch September 30, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant