Skip to content

Releases: Argenis1412/PatchForge

PatchForge v1.2.0

Choose a tag to compare

@Argenis1412 Argenis1412 released this 09 Aug 22:39
8f6e98f

PatchForge v1.2.0 is released.

Highlights

  • Candidate-promotion apply protocol with isolated validation and atomic publication of patchforge/<run_id> branches.
  • Versioned validator configuration, authorization decisions, and centralized subprocess timeout policy.
  • Explicit operator credential resolution, shared provider policy, and effect-free Plan, Preview, and initial CI preflight rejection handling.
  • Audit bundle export and verification with optional redaction and GPG signatures.
  • Python subproject support for monorepos and aligned doctor/scan compatibility checks.
  • Attested review-evidence@3 plan and diff producers with an advisory consumer.

Compatibility notes

  • patchforge apply promotes a validated candidate commit instead of modifying the caller's working tree.
  • --risk-budget accepts low and medium only; historical high run metadata remains readable.
  • Default workspaces and explicit credential files must remain outside the target repository.
  • review-evidence@3 remains advisory. This release does not enable a decisory merge gate.

Validation

  • Ruff lint and format checks passed.
  • Full test suite: 1112 passed, 7 skipped.
  • Package build produced orchestrator_core-1.2.0-py3-none-any.whl and orchestrator_core-1.2.0.tar.gz.

Release commit: 8f6e98f0334487e40c1ae173a90f446891d9007a.

v1.1.0.

Choose a tag to compare

@Argenis1412 Argenis1412 released this 12 Jul 06:03
2695c14

Highlights

  • Docker containerization (Dockerfile, docker-entrypoint.sh, .dockerignore)
  • CI/CD reusable GitHub Actions workflow (patchforge ci command)
  • Asymmetric risk gates (auto_apply_eligible field on RunMetadata)
  • Executor DAG scheduler — task dependency resolution via Kahn's algorithm
  • WAL atomic writes for all apply.json persistence
  • Circuit breaker externalized to SQLite with thread-safe locking
  • GitHub Client, Work Queue schema, Artifact Store, Worker Loop (async infra)
  • Executor new-file creation support (Issue #210)
  • Executor lifecycle observability: log_event() trail across pipeline
  • Provider fallback chain (Gemini → OpenRouter → Claude) for architect, scout, validator
  • ci --force-provider, plan --force-provider for provider forcing
  • Architect structural context annotations (D-005) — injects Python AST symbols into prompt
  • Executor pre-diff ast.parse() syntax validation (D-006) — rejects non-Python LLM output
  • Centralized PROJECT_ROOT in orchestrator/paths.py
  • Targeted git staging in CI (replaces git add -A)
  • Makefile for quick QA (make qa)
  • Claude as third fallback in validator summarizer
  • Dogfooding experiments 005–009 (E2E validation, D-001/004/005/006 fixes + validator PATH fix)

Fixed

  • 🔴 Validation workspace: git add . + git commit now run after git init
  • 🔴 Path traversal (Windows): _has_parent_segment normalizes \/
  • 🔴 normalize_git_url: lowercasing only on Windows
  • 🔴 SSH URL parsing: explicit regex matchers, fixes port-number URLs
  • 🟠 Subprocess timeouts: timeout=30 on all git subprocess calls
  • 🟠 Experiment verification: shared verify_experiment_or_warn() helper
  • 🟡 Verdict.generated_at: Python 3.12 compat fix
  • CB thread-safety (Issue #219)
  • CRLF corruption fix on Windows (Issue #192/#193)
  • Phantom paths in plan (D-001)
  • Workspace hash inconsistency on Windows (Issue #149/#150)
  • Validator timeout configurability (Issue #151)
  • Staging cleanup / empty patch.diff guard (Issue #159/#160)
  • Silent-failure hardening (Issue #194/#195)
  • Validator PATH resolution on Windows without .venvrun_ruff()/run_pytest() now resolve via sys.executable -m instead of bare PATH lookup (Issue #223, PR #224)

Changed

  • CircuitBreakerStore externalized to SQLite (Issue #126)
  • write_verdict() moved to WorkspaceManager
  • DEFAULT_TIMEOUT 120→300→450s
  • Targeted git staging in CI replaces git add -A (Issue #212)
  • Branch naming: patchforge/{run_id}[/issue_{issue_number}] (Issue #142)
  • Provider chain: Groq → OpenRouter (Issue #162)

Full Changelog: CHANGELOG.md

v1.0.0.

Choose a tag to compare

@Argenis1412 Argenis1412 released this 08 Jun 18:06
21b1f72

v1.0.0 — PatchForge

First stable release of PatchForge.
All planned V1 functionality has been implemented.

Commands

Command Status Description
doctor Readiness check (no AI, no modifications)
scan Deterministic repository analysis (no AI)
plan AI-assisted (Claude) — bounded by risk gate
preview Patch generation + validation
apply Git-safe patch application

QA

  • ruff check . → 0 errors
  • ruff format --check → clean
  • pytest → 207 passed, 1 skipped

Previous aliases

The CLI was renamed from orchestrator to patchforge. The old orchestrator command is retained as a legacy alias for backward compatibility and will be removed in v2.