github / github/spec-kit

[Extension]: Update the Verify Tasks Extension to v1.2.0

Open Beginner friendly
#4,569 5 comments 0 reactions 0 assignees View on GitHub
enhancement extension-submission needs-triage triage-nice-to-have validation-passed
Dominant language
Python
Stars
137k
Forks
12.3k
Avg merge
2d 7h
Merged PRs (30d)
155

Description

### Extension ID

verify-tasks

### Extension Name

Verify Tasks

### Version

1.2.0

### Description

Detect phantom completions: tasks marked [X] in tasks.md with no real implementation.

### Author

Dave Sharpe

### Repository URL

https://github.com/datastone-inc/spec-kit-verify-tasks

### Download URL

https://github.com/datastone-inc/spec-kit-verify-tasks/archive/refs/tags/v1.2.0.zip

### License

MIT

### Homepage (optional)

https://github.com/datastone-inc/spec-kit-verify-tasks

### Documentation URL (optional)

_No response_

### Changelog URL (optional)

https://github.com/datastone-inc/spec-kit-verify-tasks/blob/master/CHANGELOG.md

### Required Spec Kit Version

>=0.12.17

### Required Tools (optional)

```markdown

```

### Number of Commands

1

### Number of Hooks (optional)

2

### Tags

verification, quality, phantom-completion, tasks

### Key Features

- Detects phantom completions: tasks marked `[X]` in `tasks.md` that have no real implementation behind them
- Five-layer check: file existence, git diff cross-reference, content pattern match, dead-code/wiring detection, and semantic assessment
- Pairs with `/speckit.converge`: converge finds what is not built, verify-tasks finds what is falsely marked built
- New in 1.2.0: optional `after_converge` hook alongside `after_implement`, so verify-tasks is the final gate once converge reports Converged
- New in 1.2.0: every `PARTIAL` is tagged `(code)` or `(record)`, and the walkthrough can demote a false `[X]` back to `[ ]` (one character, after confirmation) so the converge/implement loop picks it up
- New in 1.2.0: convergence tasks' `per FR-003 (missing)` source-ref is read directly in the semantic layer
- Since 1.1.0: runs the project's canonical test command once and records the result, so "suite is green" claims are verified by execution
- Structured `verify-tasks-report.md` with per-task verdicts and an interactive walkthrough for flagged items

### Testing Checklist

- [x] Extension installs successfully via download URL
- [x] All commands execute without errors
- [x] Documentation is complete and accurate
- [x] No security vulnerabilities identified
- [x] Tested on at least one real project

### Submission Requirements

- [x] Valid `extension.yml` manifest included
- [x] README.md with installation and usage instructions
- [x] LICENSE file included
- [x] GitHub release created with version tag
- [x] All command files exist and are properly formatted
- [x] Extension ID follows naming conventions (lowercase-with-hyphens)

### Testing Details

**Tested on:**
- Linux with Spec Kit 1.0.6

**Test scenarios:**
1. Installed via `specify extension add verify-tasks --from https://github.com/datastone-inc/spec-kit-verify-tasks/archive/refs/tags/v1.2.0.zip`; both `/speckit-verify-tasks` and `/speckit-verify-tasks-run` rendered
2. Ran `/speckit-verify-tasks` on a feature whose `tasks.md` names a test command; the test result appeared in the report header
4. 1.2.0: installed from the v1.2.0 archive into a fresh `specify init` project; both `after_implement` and `after_converge` registered in `.specify/extensions.yml`, and the archive install copies only the extension files (1.1.0 also copied the repo's own `.specify/`, `specs/` and `tests/`)
3. Ran against the bundled fixtures in `tests/fixtures/` (phantom, genuine, edge-case, 50-task scalability) and compared verdicts with `tests/expected-verdicts.md`

### Example Usage

```markdown
# Install
specify extension add verify-tasks --from https://github.com/datastone-inc/spec-kit-verify-tasks/archive/refs/tags/v1.2.0.zip

# After /speckit.implement (or once /speckit.converge reports Converged), in a fresh agent session:
/speckit.verify-tasks # verify every [X] task in tasks.md
/speckit.verify-tasks T003 T007 # verify specific tasks
/speckit.verify-tasks --scope branch # limit the git-diff check to the current branch
/speckit.verify-tasks T003 --scope uncommitted # one task, uncommitted changes only

# Output: verify-tasks-report.md with a verdict per task
# (VERIFIED / PARTIAL / WEAK / NOT_FOUND / SKIPPED)
```

### Proposed Catalog Entry

```json
{
"verify-tasks": {
"name": "Verify Tasks Extension",
"id": "verify-tasks",
"description": "Detect phantom completions: tasks marked [X] in tasks.md with no real implementation.",
"author": "Dave Sharpe",
"version": "1.2.0",
"download_url": "https://github.com/datastone-inc/spec-kit-verify-tasks/archive/refs/tags/v1.2.0.zip",
"repository": "https://github.com/datastone-inc/spec-kit-verify-tasks",
"homepage": "https://github.com/datastone-inc/spec-kit-verify-tasks",
"documentation": "https://github.com/datastone-inc/spec-kit-verify-tasks/blob/master/README.md",
"changelog": "https://github.com/datastone-inc/spec-kit-verify-tasks/blob/master/CHANGELOG.md",
"license": "MIT",
"category": "code",
"effect": "read-only",
"requires": {
"speckit_version": ">=0.12.17"
},
"provides": {
"commands": 1,
"hooks": 2
},
"tags": ["verification", "quality", "phantom-completion", "tasks"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-03-16T00:00:00Z",
"updated_at": "2026-09-15T00:00:00Z"
}
}
```

### Additional Context

**This is an update to an existing catalog entry**, originally filed for v1.1.0 on 2026-09-13. v1.2.0 shipped on 2026-09-15 before the 1.1.0 update landed, so this issue now asks for the catalog to go from 1.0.0 straight to 1.2.0. The `update-verify-tasks-extension` branch the automation prepared carries 1.1.0 and should be regenerated. Release notes: https://github.com/datastone-inc/spec-kit-verify-tasks/releases/tag/v1.2.0

Contributor guide

Open the contributing guide

Research direction

Locate the existing verify-tasks catalog entry and compare it with the proposed JSON and the v1.2.0 release notes. Update the catalog from the prior version to v1.2.0, including its download URL and metadata, then regenerate the update-verify-tasks branch; done means the catalog reflects the v1.2.0 submission rather than the earlier 1.1.0 work.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.