{"id":51128564,"url":"https://github.com/alienzhou/agent-reloop","last_synced_at":"2026-06-25T10:01:52.843Z","repository":{"id":352269655,"uuid":"1207771685","full_name":"alienzhou/agent-reloop","owner":"alienzhou","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-17T10:46:19.000Z","size":831,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T12:42:47.258Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alienzhou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-11T11:33:07.000Z","updated_at":"2026-05-17T10:46:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alienzhou/agent-reloop","commit_stats":null,"previous_names":["alienzhou/agent-reloop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alienzhou/agent-reloop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-reloop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-reloop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-reloop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-reloop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alienzhou","download_url":"https://codeload.github.com/alienzhou/agent-reloop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-reloop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34769611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-25T10:01:51.998Z","updated_at":"2026-06-25T10:01:52.834Z","avatar_url":"https://github.com/alienzhou.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent-Reloop\n\n\u003e **Imagine this:** It's 11 PM. You spend 10 minutes telling the framework what you want — a data pipeline, a set of API endpoints, whatever. You define a few evaluation criteria, hit run, and go to sleep. When you wake up at 7 AM, you open your laptop. The agent has gone through 6 rounds of execution and self-correction overnight. All L0/L1/L2 checks are green. Every round is committed to Git. The solution is sitting in `task/solution/`, ready for review. You just slept through the entire development cycle.\n\u003e\n\u003e That's the idea behind Agent-Reloop.\n\n![The Agent-Reloop Overnight Scenario](.discuss/2026-04-11/reloop-framework-architecture/assets/final-overnight-scenario.jpg)\n\n---\n\nA universal self-iterating framework for AI Agents. It orchestrates an **execute → evaluate → iterate** loop so any task can run automatically until it passes acceptance criteria.\n\nReloop doesn't generate business logic — it provides the loop skeleton. Plug in any task, define what \"done\" looks like, and let the agents iterate until they get there.\n\n## Key Features\n\n- **Two-Phase Architecture** — human-in-the-loop initialization + fully automated iteration\n- **Multi-Agent Support** — swap between Claude Code, Codex, Gemini, or any CLI-based agent via a unified Driver interface\n- **Three-Layer Evaluation** — L0 (precondition) → L1 (deterministic) → L2 (semantic), with short-circuit logic\n- **Auto-Commit per Round** — every iteration is checkpointed in Git for full traceability\n\n## How It Works\n\n![Architecture Overview](.discuss/2026-04-11/reloop-framework-architecture/assets/final-overview-architecture.jpg)\n\nThe framework has two phases — **Init** (human-in-the-loop) feeds into **Iteration** (fully automated Python loop), all running on top of pluggable Drivers.\n\n## Directory Structure\n\n![Directory Structure](.discuss/2026-04-11/reloop-framework-architecture/assets/final-directory-structure.jpg)\n\n```\nproject-root/\n├── task/                        # Task zone\n│   ├── INTENT.md                # What to achieve\n│   └── solution/                # The evolving solution (scripts/skills/project/...)\n│\n├── run-sets/                    # Asset zone — one folder per iteration round\n│   ├── run-001/\n│   │   ├── logs/                # Execution logs\n│   │   └── eval-report/         # L0/L1/L2 evaluation results\n│   ├── run-002/\n│   └── ...\n│\n├── drivers/                     # Agent CLI adapters (Python)\n├── specs/                       # Design specifications\n└── docs/                        # Architecture \u0026 how-it-works documentation\n```\n\n## Quick Start\n\n\u003e **Status**: Core framework is implemented. Drivers available: Flick, Claude Code, Codex, Cursor, Mock.\n\n### 1. Initialize a Task\n\nThe init phase is agent-driven and interactive. Three built-in **Meta Skills** walk you through:\n\n\n| Step | Meta Skill          | Output               | Purpose                            |\n| ---- | ------------------- | -------------------- | ---------------------------------- |\n| 1    | INTENT Generator    | `task/INTENT.md`     | Define what the task is            |\n| 2    | Evaluator Generator | Eval Skill + scripts | Define how to verify success       |\n| 3    | Mocker              | Mocked solution      | Validate the evaluator makes sense |\n\n\n### 2. Run the Iteration Loop\n\nOnce initialization is complete, create `reloop.yaml` (see\n[`reloop.yaml.example`](./reloop.yaml.example)) and start the automated loop:\n\n```bash\nreloop run\n```\n\nThe Python loop will:\n\n1. Set up an empty `run-xxx/` directory\n2. Call the **Executor** (Agent + INTENT + last eval feedback)\n3. Call the **Evaluator** (Agent + solution + eval skill)\n4. Call the **Checker** (Agent + eval report → pass/fail)\n5. If failed, loop back; if passed, exit\n\n### 3. Review Results\n\nEach round is committed to Git and stored in `run-sets/run-xxx/`. You can inspect execution logs, artifacts, and evaluation reports for any round.\n\n## Driver Interface\n\nDrivers adapt different Agent CLIs to a unified interface:\n\n```python\nclass Driver:\n    def run(self, prompt: str, workdir: str) -\u003e str:\n        ...\n```\n\n```bash\ndriver run --prompt \"...\" --workdir \"...\"\n```\n\n\n| Driver      | Agent           | Status  |\n| ----------- | --------------- | ------- |\n| Flick       | CodeFlicker Duet| Ready   |\n| Claude Code | Claude Code CLI | Ready   |\n| Codex       | OpenAI Codex CLI| Ready   |\n| Cursor      | Cursor Agent CLI| Ready   |\n| Mock        | Test fixture    | Ready   |\n\n\nSkills are injected directly into the prompt — no separate `--skill` parameter.\n\n## Testing\n\nRun `pytest tests/unit/ -q` after every code change. Smoke tests (`pytest tests/smoke/ --override-ini=\"addopts=\" -m smoke`) cost real tokens — run only when needed.\n\n## Design Docs\n\n\n| Document                                     | Content                       |\n| -------------------------------------------- | ----------------------------- |\n| [specs/00-overview.md](specs/00-overview.md) | Architecture overview         |\n| [specs/01-adr.md](specs/01-adr.md)           | Architecture Decision Records |\n| [docs/how-it-works.md](docs/how-it-works.md) | Core working principles       |\n\n\n## License\n\nTBD","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fagent-reloop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falienzhou%2Fagent-reloop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fagent-reloop/lists"}