github / github/spec-kit

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

Fermée Adaptée aux débutants
#4,569 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement extension-submission needs-triage triage-nice-to-have validation-passed
Langage dominant
Python
Étoiles
137k
Forks
12.3k
Merge moyen
2 j 12 h
PR mergées (30 j)
159

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
68/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.