Skip to content

Conversation

@edgarpavlovsky
Copy link
Member

@edgarpavlovsky edgarpavlovsky commented Jan 9, 2026

This pull request makes significant updates to documentation, configuration, and CI/CD workflows for the Fireteam project. It removes older rule and environment files, introduces new plugin and agent documentation, updates the GitHub Actions workflow to streamline and clarify test execution, and removes legacy test suite summaries. The changes focus on modernizing project setup, improving clarity for contributors, and ensuring best practices for autonomous agent development and testing.

Documentation and Rules Modernization

  • Removed legacy Python and dependency management rules from .ai-rules.md and .cursorrules, consolidating project setup guidance. [1] [2]
  • Added .claude-plugin/plugin.json and .claude-plugin/commands/fireteam.md to document the Fireteam plugin, its configuration, and usage. [1] [2]
  • Introduced .claude/CLAUDE.md outlining agent principles for testing, quality gates, escalation, and code quality.

CI/CD Workflow Improvements

  • Updated .github/workflows/test.yml to clarify test jobs, remove Node.js/Claude CLI setup, and unify dependency installation and test markers. Integration tests job removed; now only fast and integration tests run. [1] [2] [3] [4] [5]

Environment and Test Suite Cleanup

  • Removed .env.example and outdated test suite summary files (TEST_SUITE_SUMMARY.md, TESTING_COMPLETE.md) to reduce confusion and duplication. [1] [2] [3]
  • Deleted TODO.md to encourage future improvements to be tracked elsewhere.

## Changes

- Streamline package structure (src/ with prompts/, tests/)
- Extract prompts to editable markdown files (src/prompts/*.md)
- Fix CI pipeline (proper package installation with uv)
- Remove incomplete terminal-bench
- Clean up obsolete documentation files
- Add build artifacts to .gitignore

## Package Structure

```
src/
  __init__.py       # Public API exports
  api.py            # Core execute() function
  complexity.py     # Complexity estimation
  config.py         # Configuration
  hooks.py          # SDK hooks for quality
  prompts/
    __init__.py     # Prompt loader
    executor.md     # Executor agent prompt
    reviewer.md     # Reviewer agent prompt
    planner.md      # Planner agent prompt
    complexity.md   # Complexity estimation prompt
```

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@edgarpavlovsky edgarpavlovsky force-pushed the e/polish-library-plugin branch from 168f736 to 0e2d925 Compare January 9, 2026 01:13
edgarpavlovsky and others added 3 commits January 8, 2026 18:37
## Changes

- Add execute->review loop for MODERATE mode (until >95% completion)
- Add plan->execute->parallel_reviews loop for FULL mode (2/3 majority)
- Remove SIMPLE mode (merged into SINGLE_TURN)
- Extract data models to src/models.py
- Add loop implementations in src/loops.py
- Add prompt builder in src/prompts/builder.py
- Update reviewer prompt with ISSUES format for structured feedback

## Architecture

SINGLE_TURN: Direct Opus call (trivial tasks)
MODERATE: while !complete: execute() -> review()
FULL: plan() then while !complete: execute() -> 3_parallel_reviews()

## Key Features

- Feedback from reviews flows to next execution iteration
- Parallel reviews with asyncio.gather() in FULL mode
- Majority (2/3) voting for FULL mode completion
- Max 5 iterations to prevent infinite loops
- Configurable via max_iterations parameter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update README with new execution modes and loop behavior
- Update complexity prompt to explain what happens after each level
- Remove references to deprecated SIMPLE mode
- Add iterations field to ExecutionResult docs
- Update project structure to include new files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change max_iterations default from 5 to None (infinite)
- Add FIRETEAM_MAX_ITERATIONS env var for global config
- Create Claude Code plugin command with config docs
- Update loops.py to use itertools.count() for infinite iteration
- Update README with new defaults and config options

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
src/api.py Outdated
return ExecutionResult(success=False, mode=mode, error=f"Unknown mode: {mode}")


async def _single_turn(
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's move _single_turn() somewhere else - we can be more modular here

COMPLEX = "complex" # Full Planner + Executor + triple Reviewer


async def estimate_complexity(goal: str, context: str = "") -> ComplexityLevel:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should pass in the existing codebase here for better estimation

…lexity estimation

1. Move single_turn() from api.py to loops.py for better organization
   - All execution implementations now live in loops.py
   - api.py is now a thin dispatch layer

2. Add codebase exploration to complexity estimation
   - New project_dir parameter enables Claude to explore the codebase
   - Uses read-only tools (Glob, Grep, Read) in plan mode
   - More accurate complexity estimates for existing projects
   - Backward compatible - no project_dir = quick estimation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@edgarpavlovsky edgarpavlovsky merged commit ddce8cc into main Jan 9, 2026
3 checks passed
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