Skip to content

v2.50.0

Choose a tag to compare

@github-actions github-actions released this 26 Mar 05:42
· 323 commits to main since this release

Added

  • gsd: wire structured error propagation through UnitResult
  • add parallel quality gate evaluation with evaluating-gates phase
  • add 8-question quality gates to planning and completion templates

Fixed

  • reconcile stale task status in filesystem-based state derivation (#2514)
  • merge duplicate extractUatType imports in auto-dispatch
  • use Record<string, any> for hasNonEmptyFields to accept typed DB rows
  • tests: replace undefined assertTrue/assertEq with assert.ok/assert.equal
  • tests: replace undefined assertTrue/assertEq with assert.ok/deepStrictEqual
  • gsd: handle session_switch event so /resume restores GSD state (#2587)
  • use GitHub Issue Types via GraphQL instead of classification labels
  • headless: disable overall timeout for auto-mode, fix lock-guard auto-select (#2586)
  • auto: align UAT artifact suffix with gsd_slice_complete output (#2592)
  • retry-handler: stop treating 5xx server errors as credential-level failures
  • test: replace stale completedUnits with sessionFile in session-lock test
  • session-lock: retry lock file reads before declaring compromise
  • gsd: prevent ensureGsdSymlink from creating subdirectory .gsd when git-root .gsd exists
  • auto: add EAGAIN to INFRA_ERROR_CODES to stop budget-burning retries
  • search: enforce hard search budget and survive context compaction
  • remote-questions: use static ESM import for AuthStorage hydration
  • add SAFE_SKILL_NAME guard to reject prompt-injection via crafted skill names
  • gsd: use explicit parameter syntax in skill activation prompts
  • guard writeIntegrationBranch against workflow-template branches
  • preserve doctor missing-dir checks for active legacy slices
  • gsd: downgrade isolation mode when worktree creation fails
  • gsd: skip loading files for completed milestones in queue context builder
  • resolve race conditions in blob-store, discovery-cache, and agent-loop
  • ai: resolve WebSocket listener leaks and bound session cache
  • rpc: resolve double-set race, missing error ID, and stream handler
  • pi-coding-agent: prevent crash when login is cancelled
  • doctor: compare lockfile mtime against install marker, not directory mtime (#1974)
  • doctor: chdir out of orphaned worktree before removal (#1946)
  • roadmap: recognize '## Slice Roadmap' header in extractSlicesSection
  • prevent worktree sync from overwriting state and forward-sync completed-units.json
  • web: lazily compute default package root to avoid Windows standalone crash

Changed

  • adopt parseUnitId utility across all auto-* modules
  • flatten syncMilestoneDir nesting with shared helper
  • extract merge-state cleanup helper in reconcileMergeState
  • extract planning-state validation helpers in detectRogueFileWrites
  • split doctor-checks into focused modules
  • merge auto-worktree-sync into auto-worktree
  • deduplicate artifact path functions into single module
  • remove dead selfHealRuntimeRecords function from auto-recovery
  • decouple session-forensics from auto-worktree
  • remove dead worktree code and unused methods
  • consolidate branch name patterns into single module
  • deduplicate session-lock compromise handler and state assignment