github Priivacy-ai/spec-kitty v3.2.0rc39

pre-release7 hours ago

✨ Added

  • Added session_presence package with SessionPresenceManager, InstallResult,
    ClaudeCodeWriter, MarkdownRulesWriter, ClaudeCodeHookRegistrar, UpgradeChecker,
    SessionPresenceContent, and supporting writer/hook infrastructure.
  • Added spec-kitty session-start CLI command (invoked by the Claude Code SessionStart
    hook) that emits an orientation block to stdout when run inside a spec-kitty project.
    The command always exits 0 and never blocks a Claude Code session start.
  • spec-kitty init now calls SessionPresenceManager.install() after saving agent
    configuration, writing the orientation block and registering the SessionStart hook for
    Claude Code projects automatically.
  • Added Phase 1 upgrade migration (3_3_0_session_presence_claude_code) that detects
    existing Claude Code projects missing the orientation section or SessionStart hook and
    backfills both artefacts on spec-kitty upgrade.

🐛 Fixed

  • Work packages can now declare scope: codebase-wide so cross-cutting/refactor
    WPs are exempt from owned_files overlap validation, end-to-end through
    finalize-tasks (#1753). Two coupled defects were fixed: (1) the strict
    (extra="forbid") WPMetadata parser rejected the scope key at parse time,
    and (2) OwnershipManifest.from_frontmatter hard-coded scope = None on its
    WPMetadata branch — the exact path finalize-tasks uses — silently dropping
    the exemption even when the key parsed. The adapter now propagates scope, and
    acceptance tests assert that narrow WPs claiming the same files still fail
    regardless of lane/dependency structure, while a codebase-wide WP is exempt.
    Also removed redundant @overload stubs on from_frontmatter that tripped
    strict mypy (overload-cannot-match).

📝 Docs

  • AGENTS.md: added "Use Canonical Sources, Never Improvise" guidance and a
    ruff/mypy-clean (no disabled checks) code-style rule.
  • tasks-finalize doctrine prompt: documented ownership-overlap handling for
    domain/refactor missions (linearize shared surfaces; declare codebase-wide).

Don't miss a new spec-kitty release

NewReleases is sending notifications on new releases.