Skip to content

Multi-manifest composition #78

@pentaxis93

Description

@pentaxis93

What this enables

An agent operating in multiple cognitive modes — strategic thinking, coding, research — needs multiple methodologies active simultaneously. Runa currently loads a single methodology manifest. This issue enables loading multiple manifests into one dependency graph so that artifacts from one methodology can trigger protocols in another.

Who this serves

  • Methodology authors who want to compose cognitive modes rather than encoding everything into a single methodology.
  • Operators who want agents that can switch between strategic thinking and coding, with the strategic methodology's outputs informing the coding methodology's inputs.
  • The routing pattern where a lightweight routing methodology produces mode-selection artifacts that trigger protocols in other methodologies.

What must be true when this is done

  1. runa init accepts multiple methodology paths.
  2. Runa parses all manifests and builds one unified dependency graph from the combined set of artifact types and protocol declarations.
  3. Artifact type name uniqueness is enforced across the combined set — two methodologies cannot declare the same artifact type name.
  4. Protocol name uniqueness is enforced across the combined set.
  5. Cross-methodology edges work: a protocol in methodology A can declare requires or accepts on an artifact type defined in methodology B.
  6. Trigger evaluation, context injection, enforcement, and all existing runtime capabilities operate on the unified graph without special-casing.
  7. runa status, runa step, runa list, and runa doctor report across the full combined topology.
  8. Each methodology's protocols and skills directories remain separate on disk — runa reads from multiple methodology paths.

What this does not include

  • Workspace isolation (separate artifact directories per methodology). All methodologies share the workspace. Isolation is a future concern.
  • Runtime methodology switching (loading/unloading manifests while running). The manifest set is fixed at init time.
  • Any changes to the three primitives. Artifact types, protocol declarations, and trigger conditions are unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions