Skip to content

feat: Design <scope> tag for shared data across agents #5

Description

@sergio-sisternes-epam

Summary

Design a new <scope> top-level tag that provides shared data accessible to all child agents within a session.

Motivation

During smoke testing, an agent identified that sibling agents within a session cannot share data. For example, a test-engineer agent cannot access a login() function defined in a reviewer agent's scope. Each agent receives only its own <skill> content.

Proposed Design

<session name="review-pipeline">
  <scope name="code-under-review">
    def login(username, password):
        return db.execute(query)
  </scope>

  <agent name="reviewer">
    <skill interface="code-review">
      Review all code in scope "code-under-review".
    </skill>
  </agent>

  <agent name="tester">
    <skill interface="testing">
      Test the login() function from scope "code-under-review".
    </skill>
  </agent>
</session>

Design Questions

  • Is <scope> a new top-level tag or an attribute on <session>?
  • Should scopes be mutable (agents can modify shared state)?
  • How do scopes interact with session isolation (isolated="true")?
  • Should scopes support inheritance (nested sessions inherit parent scopes)?

Related

  • Discovered during directive smoke testing (ADR-010)
  • Related to consumes attribute for explicit data flow

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions