Skip to content

Limbs: inter-grove connectivity and fruit sharing #171

Description

@scuba10steve

Summary

Limbs enable connectivity between groves, allowing a cultivator to share a fruit (devcontainer) from one grove with another cultivator or another grove they own. The sharing connection itself is called a twig.

Motivation

Currently each grove is isolated -- fruits are accessible only within the grove they grow in. Limbs provide a mechanism for collaboration and resource sharing:

  • Share a running devcontainer with a teammate so they can pair-program or observe
  • Mount a fruit from another grove as a volume or network endpoint
  • Enable cross-grove service mesh for multi-service development

Terminology

Term Meaning
Limb The feature/abstraction for inter-grove connectivity
Twig A single sharing link connecting two groves (or a grove to an external cultivator)

Proposed Model

  • A Twig is a directional link: one grove shares a fruit, another grove (or external cultivator) receives access
  • Twigs have their own lifecycle (state enum: BUDDING, GRAFTED, PRUNED) mirroring the project's gardening theme
  • Limbs are managed through the API with CRUD operations on twigs
  • Authorization: only the owning cultivator of a grove can create/revoke twigs from that grove

Open Questions

  1. Should twigs be bi-directional or uni-directional?
  2. What access levels should a twig grant (read-only terminal, read-write, full control)?
  3. How does a twig manifest technically? Network tunnel? Shared volume? Both?
  4. Should twigs between two groves owned by the same cultivator have different semantics than cross-cultivator twigs?

Future Considerations

  • Twig discovery: cultivators can see what twigs are available from their groves
  • Ephemeral vs persistent twigs
  • Rate limiting and resource quotas on shared fruits
  • Audit logging for twig activity

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions