Skip to content

[Extension]: Add reconcile #3852

Description

@SuhaibAslam

Extension ID

reconcile

Extension Name

Intent Reconciliation

Version

1.0.0

Description

Reconcile implementation-discovered decisions against approved feature intent.

Author

SuhaibAslam

Repository URL

https://github.com/SuhaibAslam/spec-kit-reconcile

Download URL

https://github.com/SuhaibAslam/spec-kit-reconcile/archive/refs/tags/v1.0.0.zip

License

MIT

Homepage

https://github.com/SuhaibAslam/spec-kit-reconcile

Documentation URL

https://github.com/SuhaibAslam/spec-kit-reconcile/blob/main/README.md

Changelog URL

https://github.com/SuhaibAslam/spec-kit-reconcile/blob/main/CHANGELOG.md

Required Spec Kit Version

=0.12.0

Required Tools

None. The extension has no runtime dependencies.

Number of Commands

3

Number of Hooks

0

Tags

intent, decisions, reconciliation, drift, workflow

Key Features

  • Establishes a compact, explicitly approved intent.md artifact.
  • Records implementation discoveries in an append-only decision ledger.
  • Classifies discoveries as implementation defects, contract discoveries, design decisions, intent changes, or accidental divergence.
  • Provides a fail-closed speckit.reconcile.implement wrapper that stops before implementation unless intent reports READY.
  • Requires explicit human resolution before propagating decisions into intent, specs, plans, tests, tasks, or code.
  • Clearly documents that calling core speckit.implement directly bypasses reconciliation.

Testing Checklist

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

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag
  • All command files exist and are properly formatted
  • Extension ID follows naming conventions

Testing Details

Environment

  • macOS
  • Spec Kit 0.14.4.dev0
  • Codex CLI 0.146.0-alpha.3.1

Automated validation

Release installation

  1. Initialized a clean Spec Kit project with the Codex integration and Python scripts.
  2. Installed from the public v1.0.0 archive URL.
  3. Verified all three skills were generated.
  4. Verified the installed extension reports Commands: 3 | Hooks: 0.

Real-agent scenarios

  1. Ran speckit.reconcile.implement unattended against a feature with no approved intent.md.
  2. The nested intent command resolved .specify/feature.json through its feature_directory key.
  3. The wrapper returned RECONCILE_STATUS: BLOCKED_INTENT.
  4. Core implementation did not run, the requested marker remained absent, and no files changed.
  5. Ran speckit.reconcile.decisions directly without approved intent.
  6. It returned RECONCILE_STATUS: PENDING and made no changes.

Example Usage

specify extension add reconcile \
  --from https://github.com/SuhaibAslam/spec-kit-reconcile/archive/refs/tags/v1.0.0.zip

Then use the reconciliation entrypoint exposed by the active integration, for example:

$speckit-reconcile-implement Implement the next incomplete user-story phase.

Proposed Catalog Entry

{
  "reconcile": {
    "name": "Intent Reconciliation",
    "id": "reconcile",
    "description": "Reconcile implementation-discovered decisions against approved feature intent",
    "author": "SuhaibAslam",
    "version": "1.0.0",
    "download_url": "https://github.com/SuhaibAslam/spec-kit-reconcile/archive/refs/tags/v1.0.0.zip",
    "repository": "https://github.com/SuhaibAslam/spec-kit-reconcile",
    "homepage": "https://github.com/SuhaibAslam/spec-kit-reconcile",
    "documentation": "https://github.com/SuhaibAslam/spec-kit-reconcile/blob/main/README.md",
    "changelog": "https://github.com/SuhaibAslam/spec-kit-reconcile/blob/main/CHANGELOG.md",
    "license": "MIT",
    "requires": {
      "speckit_version": ">=0.12.0"
    },
    "provides": {
      "commands": 3,
      "hooks": 0
    },
    "tags": [
      "intent",
      "decisions",
      "reconciliation",
      "drift",
      "workflow"
    ],
    "verified": false,
    "downloads": 0,
    "stars": 0,
    "created_at": "2026-07-29T00:00:00Z",
    "updated_at": "2026-07-29T00:00:00Z"
  }
}

Additional Context

This extension was moved out of core PR #3848 following maintainer guidance. The standalone design also addresses the review feedback on blocking semantics: it registers no lifecycle hooks and uses one wrapper command with an explicit fail-closed status contract.

This submission was prepared autonomously on behalf of @SuhaibAslam by Codex (model: GPT-5).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions