Python 3.12 powers the terminal, workflows, and evaluator
FrontierAgent on Python 3.12 is three related tools in one repository: a terminal product, a reusable agent runtime, and a benchmark runner. The terminal can launch a stateful ReAct loop or an Agent Team coordinator. ReAct keeps one model working through research, file reading, commands, and revisions. Agent Team maintains a task board, assigns independent jobs to sub-agents, accepts their reports, and writes the final response. The shared engine means a team can compare those approaches without replacing every tool and artifact convention.
The repository boundaries are sensible. Generic scheduling, registries, observers, and the AgentBus live in the framework. Web, shell, file, sandbox, and team actions are plugins. Workflows hold prompts and profiles, while the apodex package owns the TUI, approvals, traces, and sessions. This separation makes FrontierAgent more interesting than a single hard-coded prompt loop. A developer can reuse the workflow engine or evaluation layer without adopting every screen in the terminal interface.
What happened when we ran it
Our sandbox installed 91 packages in 31 seconds at commit ef326d0 and used 429 MB on disk. The repository checkout contained 740 files, about 155,824 lines of source, and occupied 13.4 MB. A build completed in 5 seconds on 3 CPUs with 8 GB of memory. Pip-audit reported 0 known vulnerabilities for the exact Python environment we created.
Pytest finished in 162 seconds with 1,686 passed, 0 failed, and 3 skipped. This was the cleanest end-to-end development result in this review set: install, build, tests, and audit all completed successfully. The repository also contains 3 CI workflow files, a Dockerfile, a Compose file, and a tests directory. Those signals agree with the measured result, although they do not prove that a chosen external model will perform well on a user's tasks.
The distinction matters because FrontierAgent supplies the agent machinery, not the intelligence endpoint. A passing 1,686-test suite checks its code and expected behavior. It does not validate an API provider, a private model, a GPU driver, or the factual quality of generated research. Teams should test the complete model-and-tool combination on their own files and approval policy before letting it touch an important repository.
Every run has 3 filesystem zones and persistent artifacts
The sandbox exposes /inputs as read-only, /workspace as working state, and /outputs as controlled persistent output. Shell and file tools share that policy. On macOS and Docker, outputs map back to a session directory on the host, beside a checkpoint, trace, engine log, and trajectories. This gives a reviewer more than a chat transcript: the deliverable, tool history, and state needed for a later resume are kept together.
Interactive mutations show a diff and ask for approval unless the operator enables --yes; some actions remain denied even then. File changes are journaled, and /revert restores session work. --resume continues a saved run. Those controls are relevant because the product is designed to execute commands, install packages, and edit files. Approval reduces accidental changes, but it does not make a bad command harmless. Operators still need an expendable checkout, narrow credentials, and review before results leave the sandbox.
Asynchronous intervention is handled at a safe turn boundary rather than by discarding the active run. In Agent Team mode, new guidance reaches the coordinator while sub-agents already running may finish. That is a good trade: partial work is preserved, but a mistaken assignment may still consume model calls before the coordinator reacts. The task board makes pending, active, blocked, completed, and cancelled states visible instead of hiding delegation behind one spinner.
Hosted endpoints are easy; local 35B models need GPU discipline
The shortest path requires Python 3.12, uv, Git, and an OpenAI-compatible endpoint. Three environment values identify the API key, base URL, and model. Serper and Jina keys are optional for web research. After uv sync, the same command can start either workflow. Scientific and document dependencies stay optional in native mode, and task-specific packages go into a project runtime rather than bloating the base install.
Local serving is a different commitment. The README warns that mismatched NVIDIA drivers, CUDA userspace, and SGLang pins can surface late as opaque CUDA or Triton errors during model load. A compatibility matrix and helper script select reviewed userspace tracks, but the helper never replaces the host driver. Production 35B templates cover RTX 4090, RTX 5090, and two-GPU hosts. Managed GPU containers may need native SGLang because nested Docker is unavailable.
Windows has no native path in the deployment table; WSL2 is treated as Linux. Docker images are published for linux/amd64 and linux/arm64, and Compose can run the agent without a local Python setup. These options are documented well, yet they should not be conflated. Running the agent in Docker does not self-host a model, and choosing NVIDIA describes the model service rather than the terminal runtime.
A current push cannot replace a tagged release
FrontierAgent had 539 stars and was pushed on 2026-08-25. GitHub reported 0 open issues and pull requests combined, and the latest-release endpoint returned no release. The same-day push shows active code work, while the empty queue provides little evidence about maintainer response under real user load. With no tag to anchor upgrades, production evaluators should pin the measured ef326d0 commit or another reviewed commit and record the matching documentation.
The README and linked guides are detailed for a repository at this stage. They cover endpoint and GPU installation, the TUI, workflow modes, filesystem policy, run artifacts, benchmark datasets, judge behavior, and developer checks. FrontierAgent is worth trying when traceable research, saved file deliverables, and coordinator experiments matter. A team that only wants coding help should choose a coding-focused agent with a longer release record and fewer benchmark-specific parts.

