Skip to content

[Feat]: Research spike — subprocess worker isolation for skill execute() (sub-issue of #17) #112

@rosspeili

Description

@rosspeili

Feature Description

Sub-issue of #17. Research spike (not necessarily merge-ready): evaluate a medium-weight isolation option between trust flags (17b) and Docker/WASM.

Questions to answer in a short design note (docs/security/subprocess-isolation-spike.md or comment on #17):

  1. Can skill.execute(params) run in a subprocess with:

    • Timeout
    • Restricted env (ties to 17c)
    • JSON-serializable params/results only
    • No shared filesystem except explicit temp paths?
  2. What breaks for current registry skills?

    • pdf_form_filler (pymupdf, file paths)
    • mica_module (in-memory corpus)
    • wallet_screening (local JSON datasets)
    • Skills relying on import side effects at module load
  3. Performance impact on agent loops (latency per tool call)

  4. Recommendation: adopt / defer / hybrid (subprocess only for marked execution_mode: isolated in manifest)

Deliverable: design note + optional prototype behind feature flag (can be throwaway branch)

Out of scope: Production default for all skills in this spike

Rationale

#17 lists WASM and Docker as heavy options. A subprocess worker may cover many skills that use pure Python + HTTP without container ops overhead. Need evidence before committing framework-wide.

Implementation Idea

Metadata

Metadata

Assignees

No one assigned

    Labels

    core frameworkChanges to loader, env, or base classes.discussionOpen discussion for RFCs and proposals.enhancementNew feature or requestsecuritySecurity vulnerabilities or constitution updates.
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions