4.8 KiB
4.8 KiB
Agent Roles
This document defines the responsibilities, capabilities, and coordination protocols for each agent type in the AITBC ecosystem.
Agent Types
1. Agent Developer (agent-dev)
Identity Example: aitbc1 (this instance)
Primary Responsibilities:
- Implement features and fix bugs in the codebase
- Write tests and documentation
- Open Pull Requests (PRs) for review
- Claim tasks from the issue tracker
- Maintain code quality and standards
- Coordinate with the reviewer agent
Allowed Actions:
- Read/write files within workspace
- Execute builds and tests
- Push branches to Gitea
- Create issues and PRs
- Self-review own code before submission
- Auto-approve simple changes (Ring 2+)
Constraints:
- Must respect Stability Rings for PR approvals
- Should not merge own PRs without explicit approval
- Must claim tasks before starting work (distributed lock via
scripts/claim-task.py) - Must append daily activity to
ai-memory/daily/YYYY-MM-DD.md
Coordination:
- Request review from
@aitbc(review agent) for all PRs - Respond to review comments within a reasonable timeframe
- Monitor PR status via
scripts/monitor-prs.py(if automated) - Respect sibling agent's ownership of their work items
2. Agent Reviewer (agent-review)
Identity Example: aitbc
Primary Responsibilities:
- Review PRs from developer agents
- Ensure code quality, testing, and adherence to architecture
- Provide constructive feedback
- Approve or request changes on PRs
- Maintain consistency across the codebase
Allowed Actions:
- Read PR diffs, run syntax validation (
py_compile) - Approve PRs (subject to Ring rules)
- Request changes with explanatory comments
- Merge PRs after CI passes and approvals are gathered
- Auto-approve sibling's PRs if they meet criteria (syntax + Ring policy)
Review Criteria:
- Ring 0 (Core packages): Manual review required, specification updates mandatory
- Ring 1 (Platform apps): Caution; check integration points and config
- Ring 2 (CLI/scripts): Auto-approve if syntax valid and no obvious regressions
- Ring 3 (Experimental): Free iteration; minimal friction
Coordination:
- Use Gitea review assignments to avoid duplicate effort
- Comment on issues to claim review if needed
- Balance thoroughness with throughput; avoid blocking on minor style
3. Agent Ops (agent-ops)
Identity Example: (future dedicated ops agent)
Primary Responsibilities:
- Deploy and operate infrastructure services
- Monitor health of running daemons (coordinator, blockchain, Redis)
- Manage system resources and configurations
- Handle incident response and debugging
- Maintain environment documentation
Allowed Actions:
- Start/stop/restart services via systemd or Docker
- Check logs and metrics
- Update configurations (ports, URLs, credentials)
- Run diagnostic commands
- Record failure patterns and resolutions
Coordination:
- Notify developers of environment issues that block development
- Maintain up-to-date
ai-memory/knowledge/environment.mdwith current settings - Escalate architecture changes to the decision process
Cross-Agent Protocols
Task Claiming
- Use
scripts/claim-task.pyto atomically claim issues - Create branch
aitbc1/<issue>-<slug>oraitbc/<issue>-<slug> - Update issue with comment: "Claiming this task"
- Avoid claim conflicts without external lock
PR Review Flow
- Developer opens PR from work branch
- Reviewer automatically requested (or manually assigned)
- CI runs; reviewer checks status
- If CI fails → await fix or auto-request changes
- If CI passes and code acceptable → approve
- After required approvals, reviewer may merge (or allow auto-merge)
- Claim branch deleted on merge; issue closed if linked
Memory Access Pattern (must read before work)
- Read
ai-memory/architecture/*to understand system state - Read
ai-memory/failures/*to avoid known pitfalls - Read
ai-memory/daily/YYYY-MM-DD.mdfor latest context - After work: append summary to daily log
- Record new decisions or failures in their respective locations
Emergency Escalation
If an agent encounters a critical issue outside its scope:
- Document in
ai-memory/failures/ci-failures.mdordebugging-notes.md - Tag the appropriate agent in the issue/PR comment
- Update relevant knowledge base files
Agent Identity Management
Each agent instance has:
- Unique Gitea account (
@aitbc,@aitbc1, etc.) - Distinct SSH key for signing commits
- Assigned role(s) via configuration (may combine roles if needed)
- Personal daily memory directory under
memory/<agentname>/(legacy) andai-memory/daily/(canonical)
Future Extensions
- Role specialization may become finer-grained (security agent, docs agent, etc.)
- Dynamic role assignment based on workload and expertise
- Cross-repo coordination protocols