Skip to content

v0.2.0

Choose a tag to compare

@Alan-Jowett Alan-Jowett released this 20 Mar 16:55
· 124 commits to main since this release
092c74d

PromptKit v0.2.0 — Specification Integrity

PromptKit v0.2.0 introduces a complete specification integrity engine — a set of composable templates that detect gaps, contradictions, and drift across the artifacts that define a software system.

Highlights

The Audit Trifecta

Three new audit templates that cross-check your specifications, code, and tests:

Template What it compares Drift types
audit-traceability Requirements ↔ Design ↔ Validation plan D1–D7
audit-code-compliance Requirements ↔ Source code D8–D10

Each produces a structured investigation report with classified findings (F-NNN), severity ratings, coverage metrics, and actionable remediation guidance.

New Components

  • Persona: specification-analyst — adversarial toward completeness claims, systematic rather than impressionistic
  • Taxonomy: specification-drift (D1–D10) — precise classification for 10 types of specification drift, from untraced requirements (D1) to constraint violations in code (D10)
  • Protocols: traceability-audit (6-phase cross-document methodology) and code-compliance-audit (7-phase spec-to-code methodology)
  • CLI: Taxonomy assembly support — taxonomies are now included in assembled prompts automatically

Deep D7 Analysis

The acceptance criteria mismatch check (D7) now performs four sub-checks instead of a shallow linkage verification:

  • Criterion-level coverage: Are all acceptance criteria exercised, not just the first?
  • Negative case coverage: Do MUST NOT requirements have negative tests?
  • Boundary verification: Are quantitative thresholds tested at the boundary?
  • Ordering constraints: Are sequence requirements tested for order, not just outcomes?

Supplementary Specifications

The trifecta audit now accepts an optional additional_specs parameter for specifications outside the core trifecta (e.g., security models, protocol specs). The protocol also scans for references to external documents not provided, flagging them in the coverage summary.

Real-World Validation

The Sonde case study validates PromptKit against a production IoT project — 5 components, 260 requirements, 60 findings from one reusable prompt. Key result: the PromptKit audit found 30 net-new findings (50%) that an ad-hoc LLM audit missed, almost all design traceability gaps. The two approaches are complementary, not competing.

Documentation

  • Scenarios gallery (docs/scenarios.md) — short, relatable descriptions of when to use each template
  • 5-pillar roadmap — specification integrity, software archaeology, protocol & standards, security & emergent behavior, continuous semantic integration
  • Case studies for traceability audit (hypothetical) and Sonde (real-world with comparison data)

Housekeeping

  • Renamed all spl-* component names to promptkit-* (files, component names, and prose)
  • Added stack-lifetime-hazards taxonomy declarations to investigate-bug, investigate-security, and review-code templates

Breaking Changes

  • Component names renamed: spl-contributorpromptkit-contributor, spl-designpromptkit-design, spl-pull-requestpromptkit-pull-request, spl-contributionpromptkit-contribution
  • If you reference these names in custom templates or agent instruction files, update them

What's Changed

  • Add comprehensive documentation suite (#34)
  • Add traceability audit template for cross-document specification drift (#35)
  • Add specification integrity roadmap (#36)
  • Add stack-lifetime-hazards taxonomy declarations to existing templates (#41) — @Copilot
  • Add code compliance audit template (spec+design → code) (#42)
  • Rewrite roadmap: unified 5-pillar semantic engineering vision (#43)
  • Add Sonde specification audit case study (#45)
  • Deepen D7 acceptance criteria analysis in traceability-audit protocol (#49)
  • Support supplementary specification documents in trifecta audit (#50)
  • Rename SPL references to PromptKit throughout (#51)
  • Bump version to 0.2.0 (#55)

Full Changelog: v0.1.0...v0.2.0