spec-kitty / spec-kitty/spec-kitty
The acceptance matrix ships as placeholder scaffold, hard-blocks `accept`, and has no command to populate it
- 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
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