Metadata-Version: 2.4
Name: forge-review
Version: 0.2.0
Summary: Review Agents and Policy Gates for Forge — parallel reviewers, cascading heuristics, severity-based blocking.
Project-URL: Homepage, https://github.com/angelnicolasc/forge
Project-URL: Repository, https://github.com/angelnicolasc/forge
Project-URL: Issues, https://github.com/angelnicolasc/forge/issues
Project-URL: Changelog, https://github.com/angelnicolasc/forge/blob/main/CHANGELOG.md
Author-email: Angel DiCerutti <angelnicolascorzo@gmail.com>
License-Expression: Apache-2.0
Keywords: agents,forge,gates,llm,policy,quality,review
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: anyio>=4.0
Requires-Dist: forge-os-core==0.2.0
Requires-Dist: pydantic<3.0,>=2.7
Requires-Dist: structlog<26.0,>=24.0
Provides-Extra: spec
Requires-Dist: forge-spec==0.2.0; extra == 'spec'
Description-Content-Type: text/markdown

# forge-review

Review Agents and Policy Gates for the Forge agent harness.

Define parallel reviewers (heuristic and LLM-based), cascade them for efficiency,
and gate mutations or run results with severity-based policy decisions (P0–P3).

## Installation

```bash
pip install forge-review
# With spec-constraint reviewer:
pip install forge-review[spec]
```

## Quick start

```python
from forge_review import ReviewRunner

runner = ReviewRunner()
result, decision = await runner.pre_merge(run_result)
if not decision.allowed:
    raise RuntimeError(decision.reason)
print(f"Review passed — {len(result.findings)} finding(s)")
```

## Severity levels

| Level | Meaning | Blocks by default |
|-------|---------|-------------------|
| P0 | Critical — security risk, data loss | Yes |
| P1 | Error — run quality issue | Yes |
| P2 | Warning — informational concern | No |
| P3 | Info | No |

## Technical debt

See DEVLOG.md for DT entries introduced in Phase 5.
