Skip to content

37267 adopt speckit converge as the mandatory closing step of the dotcms spec kit flow covering documentation drift - #37275

Open
nicobytes wants to merge 1 commit into
mainfrom
nicobytes/37267-adopt-speckit-converge-as-the-mandatory-closing-step-of-the-dotcms-spec-kit-flow-covering-documentation-drift
Open

37267 adopt speckit converge as the mandatory closing step of the dotcms spec kit flow covering documentation drift#37275
nicobytes wants to merge 1 commit into
mainfrom
nicobytes/37267-adopt-speckit-converge-as-the-mandatory-closing-step-of-the-dotcms-spec-kit-flow-covering-documentation-drift

Conversation

@nicobytes

@nicobytes nicobytes commented Aug 28, 2026

Copy link
Copy Markdown
Member

This PR fixes: #37267

Introduces the speckit-docs-converge companion skill (docs/CLAUDE.md,
openapi.yaml, spec/plan divergence, Javadoc drift), registers it as a
mandatory after_converge hook alongside converge as after_implement, and
updates CLAUDE.md, the Quick Start guide, and CUSTOMIZATIONS.md so
implement → converge → docs-converge is documented as the required
closing loop before PR 2, not an optional tool.
@claude

claude Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Claude finished @nicobytes's task in 1m 12s —— View job


I'll analyze this and get back to you.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements issue #37267 by making /speckit-converge the mandatory closing step of the dotCMS Spec-Kit flow (auto-run via .specify/extensions.yml) and adding a companion /speckit-docs-converge skill to extend convergence checks to documentation drift, alongside updates to the repo’s Spec-Kit documentation and customization records.

Changes:

  • Add mandatory hook chaining: after_implement → speckit.converge and after_converge → speckit.docs-converge.
  • Introduce the new .claude/skills/speckit-docs-converge/ skill (append-only tasks.md output, docs/OpenAPI/spec-plan/javadoc drift assessment).
  • Update Quick Start + customization docs + root CLAUDE.md to reflect converge as the required final step (and remove tracked .specify/feature.json).

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
specs/37267-converge-closing-step/spec.md Adds the fix spec detailing the two gaps and acceptance criteria.
specs/37267-converge-closing-step/data-model.md Defines the conceptual data model for documentation convergence findings/outcomes.
specs/37267-converge-closing-step/contracts/tasks-append.md Specifies the append-only contract for tasks.md writes.
specs/37267-converge-closing-step/contracts/hook-chain.md Defines the intended .specify/extensions.yml hook chain and semantics.
specs/37267-converge-closing-step/contracts/docs-converge-command.md Specifies the interface/constraints for the new /speckit-docs-converge skill.
docs/core/SPEC_KIT_QUICK_START.md Updates the canonical Spec-Kit flow docs to include converge as the closing step and documents docs-converge.
CLAUDE.md Updates the Spec-Kit flow summary to include mandatory converge.
.specify/feature.json Removes a tracked local pointer file (so it stays local/untracked as intended).
.specify/extensions.yml Adds after_implement and after_converge mandatory hooks (and expands header comment).
.specify/CUSTOMIZATIONS.md Documents the new mandatory converge step + docs-converge as upgrade-safe customizations.
.claude/skills/speckit-specify-fix/SKILL.md Updates the described flow to include converge.
.claude/skills/speckit-docs-converge/SKILL.md Adds the new docs convergence skill implementation/spec.
.claude/skills/skills.config.json Adds speckit-docs-converge to governance configuration.
.claude/skills/CATALOG.md Regenerates/updates the skills catalog to include the new skill.
Suppressed comments (2)

docs/core/SPEC_KIT_QUICK_START.md:476

  • This bullet implies implementation_incomplete only happens when /speckit-implement halted at a [GATE], but the docs-converge guard is defined as “any unchecked non-[GATE] tasks remain”. That also includes newly appended tasks from converge, so the current wording is too specific and can confuse users.
- **It stays quiet on a half-finished run.** If `tasks.md` still has unchecked non-`[GATE]` tasks,
  implement halted rather than finished, so it reports `implementation_incomplete` and writes
  nothing. Otherwise every gate approval would append duplicates of work already queued.

docs/core/SPEC_KIT_QUICK_START.md:309

  • This example attributes stale Javadoc/comment detection to /speckit-converge, but in this PR that responsibility is explicitly introduced as part of /speckit-docs-converge. Rewording keeps the worked example consistent with the new split between code convergence and documentation convergence.
`/speckit-converge` closes this one too, and on a fix it earns its keep in a specific way: it re-reads
*Fix Scope & Non-Goals* and flags code that drifted past the boundary the spec drew — the
bounded fix that quietly became a legacy rewrite. It also catches the Javadoc on
`Languagevariable` still describing the old `system = false` behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +258 to +264
Nothing to type: implement fires it on its own once the task list is done. For the Roles API it
re-reads `spec.md`, `plan.md` and `tasks.md`, looks at what you actually built, and reports what
doesn't match — a filter parameter the spec promised and the code never gained, a `docs/` page
still describing the old response shape, an `openapi.yaml` that no longer matches the build.

Anything it finds becomes new tasks at the bottom of `tasks.md`. Run `/speckit-implement` again
to clear them, and converge runs again. When it says `converged`, PR 2 is unblocked.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area : Documentation PR changes documentation files

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Adopt /speckit-converge as the mandatory closing step of the dotCMS Spec-Kit flow, covering documentation drift

2 participants