Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: simonrowland/goal-flight

v1.0.5 — audit + consolidation polish

09 Jun 18:28
@simonrowland simonrowland

Choose a tag to compare

Post-1.0.4 polish from a package audit + a cross-slice consolidation review.

Fixed

  • Worker-liveness consolidation. done_code() and the dispatch ledger no longer classify
    watcher_stopped (a terminal-marker worker whose watcher exited) as terminal before a liveness check —
    they reconcile pid+start-time identity, so --wait/--done report a still-alive worker as live (needs
    reattach) rather than done; a marker + dead worker stays terminal. --wait evaluates each row's liveness
    once per poll.
  • Status reads are pure. goalflight_status.py no longer persists capacity pruning on a status read or
    --wait poll (capacity.json is shared across sibling projects).
  • claude-acp stopgap patch hardened. Named the Claude Code 2.1.169 TUI timing constants, restricted the
    assistant-line screen extraction, and added Rust unit tests (upstream PR moabualruz/claude-code-cli-acp#1;
    vendored patch re-generated).
  • Fleet cleanup-before-fetch coverage. Direct regression test that a nonzero git_prune_claude_refs
    aborts the dispatch before fetch with redacted output.

Docs

  • Narrowed the OpenCode dispatch-routing claim (OpenCode is not a goalflight_dispatch.py preset — it routes
    via host helpers / raw -- <cmd> passthrough). Added SKILL navigation + command-doc entries for --wait,
    the doctor write-probe + claude-acp stopgap probe + installer, capacity adaptive walk-back, and
    goalflight_cleanup_dispatch_refs.
Assets 2
Loading

v1.0.4 — dispatch reliability + worker-engine fixes

09 Jun 16:26
@simonrowland simonrowland

Choose a tag to compare

Dispatch-reliability + worker-engine release on top of the 1.0.3 dispatch-death fix.

Added

  • Multi-dispatch --wait. goalflight_status.py --wait <id1,id2,...> (comma or
    repeated) blocks until every named dispatch reaches a terminal state via the
    authoritative done_code() liveness, with --wait-timeout/--poll-s; the
    dispatcher prints the canonical wait hint after launch.
  • Doctor worker write-probe. goalflight_doctor.py --worker-write-probe verifies an
    engine can write a file end-to-end (catches engines that "finish" without persisting).
  • Adaptive capacity walk-back. Repeated provider "model at capacity" signals now feed
    a transient, label-scoped effective-cap reduction (min(static, recommend())) so
    new dispatches queue instead of failing and killing in-flight workers; surfaced in
    status and aged out by the rolling ledger window (no permanent cap mutation).
  • Dispatch-ref cleanup. goalflight_cleanup_dispatch_refs.py (+ allowlisted
    git_prune_claude_refs, run before fetch) prunes corrupt/stale refs/heads/claude/*
    that break fleet fetch; preserves checked-out worktree + remote-backed refs and fails
    closed if the protected set can't be determined.
  • cursor + claude-acp wired into the unified dispatcher happy path.
  • Opt-in claude-acp patch-compile installer (stopgap). scripts/install_claude_acp_patch.sh applies the
    vendored patches/claude-code-cli-acp-2.1.169-tui-submit.patch (the upstream TUI-submit fix — PR
    moabualruz/claude-code-cli-acp#1) to an installed claude-code-cli-acp@0.1.1: clones the pinned upstream
    base, builds with cargo, and swaps + ad-hoc-codesigns the platform binary (run-scoped backup + atomic
    restore on any failure; idempotent; skips once upstream ships a fixed release). A goalflight_doctor.py
    probe flags an unpatched adapter and points to the script. Not auto-run by install.sh; cargo required.

Fixed

  • grok workers execute tools + emit terminal markers. A grok-only prompt preamble
    forces tool execution and a final COMPLETE: marker, ending the
    worker_dead_no_terminal_marker failures; a conservative routing guard gates grok
    file-writing on a passing write-probe. grok-research default model corrected to
    grok-composer-2.5-fast.
  • claude-acp handshake. claude-code-cli-acp only enters ACP stdio mode with no argv;
    the default --model injection is removed and an explicit model is applied via the ACP
    session.
  • Dispatch ergonomics. Code-writer default idle window raised to 600s (read-only /
    research keep 180s); --done treats idle_timeout as live only after an identity-aware
    pid+start-time check, with a reattach hint; read-only review dispatches that expect a
    file write are refused (inline-return is allowed); reused non-terminal dispatch ids are
    refused (dup-id collision).
  • Terminal marker precedence. A dead worker that emitted a recognized terminal marker
    is classified terminal regardless of pid liveness (the idle real-pid check applies only
    when no marker is present).
  • Fleet. Live remote dispatch works end-to-end; an auth-probe tooling failure
    (exit 127 / no-JSON) is treated as inconclusive and re-probed instead of cached as an
    authoritative auth-red; --prompt/--prompt-b64 are redacted across every serialized
    ssh argv, preview, and failure-output path.
  • opencode smoke tests skip (rather than fail) when the OpenCode/LiteLLM backend is
    unhealthy.

Docs

  • cursor orchestrator wake-on-worker-completion (background shell + marker contract);
    fleet remote git lifecycle; gotchas index. SKILL kept within its byte/line budgets.
Loading

v1.0.3 — dispatch-death fix

04 Jun 23:18
@simonrowland simonrowland

Choose a tag to compare

Crash-safe dispatch fix. Bash-tail workers could die mid-verify and the decoupled watcher die with them, freezing status.json at running/worker_alive: true (false-alive).

This release: detaches workers into their own session (survives launcher/harness teardown, no zombies); the watcher flushes a terminal status on death (and the dispatcher repairs terminal state from the tail marker if the watcher dies first); never finalizes while the worker is still alive; idle-times-out a quiet post-COMPLETE worker to terminal while letting CPU-active verifies keep waiting; validates status identity (dispatch_id + worker_pid) so a reused dispatch id can't inherit a prior run's result; adds a macOS caffeinate power assertion scoped to the worker lifetime. goalflight_status.py is authoritative for liveness; raw status.json is a heartbeat/terminal surface.

Loading

Goal Flight 1.0.2

04 Jun 14:59
@simonrowland simonrowland

Choose a tag to compare

Vendored autoreview release.

Added

  • Vendored autoreview — the structured code-review closeout skill (Codex default; a second-model complement to gstack /review) is now bundled in-repo at autoreview/ instead of requiring an external helper checkout. scripts/autoreview.sh, the doctor probe, and the init / chunk-review docs default to the in-repo autoreview/scripts/autoreview; MIT-licensed, with attribution preserved in autoreview/NOTICE.

Full changelog: v1.0.1...v1.0.2

Loading

Goal Flight 1.0.1

03 Jun 22:22
@simonrowland simonrowland

Choose a tag to compare

Hardening + reliability release on the 1.0.0 fleet foundation: crash-safe unified dispatch, Windows/WSL Phase-1, the controller-behaviour Golden Master, a context-discipline layer, and an intent-based multi-engine worker mix.

Added

  • Crash-safe unified dispatch — detached worker + decoupled watcher, pid-identity verification, capacity + ledger registration, --stats accounting, shape-aware steer (message an in-flight worker), and an ACP library entrypoint with a SIGTERM bridge.
  • Windows / WSL Phase-1 — read-layer foundation, WSL=Linux dispatch baseline, refuse-gated native-Windows control plane, python launcher, encoding + autoupdate.
  • Golden Master of controller behaviours — schema + codified entries (R1–R26 + high-recurrence regressions), a Codex-first behaviour harness, the compaction-resume drill, and a multi-host runner.
  • Context-discipline layer — file-backed Agent returns, Read>5KB / foreground-duration / engagement-lint protocols, hooks + wrappers, and a goalflight_push_audit guard.
  • grok-code / grok-research split — intent-based worker labels (Composer 2.5 for code, grok-build for research); bare grok retired.
  • Install + ops — opt-in agent-traits installer, fleet worker install scripts, ~/.goal-flight canonical install path, terse status surface, controller→orchestrator rebrand.

Changed

  • READY registered as a last-line terminal marker; omitted --model defaults to the strongest model; per-worker --model passthrough on both transports.
  • context-mode posture: the controller may use it for its own context discipline; the worker-churn guards are preserved.

Fixed

  • Hardening-sweep P0s: worktree ACP dispatches scoped into status; capacity TTL-prune liveness-gated (no live-lease eviction); live bash-tail workers protected from cleanup SIGKILL; terminal-marker injection guard; empty GOALFLIGHT_STATE_DIR → default, not cwd.
  • Resume forces an end-to-end SKILL.md reload as unconditional STEP 0 (compaction-survival).

Security

  • Denied permissions downgrade to blocked (not silent success); title-allow regex layered after hard safety gates; sandbox base + executable-surface guard.

Full changelog: v1.0.0...v1.0.1

Loading

AltStyle によって変換されたページ (->オリジナル) /