github Priivacy-ai/spec-kitty v3.1.1a1
v3.1.1a1 — Typed WPMetadata, Lane enum & RE2 (alpha)

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

Pre-release alpha — v3.1.1a1

Early testing release for #529: metadata state type hardening.

What's in this release

Typed WPMetadata Pydantic model (src/specify_cli/status/wp_metadata.py)
Immutable, validated value object replacing all raw frontmatter.get() dict access. The lane field is now Lane | None — invalid lane values are rejected at parse time. The legacy "doing" alias normalises to in_progress automatically.

9-lane Lane enum state machine (src/specify_cli/status/models.py, wp_state.py)
in_review promoted from alias to first-class lane with its own InReviewState. 27 valid transition pairs enforced at the type level. display_category() for in_review intentionally folds into the "In Progress" kanban column (no new column).

RE2 regex engine (src/kernel/_safe_re.py)
google-re2 >= 1.1 added as a core runtime dependency (pre-built wheels for Windows, Linux, macOS). The shim is a hard RE2 dependency — no silent fallback to stdlib re. Patterns using PCRE-only syntax (lookahead/lookbehind) raise re.error immediately. Use stdlib re directly for those patterns.

Typed dashboard API contracts (src/specify_cli/dashboard/api_types.py)
26 TypedDict response shapes replacing untyped dicts; test_api_contract.py added.

CI — new fast-tests-status and integration-tests-status jobs; coverage from src/specify_cli/status/ and src/kernel/ now feeds the diff-coverage gate.

Fixes applied in this alpha (not in the base PR)

  • WPMetadata.lane typed as Lane | None (was str | None) — invalid values now rejected
  • _safe_re.py ImportError fallback removed; PCRE patterns raise re.error instead of silently using stdlib
  • mission.py lookahead patterns rewritten to RE2-compatible alternation
  • task_metadata_validation.py stale 4-lane list replaced with get_all_lane_values()
  • WPMetadata missing fields (mission_number, mission_slug, status) added

Upgrading

pip install "spec-kitty-cli==3.1.1a1"

Alpha software. Not recommended for production use. Report issues at https://github.com/Priivacy-ai/spec-kitty/issues

Don't miss a new spec-kitty release

NewReleases is sending notifications on new releases.