Added
- Semantic status-event merge driver —
kitty-specs/**/status.events.jsonlnow uses a Spec Kitty merge driver that unions append-only event logs byevent_id, rejects conflicting payloads, and fails closed when merged WPs do not reachdonein the canonical event log. - Forward-safe mission identity — newly created missions now mint a ULID
mission_idat creation time, persist it tometa.json, and emit it through mission-created event payloads. - Release hygiene guardrail — release validation now enforces
pyproject.tomland.kittify/metadata.yamlversion sync before a cut can proceed.
Changed
spec-kitty initnow produces a minimal file scaffold — init no longer initializes git, creates bootstrap commits, or seeds.agents/skills/. The generated next steps now point users atspec-kitty nextplusspec-kitty agent action implement/reviewas the canonical workflow.- Planning-artifact WPs are first-class lane-owned items — the canonical planning lane is now
lane-planning, and it resolves to the main repository checkout instead of an ad hoc special-case path. - Top-level
implementis de-emphasized — onboarding and command docs now treatspec-kitty implementas internal infrastructure rather than the primary user-facing flow.
Fixed
- Merge conflict recovery for
status.events.jsonl— append-only status events are no longer silently dropped during merge conflict resolution, and fresh repositories now self-heal the local git merge-driver config when running merge flows. Closes #574. - Planning/query consistency after PR #555 — mixed planning/code review-context resolution no longer crashes when a dependency resolves to the repo-root workspace, and fresh-run query mode now returns
run_id: nullinstead of leaking a deleted temporary run id. - Dependency parser trailing-prose bleed — the final WP section is now bounded at non-WP
##headings so trailing prose does not get misread as dependency declarations. - Concurrent auth refresh race — stale 401 responses during token rotation no longer wipe valid shared credentials from active CLI sessions.