Skip to content

Releases: opennoor/symphony

v1.7.5

Choose a tag to compare

@github-actions github-actions released this 03 Oct 20:02
53e71c3

Fixes

  • Prevent lifecycle bookkeeping faults from trapping host turns. Preserve unresolved evidence and keep managed ownership, routing and completion checks intact.
  • Preserve ordinary callbacks outside disabled governance, including Claude Explore, Plan and custom agent types. Reports can discuss Symphony settings without becoming managed obligations.
  • Recover proven archived Codex lead continuations with fresh workers and multiple lead turns. Preserve independent newer runs and foreign sessions.
  • Match credential-redacted stored callbacks with their native reports on both providers while retaining native launch and handoff proof.
  • Set Codex Interrupt hooks to the supported three-second limit. Check Claude against its own event and timeout rules.
  • Fix Windows PowerShell 5.1 decompression overload selection and preserve binary image bytes during Git staging.

Optional diagnostics

Offer one nonblocking confirmation after local GitHub access checks. Accumulate sanitized counters while awaiting consent, then submit only the approved snapshot to the disclosed public repository/account. Task text, raw logs, paths and project/session IDs stay private. Missing access or consent never pauses work.

Validation

  • Exact main commit: 901-test suite passed, seven platform skips; all ten installed-package scenarios passed.
  • Local release acceptance: 190-test selection passed, six Windows-only skips; 20 parallel first-pin rounds.
  • Copilot reviews reported no remaining findings. The requested author's simulated human review is recorded in the repository.
  • Linux, Restricted PowerShell, standard-user Windows and independent Windows-guest publication gates passed.
  • Tests used no AI API calls or provider inference. CI testing was restricted to new-version release gates.

Update and reload Symphony in existing sessions to activate the new runtime; retained sessions keep their reviewed runtime until reload.

What's Changed

  • Release Symphony 1.7.5: safe lifecycle recovery and consented diagnostics by @Sojaner in #17
  • Fix binary asset normalization before the 1.7.5 release by @Sojaner in #18

Full Changelog: v1.7.0...v1.7.5

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 03:48
66588bc

Fixes

  • Keep concurrent Codex and Claude sessions separate, including shared checkouts, different worktrees, and follow-ups to archived leads.
  • Reconcile native child completion and delivery without attaching results to another session or leaving completed work in repeated Stop recovery. Claude attachment timestamps no longer invalidate genuine execution order.
  • Preserve captured hooks and active runtime files across plugin updates, including removal of the old plugin directory.
  • Find a usable Windows Python installation without administrator access or PowerShell execution-policy changes, including later PATH entries behind broken copies. Keep startup bounded and captured commands within native length limits.
  • Restrict the fast path to predetermined mechanical work. Substantive tasks retain assessment, worker delegation, and lead verification; independent reviews cannot substitute for implementation.
  • Refresh the provider-native model and effort matrices and keep assessor boost options above the default effort.

Release process

This release uses installed Codex and Claude clients with existing local subscription logins for native checks. The final release gates use deterministic Linux and Windows tests without AI provider calls or API-key credentials. Candidate gates run before the marketplace update reaches main.

Validation and compatibility

  • The final candidate passed 811 local tests, 811 tests in a network-disabled Python 3.12 container, and all ten network-disabled installed-package scenarios. Platform/tool-specific skips are recorded in PR #16.
  • Native Linux checks used installed Codex 0.160.0 and Claude 2.1.284 with existing subscription logins. Routing, parallel sessions in shared and separate worktrees, completion recovery, and removal of old plugin files during active updates were exercised.
  • Windows release acceptance passed 102 Restricted-policy tests, 102 standard-user tests, 127 recovery replay tests, and a Windows 10 guest captured-hook/retained-runtime test using the shipped hook commands and lifecycle fixtures. Live Windows Codex/Claude client sessions were not available; this is hook and lifecycle fixture coverage.
  • Existing sessions retain their reviewed runtime until reload or restart. An installed update alone does not establish which version an active session is using. The latest Codex profile targets 0.160.0; 0.158.0 requires SYMPHONY_PROFILE=full.
  • Active-update checks start from released 1.6.0. Finish managed work before upgrading from 1.5.1, whose older serializer can discard recovery evidence.

The release tag points to 66588bcc16cb58d7d4ca2b363abd5b6854042c3c, whose tree matches the reviewed candidate. PR #16 completed Copilot review with no findings. Candidate acceptance and publication acceptance both passed.

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 06:23
729f02d

What changed

  • Added a provider-aware fast route for bounded work. A capable lead at medium effort receives the full prompt, checks scope, risk, required tools, and verification, and works directly when eligible. Uncertain work goes to an independent assessor. Explicit assessor boosts continue to use the assessor route.
  • Isolated parallel Codex and Claude sessions across the same project, worktree, and separate worktrees. Stop and native child callbacks now reconcile against the owning session and original lead, including interrupted work and live plugin updates.
  • Preserved reviewed hook runtimes across plugin updates and improved Codex activation recovery. Refreshed the 1.6.0 Codex and Claude model and effort matrices and generated Claude agent definitions.
  • Cleared stale, unmarked Claude callbacks that predate a managed run while retaining callbacks for known managed children. This fixes a reproduced Windows parallel-session Stop deadlock.

Verification

  • 486 local tests passed (3 platform skips), with generated hook and agent checks.
  • Final push CI, PR CI, and main release CI passed Linux verification, native Windows hooks, and Dockur Windows. The native suites exercised Codex and Claude concurrent sessions, worktrees, and live updates.

Evidence limits

  • The fast lead's before-write eligibility check is an agent instruction. Hooks enforce its model, effort, route, terminal decision, and Stop, but cannot observe every tool call inside the lead.
  • An uninterrupted native Windows Codex 1.5.1 turn spanning the cache swap remains unproven because the immutable old host sometimes ends the test child before the fixture's wait. Released-state migration replay and current native concurrency passed separately.

Full changelog · Pull request #13

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 28 Sep 15:05
7e708c0

What changed

Symphony now reconciles a successful Codex follow-up from the same lead agent after that lead previously reported a blocked or interrupted outcome. Codex can emit a second SubagentStop for that agent without another SubagentStart; Symphony 1.5.0 kept the run in recovery and blocked Stop even after a fresh successful result.

The fix accepts that fresh recovery result while still blocking genuinely unfinished work. It also ignores replayed terminal results and preserves invalidation from a later failed worker. Regression tests cover the persisted 1.5.0 state and event ordering.

After updating, reload or restart the Codex or Claude session so its hooks use Symphony 1.5.1. A session already pinned to 1.5.0 keeps its retained runtime until the normal reload. If a run is still recovering, let its lead finish or retry it; durable status confirms completion before Stop succeeds.

The same-agent follow-up sequence was reproduced in an isolated native Codex run. The original reporter's session was not available, so its exact sequence is unconfirmed.

Full changelog: v1.5.0...v1.5.1

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 14:02
61e3bc9

Fixed

  • Quoted Symphony commands in reports are inert. Host Stop retries preserve unfinished runs; native completion, failed launches, late failures and replayed events reconcile without claiming incomplete work succeeded.
  • Session-scoped assessor boost uses native effort names and the strongest accessible model. Codex: $symphony:symphony boost [xhigh|max|ultra|off]. Claude: /symphony:boost [xhigh|max|off]. off or reset restores high. Status shows requested/effective configuration; unsupported choices leave the preference unchanged.
  • Reviewed hooks retain and verify their exact runtime and activation helper outside disposable versioned caches, so future sessions survive cache removal during updates. Old and new sessions remain isolated.

Upgrade

Already-captured pre-1.5.0 commands still reference their old cache. Finish/reconcile those sessions while the cache exists, then restart or reload and review the new hooks once. Missing old outcomes remain unknown. Retained runtimes are not cleaned automatically; remove obsolete snapshots only after their sessions end.

Verified

309 deterministic tests, installed package lifecycle and deleted-cache scenarios on both providers, actual native Codex and Claude launch/effort acceptance on Linux and Windows, Restricted PowerShell under a standard Windows account, and the digest-pinned Windows VM. Claude accepts packaged max effort but does not expose effective-effort telemetry.

v1.4.7

Choose a tag to compare

@github-actions github-actions released this 25 Sep 11:27

Fixed

  • Codex Windows hooks now launch their packaged Python handler from an inline PowerShell relay. They work for a standard Windows user under Restricted script policy, including plugin paths with spaces, without asking for administrator rights or changing execution policy. Claude hooks continue to use the provider's Windows Bash host and Linux shell path.
  • Claude routing now selects a verified same-login Opus profile when Sonnet 5 and Opus 5.5 are available, with a distinct Fable profile when explicitly enabled. CI-generated profiles, 18 agent definitions, and the routing reference match the refreshed capability artifact.
  • Independent Codex and Claude root sessions in one project now own separate runs, agents, routes, Stop controls, and status. A second session can enable the project without blocking or abandoning a colleague's live run. Pending roots retain verified profiles while other sessions are active.
  • Concurrent Windows hook processes use an interprocess state lock. Version 1.4.7 copies v1 state once into a separate v2 file, preserving the original for already-running 1.4.6 hooks.

Upgrade note

Already-running 1.4.6 sessions continue updating v1 state; their later completion does not synchronize into the v2 snapshot. Let those sessions finish and reload the plugin before relying on migrated completion status. Codex host hook trust and organization-managed execution restrictions still apply independently of Symphony's launcher.

Full changelog: v1.4.6...v1.4.7

v1.4.6

Choose a tag to compare

@github-actions github-actions released this 24 Sep 15:48

Full Changelog: v1.4.5...v1.4.6

v1.4.5

Choose a tag to compare

@github-actions github-actions released this 24 Sep 11:37
ac28e95

What's Changed

  • feat(ci): test Windows hooks in reusable Dockur guest by @Sojaner in #7
  • fix: retain unreconciled agents after stale hook failures by @Sojaner in #8

Full Changelog: v1.4.4...v1.4.5

v1.4.4

Choose a tag to compare

@github-actions github-actions released this 24 Sep 05:38
d22a313

What's Changed

  • Fix Windows Codex heartbeat when py cannot launch by @Sojaner in #6

Full Changelog: v1.4.2...v1.4.4

v1.4.2

Choose a tag to compare

@github-actions github-actions released this 23 Sep 17:58

Full Changelog: v1.4.1...v1.4.2