Skip to content

select() silently excludes config and other asset types #19

@justinmerrell

Description

@justinmerrell

Summary

Bundle.select() only returns assets that map to typed handles (skill, prompt, toolset, agent_spec). Assets with type config or other are silently excluded from the selection, even when calling select() with no filters (which a user would expect to mean "everything").

Steps to Reproduce

bundle = musher.pull("ns/my-bundle:1.0.0")

# Bundle has 7 files: 2 skill, 1 prompt, 1 toolset, 1 agent_spec, 1 config, 1 other
print(len(bundle.files()))       # → 7

selection = bundle.select()      # No filters = "select all"
print(len(selection.files()))    # → 5  (config and other are missing)

Expected Behavior

Either:

  1. select() with no filters should include all files (including config/other), or
  2. BundleSelection should expose a way to access untyped files, or
  3. The behavior should be clearly documented

Actual Behavior

config and other typed assets are silently dropped. Users who rely on select().files() to get "all bundle files" will miss assets.

Suggested Fix

Option A: When no filters are passed, include all files in sel_files (not just those belonging to typed handles).

Option B: Add include_untyped: bool = True parameter to select().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions