Skip to content

Releases: Mathir14/Forge

v0.1.0b18

v0.1.0b18 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 05:49

What's Changed

  • fix(adapter): harden Antigravity post-terminal cleanup by @Mathir14 in #3

New Contributors

Full Changelog: v0.1.0b17...v0.1.0b18

v0.1.0b17

v0.1.0b17 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 07:12

Full Changelog: v0.1.0b16...v0.1.0b17

v0.1.0b16

v0.1.0b16 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 14:59

Forge v0.1.0b16 — Process Lifecycle Hardening, Safe Recovery & Windows Native Job Object Containment

Highlights

  • Native Windows Process Containment (Win32 Job Objects): Replaced best-effort taskkill with native Win32 Job Objects configured with JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE. Agent processes are launched suspended (CREATE_SUSPENDED), assigned to the Job Object, and verified via IsProcessInJob before the primary thread is resumed. Refuses uncontained fallback if Job Object assignment fails.
  • Cross-Platform Descendant Cleanup & Orphan Prevention: Kernel-enforced termination of all descendant processes when Forge terminates or when timeouts/cancellations occur. Prevents descendant processes from outliving Forge or holding inherited stdout/stderr pipes open.
  • Bounded Stream Reading & EOF Independence: Eliminated stdout pipe EOF deadlocks in BaseAdapter, AntigravityAdapter, and OpenCodeAdapter via BoundedLineReader and post-terminal bounded draining (POST_TERMINAL_DRAIN_TIMEOUT_SECONDS = 0.2). Adapters no longer block on unclosed inherited descriptors from child processes.
  • Auditable Process Lifecycle State Tracking: Introduced ProcessTracker and atomic persistence of ProcessRecord (STARTING, RUNNING, EXIT_VERIFIED, TERMINATED, CLEANUP_FAILED, UNRESOLVED) under .forge/runs/<run_id>/processes/<seq>_<stage>.json. Tracks start time ticks / creation times to protect against PID reuse.
  • Truth-Grounded Stage Completion & Reconciliation: Stage.run() strictly verifies that zero exit codes originate from natural process completion (EXIT_VERIFIED) rather than forced termination. Stage recovery reconciles orphaned stages with mutual exclusion via RunLock.
  • 100% Native CI Verification: 100% green test matrix across Ubuntu and Windows runners on Python 3.10, 3.11, 3.12, and 3.13 (1,129 passed, 0 failures).

Full Changelog: v0.1.0b15...v0.1.0b16

v0.1.0b15

v0.1.0b15 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 13:05

Full Changelog: v0.1.0b14...v0.1.0b15

v0.1.0b14

v0.1.0b14 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:36

Full Changelog: v0.1.0b13...v0.1.0b14

v0.1.0b13

v0.1.0b13 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 07:34

Full Changelog: v0.1.0b12...v0.1.0b13

v0.1.0b12

v0.1.0b12 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 15:30

Full Changelog: v0.1.0b11...v0.1.0b12

v0.1.0b11

v0.1.0b11 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 14:55

Full Changelog: v0.1.0b10...v0.1.0b11

v0.1.0b9

v0.1.0b9 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 11:56

Full Changelog: v0.1.0b8...v0.1.0b9

v0.1.0b8

v0.1.0b8 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 08:37

Full Changelog: v0.1.0b7...v0.1.0b8