github Priivacy-ai/spec-kitty v3.1.0a8

latest releases: v3.1.1a3, v3.1.1a2, v3.1.1a1...
pre-release10 hours ago

Added

  • Post-merge reliability and release hardening (mission 068) — 5 work packages closing the workflow-stabilization track:
    • Stale-assertion analyzer (WP01) — new src/specify_cli/post_merge/ package: stdlib ast-based tool that detects test assertions likely invalidated by merged source changes. CLI: spec-kitty agent tests stale-check --base <ref> --head <ref> [--json]. Integrated into the merge runner. No new dependencies, no network calls.
    • Merge strategy + safe-commit + linear-history hint (WP02)MergeStrategy enum (MERGE/SQUASH/REBASE) in new src/specify_cli/merge/config.py with --strategy CLI flag (resolves: flag → .kittify/config.yaml → squash default). safe_commit() called after _mark_wp_merged_done before worktree removal (FR-019). Linear-history rejection hint guides users past protected-branch push failures. Closes #456.
    • Diff-coverage policy validation (WP03) — validation report confirms the enforce/advisory split already satisfies the policy intent. CI step names tightened to diff-coverage (critical-path, enforced) and diff-coverage (full-diff, advisory). Closes #455.
    • Release-prep CLI (WP04) — new src/specify_cli/release/ package: propose_version(), build_changelog_block(), ReleasePrepPayload. CLI: spec-kitty agent release prep --channel {alpha,beta,stable} [--json]. Zero network calls. Closes #457.
    • Recovery extension + mission close (WP05)scan_recovery_state() extended with consult_status_events=True to detect merged-and-deleted WPs via event log; new RecoveryState.ready_to_start_from_target field. spec-kitty implement gains --base <ref> flag for explicit worktree branching. Closes #415.

Fixed

  • implement --base Typer pattern — changed to Annotated pattern, fixing test isolation failures where direct Python calls received OptionInfo objects instead of None
  • implement console capsys isolation_json_safe_output wrapper now resets console._file = None in finally to prevent "I/O operation on closed file" when tests run in sequence with pytest capsys
  • Replay parity test — corrected reduced.mission_key == "replay-mission" (was wrong field name and wrong value)

Don't miss a new spec-kitty release

NewReleases is sending notifications on new releases.