Files
aitbc/ai-memory/architecture/agent-roles.md

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.md with current settings
  • Escalate architecture changes to the decision process

Cross-Agent Protocols

Task Claiming

  • Use scripts/claim-task.py to atomically claim issues
  • Create branch aitbc1/<issue>-<slug> or aitbc/<issue>-<slug>
  • Update issue with comment: "Claiming this task"
  • Avoid claim conflicts without external lock

PR Review Flow

  1. Developer opens PR from work branch
  2. Reviewer automatically requested (or manually assigned)
  3. CI runs; reviewer checks status
  4. If CI fails → await fix or auto-request changes
  5. If CI passes and code acceptable → approve
  6. After required approvals, reviewer may merge (or allow auto-merge)
  7. Claim branch deleted on merge; issue closed if linked

Memory Access Pattern (must read before work)

  1. Read ai-memory/architecture/* to understand system state
  2. Read ai-memory/failures/* to avoid known pitfalls
  3. Read ai-memory/daily/YYYY-MM-DD.md for latest context
  4. After work: append summary to daily log
  5. 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.md or debugging-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) and ai-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