Skip to content

Commit 55866e1

Browse files
committed
docs: harden portfolio narrative
1 parent 1f0aa72 commit 55866e1

1 file changed

Lines changed: 72 additions & 49 deletions

File tree

README.md

Lines changed: 72 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -7,55 +7,78 @@
77
Part of the [Coding-Autopilot-System](https://github.com/Coding-Autopilot-System) ecosystem:
88
[gsd-orchestrator](https://github.com/Coding-Autopilot-System/gsd-orchestrator) | [Promptimprover](https://github.com/Coding-Autopilot-System/Promptimprover)
99

10-
autogen is a Python multi-agent orchestration runtime built on Microsoft Agent Framework — combining a Gemini/Claude provider fallback chain, AG-UI observability, and a local operator workbench for end-to-end autonomous engineering workflows.
11-
12-
## Features
13-
14-
- **Provider fallback chain** — Gemini API (primary) -> Anthropic API -> local CLI fallback; routing policy classifies prompt complexity and selects provider automatically
15-
- **Multi-agent team orchestration** — sequential planner->researcher->implementer->reviewer chain with FileCheckpointStorage for resumable runs
16-
- **Bounded repo tools** — read/list/search/write with enforced scope limits; agents cannot access paths outside the configured repo root
17-
- **AG-UI observability** — DevUI-discoverable workflows expose run state, specialist handoffs, and pause/approval events
18-
- **Human-in-the-loop approvals** — approval policy gates destructive writes; operators review before execution proceeds
19-
20-
## Architecture
21-
22-
```mermaid
23-
flowchart LR
24-
Op["Operator\n(DevUI / Workbench)"] -->|"prompt"| MAF["autogen\n(MAF Runtime)"]
25-
MAF --> Gemini["Gemini API\n(primary)"]
26-
MAF --> Anthropic["Anthropic API\n(fallback)"]
27-
MAF --> CLI["Local CLIs\n(gemini-cli / claude)"]
28-
MAF --> Entities["Entities\n(repo_team, copilots)"]
29-
MAF --> Tools["Repo Tools\n(read / write / search)"]
30-
MAF --> Checkpoints["Checkpoints\n(FileCheckpointStorage)"]
31-
Entities --> Out["Run Output\n+ Artifacts"]
32-
Tools --> Out
33-
Checkpoints --> Out
34-
```
35-
36-
## Quickstart
37-
38-
```bash
39-
git clone https://github.com/Coding-Autopilot-System/autogen.git
40-
cd autogen
41-
python -m venv .venv
42-
# Windows: .\.venv\Scripts\Activate.ps1
43-
# macOS/Linux: source .venv/bin/activate
44-
pip install agent-framework python-dotenv
45-
```
46-
47-
Copy `.env.example` to `.env` and set `GEMINI_API_KEY`. See the [Setup Guide](https://github.com/Coding-Autopilot-System/autogen/wiki/Setup-Guide) for full configuration instructions.
48-
49-
## Configuration
50-
51-
| Variable | Required | Default | Description |
52-
|----------|----------|---------|-------------|
53-
| `GEMINI_API_KEY` | Yes | -- | Gemini API key for primary model |
54-
| `MAF_MODEL` | No | `gemini-2.5-flash` | Primary model for agent runs |
55-
| `MAF_FALLBACK_CHAIN` | No | Auto | Comma-separated provider fallback order |
56-
| `ANTHROPIC_API_KEY` | No | -- | Anthropic API key for Claude fallback |
57-
58-
See the [Configuration Reference](https://github.com/Coding-Autopilot-System/autogen/wiki/Configuration-Reference) for the full variable list.
10+
`autogen` is a local-first multi-agent engineering workbench built on Microsoft Agent Framework. The product goal is simple: point the system at a real repository, give it one engineering objective, and let a manager-led workflow coordinate planning, research, implementation, review, approvals, validation, and durable artifacts with less manual steering than a chat-first coding loop.
11+
12+
This repository is strongest as an architecture and operator-systems portfolio piece: it shows how to turn LLM tooling into a controlled engineering runtime instead of a demo chatbot.
13+
14+
## Product Story
15+
16+
Most agent demos stop at "the model answered." `autogen` focuses on the operator problem after that:
17+
18+
- How do you scope agents to a real repo without letting them roam the machine?
19+
- How do you keep a manager, specialists, and provider fallback chain inspectable?
20+
- How do you pause for approval before destructive changes?
21+
- How do you leave behind run artifacts, validation results, and retryable state instead of ephemeral chat output?
22+
23+
The answer in this codebase is a manager-led orchestration model with bounded repo tools, approval-aware execution, and a UI contract designed for traceability.
24+
25+
## What Exists In The Repo Today
26+
27+
- **Manager-led orchestration**: `entities/repo_team/workflow.py` wires a workflow for planner, researcher, implementer, reviewer, and validation-stage visibility.
28+
- **Scoped repository operations**: `maf_starter/tools.py` enforces repo-root path boundaries, blocks writes to sensitive targets like `.env`, and limits read/search surfaces.
29+
- **Routed provider execution**: `maf_starter/provider_fallback.py` and `maf_starter/routing_policy.py` select models by task depth and fall back across API and CLI providers when needed.
30+
- **Approval and guardrails**: `maf_starter/approval_policy.py` classifies file operations and validation commands so destructive or externally visible actions stop for operator approval.
31+
- **Durable run artifacts**: `autogen_dashboard/session_store.py` persists transcripts, runtime state, stage summaries, diffs, validation records, and attempt metadata.
32+
- **Operator-facing visibility**: the dashboard contract covers timeline, routing, agents, artifacts, and approval surfaces rather than a single opaque transcript.
33+
34+
## Demo Scenarios
35+
36+
The best way to understand the product is through operator outcomes:
37+
38+
- **Architecture review on a real repo**: point the system at a checked-out repository and ask for a plan. The manager can retain workspace metadata, route to the right model tier, and preserve the resulting artifacts for follow-up attempts.
39+
- **Guardrailed implementation run**: ask for a change that touches code or config. Safe edits can proceed through bounded repo tools, while destructive actions pause with an explicit approval scope.
40+
- **Provider-resilience drill**: trigger a quota or rate-limit failure on the primary model path and inspect how the fallback chain records the route attempt history and capability changes.
41+
42+
## Evidence And Evaluation Posture
43+
44+
This repo already carries more engineering evidence than the old README surfaced:
45+
46+
- `tests/test_workspace_contract.py` validates workspace discovery, repo-root safety, and session creation contracts against real temporary git repos.
47+
- `tests/test_run_persistence.py` verifies durable session layout, artifact manifests, attempts, diffs, validation outputs, and atomic persistence behavior.
48+
- `tests/test_phase4_approval.py` proves destructive writes and externally visible commands are classified and paused behind approval.
49+
- `tests/test_phase4_validation.py` checks that changed files produce a proportionate validation ladder including `git diff --check`, Python compile checks, unit discovery, and JavaScript syntax checks.
50+
- `tests/test_phase5_ui_contract.py` and `tests/test_phase5_operator_views.py` lock the operator UI to timeline, routing, artifact, and specialist-view contracts.
51+
- `.github/workflows/ci.yml` currently runs the static UI contract suite in CI; the broader local suite demonstrates the intended validation model even though the automation surface is still narrow.
52+
53+
## Why This Is A Strong Hiring Signal
54+
55+
This project demonstrates more than framework familiarity. It shows judgment about:
56+
57+
- turning agent capabilities into bounded operational surfaces,
58+
- separating operator control from model improvisation,
59+
- preserving artifacts and retry semantics for long-running engineering work,
60+
- designing UI and API contracts around observability instead of novelty,
61+
- and shaping local-first tooling so it can evolve toward service boundaries later.
62+
63+
## Cloud-Ready Direction
64+
65+
`autogen` is intentionally local-first today, but its primitives already point toward a future control plane:
66+
67+
- durable run IDs and persisted artifacts,
68+
- explicit pause, approve, retry, and resume semantics,
69+
- structured route-attempt metadata,
70+
- workspace and execution contracts that can sit behind HTTP later,
71+
- and an orchestration core that can be split from the local operator shell.
72+
73+
That is the right foundation for a later Azure-hosted control plane or worker boundary without rebuilding the product concept from scratch.
74+
75+
## Repository Pointers
76+
77+
- `maf_starter/` - orchestration core, routing, fallback, repo tools, approvals, validation
78+
- `autogen_dashboard/` - API and operator-facing session surfaces
79+
- `entities/repo_team/` - manager-led workflow entrypoint
80+
- `tests/` - contract, runtime, approval, persistence, and operator-view evidence
81+
- `.planning/` - architecture notes, phased roadmap, and future control-plane direction
5982

6083
## License
6184

0 commit comments

Comments
 (0)