Skip to content

Conversation

@MarlinFreesoul
Copy link

  • Add role protocol to semanticHeaders for proper rendering
  • Implement recursive role content rendering via renderRoleContent()
  • Add circular reference detection with visitedRoles Set
  • Make logger optional for test environment compatibility

This enables composing multiple roles into one using @!role:// references:

<personality>
@!role://liutianchi
@!role://venus
@!role://director
</personality>

The system recursively loads each referenced role's full content, including their nested thought://, execution://, and knowledge:// references.

Tests included:

  • Unit tests for role composition
  • Integration tests with real role files
  • E2E test validating complete workflow

- Add role protocol to semanticHeaders for proper rendering
- Implement recursive role content rendering via renderRoleContent()
- Add circular reference detection with visitedRoles Set
- Make logger optional for test environment compatibility

This enables composing multiple roles into one using @!role:// references:

```xml
<personality>
@!role://liutianchi
@!role://venus
@!role://director
</personality>
```

The system recursively loads each referenced role's full content,
including their nested thought://, execution://, and knowledge:// references.

Tests included:
- Unit tests for role composition
- Integration tests with real role files
- E2E test validating complete workflow
@deepracticexs
Copy link
Member

这个 role 加进来没有任何意义, 和 thought 没有区别

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants