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
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
Design Questions
<scope>a new top-level tag or an attribute on<session>?isolated="true")?Related
consumesattribute for explicit data flow