Skip to content

v1.1.0.

Choose a tag to compare

@Argenis1412 Argenis1412 released this 12 Jul 06:03
· 71 commits to main since this release
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