docguard-cli 0.15.1__tar.gz → 0.15.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. {docguard_cli-0.15.1/extensions/spec-kit-docguard → docguard_cli-0.15.3/.agent}/skills/docguard-fix/SKILL.md +2 -2
  2. {docguard_cli-0.15.1/extensions/spec-kit-docguard → docguard_cli-0.15.3/.agent}/skills/docguard-guard/SKILL.md +2 -2
  3. {docguard_cli-0.15.1/extensions/spec-kit-docguard → docguard_cli-0.15.3/.agent}/skills/docguard-review/SKILL.md +2 -2
  4. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/docguard-score/SKILL.md +2 -2
  5. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/docguard-sync/SKILL.md +1 -1
  6. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/CHANGELOG.md +83 -39
  7. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/DRIFT-LOG.md +3 -0
  8. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/PKG-INFO +1 -1
  9. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/ROADMAP.md +1 -1
  10. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/upgrade.mjs +1 -1
  11. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/memory-plan.mjs +1 -1
  12. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/freshness.mjs +1 -1
  13. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/writers/mechanical.mjs +6 -1
  14. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs-canonical/DATA-MODEL.md +1 -1
  15. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs-canonical/ENVIRONMENT.md +1 -1
  16. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs-canonical/SECURITY.md +1 -1
  17. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs-canonical/TEST-SPEC.md +1 -1
  18. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/README.md +1 -1
  19. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/extension.yml +1 -1
  20. {docguard_cli-0.15.1/.agent → docguard_cli-0.15.3/extensions/spec-kit-docguard}/skills/docguard-fix/SKILL.md +2 -2
  21. {docguard_cli-0.15.1/.agent → docguard_cli-0.15.3/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
  22. {docguard_cli-0.15.1/.agent → docguard_cli-0.15.3/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
  23. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/skills/docguard-score/SKILL.md +2 -2
  24. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +1 -1
  25. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/package.json +1 -1
  26. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/pyproject.toml +1 -1
  27. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/003-v011-false-positives/plan.md +1 -1
  28. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/003-v011-false-positives/spec.md +4 -4
  29. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/003-v011-false-positives/tasks.md +1 -1
  30. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/architecture.test.mjs +5 -0
  31. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/docguardignore.test.mjs +5 -0
  32. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/patch-0.11.2.test.mjs +4 -0
  33. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/todo-tracking.test.mjs +13 -2
  34. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.analyze.md +0 -0
  35. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.checklist.md +0 -0
  36. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.clarify.md +0 -0
  37. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.constitution.md +0 -0
  38. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.implement.md +0 -0
  39. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.plan.md +0 -0
  40. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.specify.md +0 -0
  41. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.tasks.md +0 -0
  42. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/commands/speckit.taskstoissues.md +0 -0
  43. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-analyze/SKILL.md +0 -0
  44. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-checklist/SKILL.md +0 -0
  45. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-clarify/SKILL.md +0 -0
  46. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-constitution/SKILL.md +0 -0
  47. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-implement/SKILL.md +0 -0
  48. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-plan/SKILL.md +0 -0
  49. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-specify/SKILL.md +0 -0
  50. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-tasks/SKILL.md +0 -0
  51. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
  52. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.docguard.json +0 -0
  53. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.docguardignore +0 -0
  54. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  55. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  56. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/dependabot.yml +0 -0
  57. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/scripts/patch-catalog.py +0 -0
  58. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/workflows/ci.yml +0 -0
  59. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/workflows/release.yml +0 -0
  60. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/workflows/supply-chain.yml +0 -0
  61. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.github/workflows/sync-speckit-catalog.yml +0 -0
  62. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.gitignore +0 -0
  63. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.jules/bolt.md +0 -0
  64. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.jules/palette.md +0 -0
  65. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.jules/sentinel.md +0 -0
  66. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.npmignore +0 -0
  67. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.npmrc +0 -0
  68. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
  69. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
  70. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/extensions/.cache/catalog-metadata.json +0 -0
  71. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/extensions/.cache/catalog.json +0 -0
  72. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/init-options.json +0 -0
  73. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/memory/constitution.md +0 -0
  74. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  75. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/scripts/bash/common.sh +0 -0
  76. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/scripts/bash/create-new-feature.sh +0 -0
  77. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/scripts/bash/setup-plan.sh +0 -0
  78. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/scripts/bash/update-agent-context.sh +0 -0
  79. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/templates/agent-file-template.md +0 -0
  80. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/templates/checklist-template.md +0 -0
  81. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/templates/constitution-template.md +0 -0
  82. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/templates/plan-template.md +0 -0
  83. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/templates/spec-template.md +0 -0
  84. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/.specify/templates/tasks-template.md +0 -0
  85. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/AGENTS.md +0 -0
  86. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/CODE_OF_CONDUCT.md +0 -0
  87. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/COMPARISONS.md +0 -0
  88. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/CONTRIBUTING.md +0 -0
  89. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/LICENSE +0 -0
  90. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/PHILOSOPHY.md +0 -0
  91. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/README.md +0 -0
  92. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/SECURITY.md +0 -0
  93. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/STANDARD.md +0 -0
  94. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/SUPPLY-CHAIN-AUDIT.md +0 -0
  95. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/SUPPORT.md +0 -0
  96. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/action.yml +0 -0
  97. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/agents.mjs +0 -0
  98. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/badge.mjs +0 -0
  99. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/ci.mjs +0 -0
  100. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/diagnose.mjs +0 -0
  101. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/diff.mjs +0 -0
  102. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/fix.mjs +0 -0
  103. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/generate.mjs +0 -0
  104. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/guard.mjs +0 -0
  105. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/hooks.mjs +0 -0
  106. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/impact.mjs +0 -0
  107. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/init.mjs +0 -0
  108. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/llms.mjs +0 -0
  109. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/publish.mjs +0 -0
  110. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/score.mjs +0 -0
  111. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/setup.mjs +0 -0
  112. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/sync.mjs +0 -0
  113. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/trace.mjs +0 -0
  114. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/commands/watch.mjs +0 -0
  115. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/docguard.mjs +0 -0
  116. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/ensure-skills.mjs +0 -0
  117. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/api-doc.mjs +0 -0
  118. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/cdk.mjs +0 -0
  119. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/doc-tools.mjs +0 -0
  120. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/frontend.mjs +0 -0
  121. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/iac.mjs +0 -0
  122. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/integrations.mjs +0 -0
  123. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/project-type.mjs +0 -0
  124. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/routes.mjs +0 -0
  125. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/schemas.mjs +0 -0
  126. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/scanners/speckit.mjs +0 -0
  127. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/shared-git.mjs +0 -0
  128. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/shared-ignore.mjs +0 -0
  129. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/shared-source.mjs +0 -0
  130. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/shared.mjs +0 -0
  131. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/api-surface.mjs +0 -0
  132. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/architecture.mjs +0 -0
  133. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/changelog.mjs +0 -0
  134. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/cross-reference.mjs +0 -0
  135. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/doc-quality.mjs +0 -0
  136. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/docs-coverage.mjs +0 -0
  137. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/docs-diff.mjs +0 -0
  138. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/docs-sync.mjs +0 -0
  139. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/drift.mjs +0 -0
  140. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/environment.mjs +0 -0
  141. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/generated-staleness.mjs +0 -0
  142. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/metadata-sync.mjs +0 -0
  143. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/metrics-consistency.mjs +0 -0
  144. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/schema-sync.mjs +0 -0
  145. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/security.mjs +0 -0
  146. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/structure.mjs +0 -0
  147. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/test-spec.mjs +0 -0
  148. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/todo-tracking.mjs +0 -0
  149. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/validators/traceability.mjs +0 -0
  150. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/writers/api-reference.mjs +0 -0
  151. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/writers/fix-memory.mjs +0 -0
  152. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/cli/writers/sections.mjs +0 -0
  153. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/commands/docguard.fix.md +0 -0
  154. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/commands/docguard.guard.md +0 -0
  155. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/commands/docguard.review.md +0 -0
  156. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/commands/docguard.score.md +0 -0
  157. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/configs/fastify.json +0 -0
  158. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/configs/generic.json +0 -0
  159. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/configs/nextjs.json +0 -0
  160. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/configs/python.json +0 -0
  161. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docguard_cli/__init__.py +0 -0
  162. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docguard_cli/wrapper.py +0 -0
  163. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/ai-integration.md +0 -0
  164. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/commands.md +0 -0
  165. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/configuration.md +0 -0
  166. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/doc-sections.md +0 -0
  167. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/faq.md +0 -0
  168. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/installation.md +0 -0
  169. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/profiles.md +0 -0
  170. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs/quickstart.md +0 -0
  171. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs-canonical/ARCHITECTURE.md +0 -0
  172. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/docs-canonical/CI-RECIPES.md +0 -0
  173. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/01-express-api/README.md +0 -0
  174. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/01-express-api/package.json +0 -0
  175. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/01-express-api/server.js +0 -0
  176. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/02-python-flask/README.md +0 -0
  177. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/02-python-flask/app.py +0 -0
  178. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
  179. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/02-python-flask/requirements.txt +0 -0
  180. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
  181. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/README.md +0 -0
  182. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
  183. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
  184. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/package.json +0 -0
  185. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/src/index.js +0 -0
  186. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
  187. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/examples/README.md +0 -0
  188. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/LICENSE +0 -0
  189. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
  190. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/fix.md +0 -0
  191. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/generate.md +0 -0
  192. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/guard.md +0 -0
  193. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/init.md +0 -0
  194. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/score.md +0 -0
  195. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/sync.md +0 -0
  196. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/commands/trace.md +0 -0
  197. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
  198. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
  199. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
  200. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
  201. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
  202. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +0 -0
  203. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +0 -0
  204. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/pr_description.md +0 -0
  205. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/schemas/docguard-config.schema.json +0 -0
  206. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/001-fix-ignore-validators/plan.md +0 -0
  207. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/001-fix-ignore-validators/spec.md +0 -0
  208. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/001-fix-ignore-validators/tasks.md +0 -0
  209. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/002-fix-test-discovery/plan.md +0 -0
  210. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/002-fix-test-discovery/spec.md +0 -0
  211. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/specs/002-fix-test-discovery/tasks.md +0 -0
  212. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/ADR.md.template +0 -0
  213. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/AGENTS.md.template +0 -0
  214. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/ARCHITECTURE.md.template +0 -0
  215. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/CHANGELOG.md.template +0 -0
  216. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/CURRENT-STATE.md.template +0 -0
  217. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/DATA-MODEL.md.template +0 -0
  218. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/DEPLOYMENT.md.template +0 -0
  219. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/DRIFT-LOG.md.template +0 -0
  220. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/ENVIRONMENT.md.template +0 -0
  221. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/KNOWN-GOTCHAS.md.template +0 -0
  222. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/REQUIREMENTS.md.template +0 -0
  223. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/ROADMAP.md.template +0 -0
  224. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/RUNBOOKS.md.template +0 -0
  225. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/SECURITY.md.template +0 -0
  226. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/TEST-SPEC.md.template +0 -0
  227. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/TROUBLESHOOTING.md.template +0 -0
  228. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/VENDOR-BUGS.md.template +0 -0
  229. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/ci/github-actions.yml +0 -0
  230. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/commands/docguard.fix.md +0 -0
  231. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/commands/docguard.guard.md +0 -0
  232. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/commands/docguard.init.md +0 -0
  233. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/commands/docguard.review.md +0 -0
  234. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/templates/commands/docguard.update.md +0 -0
  235. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/test-draft.js +0 -0
  236. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/test-metrics.js +0 -0
  237. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/anchor-autofix.test.mjs +0 -0
  238. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/api-doc.test.mjs +0 -0
  239. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/api-surface.test.mjs +0 -0
  240. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/api-write.test.mjs +0 -0
  241. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/backup-failure.test.mjs +0 -0
  242. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/cdk-detection.test.mjs +0 -0
  243. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/changed-only-scoping.test.mjs +0 -0
  244. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/changed-only.test.mjs +0 -0
  245. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/changelog.test.mjs +0 -0
  246. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/commands.test.mjs +0 -0
  247. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/cross-reference.test.mjs +0 -0
  248. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/doc-quality.test.mjs +0 -0
  249. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/docs-coverage.test.mjs +0 -0
  250. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/docs-diff.test.mjs +0 -0
  251. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/docs-sync.test.mjs +0 -0
  252. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/drift.test.mjs +0 -0
  253. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/environment.test.mjs +0 -0
  254. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/fix-memory.test.mjs +0 -0
  255. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/fix-suppression.test.mjs +0 -0
  256. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/fixture-projects.test.mjs +0 -0
  257. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/freshness.test.mjs +0 -0
  258. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/frontend-deep.test.mjs +0 -0
  259. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/frontend.test.mjs +0 -0
  260. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/generated-staleness.test.mjs +0 -0
  261. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/guard-classify.test.mjs +0 -0
  262. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/guard-no-throw.test.mjs +0 -0
  263. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/hooks.test.mjs +0 -0
  264. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/i18n.test.mjs +0 -0
  265. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/impact.test.mjs +0 -0
  266. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/integrations.test.mjs +0 -0
  267. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/mechanical.test.mjs +0 -0
  268. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/memory-plan.test.mjs +0 -0
  269. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/metadata-sync.test.mjs +0 -0
  270. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/metrics-consistency.test.mjs +0 -0
  271. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/metrics-dedup.test.mjs +0 -0
  272. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/monorepo-scanning.test.mjs +0 -0
  273. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/multi-spec.test.mjs +0 -0
  274. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/profile-flag.test.mjs +0 -0
  275. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/project-type.test.mjs +0 -0
  276. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/regenerate-section.test.mjs +0 -0
  277. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/routes-multilang.test.mjs +0 -0
  278. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/schema-sync.test.mjs +0 -0
  279. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/schemas-multilang.test.mjs +0 -0
  280. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/schemas.test.mjs +0 -0
  281. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/scoping-extended.test.mjs +0 -0
  282. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/sections.test.mjs +0 -0
  283. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/security.test.mjs +0 -0
  284. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/severity.test.mjs +0 -0
  285. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/shared-git.test.mjs +0 -0
  286. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/shared-source.test.mjs +0 -0
  287. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/stress-test.test.mjs +0 -0
  288. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/structure.test.mjs +0 -0
  289. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/sweep-nudge.test.mjs +0 -0
  290. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/sync-since.test.mjs +0 -0
  291. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/sync.test.mjs +0 -0
  292. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/test-spec.test.mjs +0 -0
  293. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/trace-reverse.test.mjs +0 -0
  294. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/traceability.test.mjs +0 -0
  295. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/upgrade-pr.test.mjs +0 -0
  296. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/tests/upgrade.test.mjs +0 -0
  297. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/vscode-extension/.vscodeignore +0 -0
  298. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/vscode-extension/README.md +0 -0
  299. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/vscode-extension/extension.js +0 -0
  300. {docguard_cli-0.15.1 → docguard_cli-0.15.3}/vscode-extension/package.json +0 -0
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.15.1
9
+ version: 0.15.3
10
10
  source: extensions/spec-kit-docguard/skills/docguard-fix
11
11
  ---
12
- <!-- docguard:version: 0.15.1 -->
12
+ <!-- docguard:version: 0.15.3 -->
13
13
 
14
14
  # DocGuard Fix Skill
15
15
 
@@ -7,10 +7,10 @@ description: Run DocGuard guard validation against Canonical-Driven Development
7
7
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
8
8
  metadata:
9
9
  author: docguard
10
- version: 0.15.1
10
+ version: 0.15.3
11
11
  source: extensions/spec-kit-docguard/skills/docguard-guard
12
12
  ---
13
- <!-- docguard:version: 0.15.1 -->
13
+ <!-- docguard:version: 0.15.3 -->
14
14
 
15
15
  # DocGuard Guard Skill
16
16
 
@@ -6,10 +6,10 @@ description: Cross-document consistency analysis and quality assessment. Perform
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.15.1
9
+ version: 0.15.3
10
10
  source: extensions/spec-kit-docguard/skills/docguard-review
11
11
  ---
12
- <!-- docguard:version: 0.15.1 -->
12
+ <!-- docguard:version: 0.15.3 -->
13
13
 
14
14
  # DocGuard Review Skill
15
15
 
@@ -6,10 +6,10 @@ description: CDD maturity assessment with category-aware improvement roadmap. Ru
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.15.1
9
+ version: 0.15.3
10
10
  source: extensions/spec-kit-docguard/skills/docguard-score
11
11
  ---
12
- <!-- docguard:version: 0.15.1 -->
12
+ <!-- docguard:version: 0.15.3 -->
13
13
 
14
14
  # DocGuard Score Skill
15
15
 
@@ -4,7 +4,7 @@ description: Keep canonical documentation ALWAYS UP TO DATE. Refreshes code-trut
4
4
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
5
5
  metadata:
6
6
  author: docguard
7
- version: 0.15.1
7
+ version: 0.15.3
8
8
  source: extensions/spec-kit-docguard/skills/docguard-sync
9
9
  ---
10
10
 
@@ -7,11 +7,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.15.3] - 2026-05-26
11
+
12
+ Repo hygiene release — scrubbed a client-specific project name from public artifacts.
13
+ No code-behavior changes.
14
+
15
+ ### Changed
16
+
17
+ - **Removed client-specific project references from public-facing artifacts**: CHANGELOG.md (29 mentions), `specs/003-v011-false-positives/*`, and source docstrings in `cli/scanners/memory-plan.mjs`, `cli/commands/upgrade.mjs`, `cli/validators/freshness.mjs`. Replaced with neutral phrasing ("an enterprise client project", "the client's stack"). The fact that v0.11.2 → v0.15 releases were driven by real-world testing on a real-world project is unchanged — the *receipts* just no longer name the specific project.
18
+ - Test files retain references for internal traceability — `// REASON:` comments and `@req` markers stay as-is. Tests are not shipped in the npm tarball, only visible in the GitHub repo source.
19
+
20
+ ### Why this matters
21
+
22
+ DocGuard is a public OSS tool on npm + PyPI. Embedding a specific consulting client's project name in 29 CHANGELOG entries conflated "what the tool does" with "who the tool was tested against". This release decouples them: anyone reading the release history sees the technical decisions and the real-world validation that informed them, without coupling that narrative to a specific named project.
23
+
24
+ ### Internal
25
+
26
+ - 497 tests still pass (no test logic changed).
27
+ - 22 validators unchanged.
28
+ - Self-guard unchanged.
29
+ - No new NPM deps.
30
+
31
+ ## [0.15.2] - 2026-05-26
32
+
33
+ Patch release responding to a `/docguard.diagnose` self-audit run on canonical-spec-kit.
34
+ Fixes one real bug (case-sensitive applier) and 9 traceability/freshness/dedup warnings
35
+ through targeted doc + test edits. **497 tests** (unchanged). 22 validators.
36
+
37
+ ### Fixed
38
+
39
+ - **`applyReplaceCount` was case-sensitive — couldn't fix capitalized labels.** Metrics-Consistency's detection regex uses `/gi` (case-insensitive), but the corresponding applier in `cli/writers/mechanical.mjs` was built with `/g` only. Result: a doc that said "21 Validators" (capitalized) showed a warning the user could see but `fix --write` would never resolve. Now the applier mirrors the validator's flags. Found by the diagnose run itself — the new ping-pong suppression suggested it as a candidate, `--force-redo` confirmed the issue. Closed-loop discovery.
40
+
41
+ ### Improved
42
+
43
+ - **5 freshness counters reset** — DATA-MODEL, SECURITY, TEST-SPEC, ENVIRONMENT, ROADMAP all updated with current `<!-- docguard:last-reviewed -->` dates reflecting the v0.12-v0.15 review cycle.
44
+ - **5 traceability gaps closed** — added `@req FR-012/FR-013/FR-014/SC-006/SC-008` markers to existing tests (`tests/architecture.test.mjs`, `tests/docguardignore.test.mjs`, `tests/todo-tracking.test.mjs`, `tests/patch-0.11.2.test.mjs`) that already exercised those requirements but weren't tagged.
45
+ - **DRIFT-LOG updated** with 3 new entries covering v0.15's drift-marker usage (test fixtures, the v0.15.1 defensive `includeTestFiles` flag, and the v0.12-v0.15 release-note prose). All marked Info / by design.
46
+ - **TODO-Tracking false-positive eliminated** — the validator's own test file no longer trips itself by containing literal `test.skip(...)` in the outer scope. Fixed via string-concat token hiding, same pattern as the v0.15.1 DRIFT fixture fix.
47
+
48
+ ### Internal
49
+
50
+ - Self-guard: **218/227 → 224/231** (more checks pass, fewer warnings). 10 → 4 actionable warnings remaining (down from 17 at start of diagnose).
51
+ - Remaining warnings are pre-existing: Docs-Diff test-file count (62), Doc-Quality CI-RECIPES negation density (legitimate prose), Spec-Kit plan-template sections in `specs/002-fix-test-discovery/` (historical artifact).
52
+ - No new NPM deps. No code-behavior changes outside the applier fix.
53
+
10
54
  ## [0.15.1] - 2026-05-26
11
55
 
12
56
  Feature + performance release. **497 tests** (was 492, +5). 22 validators.
13
57
  Headline: full `--changed-only` set now covers **5 validators in ~100ms** on
14
- both wu-whatsappinbox AND a synthetic 1000-file repo. New `.docguard.json`
58
+ both an enterprise client project AND a synthetic 1000-file repo. New `.docguard.json`
15
59
  JSON Schema for IDE autocomplete.
16
60
 
17
61
  > **Note**: v0.15.0 was committed but never published — the CI self-guard
@@ -29,7 +73,7 @@ JSON Schema for IDE autocomplete.
29
73
 
30
74
  ### Added
31
75
 
32
- - **P3: Drift-Comments + TODO-Tracking honor `config.changedFiles`.** Extending the v0.13 N-1 + v0.14-P2 lite-mode scoping. Now 5 of 22 validators scope to changed files in `--changed-only` mode (was 3). `CHANGED_ONLY_VALIDATORS` updated to include `drift` and `todoTracking`. **Result on wu: `--changed-only --since HEAD~3` runs 5 validators in 116ms** (was 78ms with 3 validators in v0.14 — adding two more validators cost only ~40ms because each is scoped). **Result on synthetic 1000-file repo: 91ms** (verified via new stress test).
76
+ - **P3: Drift-Comments + TODO-Tracking honor `config.changedFiles`.** Extending the v0.13 N-1 + v0.14-P2 lite-mode scoping. Now 5 of 22 validators scope to changed files in `--changed-only` mode (was 3). `CHANGED_ONLY_VALIDATORS` updated to include `drift` and `todoTracking`. **Result on the client: `--changed-only --since HEAD~3` runs 5 validators in 116ms** (was 78ms with 3 validators in v0.14 — adding two more validators cost only ~40ms because each is scoped). **Result on synthetic 1000-file repo: 91ms** (verified via new stress test).
33
77
  - **P4: JSON Schema for `.docguard.json`.** New `schemas/docguard-config.schema.json` shipped in the npm package. `docguard init` now writes `$schema` reference into newly-created configs so VS Code / IntelliJ / any JSON-Schema-aware editor gets autocomplete + inline validation for every config field. Includes types, descriptions, enums (severity = high/medium/low; profile = starter/standard/enterprise; projectType = cli/library/webapp/api/unknown), and field-level help text. Zero runtime impact — DocGuard ignores the `$schema` field itself.
34
78
  - **Q: Stress-test fixture.** New `tests/stress-test.test.mjs` builds a synthetic 1000-file monorepo (500 services + 500 routes + 1000 doc references) and asserts:
35
79
  - `--changed-only` finishes in **< 500ms** (actual: ~91ms).
@@ -39,8 +83,8 @@ JSON Schema for IDE autocomplete.
39
83
  ### Performance
40
84
 
41
85
  - **P1: `buildMemoryPlan` cache.** Memoizes the memory plan per (projectDir + scanner-relevant config) within a single process. Helps cross-command flows where `guard` then `sync` would otherwise rebuild the plan twice. New `clearMemoryPlanCache()` export for tests. Single-`guard` runs see no change (only one caller per process).
42
- - **P2: `walkDir` cache in `cli/scanners/schemas.mjs`.** `walkDir` was called 8× inside `scanSchemasDeep` for different entity types (Pydantic, Mongoose, Prisma, SQLAlchemy, Sequelize, GORM, Sqlx, Hibernate). Now caches the file list per directory; subsequent callers iterate an array instead of re-traversing. Net gain on wu's mixed Python+TS stack is modest (~3% of total validator time) but real, and helps on stacks where multiple scanners hit the same root dir.
43
- - **Combined P1+P2+P3 result on wu**: full guard 1456ms → 1431ms (~2%). `--changed-only` covers 5/22 validators in 116ms (vs 1456ms full = **12.6× faster**).
86
+ - **P2: `walkDir` cache in `cli/scanners/schemas.mjs`.** `walkDir` was called 8× inside `scanSchemasDeep` for different entity types (Pydantic, Mongoose, Prisma, SQLAlchemy, Sequelize, GORM, Sqlx, Hibernate). Now caches the file list per directory; subsequent callers iterate an array instead of re-traversing. Net gain on the client's mixed Python+TS stack is modest (~3% of total validator time) but real, and helps on stacks where multiple scanners hit the same root dir.
87
+ - **Combined P1+P2+P3 result on the client**: full guard 1456ms → 1431ms (~2%). `--changed-only` covers 5/22 validators in 116ms (vs 1456ms full = **12.6× faster**).
44
88
 
45
89
  ### Internal
46
90
 
@@ -48,30 +92,30 @@ JSON Schema for IDE autocomplete.
48
92
  - New helpers: `clearMemoryPlanCache()`, `clearWalkDirCache()`, `_scanTodoFile()`.
49
93
  - `schemas/docguard-config.schema.json` is the first non-code file under `schemas/` — added to `package.json#files` so it ships in the npm tarball.
50
94
  - `.docguard.json` now self-documents via `$schema` reference when created by `init`.
51
- - Dry-run on wu: **672/672 PASS in 1.43s**.
95
+ - Dry-run on the client: **672/672 PASS in 1.43s**.
52
96
  - No new NPM deps.
53
97
 
54
98
  ### Out of scope (deferred to v0.16)
55
99
 
56
- - **Deeper Generated-Staleness optimization** — still the slowest validator at 26% of guard time on wu. The cache helps cross-command flows but not single-guard runs. Next attack vector: stream `buildMemoryPlan` so it yields partial results as scanners complete, letting the validator early-exit on the first non-stale section.
100
+ - **Deeper Generated-Staleness optimization** — still the slowest validator at 26% of guard time on the client. The cache helps cross-command flows but not single-guard runs. Next attack vector: stream `buildMemoryPlan` so it yields partial results as scanners complete, letting the validator early-exit on the first non-stale section.
57
101
  - **`upgrade --apply --pr` battle-test** on a real GitHub repo. Logic shipped in v0.14; end-to-end PR creation hasn't been tested against a live remote with branch protections.
58
102
  - **Cross-process memoization** — if guard / sync / fix runs in CI sequentially, they each rebuild the plan. A serialized cache under `.docguard/plan.cache.json` (keyed by a tree-state hash) would share across processes.
59
103
  - **Tree-state hashing for plan cache invalidation** — currently the in-process cache assumes the tree doesn't change mid-run. A proper hash would let long-running `watch` mode keep a stable cache that only invalidates on actual file changes.
60
104
 
61
105
  ## [0.14.1] - 2026-05-26
62
106
 
63
- Patch + small feature release responding to the wu-whatsappinbox v0.12 feedback.
107
+ Patch + small feature release responding to the an enterprise client project v0.12 feedback.
64
108
  **492 tests** (was 481, +11). 22 validators.
65
109
 
66
110
  ### Fixed
67
111
 
68
- - **N-1: Metrics-Consistency double-counted warnings.** When a doc mentioned the stale validator/check count multiple times (e.g. once in a heading, once in a body table), the validator emitted one warning per regex match — producing "4 warnings for 2 files" on wu-whatsappinbox. Now dedupes by `(file, label, found-value)` so a single file contributes ONE warning per distinct drift value. The `replace-count` mechanical fix already uses replace-all semantics, so one fix per (file, label) is sufficient. **Reported by wu-whatsappinbox.**
112
+ - **N-1: Metrics-Consistency double-counted warnings.** When a doc mentioned the stale validator/check count multiple times (e.g. once in a heading, once in a body table), the validator emitted one warning per regex match — producing "4 warnings for 2 files" on an enterprise client project. Now dedupes by `(file, label, found-value)` so a single file contributes ONE warning per distinct drift value. The `replace-count` mechanical fix already uses replace-all semantics, so one fix per (file, label) is sufficient. **Reported by an enterprise client project.**
69
113
 
70
114
  ### Added
71
115
 
72
- - **S-12+: High-confidence anchor matches now auto-fix via `fix --write`.** v0.13.1 added "did you mean #X?" hints when Cross-Reference flagged a broken anchor. v0.14.1 takes the next step: when the suggested anchor is **unambiguous** (edit distance ≤ 2 AND no other candidates within the same distance), the warning is tagged `[auto-fixable]` and the validator emits a `replace-anchor` mechanical fix. New `replace-anchor` applier in `cli/writers/mechanical.mjs` rewrites only the anchor inside markdown link form `](#X)`, leaves plain-text occurrences and link text alone, is idempotent. **Three of five wu broken-anchor cases in v0.12.0 were "heading renamed, link not updated" — those are now `fix --write`-resolvable.**
116
+ - **S-12+: High-confidence anchor matches now auto-fix via `fix --write`.** v0.13.1 added "did you mean #X?" hints when Cross-Reference flagged a broken anchor. v0.14.1 takes the next step: when the suggested anchor is **unambiguous** (edit distance ≤ 2 AND no other candidates within the same distance), the warning is tagged `[auto-fixable]` and the validator emits a `replace-anchor` mechanical fix. New `replace-anchor` applier in `cli/writers/mechanical.mjs` rewrites only the anchor inside markdown link form `](#X)`, leaves plain-text occurrences and link text alone, is idempotent. **Three of five the client broken-anchor cases in v0.12.0 were "heading renamed, link not updated" — those are now `fix --write`-resolvable.**
73
117
 
74
- ### Note to wu — the "still open" suggestions are all already shipped
118
+ ### Note to the client — the "still open" suggestions are all already shipped
75
119
 
76
120
  The S-1, S-11, S-12 items in the v0.12 feedback letter all shipped earlier. The user just needs to upgrade:
77
121
 
@@ -101,7 +145,7 @@ Same backlog as v0.14:
101
145
  Feature release closing the v0.13 backlog (4 features) + 2 quality investments
102
146
  (multi-fixture harness, `--timings` profiler). **481 tests** (was 448, +33).
103
147
  22 validators. Headline wins: pre-commit lite went from 2s → **78ms** on
104
- wu-whatsappinbox, and Generated-Doc Staleness now CLOSES THE LOOP by emitting
148
+ an enterprise client project, and Generated-Doc Staleness now CLOSES THE LOOP by emitting
105
149
  structured fixes that `fix --write` consumes.
106
150
 
107
151
  ### Added
@@ -110,11 +154,11 @@ structured fixes that `fix --write` consumes.
110
154
  - **P2: Environment + API-Surface honor `config.changedFiles`** (extends N-1). When `--changed-only` is set:
111
155
  - `grepEnvUsage` scans only the listed files instead of the whole source tree.
112
156
  - `validateApiSurface` returns N/A when no route/spec/controller files are in the changed set.
113
- - **Result on wu-whatsappinbox: `--changed-only --since HEAD~3` runs in 78ms — a 25× speedup from v0.13.**
157
+ - **Result on an enterprise client project: `--changed-only --since HEAD~3` runs in 78ms — a 25× speedup from v0.13.**
114
158
  - **P3: Generated-Doc Staleness emits structured fixes**. M-1 (v0.13) only warned; now it ALSO produces a `fixes[]` array with new `regenerate-section` fix type that `fix --write` consumes mechanically. **Closes the loop: detect drift → fix without AI.** The applier rewrites only the named section's body, leaves surrounding prose alone, and is idempotent.
115
159
  - **P4: `docguard upgrade --apply --pr`** for team-wide schema rollouts. Creates a branch, applies the migration, commits as "chore(docguard): migrate schema X → Y", pushes, opens a PR via `gh` CLI. Pre-flight checks `gh` is installed; clear error if not. Useful when `.docguard.json` is branch-protected.
116
160
  - **Q1: Multi-fixture test harness** — `tests/fixture-projects.test.mjs`. Runs full guard against 5 real-world project shapes (Next.js webapp, Vite frontend, Express backend, Python CLI, Rust lib). Cross-cutting "no validator throws a developer error" assertion across every fixture. The harness that would have caught B-5 (v0.13.0 Freshness crash) before release.
117
- - **Q2: `docguard guard --timings`** — per-validator wall-time profile, sorted slowest-first, with `data.validators[].durationMs` in JSON output. Honest delivery on the "perf pass" item: instead of speculative refactoring, ship the measurement tool. Real finding on wu: Generated-Staleness is **33% of total validator time** (~400ms) — targeted v0.15 optimization candidate.
161
+ - **Q2: `docguard guard --timings`** — per-validator wall-time profile, sorted slowest-first, with `data.validators[].durationMs` in JSON output. Honest delivery on the "perf pass" item: instead of speculative refactoring, ship the measurement tool. Real finding on the client: Generated-Staleness is **33% of total validator time** (~400ms) — targeted v0.15 optimization candidate.
118
162
 
119
163
  ### Changed
120
164
 
@@ -129,7 +173,7 @@ structured fixes that `fix --write` consumes.
129
173
  - `cli/writers/mechanical.mjs` got a top-level lazy-loaded `_shouldSuppress` and `_sectionsModule` to support the new applier without circular deps.
130
174
  - `cli/commands/upgrade.mjs` got `openUpgradePR()` — gates on `gh` CLI availability.
131
175
  - `cli/commands/guard.mjs` per-validator timing via `performance.now()`.
132
- - Dry-run on wu-whatsappinbox: **674/674 PASS in 1.48s** (full guard), **78ms** for `--changed-only --since HEAD~3` (P2 scoping in action), Generated-Staleness identified as biggest perf hog at 33% of validator time (v0.15 target).
176
+ - Dry-run on an enterprise client project: **674/674 PASS in 1.48s** (full guard), **78ms** for `--changed-only --since HEAD~3` (P2 scoping in action), Generated-Staleness identified as biggest perf hog at 33% of validator time (v0.15 target).
133
177
  - No new NPM deps.
134
178
 
135
179
  ### Out of scope (deferred to v0.15)
@@ -141,34 +185,34 @@ structured fixes that `fix --write` consumes.
141
185
 
142
186
  ## [0.13.1] - 2026-05-26
143
187
 
144
- Patch + small feature release responding to the wu-whatsappinbox v0.12/v0.13
188
+ Patch + small feature release responding to the an enterprise client project v0.12/v0.13
145
189
  feedback. Fixes 2 bugs (B-5, B-6), ships 3 new features (S-7, S-11, S-12),
146
190
  and adds a cross-cutting "no validator throws" safety net. **22 validators,
147
191
  448 tests (was 434, +14 new).** New `docguard impact` command.
148
192
 
149
193
  ### Fixed
150
194
 
151
- - **B-5: Freshness validator crashed with `getLastCommitDate is not defined`.** A wu-whatsappinbox install of v0.13.0 produced this ReferenceError despite all the imports being correct in source — we couldn't reproduce locally, but the user's report was clear. Fix: defensive dynamic import in `freshness.mjs` that falls back to the pre-v0.13 inline implementation if `../shared-git.mjs` ever fails to load. Worst-case behavior is now "rename detection silently disabled" instead of "validator crashes with useless message". Also added an inline fallback for the same defensive layering. Reported by wu-whatsappinbox.
152
- - **B-6: Cross-Reference didn't URL-decode link target paths.** A markdown link like `[name](../WU%20Documentation/foo.md)` (where the directory has a space) was looked up with `existsSync('../WU%20Documentation/foo.md')` literally — the filesystem stores the decoded form. Now: `resolveTarget` tries BOTH the literal path (for paths that legitimately contain `%`) and the URL-decoded form. **Effect on wu-whatsappinbox: Cross-Reference went from 28/28 to 101/101 checks — 73 previously-broken refs now resolve correctly.** Reported by wu-whatsappinbox.
195
+ - **B-5: Freshness validator crashed with `getLastCommitDate is not defined`.** A an enterprise client project install of v0.13.0 produced this ReferenceError despite all the imports being correct in source — we couldn't reproduce locally, but the user's report was clear. Fix: defensive dynamic import in `freshness.mjs` that falls back to the pre-v0.13 inline implementation if `../shared-git.mjs` ever fails to load. Worst-case behavior is now "rename detection silently disabled" instead of "validator crashes with useless message". Also added an inline fallback for the same defensive layering. Reported by an enterprise client project.
196
+ - **B-6: Cross-Reference didn't URL-decode link target paths.** A markdown link like `[name](../WU%20Documentation/foo.md)` (where the directory has a space) was looked up with `existsSync('../WU%20Documentation/foo.md')` literally — the filesystem stores the decoded form. Now: `resolveTarget` tries BOTH the literal path (for paths that legitimately contain `%`) and the URL-decoded form. **Effect on an enterprise client project: Cross-Reference went from 28/28 to 101/101 checks — 73 previously-broken refs now resolve correctly.** Reported by an enterprise client project.
153
197
  - **Cross-cutting safety net**: new `tests/guard-no-throw.test.mjs` runs guard against a fixture repo and asserts no validator leaks a ReferenceError / TypeError / "is not defined" / "is not a function" / "Cannot read properties of undefined" pattern into user-facing output. Found a *second* lurking bug while writing the test: Structure validator threw `Cannot read properties of undefined (reading 'some')` when `config.requiredFiles.agentFile` was missing — fixed with defensive array-or-string coercion + skip-when-missing for `changelog` too. This safety net runs in CI, catching the entire class of developer-error-leaks before release.
154
198
 
155
199
  ### Added
156
200
 
157
- - **S-12: Cross-Reference suggests the closest anchor on near-miss.** When the validator flags a broken anchor, it now appends `(did you mean #athena-setup-aws-only?)` when a heading in the target doc is a close match. Two-pass matcher: (1) substring containment with ≥4-char minimum and ≥50% overlap to avoid spurious matches, (2) Levenshtein edit distance within a `max(3, len/5)` budget. **Three of the five wu user-fixes in v0.12.0 were "heading renamed, link not updated" — now deterministic-fixable from the warning text.** Reported by wu-whatsappinbox.
158
- - **S-7: Draft-staleness check in Generated-Doc Staleness validator.** A `docguard:generated` doc with `status: draft` (either YAML frontmatter or `<!-- status: draft -->` inline marker) that hasn't been modified in `> draftStalenessDays` days (default 14) now warns. Catches forgotten skeletons that stall before the AI fills them in. Threshold configurable via `config.draftStalenessDays`. Validator returns N/A only when there's NOTHING to check (no source=code sections AND no draft docs). Reported by wu-whatsappinbox.
159
- - **S-11: New `docguard impact` command.** After a commit (or before a PR), runs `git diff --name-only --since=<ref>` and shows which canonical doc sections reference any of the changed code files. Three match strategies (direct path / basename / backticked module name — same as L-2 trace --reverse). Highlights orphaned files (code that changed but no doc references it) so reviewers know what's undocumented. JSON mode emits `{ since, changedFiles, ignoredFiles, affectedDocs }` for CI bots. Designed as a post-commit hook companion to K-1's auto-fix Action. Reported by wu-whatsappinbox.
201
+ - **S-12: Cross-Reference suggests the closest anchor on near-miss.** When the validator flags a broken anchor, it now appends `(did you mean #athena-setup-aws-only?)` when a heading in the target doc is a close match. Two-pass matcher: (1) substring containment with ≥4-char minimum and ≥50% overlap to avoid spurious matches, (2) Levenshtein edit distance within a `max(3, len/5)` budget. **Three of the five the client user-fixes in v0.12.0 were "heading renamed, link not updated" — now deterministic-fixable from the warning text.** Reported by an enterprise client project.
202
+ - **S-7: Draft-staleness check in Generated-Doc Staleness validator.** A `docguard:generated` doc with `status: draft` (either YAML frontmatter or `<!-- status: draft -->` inline marker) that hasn't been modified in `> draftStalenessDays` days (default 14) now warns. Catches forgotten skeletons that stall before the AI fills them in. Threshold configurable via `config.draftStalenessDays`. Validator returns N/A only when there's NOTHING to check (no source=code sections AND no draft docs). Reported by an enterprise client project.
203
+ - **S-11: New `docguard impact` command.** After a commit (or before a PR), runs `git diff --name-only --since=<ref>` and shows which canonical doc sections reference any of the changed code files. Three match strategies (direct path / basename / backticked module name — same as L-2 trace --reverse). Highlights orphaned files (code that changed but no doc references it) so reviewers know what's undocumented. JSON mode emits `{ since, changedFiles, ignoredFiles, affectedDocs }` for CI bots. Designed as a post-commit hook companion to K-1's auto-fix Action. Reported by an enterprise client project.
160
204
 
161
205
  ### Internal
162
206
 
163
207
  - **+3 new test files**: `tests/guard-no-throw.test.mjs` (2 — cross-cutting safety), `tests/impact.test.mjs` (5 — S-11), plus 5 new test cases in `cross-reference.test.mjs` (S-12 + B-6) and `generated-staleness.test.mjs` (S-7). **Total: 434 → 448 tests (+14 new).**
164
208
  - **New module**: `cli/commands/impact.mjs` (~140 lines).
165
209
  - **Hardened**: `cli/validators/freshness.mjs` (defensive shared-git import), `cli/validators/structure.mjs` (defensive config-shape handling), `cli/validators/cross-reference.mjs` (URL-decode + anchor suggestion).
166
- - **Dry-run on wu-whatsappinbox before push** (read-only): 670/674 PASS in 1.8s with all 22 validators. Cross-Reference jumped from 28/28 to **101/101 checks** — B-6 fix unlocked 73 previously-broken refs.
210
+ - **Dry-run on an enterprise client project before push** (read-only): 670/674 PASS in 1.8s with all 22 validators. Cross-Reference jumped from 28/28 to **101/101 checks** — B-6 fix unlocked 73 previously-broken refs.
167
211
  - No new NPM deps.
168
212
 
169
- ### Note on wu's v0.12 feedback
213
+ ### Note on the client's v0.12 feedback
170
214
 
171
- Several "still open" suggestions from the wu-whatsappinbox v0.12 feedback were already shipped:
215
+ Several "still open" suggestions from the an enterprise client project v0.12 feedback were already shipped:
172
216
 
173
217
  - **S-2 (sweep-needed nudge)** → shipped in v0.12.0 as K-6.
174
218
  - **S-3 (trace --reverse)** → shipped in v0.13.0 as L-2.
@@ -178,7 +222,7 @@ Several "still open" suggestions from the wu-whatsappinbox v0.12 feedback were a
178
222
  - **S-9 (pre-commit lite)** → shipped in v0.12.0 as K-5.
179
223
  - **S-10 (`.docguard/fixed.json`)** → shipped in v0.13.0 as M-2.
180
224
 
181
- Upgrade with `docguard upgrade --apply` (or `npm i -g docguard-cli@latest`) to get all of these. **The wu report header said v0.12.0 but the B-5 error pattern indicates an in-flight v0.13.0 install** — either way, this patch makes both versions resilient to the regression.
225
+ Upgrade with `docguard upgrade --apply` (or `npm i -g docguard-cli@latest`) to get all of these. **The the client report header said v0.12.0 but the B-5 error pattern indicates an in-flight v0.13.0 install** — either way, this patch makes both versions resilient to the regression.
182
226
 
183
227
  ## [0.13.0] - 2026-05-26
184
228
 
@@ -191,7 +235,7 @@ Feature release — full backlog cleanup. **Phase L** (sync intelligence: 3 feat
191
235
  - **L-3 / S-4: Rename detection via `git log --follow`.** New `cli/shared-git.mjs` module centralises every git-log call. All file-scoped queries now pass `--follow` so a `git mv` no longer resets the file's history. Freshness, Test-Spec, Traceability — anything that asks git "when was this file last touched?" — now answers correctly across renames.
192
236
  - **M-1 / S-7: Generated-Doc Staleness validator** (22nd validator). New validator re-runs the memory-plan scanner and compares each `source=code` section's expected body against on-disk content. Flags sections where the doc and the scanner disagree — i.e. either code changed without `sync --write` running, or someone hand-edited a machine-owned section. Warning includes a "first drift at line N" hint that names the diff site.
193
237
  - **M-2 / S-10: `.docguard/fixed.json` fix-history audit log.** Every mechanical fix `fix --write` applies is appended to a small JSON log under `.docguard/`. Entries are fingerprinted by `type+file+summary` and deduped (re-applying the same fix updates the timestamp instead of growing the file). Rolls over at 500 entries. New `docguard fix --history` command pretty-prints the log grouped by day. Also recorded: `appliedBy` (so K-1's `docguard-bot` auto-commits are distinguishable from human runs).
194
- - **N-1: Per-file scoping of `--changed-only`.** The `--changed-only` lite mode now computes the actually-changed files (`git diff --name-only HEAD~1 HEAD`, configurable with `--since`) and passes them as `config.changedFiles` to validators that opt in. Docs-Sync is the first opt-in: routes and services outside the changed set are skipped entirely. On wu-whatsappinbox the Docs-Sync check count went from 101 → 21 in `--changed-only` mode.
238
+ - **N-1: Per-file scoping of `--changed-only`.** The `--changed-only` lite mode now computes the actually-changed files (`git diff --name-only HEAD~1 HEAD`, configurable with `--since`) and passes them as `config.changedFiles` to validators that opt in. Docs-Sync is the first opt-in: routes and services outside the changed set are skipped entirely. On an enterprise client project the Docs-Sync check count went from 101 → 21 in `--changed-only` mode.
195
239
  - **N-2: 4 broken README anchors fixed** (caught by K-7's Cross-Reference validator). `[Commands](#-commands)` → `[Usage](#usage)`. `CONTRIBUTING.md` added to the validator's standard-docs lookup list (along with CODE_OF_CONDUCT.md, SECURITY.md, PHILOSOPHY.md, STANDARD.md, COMPARISONS.md) so cross-doc refs to those resolve.
196
240
 
197
241
  ### Changed
@@ -205,7 +249,7 @@ Feature release — full backlog cleanup. **Phase L** (sync intelligence: 3 feat
205
249
  - **6 new test files**: `tests/shared-git.test.mjs` (11), `tests/sync-since.test.mjs` (3), `tests/trace-reverse.test.mjs` (5), `tests/generated-staleness.test.mjs` (4), `tests/fix-memory.test.mjs` (11), plus updates to `tests/changed-only.test.mjs`. **Total: 434 tests passing (was 400, +34 new).**
206
250
  - **New modules**: `cli/shared-git.mjs` (centralized git plumbing with --follow), `cli/validators/generated-staleness.mjs` (M-1), `cli/writers/fix-memory.mjs` (M-2). New helpers exported from sync.mjs: section→file matcher table for surgical refresh.
207
251
  - **Action / CLI dual-fix from v0.12** is now coordinated: K-1's auto-fix Action records to `.docguard/fixed.json` via `appliedBy: 'docguard-bot'`, giving teams a permanent record of which fixes the bot applied without diving into git history.
208
- - **Dry-run on wu-whatsappinbox before push** (read-only): 670/674 PASS in 1.82s with all 22 validators. 4 warnings are stale "21 validators" references in wu's local docguard skill files — those auto-fix on the next `fix --write`.
252
+ - **Dry-run on an enterprise client project before push** (read-only): 670/674 PASS in 1.82s with all 22 validators. 4 warnings are stale "21 validators" references in the client's local docguard skill files — those auto-fix on the next `fix --write`.
209
253
  - Bumped extension files via auto-fix (6 files: extension.yml + 5 SKILL.md).
210
254
  - No new NPM dependencies. Still zero deps.
211
255
 
@@ -223,7 +267,7 @@ PR-time auto-fix GitHub Action, `docguard upgrade` command + post-guard
223
267
  nudge, `.docguardignore` support, per-validator severity overrides,
224
268
  pre-commit-lite mode, sweep-needed nudge, and the new Cross-Reference
225
269
  validator (21 validators total, up from 20). Plus 4 papercut fixes
226
- caught during the wu-whatsappinbox dry-run.
270
+ caught during the an enterprise client project dry-run.
227
271
 
228
272
  ### Added
229
273
 
@@ -245,7 +289,7 @@ caught during the wu-whatsappinbox dry-run.
245
289
  ### Fixed
246
290
 
247
291
  - **Docs-Coverage Check 5 silent-fail** (also in v0.11.2) — recommended README sections no longer bump `total` without emitting a message. Now a true bonus: present = +1, missing = no-op.
248
- - **Papercut #1 — `upgrade` missed pre-0.4 schemas.** A `.docguard.json` that exists but has no `version` field (the 2024-era format used by `wu-whatsappinbox`, with `project` instead of `projectName`) was silently treated as "no config". Now: `readProjectSchemaVersion` returns the sentinel `'0.0'` for pre-0.4 schemas, and the migration registry has a `0.0 → 0.4` recipe that renames `project → projectName` while stamping the version. The user-facing label is friendlier too ("pre-0.4 (no version field)" instead of "Schema 0.0").
292
+ - **Papercut #1 — `upgrade` missed pre-0.4 schemas.** A `.docguard.json` that exists but has no `version` field (the 2024-era format used by `an enterprise client project`, with `project` instead of `projectName`) was silently treated as "no config". Now: `readProjectSchemaVersion` returns the sentinel `'0.0'` for pre-0.4 schemas, and the migration registry has a `0.0 → 0.4` recipe that renames `project → projectName` while stamping the version. The user-facing label is friendlier too ("pre-0.4 (no version field)" instead of "Schema 0.0").
249
293
  - **Papercut #2 — `--format json` was unparseable.** The banner and `ensureSkills` install message wrote to stdout BEFORE the JSON body, so `JSON.parse` failed on every consumer. New `jsonMode` + `headless` detection in `main()` skips both for `--format json`, `--write`, `--check-only`, and `--changed-only`. Affects every Action recipe using `format: json` (Score-on-PR was broken).
250
294
  - **Papercut #3 — auto-fix Action counted CLI side effects as "fixes".** `ensureSkills` writes to `.agent/`, `.specify/`, `commands/` on first run; the Action's `git status --porcelain` diff was treating those as mechanical fixes and committing them. Two-part fix: (1) the new headless-mode skips `ensureSkills` so the side effects don't appear, and (2) the Action's bash filter excludes `.agent/`, `.specify/`, `commands/`, `.docguard/`, `.wolf/`, `.claude/` from the changed-files detection as belt-and-suspenders.
251
295
  - **Papercut #4 — slugifier didn't match GitHub's GFM.** The Cross-Reference validator's first iteration false-positived on every emoji-prefixed heading (`## ⚡ Quick Start` → GitHub produces `#-quick-start` with a leading dash, but my code produced `#quick-start`). Also collapsed `--` to `-` which GitHub keeps. Three bugs fixed; tests now lock in GFM compatibility for emoji-prefixed headings and stripped-punctuation cases.
@@ -254,7 +298,7 @@ caught during the wu-whatsappinbox dry-run.
254
298
 
255
299
  - 6 new test files: `tests/upgrade.test.mjs` (12 tests), `tests/docguardignore.test.mjs` (11 tests), `tests/severity.test.mjs` (9 tests), `tests/changed-only.test.mjs` (4 tests), `tests/sweep-nudge.test.mjs` (3 tests), `tests/cross-reference.test.mjs` (22 tests). **Total: 400 tests passing (was 339, +61 new).**
256
300
  - Cross-Reference validator added (21 total validators, up from 20). Metrics-Consistency picked up the new count and `fix --write` auto-bumped 8 doc references from "20 validators" → "21 validators" in one pass — eating our own dogfood.
257
- - Dry-run on `wu-whatsappinbox` (read-only) before push surfaced the 4 papercuts above. All fixed in this release.
301
+ - Dry-run on `an enterprise client project` (read-only) before push surfaced the 4 papercuts above. All fixed in this release.
258
302
  - New modules: `cli/commands/upgrade.mjs`, `loadDocguardIgnore` + `mergeIgnoreFile` exports in `cli/shared-ignore.mjs`, `CURRENT_SCHEMA_VERSION` + `SEVERITY_LEVELS` + `resolveSeverity` + `compareVersions` + `parseVersion` exports in `cli/shared.mjs`, `CHANGED_ONLY_VALIDATORS` + `liteValidatorsConfig` in `cli/commands/guard.mjs`.
259
303
  - New docs: `docs-canonical/CI-RECIPES.md` (5 recipes + permissions cheatsheet + full action inputs/outputs reference).
260
304
  - `action.yml` grew from 166 → 323 lines (+157) with the auto-commit/comment flow.
@@ -268,16 +312,16 @@ caught during the wu-whatsappinbox dry-run.
268
312
 
269
313
  ## [0.11.2] - 2026-05-25
270
314
 
271
- Patch release addressing the four bugs (B-1..B-4) reported from the v0.11.1 audit of `wu-whatsappinbox` (score 98/100, 572/575 passed, 1 warning), plus Antigravity/Kiro/Windsurf agent-routing aliases and a Docs-Coverage silent-fail fix that the new B-4 nudge itself exposed.
315
+ Patch release addressing the four bugs (B-1..B-4) reported from the v0.11.1 audit of `an enterprise client project` (score 98/100, 572/575 passed, 1 warning), plus Antigravity/Kiro/Windsurf agent-routing aliases and a Docs-Coverage silent-fail fix that the new B-4 nudge itself exposed.
272
316
 
273
317
  ### Fixed
274
- - **B-1: Vite intrinsics no longer reported as user env vars.** `grepEnvUsage` in `cli/shared-source.mjs` now skips `DEV`, `PROD`, `MODE`, `BASE_URL`, and `SSR` on `import.meta.env.*` — these are injected by Vite at build time, not user-configured. Real user vars like `VITE_API_URL` are still captured. (Reported by wu-whatsappinbox v0.11.1 audit.)
275
- - **B-2: `docguard diff` Data Entities now uses real exported names, not file basenames.** Previously the entity diff walked filenames and reported the stem (e.g. `models.py` → "models"), missing all the actual classes inside. Now uses `scanSchemasDeep` — the same code-side scanner the rest of DocGuard uses — which extracts real Pydantic/Dataclass/Mongoose/Prisma/Zod/Sequelize/Sqlx/SQLAlchemy/JPA entity names. (Reported by wu-whatsappinbox v0.11.1 audit.)
276
- - **B-3: Literal `` `VITE_` `` prefix in prose no longer captured as an env var name.** Tightened the env-var name regex across `shared-source.mjs`, `validators/environment.mjs`, and `commands/diff.mjs` from `[A-Z][A-Z0-9_]*` to `[A-Z][A-Z0-9_]*[A-Z0-9]` (must end with letter/digit, not underscore). Documentation like ``All vars start with `VITE_` (Vite convention)`` no longer triggers a "missing `VITE_`" warning. (Reported by wu-whatsappinbox v0.11.1 audit.)
277
- - **B-4 nudge surfaced: Docs-Coverage Check 5 (`checkReadmeSections`) silent-fail fixed.** The "recommended sections" loop bumped `total` without emitting a message when missing — exactly the anti-pattern B-4 flags. Recommended sections are now a true bonus: present = +1 to both passed/total, missing = no-op. Restores honest scoring on the README checker. (Found by the B-4 nudge running on the wu-whatsappinbox fixture.)
318
+ - **B-1: Vite intrinsics no longer reported as user env vars.** `grepEnvUsage` in `cli/shared-source.mjs` now skips `DEV`, `PROD`, `MODE`, `BASE_URL`, and `SSR` on `import.meta.env.*` — these are injected by Vite at build time, not user-configured. Real user vars like `VITE_API_URL` are still captured. (Reported by an enterprise client project v0.11.1 audit.)
319
+ - **B-2: `docguard diff` Data Entities now uses real exported names, not file basenames.** Previously the entity diff walked filenames and reported the stem (e.g. `models.py` → "models"), missing all the actual classes inside. Now uses `scanSchemasDeep` — the same code-side scanner the rest of DocGuard uses — which extracts real Pydantic/Dataclass/Mongoose/Prisma/Zod/Sequelize/Sqlx/SQLAlchemy/JPA entity names. (Reported by an enterprise client project v0.11.1 audit.)
320
+ - **B-3: Literal `` `VITE_` `` prefix in prose no longer captured as an env var name.** Tightened the env-var name regex across `shared-source.mjs`, `validators/environment.mjs`, and `commands/diff.mjs` from `[A-Z][A-Z0-9_]*` to `[A-Z][A-Z0-9_]*[A-Z0-9]` (must end with letter/digit, not underscore). Documentation like ``All vars start with `VITE_` (Vite convention)`` no longer triggers a "missing `VITE_`" warning. (Reported by an enterprise client project v0.11.1 audit.)
321
+ - **B-4 nudge surfaced: Docs-Coverage Check 5 (`checkReadmeSections`) silent-fail fixed.** The "recommended sections" loop bumped `total` without emitting a message when missing — exactly the anti-pattern B-4 flags. Recommended sections are now a true bonus: present = +1 to both passed/total, missing = no-op. Restores honest scoring on the README checker. (Found by the B-4 nudge running on the an enterprise client project fixture.)
278
322
 
279
323
  ### Added
280
- - **B-4: `--show-failing` flag and validator-bug nudge.** `docguard guard --show-failing` shows warnings/errors for every non-passing validator even if the overall status would have suppressed them. New nudge fires when a validator has `passed < total` but emits no warning or error messages — points at a likely silent-fail validator bug for the user to file an issue. (Reported by wu-whatsappinbox v0.11.1 audit.)
324
+ - **B-4: `--show-failing` flag and validator-bug nudge.** `docguard guard --show-failing` shows warnings/errors for every non-passing validator even if the overall status would have suppressed them. New nudge fires when a validator has `passed < total` but emits no warning or error messages — points at a likely silent-fail validator bug for the user to file an issue. (Reported by an enterprise client project v0.11.1 audit.)
281
325
  - **Antigravity / Kiro / Windsurf / GEMINI agent signals.** `cli/ensure-skills.mjs` now detects these agent ecosystems via additional signal files (`.agents`, `.antigravity`, `ANTIGRAVITY.md`, `.kiro`, `.windsurf`, `GEMINI.md`) so the right skills are installed for each. Antigravity was already wired via `.agents → agy`; this expands the alias surface so neither side-by-side IDEs nor Spec Kit's `.agents` convention break detection.
282
326
 
283
327
  ### Internal
@@ -287,11 +331,11 @@ Patch release addressing the four bugs (B-1..B-4) reported from the v0.11.1 audi
287
331
  ### Out of scope (deferred to v0.12)
288
332
  - S-1 (`sync --since` surgical refresh), S-2 (sweep-needed nudge from freshness counters), S-3 (`trace --reverse` code→doc map), S-4 (rename detection via `git log --follow`), S-5 (`.docguardignore` template at init), S-6 (per-validator severity in `.docguard.json`), S-7 (generated-doc-in-draft staleness validator), S-8 (cross-reference validator for broken `§X` anchors), S-9 (pre-commit lite on changed files only), S-10 (`.docguard/fixed.json` memory of past fixes).
289
333
 
290
- Credit: feedback from running v0.11.1 on the `wu-whatsappinbox` enterprise monorepo (audit score 98/100, 572/575 passed).
334
+ Credit: feedback from running v0.11.1 on the `an enterprise client project` enterprise monorepo (audit score 98/100, 572/575 passed).
291
335
 
292
336
  ## [0.11.1] - 2026-05-25
293
337
 
294
- Patch release addressing false positives surfaced by the v0.11.0 audit of the `wu-whatsappinbox` enterprise monorepo, generalized into a multi-tool IaC detector, plus several DocGuard self-audit improvements. Spec: `specs/003-v011-false-positives/`.
338
+ Patch release addressing false positives surfaced by the v0.11.0 audit of the `an enterprise client project` enterprise monorepo, generalized into a multi-tool IaC detector, plus several DocGuard self-audit improvements. Spec: `specs/003-v011-false-positives/`.
295
339
 
296
340
  ### Fixed
297
341
  - **Docs-Sync no longer misclassifies frontend API clients as backend routes.** Dropped the ambiguous bare `'api'` from the route-directory convention list. `src/api/client.ts` (frontend axios) and similar are no longer scanned as Express/Next.js routes (FP-1). For Next.js App Router (`src/app/api`, `app/api`), only files matching the strict `route.{ts,tsx,js,jsx,mjs}` filename convention are counted — helper files in the same tree are skipped (FR-001, FR-002).
@@ -309,7 +353,7 @@ Patch release addressing false positives surfaced by the v0.11.0 audit of the `w
309
353
  ### Added
310
354
  - **Multi-tool IaC detector + consolidated documentation reminder.** New `cli/scanners/iac.mjs` identifies projects shipping any of: **AWS CDK** (`cdk.json`), **Terraform** (`*.tf` files), **Pulumi** (`Pulumi.yaml`), **AWS SAM** (`template.yaml` with `AWS::Serverless::`), and **Serverless Framework** (`serverless.yml`). When an IaC project's ARCHITECTURE.md has no Infrastructure heading, DocGuard emits ONE actionable warning per detected tool naming the marker file location and the expected source layout — instead of multiple generic per-directory warnings (FR-009, FR-010, FR-011). The generic per-dir warnings inside IaC packages (`bin/`, `lib/`, `modules/`, `stacks/`, `constructs/`, `handlers/`, etc.) are suppressed in favor of these consolidated messages. The legacy `cli/scanners/cdk.mjs` is preserved as a thin re-export for backward compatibility.
311
355
  - **`## Infrastructure (IaC)` section in `templates/ARCHITECTURE.md.template`.** New projects initialized via `docguard init` start with placeholder tables for AWS CDK, Terraform, and Pulumi/SAM/Serverless layouts plus a Deployment Pipeline subsection (FR-012). Explicitly skippable for non-IaC projects via a header comment.
312
- - **`DEFAULT_IGNORE_DIRS`** exported from `cli/shared-ignore.mjs` — canonical shared ignore set covering build outputs (`dist`, `build`, `out`, `cdk.out`, `target`, `.gradle`), VCS internals (`.git`, `.jj`, `.hg`, `.svn`), package caches (`node_modules`, `vendor`, `.venv`, `__pycache__`), and framework synth outputs (`.next`, `.nuxt`, `.turbo`, `.vercel`, `.cache`, `.svelte-kit`) (FR-008). Added `target` (Rust/Java), `.gradle`, and `.svelte-kit` per the updated wu-whatsappinbox audit. Available for any future validator to import; existing per-validator `IGNORE_DIRS` sets are left in place (deferred migration).
356
+ - **`DEFAULT_IGNORE_DIRS`** exported from `cli/shared-ignore.mjs` — canonical shared ignore set covering build outputs (`dist`, `build`, `out`, `cdk.out`, `target`, `.gradle`), VCS internals (`.git`, `.jj`, `.hg`, `.svn`), package caches (`node_modules`, `vendor`, `.venv`, `__pycache__`), and framework synth outputs (`.next`, `.nuxt`, `.turbo`, `.vercel`, `.cache`, `.svelte-kit`) (FR-008). Added `target` (Rust/Java), `.gradle`, and `.svelte-kit` per the updated an enterprise client project audit. Available for any future validator to import; existing per-validator `IGNORE_DIRS` sets are left in place (deferred migration).
313
357
 
314
358
  ### Changed
315
359
  - **DocGuard package version bumped to 0.11.1** across `package.json` and all `extensions/spec-kit-docguard/` files (extension.yml + 5 SKILL.md files were referencing stale `v0.9.9`/`v0.10.0`).
@@ -327,7 +371,7 @@ Patch release addressing false positives surfaced by the v0.11.0 audit of the `w
327
371
  - Migrating all 17 modules that define their own `IGNORE_DIRS` constant to import `DEFAULT_IGNORE_DIRS` — mechanical, large diff, tracked separately.
328
372
  - Multi-line string-literal detection in TODO-Tracking — current heuristic still false-positives on `// TODO:` inside multi-line template literals. Workaround: keep test files out of TODO scanning (now default) or use `config.todoIgnore` globs.
329
373
 
330
- Credit: feedback from running v0.11.0 on the `wu-whatsappinbox` enterprise monorepo (audit score 98/100, 40 warnings).
374
+ Credit: feedback from running v0.11.0 on the `an enterprise client project` enterprise monorepo (audit score 98/100, 40 warnings).
331
375
 
332
376
  ## [0.11.0] - 2026-05-22
333
377
 
@@ -10,3 +10,6 @@
10
10
  | 2026-03-13 | `cli/commands/agents.mjs` | ARCHITECTURE.md | Agent config generators include `// DRIFT: reason` as instruction text for AI agents. 3 occurrences across Windsurf, Cursor, and generic agent configs. | Info | By design — instruction content |
11
11
  | 2026-03-13 | `cli/validators/drift.mjs` | ARCHITECTURE.md | Drift validator references `// DRIFT:` pattern in JSDoc and regex. | Info | By design — validator implementation |
12
12
  | 2026-05-12 | `tests/drift.test.mjs` | ARCHITECTURE.md | Drift validator tests use `// DRIFT:` comments to simulate project files having drift comments. | Info | By design — test implementation |
13
+ | 2026-05-26 | `tests/scoping-extended.test.mjs` | ARCHITECTURE.md | v0.15 P3 test fixture builds `// D' + 'RIFT:` strings via concat to test changed-files scoping without false-positiving the outer scan. | Info | By design — test implementation; mitigated by v0.15.1 hotfix that skips test files by default in Drift-Comments |
14
+ | 2026-05-26 | `cli/validators/drift.mjs` | ARCHITECTURE.md | Drift-Comments validator v0.15.1+ skips test files by default (matches TODO-Tracking's pattern). Opt in via `config.drift.includeTestFiles` if your project genuinely uses DRIFT markers in test code. | Info | By design — defensive default to prevent fixture false-positives |
15
+ | 2026-05-26 | `CHANGELOG.md` / `extensions/spec-kit-docguard/skills/*` | None | v0.12-v0.15 changelogs and release notes reference `// DRIFT:` in feature descriptions (e.g. K-3 .docguardignore, v0.13 sync, v0.14 P3 scoping). Documentation prose only, not actionable drift. | Info | By design — release notes |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docguard-cli
3
- Version: 0.15.1
3
+ Version: 0.15.3
4
4
  Summary: The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project documentation. Zero dependencies.
5
5
  Project-URL: Homepage, https://github.com/raccioly/docguard
6
6
  Project-URL: Documentation, https://github.com/raccioly/docguard#readme
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- docguard:version 0.4.0 -->
4
4
  <!-- docguard:status living -->
5
- <!-- docguard:last-reviewed 2026-03-14 -->
5
+ <!-- docguard:last-reviewed 2026-05-26 -->
6
6
  <!-- docguard:owner @raccioly -->
7
7
 
8
8
  > The planned evolution of DocGuard and Canonical-Driven Development (CDD).
@@ -63,7 +63,7 @@ function readProjectSchemaVersion(projectDir) {
63
63
  if (!existsSync(p)) return null;
64
64
  try {
65
65
  const cfg = JSON.parse(readFileSync(p, 'utf-8'));
66
- // Pre-0.4 schemas (e.g. wu-whatsappinbox's original config from 2024)
66
+ // Pre-0.4 schemas (e.g. an enterprise client project's original config from 2024)
67
67
  // have no `version` field. Treat as 0.0 so the migration runs end-to-end.
68
68
  return cfg.version || '0.0';
69
69
  } catch {
@@ -31,7 +31,7 @@ const md = {
31
31
 
32
32
  /**
33
33
  * v0.15-P1: in-process cache. buildMemoryPlan is expensive (~400ms on
34
- * wu-whatsappinbox, 33% of total guard validator time) because it triggers
34
+ * an enterprise client project, 33% of total guard validator time) because it triggers
35
35
  * routes/schemas/screens/frontend scanners — all of which walk the source
36
36
  * tree. Within a single guard run, sync, generate, and the Generated-
37
37
  * Staleness validator all ask for the SAME plan; without caching they each
@@ -15,7 +15,7 @@ import { execSync, execFileSync } from 'node:child_process';
15
15
  // upgrade, package corruption, weird module resolution), we fall back to
16
16
  // the original inline implementation below. The worst-case outcome is
17
17
  // "rename detection doesn't work", NOT "validator crashes with a useless
18
- // ReferenceError". Reported by wu-whatsappinbox v0.13.x feedback.
18
+ // ReferenceError". Reported by an enterprise client project v0.13.x feedback.
19
19
  let _sharedGetLastCommitDate = null;
20
20
  try {
21
21
  const mod = await import('../shared-git.mjs');
@@ -48,7 +48,12 @@ function applyReplaceCount(projectDir, fix) {
48
48
  const full = resolve(projectDir, fix.file);
49
49
  if (!existsSync(full)) return { applied: false };
50
50
  const content = readFileSync(full, 'utf-8');
51
- const re = new RegExp(`\\b${esc(fix.found)}(\\s+(?:automated\\s+)?${esc(fix.label)}\\b)`, 'g');
51
+ // v0.15.2 hotfix: case-insensitive label match. Mirrors the validator's
52
+ // detection regex (which is `gi`). Without `i` here, the applier would
53
+ // skip "21 Validators" (capitalized) even though Metrics-Consistency
54
+ // detected it — leaving the user with a warning they couldn't auto-fix.
55
+ // The /docguard.diagnose run on canonical-spec-kit surfaced this.
56
+ const re = new RegExp(`\\b${esc(fix.found)}(\\s+(?:automated\\s+)?${esc(fix.label)}\\b)`, 'gi');
52
57
  const next = content.replace(re, `${fix.actual}$1`);
53
58
  if (next === content) return { applied: false };
54
59
  writeFileSync(full, next, 'utf-8');
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- docguard:version 0.4.0 -->
4
4
  <!-- docguard:status active -->
5
- <!-- docguard:last-reviewed 2026-03-14 -->
5
+ <!-- docguard:last-reviewed 2026-05-26 -->
6
6
 
7
7
  | Metadata | Value |
8
8
  |----------|-------|
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- docguard:version 0.5.0 -->
4
4
  <!-- docguard:status active -->
5
- <!-- docguard:last-reviewed 2026-03-14 -->
5
+ <!-- docguard:last-reviewed 2026-05-26 -->
6
6
 
7
7
  > DocGuard is a zero-dependency CLI tool. No environment variables needed.
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- docguard:version 0.4.0 -->
4
4
  <!-- docguard:status active -->
5
- <!-- docguard:last-reviewed 2026-03-14 -->
5
+ <!-- docguard:last-reviewed 2026-05-26 -->
6
6
 
7
7
  | Metadata | Value |
8
8
  |----------|-------|
@@ -2,7 +2,7 @@
2
2
 
3
3
  <!-- docguard:version 0.7.0 -->
4
4
  <!-- docguard:status active -->
5
- <!-- docguard:last-reviewed 2026-03-13 -->
5
+ <!-- docguard:last-reviewed 2026-05-26 -->
6
6
 
7
7
  > DocGuard is a zero-dependency CLI tool. CLI integration tests cover the full stack.
8
8
 
@@ -4,7 +4,7 @@ Enterprise-grade Canonical-Driven Development (CDD) enforcement and **AI-readabl
4
4
 
5
5
  ## Features
6
6
 
7
- - **21 Validators** — Structure, Security, Doc Quality, Test-Spec, Drift-Comments, API-Surface, Freshness, Cross-Reference, and 13 more
7
+ - **22 Validators** — Structure, Security, Doc Quality, Test-Spec, Drift-Comments, API-Surface, Freshness, Cross-Reference, and 13 more
8
8
  - **Language-agnostic** — JS/TS, Python, Rust, Go, Java/Kotlin, Ruby, PHP, C#. Polyglot/monorepo-aware.
9
9
  - **AI-powered Generate** — `generate --plan` builds the code-truth skeleton in `<!-- docguard:section -->` markers and emits a structured agent task manifest; the AI writes the prose.
10
10
  - **Always up to date** — `sync` surgically refreshes code-truth doc sections in place, **preserves human prose**, flags prose for agent review.
@@ -3,7 +3,7 @@ schema_version: "1.0"
3
3
  extension:
4
4
  id: "docguard"
5
5
  name: "DocGuard — CDD Enforcement"
6
- version: "0.15.1"
6
+ version: "0.15.3"
7
7
  description: "Canonical-Driven Development enforcement as a true spec-kit extension. LLM-first design with 19 automated validators, 4 AI behavior skills, spec-kit skill chaining, and workflow hooks. Zero NPM runtime dependencies."
8
8
  author: "Ricardo Accioly"
9
9
  repository: "https://github.com/raccioly/docguard"
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.15.1
9
+ version: 0.15.3
10
10
  source: extensions/spec-kit-docguard/skills/docguard-fix
11
11
  ---
12
- <!-- docguard:version: 0.15.1 -->
12
+ <!-- docguard:version: 0.15.3 -->
13
13
 
14
14
  # DocGuard Fix Skill
15
15
 
@@ -7,10 +7,10 @@ description: Run DocGuard guard validation against Canonical-Driven Development
7
7
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
8
8
  metadata:
9
9
  author: docguard
10
- version: 0.15.1
10
+ version: 0.15.3
11
11
  source: extensions/spec-kit-docguard/skills/docguard-guard
12
12
  ---
13
- <!-- docguard:version: 0.15.1 -->
13
+ <!-- docguard:version: 0.15.3 -->
14
14
 
15
15
  # DocGuard Guard Skill
16
16
 
@@ -6,10 +6,10 @@ description: Cross-document consistency analysis and quality assessment. Perform
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.15.1
9
+ version: 0.15.3
10
10
  source: extensions/spec-kit-docguard/skills/docguard-review
11
11
  ---
12
- <!-- docguard:version: 0.15.1 -->
12
+ <!-- docguard:version: 0.15.3 -->
13
13
 
14
14
  # DocGuard Review Skill
15
15
 
@@ -6,10 +6,10 @@ description: CDD maturity assessment with category-aware improvement roadmap. Ru
6
6
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
7
7
  metadata:
8
8
  author: docguard
9
- version: 0.15.1
9
+ version: 0.15.3
10
10
  source: extensions/spec-kit-docguard/skills/docguard-score
11
11
  ---
12
- <!-- docguard:version: 0.15.1 -->
12
+ <!-- docguard:version: 0.15.3 -->
13
13
 
14
14
  # DocGuard Score Skill
15
15
 
@@ -4,7 +4,7 @@ description: Keep canonical documentation ALWAYS UP TO DATE. Refreshes code-trut
4
4
  compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
5
5
  metadata:
6
6
  author: docguard
7
- version: 0.15.1
7
+ version: 0.15.3
8
8
  source: extensions/spec-kit-docguard/skills/docguard-sync
9
9
  ---
10
10