docguard-cli 0.40.1__tar.gz → 0.40.2__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 (638) hide show
  1. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/docguard-fix/SKILL.md +2 -2
  2. {docguard_cli-0.40.1/extensions/spec-kit-docguard → docguard_cli-0.40.2/.agent}/skills/docguard-guard/SKILL.md +2 -2
  3. {docguard_cli-0.40.1/extensions/spec-kit-docguard → docguard_cli-0.40.2/.agent}/skills/docguard-review/SKILL.md +2 -2
  4. {docguard_cli-0.40.1/extensions/spec-kit-docguard → docguard_cli-0.40.2/.agent}/skills/docguard-score/SKILL.md +2 -2
  5. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/docguard-sync/SKILL.md +2 -2
  6. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.docguard-specs.json +21 -21
  7. docguard_cli-0.40.2/.github/scripts/validate-release-candidate.mjs +75 -0
  8. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/auto-merge.yml +10 -92
  9. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/scheduled-release.yml +18 -11
  10. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/buglog.json +22 -1
  11. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/cerebrum.md +1 -1
  12. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/CHANGELOG.md +24 -0
  13. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/PKG-INFO +1 -1
  14. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/ROADMAP.md +13 -3
  15. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/CI-RECIPES.md +16 -10
  16. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/extension.yml +1 -1
  17. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
  18. {docguard_cli-0.40.1/.agent → docguard_cli-0.40.2/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
  19. {docguard_cli-0.40.1/.agent → docguard_cli-0.40.2/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
  20. {docguard_cli-0.40.1/.agent → docguard_cli-0.40.2/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
  21. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
  22. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
  23. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
  24. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/package-lock.json +2 -2
  25. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/package.json +1 -1
  26. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/pyproject.toml +1 -1
  27. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/server.json +2 -2
  28. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/011-tokenless-scheduled-releases/plan.md +26 -13
  29. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/011-tokenless-scheduled-releases/spec.md +22 -17
  30. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/011-tokenless-scheduled-releases/tasks.md +11 -2
  31. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/ci/github-actions.yml +1 -1
  32. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/scheduled-release.test.mjs +66 -36
  33. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/architect.md +0 -0
  34. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/docguard.fix.md +0 -0
  35. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/docguard.guard.md +0 -0
  36. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/docguard.review.md +0 -0
  37. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/docguard.score.md +0 -0
  38. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.analyze.md +0 -0
  39. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.checklist.md +0 -0
  40. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.clarify.md +0 -0
  41. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.constitution.md +0 -0
  42. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.implement.md +0 -0
  43. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.plan.md +0 -0
  44. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.specify.md +0 -0
  45. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.tasks.md +0 -0
  46. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/commands/speckit.taskstoissues.md +0 -0
  47. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-analyze/SKILL.md +0 -0
  48. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-checklist/SKILL.md +0 -0
  49. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-clarify/SKILL.md +0 -0
  50. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-constitution/SKILL.md +0 -0
  51. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-implement/SKILL.md +0 -0
  52. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-plan/SKILL.md +0 -0
  53. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-specify/SKILL.md +0 -0
  54. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-tasks/SKILL.md +0 -0
  55. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
  56. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.claude/rules/openwolf.md +0 -0
  57. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.claude/settings.json +0 -0
  58. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.docguard-archive.json +0 -0
  59. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.docguard.json +0 -0
  60. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.docguardignore +0 -0
  61. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  62. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
  63. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  64. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  65. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/dependabot.yml +0 -0
  66. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/scripts/speckit-submission.py +0 -0
  67. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/scripts/sync-release-version.mjs +0 -0
  68. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/ci.yml +0 -0
  69. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/jules-triage.yml +0 -0
  70. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/release.yml +0 -0
  71. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/supply-chain.yml +0 -0
  72. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.github/workflows/sync-speckit-catalog.yml +0 -0
  73. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.gitignore +0 -0
  74. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.jules/bolt.md +0 -0
  75. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.jules/palette.md +0 -0
  76. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.jules/sentinel.md +0 -0
  77. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.jules-setup.sh +0 -0
  78. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.npmignore +0 -0
  79. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.npmrc +0 -0
  80. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.pre-commit-hooks.yaml +0 -0
  81. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
  82. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
  83. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog-metadata.json +0 -0
  84. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog.json +0 -0
  85. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/init-options.json +0 -0
  86. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/memory/constitution.md +0 -0
  87. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  88. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/scripts/bash/common.sh +0 -0
  89. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/scripts/bash/create-new-feature.sh +0 -0
  90. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/scripts/bash/setup-plan.sh +0 -0
  91. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/scripts/bash/update-agent-context.sh +0 -0
  92. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/templates/agent-file-template.md +0 -0
  93. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/templates/checklist-template.md +0 -0
  94. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/templates/constitution-template.md +0 -0
  95. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/templates/plan-template.md +0 -0
  96. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/templates/spec-template.md +0 -0
  97. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.specify/templates/tasks-template.md +0 -0
  98. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/OPENWOLF.md +0 -0
  99. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/anatomy.md +0 -0
  100. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/config.json +0 -0
  101. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/cron-manifest.json +0 -0
  102. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/cron-state.json +0 -0
  103. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/daemon.log +0 -0
  104. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/designqc-report.json +0 -0
  105. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/_session.json +0 -0
  106. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/_wrap_up_nudged +0 -0
  107. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/package.json +0 -0
  108. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/post-read.js +0 -0
  109. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/post-write.js +0 -0
  110. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/pre-read.js +0 -0
  111. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/pre-write.js +0 -0
  112. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/session-start.js +0 -0
  113. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/shared.js +0 -0
  114. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/hooks/stop.js +0 -0
  115. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/identity.md +0 -0
  116. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/memory.md +0 -0
  117. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/reframe-frameworks.md +0 -0
  118. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/suggestions.json +0 -0
  119. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/.wolf/token-ledger.json +0 -0
  120. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/AGENTS.md +0 -0
  121. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/CLAUDE.md +0 -0
  122. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/CODE_OF_CONDUCT.md +0 -0
  123. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/COMPARISONS.md +0 -0
  124. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/CONTRIBUTING.md +0 -0
  125. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/DRIFT-LOG.md +0 -0
  126. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/Dockerfile +0 -0
  127. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/LICENSE +0 -0
  128. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/PHILOSOPHY.md +0 -0
  129. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/PRIVACY.md +0 -0
  130. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/README.es.md +0 -0
  131. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/README.md +0 -0
  132. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/README.pt-BR.md +0 -0
  133. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/SECURITY.md +0 -0
  134. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/STANDARD.md +0 -0
  135. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/SUPPLY-CHAIN-AUDIT.md +0 -0
  136. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/SUPPORT.md +0 -0
  137. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/VALIDATION.md +0 -0
  138. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/action.yml +0 -0
  139. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/assets/bin/docguard +0 -0
  140. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/assets/demo.gif +0 -0
  141. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/assets/demo.tape +0 -0
  142. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/assets/docguard-logo.png +0 -0
  143. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
  144. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
  145. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
  146. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
  147. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
  148. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
  149. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
  150. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
  151. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
  152. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
  153. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
  154. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
  155. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
  156. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
  157. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
  158. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
  159. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
  160. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
  161. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
  162. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
  163. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
  164. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
  165. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
  166. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
  167. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
  168. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
  169. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
  170. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
  171. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
  172. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
  173. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
  174. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
  175. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
  176. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
  177. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/manifest.json +0 -0
  178. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
  179. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
  180. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
  181. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/results/README.md +0 -0
  182. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/results/observed-v1.json +0 -0
  183. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/agent-context/run.mjs +0 -0
  184. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/baseline.json +0 -0
  185. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/corpus.json +0 -0
  186. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
  187. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
  188. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/package.json +0 -0
  189. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
  190. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
  191. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/go-todo-control/app.go +0 -0
  192. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
  193. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/js-security-control/package.json +0 -0
  194. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
  195. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
  196. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
  197. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
  198. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
  199. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
  200. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/python-security-control/app.py +0 -0
  201. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
  202. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/python-unsupported/app.py +0 -0
  203. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
  204. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
  205. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
  206. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
  207. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
  208. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/ts-security-control/package.json +0 -0
  209. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
  210. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/lib/compare.mjs +0 -0
  211. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/lib/manifest.mjs +0 -0
  212. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/lib/metrics.mjs +0 -0
  213. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/lib/runner.mjs +0 -0
  214. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/benchmarks/run.mjs +0 -0
  215. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/agent.mjs +0 -0
  216. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/agents.mjs +0 -0
  217. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/badge.mjs +0 -0
  218. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/ci.mjs +0 -0
  219. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/demo.mjs +0 -0
  220. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/diagnose.mjs +0 -0
  221. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/diff.mjs +0 -0
  222. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/explain.mjs +0 -0
  223. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/feedback.mjs +0 -0
  224. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/fix.mjs +0 -0
  225. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/generate.mjs +0 -0
  226. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/guard.mjs +0 -0
  227. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/hooks.mjs +0 -0
  228. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/impact.mjs +0 -0
  229. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/init.mjs +0 -0
  230. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/llms.mjs +0 -0
  231. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/mcp.mjs +0 -0
  232. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/memory.mjs +0 -0
  233. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/publish.mjs +0 -0
  234. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/reconcile.mjs +0 -0
  235. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/report.mjs +0 -0
  236. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/retire.mjs +0 -0
  237. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/score.mjs +0 -0
  238. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/setup.mjs +0 -0
  239. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/specs.mjs +0 -0
  240. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/sync-tests.mjs +0 -0
  241. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/sync.mjs +0 -0
  242. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/trace.mjs +0 -0
  243. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/upgrade.mjs +0 -0
  244. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/verify.mjs +0 -0
  245. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/commands/watch.mjs +0 -0
  246. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/config.mjs +0 -0
  247. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/docguard.mjs +0 -0
  248. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/ensure-skills.mjs +0 -0
  249. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/evidence/adapters.mjs +0 -0
  250. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/evidence/evaluate.mjs +0 -0
  251. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/evidence/manifest.mjs +0 -0
  252. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/evidence/markdown.mjs +0 -0
  253. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/feedback-fixture.mjs +0 -0
  254. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/findings.mjs +0 -0
  255. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/release-pr-policy.mjs +0 -0
  256. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/repository-root.mjs +0 -0
  257. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/agent-readability.mjs +0 -0
  258. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/api-doc.mjs +0 -0
  259. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/cdk.mjs +0 -0
  260. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/doc-tools.mjs +0 -0
  261. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/document-lifecycle.mjs +0 -0
  262. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/frontend.mjs +0 -0
  263. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/iac.mjs +0 -0
  264. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/instruction-audit.mjs +0 -0
  265. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/integrations.mjs +0 -0
  266. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/inventory.mjs +0 -0
  267. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/js-ast.mjs +0 -0
  268. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/lifecycle-context.mjs +0 -0
  269. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/memory-plan.mjs +0 -0
  270. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/project-type.mjs +0 -0
  271. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/py-ast.mjs +0 -0
  272. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/reconciliation.mjs +0 -0
  273. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/requirement-evidence.mjs +0 -0
  274. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/retirement-manifest.mjs +0 -0
  275. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/routes.mjs +0 -0
  276. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/schemas.mjs +0 -0
  277. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/semantic-claims.mjs +0 -0
  278. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/spec-registry.mjs +0 -0
  279. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/speckit.mjs +0 -0
  280. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/scanners/task-context.mjs +0 -0
  281. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-diff.mjs +0 -0
  282. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-doc-roles.mjs +0 -0
  283. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-git.mjs +0 -0
  284. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-ignore.mjs +0 -0
  285. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-ir.mjs +0 -0
  286. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-requirements.mjs +0 -0
  287. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-source.mjs +0 -0
  288. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-sync-scope.mjs +0 -0
  289. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared-trace-patterns.mjs +0 -0
  290. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/shared.mjs +0 -0
  291. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validator-coverage.mjs +0 -0
  292. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validator-markers.mjs +0 -0
  293. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/api-doc-smells.mjs +0 -0
  294. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/api-surface.mjs +0 -0
  295. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/architecture.mjs +0 -0
  296. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/canonical-sync.mjs +0 -0
  297. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/changelog.mjs +0 -0
  298. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/cross-reference.mjs +0 -0
  299. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/diff-suspicion.mjs +0 -0
  300. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/doc-quality.mjs +0 -0
  301. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/docs-coverage.mjs +0 -0
  302. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/docs-diff.mjs +0 -0
  303. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/docs-sync.mjs +0 -0
  304. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/document-lifecycle.mjs +0 -0
  305. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/drift.mjs +0 -0
  306. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/environment.mjs +0 -0
  307. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/evidence.mjs +0 -0
  308. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/freshness.mjs +0 -0
  309. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/generated-staleness.mjs +0 -0
  310. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/metadata-sync.mjs +0 -0
  311. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/metrics-consistency.mjs +0 -0
  312. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/reference-existence.mjs +0 -0
  313. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/schema-sync.mjs +0 -0
  314. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/security.mjs +0 -0
  315. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/spec-kit.mjs +0 -0
  316. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/spec-registry.mjs +0 -0
  317. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/structure.mjs +0 -0
  318. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/surface-sync.mjs +0 -0
  319. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/test-spec.mjs +0 -0
  320. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/todo-tracking.mjs +0 -0
  321. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/validators/traceability.mjs +0 -0
  322. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/api-reference.mjs +0 -0
  323. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/baseline.mjs +0 -0
  324. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/doc-generators.mjs +0 -0
  325. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/file-transaction.mjs +0 -0
  326. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/fix-memory.mjs +0 -0
  327. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/generate-io.mjs +0 -0
  328. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/history.mjs +0 -0
  329. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/junit.mjs +0 -0
  330. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/mechanical.mjs +0 -0
  331. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/sarif.mjs +0 -0
  332. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/sections.mjs +0 -0
  333. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/cli/writers/spec-outcomes.mjs +0 -0
  334. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/commands/docguard.fix.md +0 -0
  335. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/commands/docguard.guard.md +0 -0
  336. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/commands/docguard.review.md +0 -0
  337. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/commands/docguard.score.md +0 -0
  338. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/configs/fastify.json +0 -0
  339. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/configs/generic.json +0 -0
  340. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/configs/nextjs.json +0 -0
  341. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/configs/python.json +0 -0
  342. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docguard_cli/__init__.py +0 -0
  343. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docguard_cli/wrapper.py +0 -0
  344. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/ai-integration.md +0 -0
  345. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/commands.md +0 -0
  346. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/configuration.md +0 -0
  347. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/doc-sections.md +0 -0
  348. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/faq.md +0 -0
  349. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/installation.md +0 -0
  350. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/profiles.md +0 -0
  351. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs/quickstart.md +0 -0
  352. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/ARCHITECTURE.md +0 -0
  353. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/DATA-MODEL.md +0 -0
  354. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/ENVIRONMENT.md +0 -0
  355. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/REQUIREMENTS.md +0 -0
  356. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/SECURITY.md +0 -0
  357. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/docs-canonical/TEST-SPEC.md +0 -0
  358. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/01-express-api/README.md +0 -0
  359. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/01-express-api/package.json +0 -0
  360. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/01-express-api/server.js +0 -0
  361. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/02-python-flask/README.md +0 -0
  362. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/02-python-flask/app.py +0 -0
  363. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
  364. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/02-python-flask/requirements.txt +0 -0
  365. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
  366. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/README.md +0 -0
  367. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
  368. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
  369. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/package.json +0 -0
  370. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/src/index.js +0 -0
  371. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/tasks.json +0 -0
  372. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
  373. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/examples/README.md +0 -0
  374. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/LICENSE +0 -0
  375. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/README.md +0 -0
  376. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/brief.md +0 -0
  377. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/complete.md +0 -0
  378. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
  379. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/fix.md +0 -0
  380. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/generate.md +0 -0
  381. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/guard.md +0 -0
  382. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/init.md +0 -0
  383. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
  384. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/score.md +0 -0
  385. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/sync.md +0 -0
  386. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/trace.md +0 -0
  387. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
  388. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
  389. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
  390. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
  391. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
  392. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/glama.json +0 -0
  393. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/llms-full.txt +0 -0
  394. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/llms.txt +0 -0
  395. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/mcpb/README.md +0 -0
  396. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/mcpb/manifest.template.json +0 -0
  397. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/packaging/homebrew/docguard.rb +0 -0
  398. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/packaging/submissions.md +0 -0
  399. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
  400. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-agent-context-result.schema.json +0 -0
  401. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-benchmark.schema.json +0 -0
  402. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-config.schema.json +0 -0
  403. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-evidence.schema.json +0 -0
  404. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-feedback-fixture.schema.json +0 -0
  405. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-specs.schema.json +0 -0
  406. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/schemas/docguard-task-context.schema.json +0 -0
  407. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/smithery.yaml +0 -0
  408. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/006-document-lifecycle/plan.md +0 -0
  409. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/006-document-lifecycle/spec.md +0 -0
  410. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/006-document-lifecycle/tasks.md +0 -0
  411. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/007-precision-evidence-loop/plan.md +0 -0
  412. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/007-precision-evidence-loop/spec.md +0 -0
  413. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/007-precision-evidence-loop/tasks.md +0 -0
  414. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/plan.md +0 -0
  415. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/research.md +0 -0
  416. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/spec.md +0 -0
  417. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/tasks.md +0 -0
  418. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/plan.md +0 -0
  419. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/research.md +0 -0
  420. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/spec.md +0 -0
  421. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/tasks.md +0 -0
  422. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/plan.md +0 -0
  423. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/research.md +0 -0
  424. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/spec.md +0 -0
  425. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/tasks.md +0 -0
  426. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/ADR.md.template +0 -0
  427. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/AGENTS.md.template +0 -0
  428. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/ARCHITECTURE.md.template +0 -0
  429. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/CHANGELOG.md.template +0 -0
  430. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/CURRENT-STATE.md.template +0 -0
  431. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/DATA-MODEL.md.template +0 -0
  432. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/DEPLOYMENT.md.template +0 -0
  433. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/DRIFT-LOG.md.template +0 -0
  434. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/ENVIRONMENT.md.template +0 -0
  435. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/KNOWN-GOTCHAS.md.template +0 -0
  436. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/REQUIREMENTS.md.template +0 -0
  437. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/ROADMAP.md.template +0 -0
  438. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/RUNBOOKS.md.template +0 -0
  439. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/SECURITY.md.template +0 -0
  440. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/TEST-SPEC.md.template +0 -0
  441. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/TROUBLESHOOTING.md.template +0 -0
  442. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/VENDOR-BUGS.md.template +0 -0
  443. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/ci/gitlab-component.yml +0 -0
  444. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/commands/docguard.fix.md +0 -0
  445. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/commands/docguard.guard.md +0 -0
  446. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/commands/docguard.init.md +0 -0
  447. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/commands/docguard.review.md +0 -0
  448. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/commands/docguard.update.md +0 -0
  449. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/.docguard.json +0 -0
  450. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/.env.example +0 -0
  451. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/AGENTS.md +0 -0
  452. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/CHANGELOG.md +0 -0
  453. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/DRIFT-LOG.md +0 -0
  454. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/README.md +0 -0
  455. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
  456. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
  457. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
  458. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
  459. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
  460. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
  461. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/package.json +0 -0
  462. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/src/api.mjs +0 -0
  463. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/src/notifier.mjs +0 -0
  464. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/src/scheduler.mjs +0 -0
  465. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/demo-fixture/src/worker.mjs +0 -0
  466. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/evidence-manifest.json +0 -0
  467. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/templates/feedback-fixture.json +0 -0
  468. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agent-context-benchmark.test.mjs +0 -0
  469. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agent-evidence.test.mjs +0 -0
  470. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agent-readability.test.mjs +0 -0
  471. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agent.test.mjs +0 -0
  472. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agents-check-readonly.test.mjs +0 -0
  473. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agents-command.test.mjs +0 -0
  474. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/agents-sync.test.mjs +0 -0
  475. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/anchor-autofix.test.mjs +0 -0
  476. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/api-authority-precision.test.mjs +0 -0
  477. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/api-doc-smells.test.mjs +0 -0
  478. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/api-doc.test.mjs +0 -0
  479. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/api-surface.test.mjs +0 -0
  480. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/api-write.test.mjs +0 -0
  481. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/architecture.test.mjs +0 -0
  482. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/archive.test.mjs +0 -0
  483. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/b7-node-env-symmetry.test.mjs +0 -0
  484. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/backup-failure.test.mjs +0 -0
  485. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/badge.test.mjs +0 -0
  486. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/baseline.test.mjs +0 -0
  487. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/benchmark-manifest.test.mjs +0 -0
  488. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/benchmark-metrics.test.mjs +0 -0
  489. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/benchmark-runner.test.mjs +0 -0
  490. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
  491. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/canonical-docs-nested.test.mjs +0 -0
  492. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/canonical-sync.test.mjs +0 -0
  493. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/catalog-submission.test.mjs +0 -0
  494. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/cdk-detection.test.mjs +0 -0
  495. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/changed-only-scoping.test.mjs +0 -0
  496. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/changed-only.test.mjs +0 -0
  497. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/changelog.test.mjs +0 -0
  498. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/check-coverage.test.mjs +0 -0
  499. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/ci-reproducibility.test.mjs +0 -0
  500. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/ci-scaffolder.test.mjs +0 -0
  501. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/commands.test.mjs +0 -0
  502. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/cross-reference.test.mjs +0 -0
  503. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/demo-command.test.mjs +0 -0
  504. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/diagnose-review-guidance.test.mjs +0 -0
  505. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/diff-suspicion.test.mjs +0 -0
  506. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/doc-quality.test.mjs +0 -0
  507. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/doc-role-boundaries.test.mjs +0 -0
  508. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/doc-role-mapping.test.mjs +0 -0
  509. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/doc-section-synonyms.test.mjs +0 -0
  510. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/docguardignore.test.mjs +0 -0
  511. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
  512. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/docs-coverage-scope.test.mjs +0 -0
  513. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/docs-coverage.test.mjs +0 -0
  514. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/docs-diff.test.mjs +0 -0
  515. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/docs-sync.test.mjs +0 -0
  516. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/document-lifecycle.test.mjs +0 -0
  517. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/drift.test.mjs +0 -0
  518. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/ensure-skills-idempotent.test.mjs +0 -0
  519. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/env-schema-detection.test.mjs +0 -0
  520. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/environment.test.mjs +0 -0
  521. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/evidence-adapters.test.mjs +0 -0
  522. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/evidence-integration.test.mjs +0 -0
  523. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/evidence-manifest.test.mjs +0 -0
  524. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/explain-coverage.test.mjs +0 -0
  525. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/feedback-contributions.test.mjs +0 -0
  526. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/feedback-fixture.test.mjs +0 -0
  527. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/field-context-precision.test.mjs +0 -0
  528. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/field-diff-precision.test.mjs +0 -0
  529. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/field-report-2-cli.test.mjs +0 -0
  530. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/field-report-3-deferred.test.mjs +0 -0
  531. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/field-report-3.test.mjs +0 -0
  532. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/field-review-clarity.test.mjs +0 -0
  533. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/file-transaction.test.mjs +0 -0
  534. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/fix-memory.test.mjs +0 -0
  535. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/fix-suppression.test.mjs +0 -0
  536. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/fixture-projects.test.mjs +0 -0
  537. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/fixtures/release-workflow-probe.json +0 -0
  538. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/freshness.test.mjs +0 -0
  539. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/frontend-deep.test.mjs +0 -0
  540. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/frontend.test.mjs +0 -0
  541. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/generate-io.test.mjs +0 -0
  542. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/generated-staleness.test.mjs +0 -0
  543. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/guard-classify.test.mjs +0 -0
  544. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/guard-no-throw.test.mjs +0 -0
  545. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/history.test.mjs +0 -0
  546. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/hooks-contract.test.mjs +0 -0
  547. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/hooks.test.mjs +0 -0
  548. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/i18n.test.mjs +0 -0
  549. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/impact.test.mjs +0 -0
  550. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/init-smart-detection.test.mjs +0 -0
  551. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/instruction-audit.test.mjs +0 -0
  552. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/integrations.test.mjs +0 -0
  553. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/inventory.test.mjs +0 -0
  554. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/js-ast.test.mjs +0 -0
  555. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/junit.test.mjs +0 -0
  556. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/llms-full-pack.test.mjs +0 -0
  557. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/mapped-writers.test.mjs +0 -0
  558. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/mcp-http.test.mjs +0 -0
  559. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/mcp.test.mjs +0 -0
  560. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/mechanical.test.mjs +0 -0
  561. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/memory-plan.test.mjs +0 -0
  562. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/metadata-sync.test.mjs +0 -0
  563. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/metrics-consistency.test.mjs +0 -0
  564. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/metrics-dedup.test.mjs +0 -0
  565. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/monorepo-scanning.test.mjs +0 -0
  566. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/multi-spec.test.mjs +0 -0
  567. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/npm-pack-smoke.test.mjs +0 -0
  568. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/nudge-hook.test.mjs +0 -0
  569. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/openapi-parse-honesty.test.mjs +0 -0
  570. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/patch-0.11.2.test.mjs +0 -0
  571. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/plan-disk-cache.test.mjs +0 -0
  572. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/profile-flag.test.mjs +0 -0
  573. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/project-type.test.mjs +0 -0
  574. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/py-ast.test.mjs +0 -0
  575. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/python-import-graph.test.mjs +0 -0
  576. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/reconcile.test.mjs +0 -0
  577. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/reference-existence.test.mjs +0 -0
  578. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/regenerate-section.test.mjs +0 -0
  579. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/release-version-sync.test.mjs +0 -0
  580. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/report.test.mjs +0 -0
  581. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/repository-root.test.mjs +0 -0
  582. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/requirement-scope.test.mjs +0 -0
  583. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/route-field-precision.test.mjs +0 -0
  584. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/routes-express-mounts.test.mjs +0 -0
  585. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/routes-fastify.test.mjs +0 -0
  586. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/routes-multilang.test.mjs +0 -0
  587. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/routes-nextjs-app-router.test.mjs +0 -0
  588. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/sarif.test.mjs +0 -0
  589. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/schema-sync-scope.test.mjs +0 -0
  590. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/schema-sync.test.mjs +0 -0
  591. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/schemas-multilang.test.mjs +0 -0
  592. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/schemas.test.mjs +0 -0
  593. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/scoping-extended.test.mjs +0 -0
  594. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/score-assurance.test.mjs +0 -0
  595. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/score-suggestions.test.mjs +0 -0
  596. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/section-na-markers.test.mjs +0 -0
  597. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/sections.test.mjs +0 -0
  598. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/security-init-injection.test.mjs +0 -0
  599. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/security.test.mjs +0 -0
  600. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/severity.test.mjs +0 -0
  601. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/shared-diff.test.mjs +0 -0
  602. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/shared-git.test.mjs +0 -0
  603. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/shared-ignore-functions.test.mjs +0 -0
  604. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/shared-ir.test.mjs +0 -0
  605. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/shared-source.test.mjs +0 -0
  606. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/spec-completion.test.mjs +0 -0
  607. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/spec-kit-helper-json.test.mjs +0 -0
  608. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/spec-registry.test.mjs +0 -0
  609. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/speckit-bugfix.test.mjs +0 -0
  610. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/speckit-phantom.test.mjs +0 -0
  611. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/starter-scaffold.test.mjs +0 -0
  612. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/stress-test.test.mjs +0 -0
  613. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/structure.test.mjs +0 -0
  614. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/surface-sync.test.mjs +0 -0
  615. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/sweep-nudge.test.mjs +0 -0
  616. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/sync-since.test.mjs +0 -0
  617. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/sync.test.mjs +0 -0
  618. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/task-context.test.mjs +0 -0
  619. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/test-spec.test.mjs +0 -0
  620. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/todo-tracking.test.mjs +0 -0
  621. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/trace-features.test.mjs +0 -0
  622. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/trace-multilang.test.mjs +0 -0
  623. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/trace-reverse.test.mjs +0 -0
  624. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/traceability-fixtures.test.mjs +0 -0
  625. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/traceability-ir.test.mjs +0 -0
  626. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/traceability.test.mjs +0 -0
  627. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/upgrade-pr-e2e.test.mjs +0 -0
  628. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/upgrade-pr.test.mjs +0 -0
  629. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/upgrade.test.mjs +0 -0
  630. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/v020-consolidation.test.mjs +0 -0
  631. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/validator-markers.test.mjs +0 -0
  632. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/validator-naming.test.mjs +0 -0
  633. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/verify-change-context.test.mjs +0 -0
  634. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/version-pin.test.mjs +0 -0
  635. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/watch-reliability.test.mjs +0 -0
  636. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/whats-new.test.mjs +0 -0
  637. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/worker-python-capability.test.mjs +0 -0
  638. {docguard_cli-0.40.1 → docguard_cli-0.40.2}/tests/workflow-action-pins.test.mjs +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.40.1
9
+ version: 0.40.2
10
10
  source: extensions/spec-kit-docguard/skills/docguard-fix
11
11
  ---
12
- <!-- docguard:version: 0.40.1 -->
12
+ <!-- docguard:version: 0.40.2 -->
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.40.1
10
+ version: 0.40.2
11
11
  source: extensions/spec-kit-docguard/skills/docguard-guard
12
12
  ---
13
- <!-- docguard:version: 0.40.1 -->
13
+ <!-- docguard:version: 0.40.2 -->
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.40.1
9
+ version: 0.40.2
10
10
  source: extensions/spec-kit-docguard/skills/docguard-review
11
11
  ---
12
- <!-- docguard:version: 0.40.1 -->
12
+ <!-- docguard:version: 0.40.2 -->
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.40.1
9
+ version: 0.40.2
10
10
  source: extensions/spec-kit-docguard/skills/docguard-score
11
11
  ---
12
- <!-- docguard:version: 0.40.1 -->
12
+ <!-- docguard:version: 0.40.2 -->
13
13
 
14
14
  # DocGuard Score Skill
15
15
 
@@ -4,10 +4,10 @@ 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.40.1
7
+ version: 0.40.2
8
8
  source: extensions/spec-kit-docguard/skills/docguard-sync
9
9
  ---
10
- <!-- docguard:version: 0.40.1 -->
10
+ <!-- docguard:version: 0.40.2 -->
11
11
 
12
12
  # DocGuard Sync Skill
13
13
 
@@ -2070,20 +2070,20 @@
2070
2070
  "artifacts": [
2071
2071
  {
2072
2072
  "path": "specs/011-tokenless-scheduled-releases/spec.md",
2073
- "digest": "sha256:c62dbe1182cf3a6e94ec8a1e1d4b6c2fce7adba57233d11a679d699634228cd5"
2073
+ "digest": "sha256:b5e9f78c62a085b06c30a1ef2a67c45df9a2177aa75f25049c42c7c71e99e543"
2074
2074
  },
2075
2075
  {
2076
2076
  "path": "specs/011-tokenless-scheduled-releases/plan.md",
2077
- "digest": "sha256:1e52fed9a92d0bbf3e6d639bf60e434b8b2b906c43d080143cbcee653a9e4772"
2077
+ "digest": "sha256:f833cdcbe825ab6a75ab484ac586ef3e36a984b7856f196730bb6ca5cdd0393e"
2078
2078
  },
2079
2079
  {
2080
2080
  "path": "specs/011-tokenless-scheduled-releases/tasks.md",
2081
- "digest": "sha256:38734825899c685dfbb7346d8b15c626900399b3756ea33598aeff9adc80012a"
2081
+ "digest": "sha256:9b49cf5672efd0bea5ccca4e1c83239c77854e5733630ab64e800185e1fa44a9"
2082
2082
  }
2083
2083
  ],
2084
2084
  "taskCompletion": {
2085
- "checked": 12,
2086
- "total": 13
2085
+ "checked": 14,
2086
+ "total": 15
2087
2087
  },
2088
2088
  "implementationEvidence": [
2089
2089
  {
@@ -2116,82 +2116,82 @@
2116
2116
  {
2117
2117
  "requirementId": "FR-001",
2118
2118
  "file": "tests/scheduled-release.test.mjs",
2119
- "line": 11
2119
+ "line": 15
2120
2120
  },
2121
2121
  {
2122
2122
  "requirementId": "FR-002",
2123
2123
  "file": "tests/scheduled-release.test.mjs",
2124
- "line": 12
2124
+ "line": 16
2125
2125
  },
2126
2126
  {
2127
2127
  "requirementId": "FR-003",
2128
2128
  "file": "tests/scheduled-release.test.mjs",
2129
- "line": 13
2129
+ "line": 17
2130
2130
  },
2131
2131
  {
2132
2132
  "requirementId": "FR-004",
2133
2133
  "file": "tests/scheduled-release.test.mjs",
2134
- "line": 14
2134
+ "line": 18
2135
2135
  },
2136
2136
  {
2137
2137
  "requirementId": "FR-005",
2138
2138
  "file": "tests/scheduled-release.test.mjs",
2139
- "line": 15
2139
+ "line": 19
2140
2140
  },
2141
2141
  {
2142
2142
  "requirementId": "FR-006",
2143
2143
  "file": "tests/scheduled-release.test.mjs",
2144
- "line": 16
2144
+ "line": 20
2145
2145
  },
2146
2146
  {
2147
2147
  "requirementId": "FR-007",
2148
2148
  "file": "tests/scheduled-release.test.mjs",
2149
- "line": 17
2149
+ "line": 21
2150
2150
  },
2151
2151
  {
2152
2152
  "requirementId": "FR-008",
2153
2153
  "file": "tests/scheduled-release.test.mjs",
2154
- "line": 18
2154
+ "line": 22
2155
2155
  },
2156
2156
  {
2157
2157
  "requirementId": "FR-009",
2158
2158
  "file": "tests/scheduled-release.test.mjs",
2159
- "line": 19
2159
+ "line": 23
2160
2160
  },
2161
2161
  {
2162
2162
  "requirementId": "FR-010",
2163
2163
  "file": "tests/scheduled-release.test.mjs",
2164
- "line": 20
2164
+ "line": 24
2165
2165
  },
2166
2166
  {
2167
2167
  "requirementId": "FR-011",
2168
2168
  "file": "tests/scheduled-release.test.mjs",
2169
- "line": 21
2169
+ "line": 25
2170
2170
  },
2171
2171
  {
2172
2172
  "requirementId": "FR-012",
2173
2173
  "file": "tests/scheduled-release.test.mjs",
2174
- "line": 22
2174
+ "line": 26
2175
2175
  },
2176
2176
  {
2177
2177
  "requirementId": "SC-001",
2178
2178
  "file": "tests/scheduled-release.test.mjs",
2179
- "line": 23
2179
+ "line": 27
2180
2180
  },
2181
2181
  {
2182
2182
  "requirementId": "SC-002",
2183
2183
  "file": "tests/scheduled-release.test.mjs",
2184
- "line": 24
2184
+ "line": 28
2185
2185
  },
2186
2186
  {
2187
2187
  "requirementId": "SC-003",
2188
2188
  "file": "tests/scheduled-release.test.mjs",
2189
- "line": 25
2189
+ "line": 29
2190
2190
  },
2191
2191
  {
2192
2192
  "requirementId": "SC-004",
2193
2193
  "file": "tests/scheduled-release.test.mjs",
2194
- "line": 26
2194
+ "line": 30
2195
2195
  }
2196
2196
  ]
2197
2197
  }
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Validate the scheduler-generated release diff before it leaves the trusted
5
+ * default-branch checkout. GitHub's native auto-merge then enforces the
6
+ * repository's required pull-request checks on every candidate revision.
7
+ */
8
+
9
+ import { execFileSync } from 'node:child_process';
10
+ import { readFileSync } from 'node:fs';
11
+ import { resolve } from 'node:path';
12
+ import { fileURLToPath } from 'node:url';
13
+ import { evaluateReleaseCandidate } from '../../cli/release-pr-policy.mjs';
14
+
15
+ const SCRIPT_PATH = fileURLToPath(import.meta.url);
16
+
17
+ function read(root, path) {
18
+ return readFileSync(resolve(root, path), 'utf8');
19
+ }
20
+
21
+ export function validateReleaseWorkspace({
22
+ root = process.cwd(),
23
+ baseVersion,
24
+ branch,
25
+ repository,
26
+ defaultBranch = 'main',
27
+ }) {
28
+ const paths = execFileSync('git', ['diff', '--name-only', 'HEAD', '--'], {
29
+ cwd: root,
30
+ encoding: 'utf8',
31
+ }).trim().split('\n').filter(Boolean);
32
+ const version = JSON.parse(read(root, 'package.json')).version;
33
+ const result = evaluateReleaseCandidate({
34
+ repository,
35
+ headRepo: repository,
36
+ defaultBranch,
37
+ baseRef: defaultBranch,
38
+ headRef: branch,
39
+ title: `release: v${version} — automated weekly batch`,
40
+ author: 'github-actions[bot]',
41
+ baseVersion,
42
+ paths,
43
+ files: {
44
+ packageJson: read(root, 'package.json'),
45
+ packageLock: read(root, 'package-lock.json'),
46
+ pyproject: read(root, 'pyproject.toml'),
47
+ server: read(root, 'server.json'),
48
+ extension: read(root, 'extensions/spec-kit-docguard/extension.yml'),
49
+ },
50
+ tagExists: false,
51
+ });
52
+ if (!result.ok) {
53
+ throw new Error(result.errors.join('; '));
54
+ }
55
+ return { version: result.version, paths };
56
+ }
57
+
58
+ function valueAfter(flag) {
59
+ const index = process.argv.indexOf(flag);
60
+ return index >= 0 ? process.argv[index + 1] : undefined;
61
+ }
62
+
63
+ if (process.argv[1] && resolve(process.argv[1]) === SCRIPT_PATH) {
64
+ try {
65
+ const result = validateReleaseWorkspace({
66
+ baseVersion: valueAfter('--base-version'),
67
+ branch: valueAfter('--branch'),
68
+ repository: process.env.GITHUB_REPOSITORY,
69
+ });
70
+ console.log(`Validated v${result.version} release candidate (${result.paths.length} changed files).`);
71
+ } catch (error) {
72
+ console.error(`Release candidate validation failed: ${error.message}`);
73
+ process.exitCode = 1;
74
+ }
75
+ }
@@ -2,26 +2,19 @@ name: Auto-merge (green bot PRs)
2
2
 
3
3
  # Hands-off merging for bot PRs that have ALREADY passed the full CI matrix.
4
4
  #
5
- # WHY workflow_run AND NOT `gh pr merge --auto`: GitHub's native auto-merge
6
- # requires the repo-level `allow_auto_merge` setting plus REQUIRED status
7
- # checks in branch protection. Without required checks configured, `--auto`
8
- # merges IMMEDIATELY without waiting for CI — worse than merging by hand.
9
- # This workflow instead fires only after "DocGuard CI" reports success for
10
- # the head SHA, re-verifies every matrix leg via the API, and merges itself.
11
- # No repo settings required, and it is fail-closed: anything unexpected → skip.
5
+ # Release PRs use GitHub's native auto-merge because main now has four required
6
+ # runtime checks. This workflow remains the stricter policy gate for Dependabot
7
+ # and Jules PRs, which have separate version and changed-file restrictions.
12
8
  #
13
9
  # SECURITY: workflow_run runs in the BASE repo context with write scope. It
14
10
  # checks out only the default branch policy with persisted credentials disabled,
15
- # then reads PR metadata and candidate files as inert API data. It never checks
16
- # out or executes PR code.
11
+ # reads PR metadata through the API, and never checks out or executes PR code.
17
12
  #
18
13
  # WHAT AUTO-MERGES:
19
14
  # - dependabot: patch + minor only. Majors NEVER (v0.34.1 shipped a Node-18
20
15
  # break from an auto-accepted @babel/parser major; bug-255).
21
16
  # - jules: test-only and docs-only changes. Anything touching cli/ logic,
22
17
  # .github/, or package.json is labeled and left for a human.
23
- # - release: exact scheduler-owned next-version surfaces after a maintainer
24
- # approves the repository-token PR's ordinary pull-request CI.
25
18
 
26
19
  on:
27
20
  workflow_run:
@@ -29,17 +22,16 @@ on:
29
22
  types: [completed]
30
23
 
31
24
  permissions:
32
- actions: write
33
25
  contents: write
34
26
  pull-requests: write
35
27
  checks: read
36
28
 
37
29
  jobs:
38
30
  auto-merge:
39
- if: github.event.workflow_run.conclusion == 'success' && (github.event.workflow_run.event == 'pull_request' || github.event.workflow_run.event == 'workflow_dispatch')
31
+ if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
40
32
  runs-on: ubuntu-latest
41
33
  steps:
42
- - name: Check out trusted release policy
34
+ - name: Check out trusted auto-merge policy
43
35
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
44
36
  with:
45
37
  ref: ${{ github.event.repository.default_branch }}
@@ -50,7 +42,7 @@ jobs:
50
42
  with:
51
43
  script: |
52
44
  const policyPath = process.env.GITHUB_WORKSPACE + '/cli/release-pr-policy.mjs';
53
- const { evaluateReleaseCandidate, evaluateReleaseJobs } = await import(policyPath);
45
+ const { evaluateReleaseJobs } = await import(policyPath);
54
46
  const owner = context.repo.owner;
55
47
  const repo = context.repo.repo;
56
48
  const run = context.payload.workflow_run;
@@ -67,14 +59,7 @@ jobs:
67
59
 
68
60
  const BOT_DEPENDABOT = 'dependabot[bot]';
69
61
  const BOT_JULES = 'google-labs-jules[bot]';
70
- const releaseShape = pr.head.repo.full_name === `${owner}/${repo}` &&
71
- /^release\/v\d+\.\d+\.\d+$/.test(pr.head.ref || '') &&
72
- /^release: v\d+\.\d+\.\d+ — automated weekly batch$/.test(pr.title || '');
73
- if (run.event === 'workflow_dispatch' && !releaseShape) {
74
- core.info(`#${num} is not a release PR — dispatched recovery CI cannot auto-merge it.`);
75
- return;
76
- }
77
- if (![BOT_DEPENDABOT, BOT_JULES].includes(author) && !releaseShape) {
62
+ if (![BOT_DEPENDABOT, BOT_JULES].includes(author)) {
78
63
  core.info(`#${num} authored by ${author} (not a handled bot) — leaving alone.`);
79
64
  return;
80
65
  }
@@ -110,55 +95,7 @@ jobs:
110
95
  });
111
96
  const paths = files.map((f) => f.filename);
112
97
 
113
- if (releaseShape) {
114
- const textAt = async (path, ref) => {
115
- const { data } = await github.rest.repos.getContent({ owner, repo, path, ref });
116
- if (Array.isArray(data) || !data.content) throw new Error(`${path}: expected a file`);
117
- return Buffer.from(data.content, 'base64').toString('utf8');
118
- };
119
- try {
120
- const candidateFiles = {
121
- packageJson: await textAt('package.json', headSha),
122
- packageLock: await textAt('package-lock.json', headSha),
123
- pyproject: await textAt('pyproject.toml', headSha),
124
- server: await textAt('server.json', headSha),
125
- extension: await textAt('extensions/spec-kit-docguard/extension.yml', headSha),
126
- };
127
- const baseVersion = JSON.parse(await textAt('package.json', pr.base.sha)).version;
128
- const policyInput = {
129
- repository: `${owner}/${repo}`,
130
- headRepo: pr.head.repo.full_name,
131
- defaultBranch: context.payload.repository.default_branch,
132
- baseRef: pr.base.ref,
133
- headRef: pr.head.ref,
134
- title: pr.title,
135
- author,
136
- baseVersion,
137
- paths,
138
- files: candidateFiles,
139
- tagExists: false,
140
- };
141
- const preliminary = evaluateReleaseCandidate(policyInput);
142
- let tagExists = false;
143
- if (preliminary.version && /^\d+\.\d+\.\d+$/.test(preliminary.version)) {
144
- try {
145
- await github.rest.git.getRef({ owner, repo, ref: `tags/v${preliminary.version}` });
146
- tagExists = true;
147
- } catch (e) {
148
- if (e.status !== 404) throw e;
149
- }
150
- }
151
- const candidatePolicy = evaluateReleaseCandidate({ ...policyInput, tagExists });
152
- if (!candidatePolicy.ok) {
153
- await hold('needs-review', `release policy rejected the candidate:\n${candidatePolicy.errors.map((error) => `- ${error}`).join('\n')}`);
154
- return;
155
- }
156
- core.info(`#${num} authenticated tokenless release PR (${pr.head.ref}) — eligible.`);
157
- } catch (e) {
158
- await hold('needs-review', `release metadata could not be verified: ${e.message}`);
159
- return;
160
- }
161
- } else if (author === BOT_DEPENDABOT) {
98
+ if (author === BOT_DEPENDABOT) {
162
99
  // Version delta from the title: "bump X from 1.2.3 to 1.2.4"
163
100
  const m = /from (\d+)\.(\d+)\.(\d+)\S* to (\d+)\.(\d+)\.(\d+)/.exec(pr.title || '');
164
101
  if (!m) { await hold('needs-review', 'could not parse the version delta from the PR title.'); return; }
@@ -187,28 +124,9 @@ jobs:
187
124
  owner, repo, pull_number: num, merge_method: 'squash',
188
125
  });
189
126
  if (!merge.merged) throw new Error(merge.message || 'GitHub declined the merge');
190
- if (releaseShape) {
191
- try {
192
- await github.rest.actions.createWorkflowDispatch({
193
- owner,
194
- repo,
195
- workflow_id: 'release.yml',
196
- ref: context.payload.repository.default_branch,
197
- });
198
- } catch (dispatchError) {
199
- await github.rest.issues.createComment({
200
- owner,
201
- repo,
202
- issue_number: num,
203
- body: `⚠️ **Merged, publication dispatch failed** — ${dispatchError.message}. The next scheduled release run will retry the untagged package version.`,
204
- });
205
- core.setFailed(`Merged #${num}, but release dispatch failed: ${dispatchError.message}`);
206
- return;
207
- }
208
- }
209
127
  await github.rest.issues.createComment({
210
128
  owner, repo, issue_number: num,
211
- body: `🤖 **Auto-merged** — the exact CI run passed all four Node legs (18/20/22/24), stayed within the test-runtime budget, and satisfied the policy in \`.github/workflows/auto-merge.yml\`.${releaseShape ? ' Publication was dispatched on main.' : ''}`,
129
+ body: `🤖 **Auto-merged** — the exact CI run passed all four Node legs (18/20/22/24), stayed within the test-runtime budget, and satisfied the policy in \`.github/workflows/auto-merge.yml\`.`,
212
130
  });
213
131
  core.notice(`Merged #${num}.`);
214
132
  } catch (e) {
@@ -8,11 +8,12 @@ name: Scheduled Release
8
8
  # patch and publish constantly. Weekly batching keeps releases hands-off
9
9
  # without turning the registry into a changelog.
10
10
  #
11
- # HOW IT TRIGGERS THE ACTUAL RELEASE: the repository token opens a protected PR.
12
- # GitHub intentionally holds that PR's workflows for one maintainer approval.
13
- # Once approved, ordinary PR CI satisfies branch protection and the metadata-only
14
- # auto-merge gate dispatches release.yml. A later schedule retries publication
15
- # when package.json has no corresponding tag.
11
+ # HOW IT TRIGGERS THE ACTUAL RELEASE: the repository token validates and opens a
12
+ # protected PR, then arms GitHub's native squash auto-merge. GitHub intentionally
13
+ # holds that PR's workflows for one maintainer approval. Once approved, ordinary
14
+ # PR CI satisfies the required checks, native auto-merge updates main, and the
15
+ # package.json push starts release.yml. A later schedule retries publication when
16
+ # package.json has no corresponding tag.
16
17
  #
17
18
  # NO-OP WHEN NOTHING CHANGED: if there are no commits since the last release
18
19
  # tag, this exits without bumping — no empty releases.
@@ -148,7 +149,8 @@ jobs:
148
149
  # workflows for PRs opened by GITHUB_TOKEN until a maintainer approves them;
149
150
  # workflow_dispatch jobs do not satisfy those required PR contexts. The
150
151
  # approval is the deliberate human boundary that avoids a stored PAT or App
151
- # private key. After approval, auto-merge validates the exact PR run.
152
+ # private key. Native auto-merge remains blocked until all required checks
153
+ # succeed and resets if the candidate head changes.
152
154
  #
153
155
  # 1. main requires a pull request. github-actions[bot] is not an admin
154
156
  # and has no bypass, so a direct push is rejected outright.
@@ -158,6 +160,9 @@ jobs:
158
160
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
159
161
  run: |
160
162
  BRANCH="release/v${NEW_VERSION}"
163
+ node .github/scripts/validate-release-candidate.mjs \
164
+ --base-version "${{ steps.check.outputs.current }}" \
165
+ --branch "$BRANCH"
161
166
  EXISTING=$(gh pr list --base main --head "$BRANCH" --state open --json url --jq '.[0].url // ""')
162
167
  if [ -n "$EXISTING" ]; then
163
168
  echo "Reusing existing release PR: $EXISTING"
@@ -166,7 +171,8 @@ jobs:
166
171
  echo "::error::Existing $BRANCH does not contain current main; refusing to validate a stale release."
167
172
  exit 1
168
173
  fi
169
- echo "Maintainer action required: approve the PR workflows in GitHub."
174
+ gh pr merge --auto --squash "$EXISTING"
175
+ echo "Auto-merge armed. Maintainer action required: approve the PR workflows in GitHub."
170
176
  exit 0
171
177
  fi
172
178
  if git ls-remote --exit-code --heads origin "$BRANCH" >/dev/null 2>&1; then
@@ -180,10 +186,10 @@ jobs:
180
186
  git commit -m "release: v${NEW_VERSION} — automated weekly batch
181
187
 
182
188
  Cut by .github/workflows/scheduled-release.yml. Publishing itself is
183
- handled by release.yml, which the merge gate dispatches on main."
189
+ handled by release.yml after protected native auto-merge updates main."
184
190
  git push origin "$BRANCH"
185
191
 
186
- gh pr create \
192
+ PR_URL=$(gh pr create \
187
193
  --base main \
188
194
  --head "$BRANCH" \
189
195
  --title "release: v${NEW_VERSION} — automated weekly batch" \
@@ -191,6 +197,7 @@ jobs:
191
197
 
192
198
  Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
193
199
 
194
- **Maintainer action required:** select **Approve workflows to run** in GitHub. The ordinary pull-request CI then satisfies branch protection; once green, \`auto-merge.yml\` validates the exact run, merges this PR, and dispatches \`release.yml\` to tag and publish."
200
+ **Maintainer action required:** select **Approve workflows to run** in GitHub. The ordinary pull-request CI then satisfies branch protection; GitHub's protected native auto-merge merges the exact green head, and the resulting \`package.json\` push starts \`release.yml\` to tag and publish.")
195
201
 
196
- echo "Opened $BRANCH. Approve its workflows in GitHub to continue the release."
202
+ gh pr merge --auto --squash "$PR_URL"
203
+ echo "Opened $BRANCH with auto-merge armed. Approve its workflows in GitHub to continue the release."
@@ -5689,7 +5689,7 @@
5689
5689
  "error_message": "Repository-token-dispatched CI passed for release PR #376 but did not emit the workflow_run event required to merge and publish",
5690
5690
  "file": ".github/workflows/scheduled-release.yml",
5691
5691
  "root_cause": "The design applied GitHub's workflow_dispatch recursion exception to the dispatched CI run but incorrectly assumed that the later workflow_run event was also exempt; the live probe used a user token and did not reproduce github-actions[bot] provenance",
5692
- "fix": "Expose GitHub's required maintainer approval for repository-token-created PR workflows, then let the existing trusted workflow_run gate validate, merge, and publish",
5692
+ "fix": "Expose GitHub's required maintainer approval for repository-token-created PR workflows, prevalidate the candidate in the trusted scheduler, and arm protected native auto-merge instead of relying on a downstream callback",
5693
5693
  "tags": [
5694
5694
  "release",
5695
5695
  "github-actions",
@@ -5722,6 +5722,27 @@
5722
5722
  ],
5723
5723
  "occurrences": 1,
5724
5724
  "last_seen": "2026-09-15T02:05:05.000Z"
5725
+ },
5726
+ {
5727
+ "id": "bug-346",
5728
+ "timestamp": "2026-09-15T02:18:57.000Z",
5729
+ "error_message": "Release PR #380 passed approved pull-request CI but the workflow_run auto-merge listener did not wake again",
5730
+ "file": ".github/workflows/scheduled-release.yml; .github/workflows/auto-merge.yml",
5731
+ "root_cause": "GitHub emitted the workflow_run completion when the repository-token PR entered action_required; approving that run executed its jobs without emitting a second completion event for the listener",
5732
+ "fix": "Validate the generated release diff before push, enable repository native auto-merge with all four runtime checks required, arm squash auto-merge when opening or reusing the PR, and leave the workflow_run gate scoped to Dependabot and Jules",
5733
+ "tags": [
5734
+ "release",
5735
+ "github-actions",
5736
+ "workflow-run",
5737
+ "native-auto-merge",
5738
+ "branch-protection"
5739
+ ],
5740
+ "related_bugs": [
5741
+ "bug-344",
5742
+ "bug-345"
5743
+ ],
5744
+ "occurrences": 1,
5745
+ "last_seen": "2026-09-15T02:18:57.000Z"
5725
5746
  }
5726
5747
  ]
5727
5748
  }
@@ -78,7 +78,7 @@
78
78
  - **2026-09-14** — Never treat a Git object ID as durable recovery by itself; unreachable commits and blobs can be garbage-collected after squash merges or branch deletion. Require the source revision to be an ancestor of a recorded retention ref and report recoverability explicitly.
79
79
  - **2026-09-14** — Never count a bare requirement ID as feature-completion evidence. Once the original spec is retired, a formerly ambiguous `FR-012` can become unique and silently rebind to another feature. Feature gates require a qualified stable identity; retired identities remain tombstoned.
80
80
  - **2026-09-14** — A document retirement command must reject source files, submodules, untracked/ignored leftovers, dirty evidence, and live links before mutation. `Completed` artifact maturity does not authorize removal, especially when the Spec Kit Archive extension intentionally retains completed feature files.
81
- - **2026-09-14** — Protected scheduled releases can avoid a persistent credential, but GitHub requires one maintainer approval for workflows on a PR created by `GITHUB_TOKEN`. A bot-authored `workflow_dispatch` does not emit the downstream `workflow_run`, and its successful jobs do not satisfy required pull-request checks. After approval, the default-branch `workflow_run` gate verifies the exact PR run, candidate SHA, bot identity, paths, and synchronized versions without executing candidate code. A missing tag is recovered before another bump; retain failed release attempts as evidence and close their generated PRs and branches.
81
+ - **2026-09-14** — Protected scheduled releases can avoid a persistent credential, but GitHub requires one maintainer approval for workflows on a PR created by `GITHUB_TOKEN`. Dispatched jobs do not satisfy required pull-request checks, and approving an `action_required` run does not emit a second `workflow_run` completion. Validate the generated candidate in the trusted scheduler before push, arm native auto-merge only where required checks are configured, and let the merged version push start publication. A missing tag is recovered before another bump; retain failed release attempts as evidence and close their generated PRs and branches.
82
82
 
83
83
  - **2026-07-15** — `docguard ci` was silently routed through `runInit --with ci` since v0.20: the pipeline gate scaffolded missing docs into the workspace and corrupted `--format json` stdout with init chrome (bug-228). Un-deprecated in v0.33 (direct runCI dispatch). Lesson: when a command is deprecated-with-routing, verify the ROUTE preserves the command's contract (read-only? machine stdout?) — a passing test suite didn't catch it because the consolidation test only asserted the warning text, not the side effects.
84
84
  - **2026-07-03** — Adding a machine output format to a command is TWO changes, not one: the format branch in the command AND the dispatcher's `jsonMode` gate (docguard.mjs ~line 515). `guard --format sarif` initially emitted the banner + ensureSkills chrome INTO the SARIF stream because `jsonMode` only recognized `'json'` — caught by the spawn test's no-ANSI assertion before ship. Any future format (`junit`, `csv`, …) must join that gate or stdout is corrupted for parsers. Same class as the READ_ONLY_COMMANDS gotcha (learning #17).
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.40.2] - 2026-09-15
11
+
12
+ Automated weekly release — batches everything merged since `v0.40.1`.
13
+
14
+ ### Changed
15
+
16
+ - fix: use protected native release auto-merge (#382)
17
+
18
+
19
+ ### Changed
20
+
21
+ - Prevalidate scheduler-generated release identity, synchronized versions, and
22
+ changed paths before push, then arm GitHub's protected native squash
23
+ auto-merge for both new and reused release PRs.
24
+ - Keep the privileged `workflow_run` auto-merge gate scoped to Dependabot and
25
+ Jules; release publication continues from the merged `package.json` push.
26
+
27
+ ### Fixed
28
+
29
+ - Replace the missing post-approval `workflow_run` continuation discovered by
30
+ release PR #380. GitHub executes an approved `action_required` run without
31
+ emitting a second completion event, so the old listener could not merge an
32
+ otherwise green release PR.
33
+
10
34
  ## [0.40.1] - 2026-09-15
11
35
 
12
36
  Automated weekly release — batches everything merged since `v0.40.0`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: docguard-cli
3
- Version: 0.40.1
3
+ Version: 0.40.2
4
4
  Summary: The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project documentation. No Python dependencies (requires Node.js 18+).
5
5
  Project-URL: Homepage, https://github.com/raccioly/docguard
6
6
  Project-URL: Documentation, https://github.com/raccioly/docguard#readme
@@ -222,9 +222,9 @@ Governing spec: `specs/011-tokenless-scheduled-releases/spec.md`.
222
222
 
223
223
  Replace the long-lived release PR credential with an ephemeral repository token
224
224
  and one explicit maintainer approval for the generated PR's workflows. The
225
- implementation keeps the privileged merge gate metadata-only, validates exact
226
- candidate and CI identity, dispatches publication after merge, and recovers a
227
- missing tag before another version increment.
225
+ implementation validates the generated candidate before push, arms protected
226
+ native auto-merge, starts publication from the merged version push, and recovers
227
+ a missing tag before another version increment.
228
228
 
229
229
  - [x] Freeze the security and recovery contract before implementation.
230
230
  - [x] Add pure release-candidate and exact-run policy tests.
@@ -233,6 +233,10 @@ missing tag before another version increment.
233
233
  - [x] Preserve Dependabot/Jules policy and pinned-action controls.
234
234
  - [x] Record the reviewed lifecycle outcome at durable revision `46531e4` with
235
235
  no accepted deviations.
236
+ - [x] Publish v0.40.1 through release PR #380 and verify npm, PyPI, GHCR, GitHub
237
+ release assets, and the Spec Kit catalog reminder.
238
+ - [ ] Verify the corrected repository-token native auto-merge continuation on
239
+ the next release and retain exact evidence.
236
240
 
237
241
  The retained live probe used CI run `34912654565` and privileged gate run
238
242
  `34912788971`. All Node 18, 20, 22, and 24 jobs passed. The trusted gate
@@ -240,6 +244,12 @@ identified pull request #372 as a non-release candidate and refused to merge it;
240
244
  the temporary pull request and branch were then removed. The complete reviewed
241
245
  evidence landed through pull requests #371, #373, and #374.
242
246
 
247
+ Release PR #380 passed CI run `34920481989` and supply-chain run `34920482409`,
248
+ merged at `5b2dfe4`, and published v0.40.1 in run `34920702346`. That run also
249
+ proved the final GitHub boundary: approving the held workflow does not emit a
250
+ second `workflow_run` completion. Native auto-merge is now the continuation;
251
+ its repository-token provenance proof remains the only open R8 evidence item.
252
+
243
253
  ## Contribution standard
244
254
 
245
255
  Before opening work, search existing open and closed issues and pull requests.