spec-kitty / spec-kitty/spec-kitty

The acceptance matrix ships as placeholder scaffold, hard-blocks `accept`, and has no command to populate it

Open
#4,162 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.6k
Forks
165
Avg merge
14h 52m
Merged PRs (30d)
303

Description

## Summary

Every acceptance-matrix criterion is scaffolded as the literal string `"TODO: replace with a real acceptance criterion"` with `overall_verdict: pending`, and `spec-kitty accept` exits 1 until all rows and the verdict are filled. The gating is correct; the gap is that **no command populates the matrix** — direct JSON editing is the only path through, in a directory the workflow otherwise owns. The same shape applies to the issue matrix, whose harvester additionally treats every `#NNN` prose citation as a verdict-required row.

## Reproduction

### Prerequisites

- `spec-kitty-cli 3.2.6.1 (spec-kitty/spec-kitty, SHA cb5ab3a6a)`
- A mission taken through `finalize-tasks`, which scaffolds the matrix.

### Steps

```bash
cat kitty-specs//acceptance-matrix.json
spec-kitty accept --mission
```

### Expected Behavior

A command exists to record acceptance-criterion verdicts, as `agent issue-verdict` does for the issue matrix — or the scaffold is generated with real criteria derived from the spec.

### Actual Behavior

Rows read `"TODO: replace with a real acceptance criterion"`, `overall_verdict` is `pending`, and `accept` exits 1. Progress requires hand-editing JSON under `kitty-specs/`.

## Related

`#2743` covers negative-invariant semantics looping `pending` for an unknown `verification_method`; this is the prior question of how any row gets its first real value. `#1149` describes the accept-cascade round-trips this contributes to.

## Environment

- OS: macOS Darwin 25.6.0 · Python 3.12
- `spec-kitty-cli 3.2.6.1 (spec-kitty/spec-kitty, SHA cb5ab3a6a)`

⚠ Measured on `cb5ab3a6a`, the pre-tag hotfix head, not the released tag. Corroborates a 3.2.6rc2-era observation, so not new to this build.

---

**Authored by**: Kent Gale & Claude Code (Claude Opus 5), 2026-09-09
**Submission approved by**: Kent Gale, 2026-09-09

Contributor guide

Open the contributing guide

Research direction

Start by tracing the behavior of `spec-kitty accept`, `finalize-tasks`, and `agent issue-verdict`, then inspect the generated `kitty-specs//acceptance-matrix.json` and the issue-matrix harvesting flow. Done means contributors have a supported way to record acceptance-criterion verdicts, or the scaffold contains usable criteria, while `accept` correctly recognizes completed rows and the overall verdict.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
47/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.