docguard-cli 0.40.0__tar.gz → 0.40.1__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 (639) hide show
  1. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/docguard-fix/SKILL.md +2 -2
  2. {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.1/.agent}/skills/docguard-guard/SKILL.md +2 -2
  3. {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.1/.agent}/skills/docguard-review/SKILL.md +2 -2
  4. {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.1/.agent}/skills/docguard-score/SKILL.md +2 -2
  5. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/docguard-sync/SKILL.md +2 -2
  6. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguard-specs.json +194 -3
  7. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/auto-merge.yml +100 -32
  8. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/release.yml +4 -0
  9. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/scheduled-release.yml +44 -30
  10. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/buglog.json +93 -0
  11. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/cerebrum.md +1 -0
  12. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CHANGELOG.md +61 -0
  13. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/PKG-INFO +1 -1
  14. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/ROADMAP.md +32 -1
  15. docguard_cli-0.40.1/cli/release-pr-policy.mjs +107 -0
  16. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/CI-RECIPES.md +19 -11
  17. docguard_cli-0.40.1/examples/02-python-flask/requirements.txt +1 -0
  18. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/extension.yml +1 -1
  19. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
  20. {docguard_cli-0.40.0/.agent → docguard_cli-0.40.1/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
  21. {docguard_cli-0.40.0/.agent → docguard_cli-0.40.1/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
  22. {docguard_cli-0.40.0/.agent → docguard_cli-0.40.1/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
  23. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
  24. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
  25. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
  26. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/package-lock.json +2 -2
  27. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/package.json +1 -1
  28. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/pyproject.toml +1 -1
  29. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/server.json +2 -2
  30. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/006-document-lifecycle/tasks.md +2 -2
  31. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/plan.md +3 -3
  32. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/plan.md +2 -0
  33. docguard_cli-0.40.1/specs/011-tokenless-scheduled-releases/plan.md +65 -0
  34. docguard_cli-0.40.1/specs/011-tokenless-scheduled-releases/spec.md +107 -0
  35. docguard_cli-0.40.1/specs/011-tokenless-scheduled-releases/tasks.md +36 -0
  36. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ci/github-actions.yml +1 -1
  37. docguard_cli-0.40.1/tests/fixtures/release-workflow-probe.json +32 -0
  38. docguard_cli-0.40.1/tests/scheduled-release.test.mjs +175 -0
  39. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-git.test.mjs +10 -6
  40. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/workflow-action-pins.test.mjs +8 -0
  41. docguard_cli-0.40.0/examples/02-python-flask/requirements.txt +0 -1
  42. docguard_cli-0.40.0/tests/scheduled-release.test.mjs +0 -51
  43. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/architect.md +0 -0
  44. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.fix.md +0 -0
  45. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.guard.md +0 -0
  46. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.review.md +0 -0
  47. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.score.md +0 -0
  48. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.analyze.md +0 -0
  49. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.checklist.md +0 -0
  50. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.clarify.md +0 -0
  51. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.constitution.md +0 -0
  52. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.implement.md +0 -0
  53. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.plan.md +0 -0
  54. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.specify.md +0 -0
  55. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.tasks.md +0 -0
  56. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.taskstoissues.md +0 -0
  57. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-analyze/SKILL.md +0 -0
  58. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-checklist/SKILL.md +0 -0
  59. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-clarify/SKILL.md +0 -0
  60. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-constitution/SKILL.md +0 -0
  61. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-implement/SKILL.md +0 -0
  62. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-plan/SKILL.md +0 -0
  63. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-specify/SKILL.md +0 -0
  64. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-tasks/SKILL.md +0 -0
  65. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
  66. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.claude/rules/openwolf.md +0 -0
  67. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.claude/settings.json +0 -0
  68. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguard-archive.json +0 -0
  69. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguard.json +0 -0
  70. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguardignore +0 -0
  71. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  72. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
  73. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  74. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  75. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/dependabot.yml +0 -0
  76. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/scripts/speckit-submission.py +0 -0
  77. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/scripts/sync-release-version.mjs +0 -0
  78. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/ci.yml +0 -0
  79. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/jules-triage.yml +0 -0
  80. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/supply-chain.yml +0 -0
  81. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/sync-speckit-catalog.yml +0 -0
  82. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.gitignore +0 -0
  83. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules/bolt.md +0 -0
  84. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules/palette.md +0 -0
  85. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules/sentinel.md +0 -0
  86. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules-setup.sh +0 -0
  87. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.npmignore +0 -0
  88. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.npmrc +0 -0
  89. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.pre-commit-hooks.yaml +0 -0
  90. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
  91. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
  92. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog-metadata.json +0 -0
  93. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog.json +0 -0
  94. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/init-options.json +0 -0
  95. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/memory/constitution.md +0 -0
  96. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  97. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/common.sh +0 -0
  98. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/create-new-feature.sh +0 -0
  99. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/setup-plan.sh +0 -0
  100. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/update-agent-context.sh +0 -0
  101. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/agent-file-template.md +0 -0
  102. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/checklist-template.md +0 -0
  103. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/constitution-template.md +0 -0
  104. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/plan-template.md +0 -0
  105. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/spec-template.md +0 -0
  106. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/tasks-template.md +0 -0
  107. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/OPENWOLF.md +0 -0
  108. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/anatomy.md +0 -0
  109. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/config.json +0 -0
  110. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/cron-manifest.json +0 -0
  111. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/cron-state.json +0 -0
  112. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/daemon.log +0 -0
  113. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/designqc-report.json +0 -0
  114. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/_session.json +0 -0
  115. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/_wrap_up_nudged +0 -0
  116. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/package.json +0 -0
  117. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/post-read.js +0 -0
  118. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/post-write.js +0 -0
  119. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/pre-read.js +0 -0
  120. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/pre-write.js +0 -0
  121. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/session-start.js +0 -0
  122. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/shared.js +0 -0
  123. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/stop.js +0 -0
  124. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/identity.md +0 -0
  125. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/memory.md +0 -0
  126. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/reframe-frameworks.md +0 -0
  127. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/suggestions.json +0 -0
  128. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/token-ledger.json +0 -0
  129. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/AGENTS.md +0 -0
  130. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CLAUDE.md +0 -0
  131. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CODE_OF_CONDUCT.md +0 -0
  132. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/COMPARISONS.md +0 -0
  133. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CONTRIBUTING.md +0 -0
  134. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/DRIFT-LOG.md +0 -0
  135. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/Dockerfile +0 -0
  136. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/LICENSE +0 -0
  137. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/PHILOSOPHY.md +0 -0
  138. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/PRIVACY.md +0 -0
  139. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/README.es.md +0 -0
  140. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/README.md +0 -0
  141. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/README.pt-BR.md +0 -0
  142. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/SECURITY.md +0 -0
  143. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/STANDARD.md +0 -0
  144. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/SUPPLY-CHAIN-AUDIT.md +0 -0
  145. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/SUPPORT.md +0 -0
  146. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/VALIDATION.md +0 -0
  147. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/action.yml +0 -0
  148. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/bin/docguard +0 -0
  149. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/demo.gif +0 -0
  150. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/demo.tape +0 -0
  151. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/docguard-logo.png +0 -0
  152. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
  153. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
  154. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
  155. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
  156. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
  157. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
  158. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
  159. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
  160. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
  161. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
  162. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
  163. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
  164. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
  165. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
  166. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
  167. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
  168. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
  169. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
  170. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
  171. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
  172. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
  173. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
  174. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
  175. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
  176. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
  177. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
  178. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
  179. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
  180. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
  181. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
  182. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
  183. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
  184. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
  185. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
  186. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/manifest.json +0 -0
  187. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
  188. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
  189. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
  190. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/results/README.md +0 -0
  191. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/results/observed-v1.json +0 -0
  192. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/run.mjs +0 -0
  193. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/baseline.json +0 -0
  194. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/corpus.json +0 -0
  195. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
  196. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
  197. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/package.json +0 -0
  198. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
  199. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
  200. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/go-todo-control/app.go +0 -0
  201. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
  202. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/js-security-control/package.json +0 -0
  203. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
  204. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
  205. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
  206. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
  207. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
  208. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
  209. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-security-control/app.py +0 -0
  210. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
  211. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-unsupported/app.py +0 -0
  212. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
  213. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
  214. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
  215. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
  216. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
  217. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/ts-security-control/package.json +0 -0
  218. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
  219. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/compare.mjs +0 -0
  220. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/manifest.mjs +0 -0
  221. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/metrics.mjs +0 -0
  222. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/runner.mjs +0 -0
  223. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/run.mjs +0 -0
  224. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/agent.mjs +0 -0
  225. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/agents.mjs +0 -0
  226. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/badge.mjs +0 -0
  227. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/ci.mjs +0 -0
  228. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/demo.mjs +0 -0
  229. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/diagnose.mjs +0 -0
  230. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/diff.mjs +0 -0
  231. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/explain.mjs +0 -0
  232. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/feedback.mjs +0 -0
  233. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/fix.mjs +0 -0
  234. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/generate.mjs +0 -0
  235. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/guard.mjs +0 -0
  236. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/hooks.mjs +0 -0
  237. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/impact.mjs +0 -0
  238. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/init.mjs +0 -0
  239. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/llms.mjs +0 -0
  240. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/mcp.mjs +0 -0
  241. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/memory.mjs +0 -0
  242. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/publish.mjs +0 -0
  243. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/reconcile.mjs +0 -0
  244. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/report.mjs +0 -0
  245. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/retire.mjs +0 -0
  246. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/score.mjs +0 -0
  247. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/setup.mjs +0 -0
  248. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/specs.mjs +0 -0
  249. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/sync-tests.mjs +0 -0
  250. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/sync.mjs +0 -0
  251. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/trace.mjs +0 -0
  252. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/upgrade.mjs +0 -0
  253. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/verify.mjs +0 -0
  254. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/watch.mjs +0 -0
  255. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/config.mjs +0 -0
  256. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/docguard.mjs +0 -0
  257. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/ensure-skills.mjs +0 -0
  258. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/adapters.mjs +0 -0
  259. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/evaluate.mjs +0 -0
  260. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/manifest.mjs +0 -0
  261. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/markdown.mjs +0 -0
  262. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/feedback-fixture.mjs +0 -0
  263. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/findings.mjs +0 -0
  264. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/repository-root.mjs +0 -0
  265. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/agent-readability.mjs +0 -0
  266. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/api-doc.mjs +0 -0
  267. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/cdk.mjs +0 -0
  268. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/doc-tools.mjs +0 -0
  269. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/document-lifecycle.mjs +0 -0
  270. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/frontend.mjs +0 -0
  271. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/iac.mjs +0 -0
  272. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/instruction-audit.mjs +0 -0
  273. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/integrations.mjs +0 -0
  274. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/inventory.mjs +0 -0
  275. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/js-ast.mjs +0 -0
  276. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/lifecycle-context.mjs +0 -0
  277. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/memory-plan.mjs +0 -0
  278. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/project-type.mjs +0 -0
  279. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/py-ast.mjs +0 -0
  280. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/reconciliation.mjs +0 -0
  281. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/requirement-evidence.mjs +0 -0
  282. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/retirement-manifest.mjs +0 -0
  283. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/routes.mjs +0 -0
  284. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/schemas.mjs +0 -0
  285. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/semantic-claims.mjs +0 -0
  286. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/spec-registry.mjs +0 -0
  287. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/speckit.mjs +0 -0
  288. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/task-context.mjs +0 -0
  289. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-diff.mjs +0 -0
  290. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-doc-roles.mjs +0 -0
  291. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-git.mjs +0 -0
  292. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-ignore.mjs +0 -0
  293. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-ir.mjs +0 -0
  294. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-requirements.mjs +0 -0
  295. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-source.mjs +0 -0
  296. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-sync-scope.mjs +0 -0
  297. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-trace-patterns.mjs +0 -0
  298. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared.mjs +0 -0
  299. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validator-coverage.mjs +0 -0
  300. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validator-markers.mjs +0 -0
  301. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/api-doc-smells.mjs +0 -0
  302. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/api-surface.mjs +0 -0
  303. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/architecture.mjs +0 -0
  304. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/canonical-sync.mjs +0 -0
  305. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/changelog.mjs +0 -0
  306. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/cross-reference.mjs +0 -0
  307. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/diff-suspicion.mjs +0 -0
  308. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/doc-quality.mjs +0 -0
  309. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/docs-coverage.mjs +0 -0
  310. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/docs-diff.mjs +0 -0
  311. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/docs-sync.mjs +0 -0
  312. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/document-lifecycle.mjs +0 -0
  313. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/drift.mjs +0 -0
  314. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/environment.mjs +0 -0
  315. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/evidence.mjs +0 -0
  316. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/freshness.mjs +0 -0
  317. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/generated-staleness.mjs +0 -0
  318. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/metadata-sync.mjs +0 -0
  319. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/metrics-consistency.mjs +0 -0
  320. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/reference-existence.mjs +0 -0
  321. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/schema-sync.mjs +0 -0
  322. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/security.mjs +0 -0
  323. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/spec-kit.mjs +0 -0
  324. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/spec-registry.mjs +0 -0
  325. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/structure.mjs +0 -0
  326. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/surface-sync.mjs +0 -0
  327. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/test-spec.mjs +0 -0
  328. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/todo-tracking.mjs +0 -0
  329. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/traceability.mjs +0 -0
  330. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/api-reference.mjs +0 -0
  331. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/baseline.mjs +0 -0
  332. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/doc-generators.mjs +0 -0
  333. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/file-transaction.mjs +0 -0
  334. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/fix-memory.mjs +0 -0
  335. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/generate-io.mjs +0 -0
  336. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/history.mjs +0 -0
  337. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/junit.mjs +0 -0
  338. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/mechanical.mjs +0 -0
  339. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/sarif.mjs +0 -0
  340. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/sections.mjs +0 -0
  341. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/spec-outcomes.mjs +0 -0
  342. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.fix.md +0 -0
  343. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.guard.md +0 -0
  344. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.review.md +0 -0
  345. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.score.md +0 -0
  346. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/fastify.json +0 -0
  347. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/generic.json +0 -0
  348. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/nextjs.json +0 -0
  349. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/python.json +0 -0
  350. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docguard_cli/__init__.py +0 -0
  351. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docguard_cli/wrapper.py +0 -0
  352. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/ai-integration.md +0 -0
  353. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/commands.md +0 -0
  354. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/configuration.md +0 -0
  355. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/doc-sections.md +0 -0
  356. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/faq.md +0 -0
  357. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/installation.md +0 -0
  358. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/profiles.md +0 -0
  359. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/quickstart.md +0 -0
  360. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/ARCHITECTURE.md +0 -0
  361. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/DATA-MODEL.md +0 -0
  362. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/ENVIRONMENT.md +0 -0
  363. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/REQUIREMENTS.md +0 -0
  364. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/SECURITY.md +0 -0
  365. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/TEST-SPEC.md +0 -0
  366. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/01-express-api/README.md +0 -0
  367. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/01-express-api/package.json +0 -0
  368. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/01-express-api/server.js +0 -0
  369. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/02-python-flask/README.md +0 -0
  370. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/02-python-flask/app.py +0 -0
  371. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
  372. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
  373. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/README.md +0 -0
  374. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
  375. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
  376. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/package.json +0 -0
  377. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/src/index.js +0 -0
  378. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/tasks.json +0 -0
  379. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
  380. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/README.md +0 -0
  381. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/LICENSE +0 -0
  382. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/README.md +0 -0
  383. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/brief.md +0 -0
  384. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/complete.md +0 -0
  385. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
  386. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/fix.md +0 -0
  387. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/generate.md +0 -0
  388. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/guard.md +0 -0
  389. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/init.md +0 -0
  390. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
  391. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/score.md +0 -0
  392. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/sync.md +0 -0
  393. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/trace.md +0 -0
  394. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
  395. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
  396. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
  397. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
  398. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
  399. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/glama.json +0 -0
  400. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/llms-full.txt +0 -0
  401. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/llms.txt +0 -0
  402. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/mcpb/README.md +0 -0
  403. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/mcpb/manifest.template.json +0 -0
  404. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/packaging/homebrew/docguard.rb +0 -0
  405. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/packaging/submissions.md +0 -0
  406. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
  407. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-agent-context-result.schema.json +0 -0
  408. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-benchmark.schema.json +0 -0
  409. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-config.schema.json +0 -0
  410. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-evidence.schema.json +0 -0
  411. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-feedback-fixture.schema.json +0 -0
  412. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-specs.schema.json +0 -0
  413. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-task-context.schema.json +0 -0
  414. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/smithery.yaml +0 -0
  415. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/006-document-lifecycle/plan.md +0 -0
  416. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/006-document-lifecycle/spec.md +0 -0
  417. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/007-precision-evidence-loop/plan.md +0 -0
  418. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/007-precision-evidence-loop/spec.md +0 -0
  419. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/007-precision-evidence-loop/tasks.md +0 -0
  420. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/plan.md +0 -0
  421. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/research.md +0 -0
  422. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/spec.md +0 -0
  423. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/tasks.md +0 -0
  424. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/research.md +0 -0
  425. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/spec.md +0 -0
  426. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/tasks.md +0 -0
  427. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/research.md +0 -0
  428. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/spec.md +0 -0
  429. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/tasks.md +0 -0
  430. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ADR.md.template +0 -0
  431. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/AGENTS.md.template +0 -0
  432. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ARCHITECTURE.md.template +0 -0
  433. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/CHANGELOG.md.template +0 -0
  434. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/CURRENT-STATE.md.template +0 -0
  435. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/DATA-MODEL.md.template +0 -0
  436. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/DEPLOYMENT.md.template +0 -0
  437. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/DRIFT-LOG.md.template +0 -0
  438. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ENVIRONMENT.md.template +0 -0
  439. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/KNOWN-GOTCHAS.md.template +0 -0
  440. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/REQUIREMENTS.md.template +0 -0
  441. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ROADMAP.md.template +0 -0
  442. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/RUNBOOKS.md.template +0 -0
  443. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/SECURITY.md.template +0 -0
  444. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/TEST-SPEC.md.template +0 -0
  445. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/TROUBLESHOOTING.md.template +0 -0
  446. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/VENDOR-BUGS.md.template +0 -0
  447. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ci/gitlab-component.yml +0 -0
  448. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.fix.md +0 -0
  449. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.guard.md +0 -0
  450. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.init.md +0 -0
  451. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.review.md +0 -0
  452. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.update.md +0 -0
  453. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/.docguard.json +0 -0
  454. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/.env.example +0 -0
  455. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/AGENTS.md +0 -0
  456. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/CHANGELOG.md +0 -0
  457. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/DRIFT-LOG.md +0 -0
  458. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/README.md +0 -0
  459. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
  460. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
  461. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
  462. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
  463. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
  464. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
  465. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/package.json +0 -0
  466. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/api.mjs +0 -0
  467. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/notifier.mjs +0 -0
  468. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/scheduler.mjs +0 -0
  469. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/worker.mjs +0 -0
  470. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/evidence-manifest.json +0 -0
  471. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/feedback-fixture.json +0 -0
  472. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent-context-benchmark.test.mjs +0 -0
  473. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent-evidence.test.mjs +0 -0
  474. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent-readability.test.mjs +0 -0
  475. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent.test.mjs +0 -0
  476. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agents-check-readonly.test.mjs +0 -0
  477. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agents-command.test.mjs +0 -0
  478. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agents-sync.test.mjs +0 -0
  479. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/anchor-autofix.test.mjs +0 -0
  480. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-authority-precision.test.mjs +0 -0
  481. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-doc-smells.test.mjs +0 -0
  482. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-doc.test.mjs +0 -0
  483. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-surface.test.mjs +0 -0
  484. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-write.test.mjs +0 -0
  485. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/architecture.test.mjs +0 -0
  486. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/archive.test.mjs +0 -0
  487. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/b7-node-env-symmetry.test.mjs +0 -0
  488. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/backup-failure.test.mjs +0 -0
  489. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/badge.test.mjs +0 -0
  490. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/baseline.test.mjs +0 -0
  491. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/benchmark-manifest.test.mjs +0 -0
  492. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/benchmark-metrics.test.mjs +0 -0
  493. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/benchmark-runner.test.mjs +0 -0
  494. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
  495. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/canonical-docs-nested.test.mjs +0 -0
  496. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/canonical-sync.test.mjs +0 -0
  497. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/catalog-submission.test.mjs +0 -0
  498. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/cdk-detection.test.mjs +0 -0
  499. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/changed-only-scoping.test.mjs +0 -0
  500. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/changed-only.test.mjs +0 -0
  501. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/changelog.test.mjs +0 -0
  502. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/check-coverage.test.mjs +0 -0
  503. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/ci-reproducibility.test.mjs +0 -0
  504. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/ci-scaffolder.test.mjs +0 -0
  505. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/commands.test.mjs +0 -0
  506. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/cross-reference.test.mjs +0 -0
  507. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/demo-command.test.mjs +0 -0
  508. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/diagnose-review-guidance.test.mjs +0 -0
  509. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/diff-suspicion.test.mjs +0 -0
  510. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-quality.test.mjs +0 -0
  511. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-role-boundaries.test.mjs +0 -0
  512. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-role-mapping.test.mjs +0 -0
  513. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-section-synonyms.test.mjs +0 -0
  514. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docguardignore.test.mjs +0 -0
  515. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
  516. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-coverage-scope.test.mjs +0 -0
  517. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-coverage.test.mjs +0 -0
  518. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-diff.test.mjs +0 -0
  519. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-sync.test.mjs +0 -0
  520. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/document-lifecycle.test.mjs +0 -0
  521. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/drift.test.mjs +0 -0
  522. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/ensure-skills-idempotent.test.mjs +0 -0
  523. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/env-schema-detection.test.mjs +0 -0
  524. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/environment.test.mjs +0 -0
  525. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/evidence-adapters.test.mjs +0 -0
  526. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/evidence-integration.test.mjs +0 -0
  527. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/evidence-manifest.test.mjs +0 -0
  528. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/explain-coverage.test.mjs +0 -0
  529. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/feedback-contributions.test.mjs +0 -0
  530. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/feedback-fixture.test.mjs +0 -0
  531. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-context-precision.test.mjs +0 -0
  532. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-diff-precision.test.mjs +0 -0
  533. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-report-2-cli.test.mjs +0 -0
  534. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-report-3-deferred.test.mjs +0 -0
  535. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-report-3.test.mjs +0 -0
  536. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-review-clarity.test.mjs +0 -0
  537. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/file-transaction.test.mjs +0 -0
  538. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/fix-memory.test.mjs +0 -0
  539. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/fix-suppression.test.mjs +0 -0
  540. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/fixture-projects.test.mjs +0 -0
  541. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/freshness.test.mjs +0 -0
  542. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/frontend-deep.test.mjs +0 -0
  543. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/frontend.test.mjs +0 -0
  544. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/generate-io.test.mjs +0 -0
  545. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/generated-staleness.test.mjs +0 -0
  546. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/guard-classify.test.mjs +0 -0
  547. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/guard-no-throw.test.mjs +0 -0
  548. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/history.test.mjs +0 -0
  549. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/hooks-contract.test.mjs +0 -0
  550. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/hooks.test.mjs +0 -0
  551. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/i18n.test.mjs +0 -0
  552. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/impact.test.mjs +0 -0
  553. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/init-smart-detection.test.mjs +0 -0
  554. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/instruction-audit.test.mjs +0 -0
  555. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/integrations.test.mjs +0 -0
  556. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/inventory.test.mjs +0 -0
  557. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/js-ast.test.mjs +0 -0
  558. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/junit.test.mjs +0 -0
  559. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/llms-full-pack.test.mjs +0 -0
  560. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mapped-writers.test.mjs +0 -0
  561. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mcp-http.test.mjs +0 -0
  562. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mcp.test.mjs +0 -0
  563. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mechanical.test.mjs +0 -0
  564. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/memory-plan.test.mjs +0 -0
  565. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/metadata-sync.test.mjs +0 -0
  566. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/metrics-consistency.test.mjs +0 -0
  567. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/metrics-dedup.test.mjs +0 -0
  568. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/monorepo-scanning.test.mjs +0 -0
  569. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/multi-spec.test.mjs +0 -0
  570. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/npm-pack-smoke.test.mjs +0 -0
  571. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/nudge-hook.test.mjs +0 -0
  572. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/openapi-parse-honesty.test.mjs +0 -0
  573. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/patch-0.11.2.test.mjs +0 -0
  574. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/plan-disk-cache.test.mjs +0 -0
  575. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/profile-flag.test.mjs +0 -0
  576. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/project-type.test.mjs +0 -0
  577. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/py-ast.test.mjs +0 -0
  578. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/python-import-graph.test.mjs +0 -0
  579. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/reconcile.test.mjs +0 -0
  580. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/reference-existence.test.mjs +0 -0
  581. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/regenerate-section.test.mjs +0 -0
  582. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/release-version-sync.test.mjs +0 -0
  583. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/report.test.mjs +0 -0
  584. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/repository-root.test.mjs +0 -0
  585. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/requirement-scope.test.mjs +0 -0
  586. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/route-field-precision.test.mjs +0 -0
  587. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-express-mounts.test.mjs +0 -0
  588. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-fastify.test.mjs +0 -0
  589. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-multilang.test.mjs +0 -0
  590. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-nextjs-app-router.test.mjs +0 -0
  591. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sarif.test.mjs +0 -0
  592. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schema-sync-scope.test.mjs +0 -0
  593. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schema-sync.test.mjs +0 -0
  594. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schemas-multilang.test.mjs +0 -0
  595. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schemas.test.mjs +0 -0
  596. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/scoping-extended.test.mjs +0 -0
  597. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/score-assurance.test.mjs +0 -0
  598. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/score-suggestions.test.mjs +0 -0
  599. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/section-na-markers.test.mjs +0 -0
  600. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sections.test.mjs +0 -0
  601. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/security-init-injection.test.mjs +0 -0
  602. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/security.test.mjs +0 -0
  603. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/severity.test.mjs +0 -0
  604. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-diff.test.mjs +0 -0
  605. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-ignore-functions.test.mjs +0 -0
  606. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-ir.test.mjs +0 -0
  607. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-source.test.mjs +0 -0
  608. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/spec-completion.test.mjs +0 -0
  609. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/spec-kit-helper-json.test.mjs +0 -0
  610. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/spec-registry.test.mjs +0 -0
  611. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/speckit-bugfix.test.mjs +0 -0
  612. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/speckit-phantom.test.mjs +0 -0
  613. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/starter-scaffold.test.mjs +0 -0
  614. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/stress-test.test.mjs +0 -0
  615. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/structure.test.mjs +0 -0
  616. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/surface-sync.test.mjs +0 -0
  617. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sweep-nudge.test.mjs +0 -0
  618. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sync-since.test.mjs +0 -0
  619. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sync.test.mjs +0 -0
  620. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/task-context.test.mjs +0 -0
  621. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/test-spec.test.mjs +0 -0
  622. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/todo-tracking.test.mjs +0 -0
  623. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/trace-features.test.mjs +0 -0
  624. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/trace-multilang.test.mjs +0 -0
  625. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/trace-reverse.test.mjs +0 -0
  626. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/traceability-fixtures.test.mjs +0 -0
  627. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/traceability-ir.test.mjs +0 -0
  628. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/traceability.test.mjs +0 -0
  629. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/upgrade-pr-e2e.test.mjs +0 -0
  630. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/upgrade-pr.test.mjs +0 -0
  631. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/upgrade.test.mjs +0 -0
  632. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/v020-consolidation.test.mjs +0 -0
  633. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/validator-markers.test.mjs +0 -0
  634. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/validator-naming.test.mjs +0 -0
  635. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/verify-change-context.test.mjs +0 -0
  636. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/version-pin.test.mjs +0 -0
  637. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/watch-reliability.test.mjs +0 -0
  638. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/whats-new.test.mjs +0 -0
  639. {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/worker-python-capability.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.0
9
+ version: 0.40.1
10
10
  source: extensions/spec-kit-docguard/skills/docguard-fix
11
11
  ---
12
- <!-- docguard:version: 0.40.0 -->
12
+ <!-- docguard:version: 0.40.1 -->
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.0
10
+ version: 0.40.1
11
11
  source: extensions/spec-kit-docguard/skills/docguard-guard
12
12
  ---
13
- <!-- docguard:version: 0.40.0 -->
13
+ <!-- docguard:version: 0.40.1 -->
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.0
9
+ version: 0.40.1
10
10
  source: extensions/spec-kit-docguard/skills/docguard-review
11
11
  ---
12
- <!-- docguard:version: 0.40.0 -->
12
+ <!-- docguard:version: 0.40.1 -->
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.0
9
+ version: 0.40.1
10
10
  source: extensions/spec-kit-docguard/skills/docguard-score
11
11
  ---
12
- <!-- docguard:version: 0.40.0 -->
12
+ <!-- docguard:version: 0.40.1 -->
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.0
7
+ version: 0.40.1
8
8
  source: extensions/spec-kit-docguard/skills/docguard-sync
9
9
  ---
10
- <!-- docguard:version: 0.40.0 -->
10
+ <!-- docguard:version: 0.40.1 -->
11
11
 
12
12
  # DocGuard Sync Skill
13
13
 
@@ -180,7 +180,7 @@
180
180
  },
181
181
  {
182
182
  "path": "specs/006-document-lifecycle/tasks.md",
183
- "digest": "sha256:66a553bdcd7fb5e2d3a21755d1f8ec16a5800450453b4dc188065541cdb3e2ca"
183
+ "digest": "sha256:a53716e90ad72020860a378a05dddb399bacd7f3126ff53bf98a95d042fcbeed"
184
184
  }
185
185
  ],
186
186
  "taskCompletion": {
@@ -953,7 +953,7 @@
953
953
  },
954
954
  {
955
955
  "path": "specs/009-language-repository-coverage/plan.md",
956
- "digest": "sha256:91e9b6a5bf6d6cd63080bfddb3f323a40d9b59d549d77897b6e2484777d3ac82"
956
+ "digest": "sha256:a843cdac74fd5405e2bc5029d5a710e6b841cc615ab2cb97706d2e67cbe3885e"
957
957
  },
958
958
  {
959
959
  "path": "specs/009-language-repository-coverage/tasks.md",
@@ -1803,7 +1803,7 @@
1803
1803
  },
1804
1804
  {
1805
1805
  "path": "specs/010-task-specific-agent-context/plan.md",
1806
- "digest": "sha256:cf2e094cde54afc06b316bc2ef252309f66781aa86684d0d7dcf74bd631f48cf"
1806
+ "digest": "sha256:9eae19f760f1ff5a6fffd2d2817b4afb202bedaed03cff291896d8a1faafccc5"
1807
1807
  },
1808
1808
  {
1809
1809
  "path": "specs/010-task-specific-agent-context/tasks.md",
@@ -2004,6 +2004,197 @@
2004
2004
  }
2005
2005
  ]
2006
2006
  }
2007
+ },
2008
+ {
2009
+ "specId": "docguard.tokenless-scheduled-releases",
2010
+ "path": "specs/011-tokenless-scheduled-releases/spec.md",
2011
+ "reviewed": {
2012
+ "lifecycle": {
2013
+ "approval": "approved",
2014
+ "delivery": "verified",
2015
+ "context": "current",
2016
+ "retirementReason": null,
2017
+ "storage": "working_tree",
2018
+ "persistenceModel": "living"
2019
+ },
2020
+ "relations": {
2021
+ "extends": [],
2022
+ "duplicates": [],
2023
+ "conflictsWith": [],
2024
+ "supersedes": [],
2025
+ "supersededBy": []
2026
+ },
2027
+ "scope": {
2028
+ "canonicalDocs": [
2029
+ "docs-canonical/CI-RECIPES.md"
2030
+ ]
2031
+ },
2032
+ "reconciliation": {
2033
+ "lastReviewedRevision": "46531e4918f9479b81ffb52e6e27c24b533575da",
2034
+ "outcomes": [
2035
+ {
2036
+ "revision": "46531e4918f9479b81ffb52e6e27c24b533575da",
2037
+ "reason": "Reviewed tokenless scheduled-release policy, exact-run gates, missing-tag recovery, Node 18/20/22/24 CI, supply-chain scan, live dispatch-chain refusal probe, and durable evidence approval with no accepted deviations.",
2038
+ "evidence": [
2039
+ "cli/release-pr-policy.mjs",
2040
+ "docs-canonical/CI-RECIPES.md",
2041
+ "tests/scheduled-release.test.mjs"
2042
+ ],
2043
+ "deviations": [],
2044
+ "successor": null
2045
+ }
2046
+ ]
2047
+ }
2048
+ },
2049
+ "intent": {
2050
+ "requirements": [
2051
+ "docguard.tokenless-scheduled-releases#FR-001",
2052
+ "docguard.tokenless-scheduled-releases#FR-002",
2053
+ "docguard.tokenless-scheduled-releases#FR-003",
2054
+ "docguard.tokenless-scheduled-releases#FR-004",
2055
+ "docguard.tokenless-scheduled-releases#FR-005",
2056
+ "docguard.tokenless-scheduled-releases#FR-006",
2057
+ "docguard.tokenless-scheduled-releases#FR-007",
2058
+ "docguard.tokenless-scheduled-releases#FR-008",
2059
+ "docguard.tokenless-scheduled-releases#FR-009",
2060
+ "docguard.tokenless-scheduled-releases#FR-010",
2061
+ "docguard.tokenless-scheduled-releases#FR-011",
2062
+ "docguard.tokenless-scheduled-releases#FR-012",
2063
+ "docguard.tokenless-scheduled-releases#SC-001",
2064
+ "docguard.tokenless-scheduled-releases#SC-002",
2065
+ "docguard.tokenless-scheduled-releases#SC-003",
2066
+ "docguard.tokenless-scheduled-releases#SC-004"
2067
+ ]
2068
+ },
2069
+ "observed": {
2070
+ "artifacts": [
2071
+ {
2072
+ "path": "specs/011-tokenless-scheduled-releases/spec.md",
2073
+ "digest": "sha256:c62dbe1182cf3a6e94ec8a1e1d4b6c2fce7adba57233d11a679d699634228cd5"
2074
+ },
2075
+ {
2076
+ "path": "specs/011-tokenless-scheduled-releases/plan.md",
2077
+ "digest": "sha256:1e52fed9a92d0bbf3e6d639bf60e434b8b2b906c43d080143cbcee653a9e4772"
2078
+ },
2079
+ {
2080
+ "path": "specs/011-tokenless-scheduled-releases/tasks.md",
2081
+ "digest": "sha256:38734825899c685dfbb7346d8b15c626900399b3756ea33598aeff9adc80012a"
2082
+ }
2083
+ ],
2084
+ "taskCompletion": {
2085
+ "checked": 12,
2086
+ "total": 13
2087
+ },
2088
+ "implementationEvidence": [
2089
+ {
2090
+ "requirementId": "FR-005",
2091
+ "file": "cli/release-pr-policy.mjs",
2092
+ "line": 4
2093
+ },
2094
+ {
2095
+ "requirementId": "FR-006",
2096
+ "file": "cli/release-pr-policy.mjs",
2097
+ "line": 5
2098
+ },
2099
+ {
2100
+ "requirementId": "FR-007",
2101
+ "file": "cli/release-pr-policy.mjs",
2102
+ "line": 6
2103
+ },
2104
+ {
2105
+ "requirementId": "FR-008",
2106
+ "file": "cli/release-pr-policy.mjs",
2107
+ "line": 7
2108
+ },
2109
+ {
2110
+ "requirementId": "FR-011",
2111
+ "file": "cli/release-pr-policy.mjs",
2112
+ "line": 8
2113
+ }
2114
+ ],
2115
+ "testEvidence": [
2116
+ {
2117
+ "requirementId": "FR-001",
2118
+ "file": "tests/scheduled-release.test.mjs",
2119
+ "line": 11
2120
+ },
2121
+ {
2122
+ "requirementId": "FR-002",
2123
+ "file": "tests/scheduled-release.test.mjs",
2124
+ "line": 12
2125
+ },
2126
+ {
2127
+ "requirementId": "FR-003",
2128
+ "file": "tests/scheduled-release.test.mjs",
2129
+ "line": 13
2130
+ },
2131
+ {
2132
+ "requirementId": "FR-004",
2133
+ "file": "tests/scheduled-release.test.mjs",
2134
+ "line": 14
2135
+ },
2136
+ {
2137
+ "requirementId": "FR-005",
2138
+ "file": "tests/scheduled-release.test.mjs",
2139
+ "line": 15
2140
+ },
2141
+ {
2142
+ "requirementId": "FR-006",
2143
+ "file": "tests/scheduled-release.test.mjs",
2144
+ "line": 16
2145
+ },
2146
+ {
2147
+ "requirementId": "FR-007",
2148
+ "file": "tests/scheduled-release.test.mjs",
2149
+ "line": 17
2150
+ },
2151
+ {
2152
+ "requirementId": "FR-008",
2153
+ "file": "tests/scheduled-release.test.mjs",
2154
+ "line": 18
2155
+ },
2156
+ {
2157
+ "requirementId": "FR-009",
2158
+ "file": "tests/scheduled-release.test.mjs",
2159
+ "line": 19
2160
+ },
2161
+ {
2162
+ "requirementId": "FR-010",
2163
+ "file": "tests/scheduled-release.test.mjs",
2164
+ "line": 20
2165
+ },
2166
+ {
2167
+ "requirementId": "FR-011",
2168
+ "file": "tests/scheduled-release.test.mjs",
2169
+ "line": 21
2170
+ },
2171
+ {
2172
+ "requirementId": "FR-012",
2173
+ "file": "tests/scheduled-release.test.mjs",
2174
+ "line": 22
2175
+ },
2176
+ {
2177
+ "requirementId": "SC-001",
2178
+ "file": "tests/scheduled-release.test.mjs",
2179
+ "line": 23
2180
+ },
2181
+ {
2182
+ "requirementId": "SC-002",
2183
+ "file": "tests/scheduled-release.test.mjs",
2184
+ "line": 24
2185
+ },
2186
+ {
2187
+ "requirementId": "SC-003",
2188
+ "file": "tests/scheduled-release.test.mjs",
2189
+ "line": 25
2190
+ },
2191
+ {
2192
+ "requirementId": "SC-004",
2193
+ "file": "tests/scheduled-release.test.mjs",
2194
+ "line": 26
2195
+ }
2196
+ ]
2197
+ }
2007
2198
  }
2008
2199
  ],
2009
2200
  "tombstones": [
@@ -10,15 +10,18 @@ name: Auto-merge (green bot PRs)
10
10
  # the head SHA, re-verifies every matrix leg via the API, and merges itself.
11
11
  # No repo settings required, and it is fail-closed: anything unexpected → skip.
12
12
  #
13
- # SECURITY: workflow_run runs in the BASE repo context with write scope, so it
14
- # NEVER checks out or executes PR code. It reads PR metadata + check results
15
- # via the API only. (Same rule as jules-triage.yml / AGENTS.md CI rule.)
13
+ # SECURITY: workflow_run runs in the BASE repo context with write scope. It
14
+ # 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.
16
17
  #
17
18
  # WHAT AUTO-MERGES:
18
19
  # - dependabot: patch + minor only. Majors NEVER (v0.34.1 shipped a Node-18
19
20
  # break from an auto-accepted @babel/parser major; bug-255).
20
21
  # - jules: test-only and docs-only changes. Anything touching cli/ logic,
21
22
  # .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.
22
25
 
23
26
  on:
24
27
  workflow_run:
@@ -26,20 +29,28 @@ on:
26
29
  types: [completed]
27
30
 
28
31
  permissions:
32
+ actions: write
29
33
  contents: write
30
34
  pull-requests: write
31
35
  checks: read
32
- actions: read
33
36
 
34
37
  jobs:
35
38
  auto-merge:
36
- if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
39
+ if: github.event.workflow_run.conclusion == 'success' && (github.event.workflow_run.event == 'pull_request' || github.event.workflow_run.event == 'workflow_dispatch')
37
40
  runs-on: ubuntu-latest
38
41
  steps:
42
+ - name: Check out trusted release policy
43
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
44
+ with:
45
+ ref: ${{ github.event.repository.default_branch }}
46
+ persist-credentials: false
47
+
39
48
  - name: Evaluate and merge if safe
40
49
  uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
41
50
  with:
42
51
  script: |
52
+ const policyPath = process.env.GITHUB_WORKSPACE + '/cli/release-pr-policy.mjs';
53
+ const { evaluateReleaseCandidate, evaluateReleaseJobs } = await import(policyPath);
43
54
  const owner = context.repo.owner;
44
55
  const repo = context.repo.repo;
45
56
  const run = context.payload.workflow_run;
@@ -56,10 +67,14 @@ jobs:
56
67
 
57
68
  const BOT_DEPENDABOT = 'dependabot[bot]';
58
69
  const BOT_JULES = 'google-labs-jules[bot]';
59
- const releasePr = pr.head.repo.full_name === `${owner}/${repo}` &&
70
+ const releaseShape = pr.head.repo.full_name === `${owner}/${repo}` &&
60
71
  /^release\/v\d+\.\d+\.\d+$/.test(pr.head.ref || '') &&
61
72
  /^release: v\d+\.\d+\.\d+ — automated weekly batch$/.test(pr.title || '');
62
- if (![BOT_DEPENDABOT, BOT_JULES].includes(author) && !releasePr) {
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) {
63
78
  core.info(`#${num} authored by ${author} (not a handled bot) — leaving alone.`);
64
79
  return;
65
80
  }
@@ -75,21 +90,17 @@ jobs:
75
90
  core.notice(`#${num} held: ${why}`);
76
91
  };
77
92
 
78
- // ── Re-verify EVERY matrix leg independently ─────────────────
79
- // workflow_run.conclusion=success covers this run, but be explicit:
80
- // all four Node legs must be present AND successful. Fail closed.
81
- const { data: checks } = await github.rest.checks.listForRef({
82
- owner, repo, ref: headSha, per_page: 100,
83
- });
84
- const REQUIRED = ['test (18)', 'test (20)', 'test (22)', 'test (24)'];
85
- const bad = [];
86
- for (const name of REQUIRED) {
87
- const c = checks.check_runs.find((r) => r.name === name);
88
- if (!c) bad.push(`${name}: missing`);
89
- else if (c.conclusion !== 'success') bad.push(`${name}: ${c.conclusion}`);
93
+ // ── Re-verify this exact workflow run independently ───────────
94
+ if (headSha !== pr.head.sha || run.head_branch !== pr.head.ref) {
95
+ core.info(`#${num} not merging — triggering run does not match the current PR head.`);
96
+ return;
90
97
  }
91
- if (bad.length) {
92
- core.info(`#${num} not merging — checks not all green: ${bad.join(', ')}`);
98
+ const { data: runJobs } = await github.rest.actions.listJobsForWorkflowRun({
99
+ owner, repo, run_id: run.id, filter: 'latest', per_page: 100,
100
+ });
101
+ const jobPolicy = evaluateReleaseJobs(runJobs.jobs);
102
+ if (!jobPolicy.ok) {
103
+ core.info(`#${num} not merging — exact-run checks failed: ${jobPolicy.errors.join(', ')}`);
93
104
  return;
94
105
  }
95
106
 
@@ -99,17 +110,54 @@ jobs:
99
110
  });
100
111
  const paths = files.map((f) => f.filename);
101
112
 
102
- if (releasePr) {
103
- // Release PRs cut by scheduled-release.yml. Tightly constrained:
104
- // must come from a release/ branch and touch ONLY the exact
105
- // version, changelog, extension and generated skill surfaces.
106
- const ALLOWED = /^(package(-lock)?\.json|pyproject\.toml|server\.json|CHANGELOG\.md|templates\/ci\/github-actions\.yml|extensions\/spec-kit-docguard\/(extension\.yml|templates\/github-workflows\/(docguard-guard|docguard-autofix)\.yml|skills\/docguard-(fix|guard|review|score|sync)\/SKILL\.md)|\.agent\/skills\/docguard-(fix|guard|review|score|sync)\/SKILL\.md)$/;
107
- const unexpected = paths.filter((p) => !ALLOWED.test(p));
108
- if (unexpected.length) {
109
- await hold('needs-review', `a release PR touching unexpected files:\n${unexpected.map((p) => `- \`${p}\``).join('\n')}`);
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}`);
110
159
  return;
111
160
  }
112
- core.info(`#${num} authenticated release PR (${pr.head.ref}, author ${author}) — eligible.`);
113
161
  } else if (author === BOT_DEPENDABOT) {
114
162
  // Version delta from the title: "bump X from 1.2.3 to 1.2.4"
115
163
  const m = /from (\d+)\.(\d+)\.(\d+)\S* to (\d+)\.(\d+)\.(\d+)/.exec(pr.title || '');
@@ -135,12 +183,32 @@ jobs:
135
183
 
136
184
  // ── Merge ────────────────────────────────────────────────────
137
185
  try {
138
- await github.rest.pulls.merge({
186
+ const { data: merge } = await github.rest.pulls.merge({
139
187
  owner, repo, pull_number: num, merge_method: 'squash',
140
188
  });
189
+ 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
+ }
141
209
  await github.rest.issues.createComment({
142
210
  owner, repo, issue_number: num,
143
- body: `🤖 **Auto-merged** — all four Node legs (18/20/22/24) green, within the test-runtime budget, and inside the auto-merge policy in \`.github/workflows/auto-merge.yml\`.`,
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.' : ''}`,
144
212
  });
145
213
  core.notice(`Merged #${num}.`);
146
214
  } catch (e) {
@@ -11,6 +11,10 @@ on:
11
11
  permissions:
12
12
  contents: write # Needed to create tags and releases
13
13
 
14
+ concurrency:
15
+ group: docguard-release
16
+ cancel-in-progress: false
17
+
14
18
  jobs:
15
19
  # ── Step 1: Detect if version changed ──────────────────────────────────
16
20
  detect-version:
@@ -8,10 +8,11 @@ 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: this workflow only bumps package.json
12
- # and pushes. release.yml is triggered by pushes that touch package.json, so
13
- # it picks up from there and does tag → GitHub Release → npm → PyPI → catalog
14
- # reminder. Keeping the publish logic in one place (release.yml) on purpose.
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.
15
16
  #
16
17
  # NO-OP WHEN NOTHING CHANGED: if there are no commits since the last release
17
18
  # tag, this exits without bumping — no empty releases.
@@ -29,9 +30,14 @@ on:
29
30
  options: [patch, minor]
30
31
 
31
32
  permissions:
33
+ actions: write
32
34
  contents: write
33
35
  pull-requests: write
34
36
 
37
+ concurrency:
38
+ group: scheduled-release
39
+ cancel-in-progress: false
40
+
35
41
  jobs:
36
42
  cut-release:
37
43
  runs-on: ubuntu-latest
@@ -46,11 +52,20 @@ jobs:
46
52
 
47
53
  - name: Check for unreleased changes
48
54
  id: check
55
+ env:
56
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49
57
  run: |
50
58
  CURRENT=$(node -p "require('./package.json').version")
51
59
  LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
52
60
  echo "current=$CURRENT" >> "$GITHUB_OUTPUT"
53
61
 
62
+ if ! git ls-remote --tags origin "refs/tags/v$CURRENT" | grep -q "refs/tags/v$CURRENT$"; then
63
+ echo "v$CURRENT is not published — dispatching idempotent release recovery."
64
+ gh workflow run release.yml --ref main
65
+ echo "changed=false" >> "$GITHUB_OUTPUT"
66
+ exit 0
67
+ fi
68
+
54
69
  if [ -z "$LAST_TAG" ]; then
55
70
  echo "No tags yet — nothing to compare against, skipping."
56
71
  echo "changed=false" >> "$GITHUB_OUTPUT"
@@ -129,36 +144,35 @@ jobs:
129
144
  npm test
130
145
  node cli/docguard.mjs guard || [ $? -eq 2 ]
131
146
 
132
- # Two stacked constraints make a direct `git push origin HEAD:main`
133
- # impossible here, so this opens a PR instead:
147
+ # Main requires a PR and four pull-request runtime checks. GitHub holds
148
+ # workflows for PRs opened by GITHUB_TOKEN until a maintainer approves them;
149
+ # workflow_dispatch jobs do not satisfy those required PR contexts. The
150
+ # 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.
134
152
  #
135
153
  # 1. main requires a pull request. github-actions[bot] is not an admin
136
154
  # and has no bypass, so a direct push is rejected outright.
137
- # 2. A PR opened with GITHUB_TOKEN starts pull_request workflows in an
138
- # approval-required state. A separately dispatched CI run is not a
139
- # pull_request run, so it cannot activate the fail-closed auto-merge
140
- # workflow even when its checks pass.
141
- #
142
- # RELEASE_PR_TOKEN must be a repository-scoped GitHub App token or a
143
- # fine-grained user token with Contents and Pull requests write access.
144
- # Using that token to create the PR produces an ordinary pull_request run;
145
- # auto-merge.yml then merges only after all four required legs pass.
146
- - name: Require release PR credential
147
- if: steps.check.outputs.changed == 'true'
148
- env:
149
- RELEASE_PR_TOKEN: ${{ secrets.RELEASE_PR_TOKEN }}
150
- run: |
151
- if [ -z "$RELEASE_PR_TOKEN" ]; then
152
- echo "::error::RELEASE_PR_TOKEN is required. Configure a repository-scoped GitHub App or fine-grained token with Contents and Pull requests write access."
153
- exit 1
154
- fi
155
-
156
155
  - name: Open release PR
157
156
  if: steps.check.outputs.changed == 'true'
158
157
  env:
159
- GH_TOKEN: ${{ secrets.RELEASE_PR_TOKEN }}
158
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
160
159
  run: |
161
160
  BRANCH="release/v${NEW_VERSION}"
161
+ EXISTING=$(gh pr list --base main --head "$BRANCH" --state open --json url --jq '.[0].url // ""')
162
+ if [ -n "$EXISTING" ]; then
163
+ echo "Reusing existing release PR: $EXISTING"
164
+ git fetch origin "$BRANCH"
165
+ if ! git merge-base --is-ancestor HEAD "origin/$BRANCH"; then
166
+ echo "::error::Existing $BRANCH does not contain current main; refusing to validate a stale release."
167
+ exit 1
168
+ fi
169
+ echo "Maintainer action required: approve the PR workflows in GitHub."
170
+ exit 0
171
+ fi
172
+ if git ls-remote --exit-code --heads origin "$BRANCH" >/dev/null 2>&1; then
173
+ echo "::error::Remote branch $BRANCH exists without an open PR; refusing to overwrite it."
174
+ exit 1
175
+ fi
162
176
  git config user.name "github-actions[bot]"
163
177
  git config user.email "github-actions[bot]@users.noreply.github.com"
164
178
  git checkout -b "$BRANCH"
@@ -166,7 +180,7 @@ jobs:
166
180
  git commit -m "release: v${NEW_VERSION} — automated weekly batch
167
181
 
168
182
  Cut by .github/workflows/scheduled-release.yml. Publishing itself is
169
- handled by release.yml, which triggers once this lands on main."
183
+ handled by release.yml, which the merge gate dispatches on main."
170
184
  git push origin "$BRANCH"
171
185
 
172
186
  gh pr create \
@@ -175,8 +189,8 @@ jobs:
175
189
  --title "release: v${NEW_VERSION} — automated weekly batch" \
176
190
  --body "Automated weekly release cut by \`scheduled-release.yml\`.
177
191
 
178
- Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened. The release credential creates a normal pull request so required CI checks can run and the fail-closed auto-merge policy can evaluate them.
192
+ Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
179
193
 
180
- Once green, \`auto-merge.yml\` merges this, and the \`package.json\` change triggers \`release.yml\` to tag and publish."
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."
181
195
 
182
- echo "Opened $BRANCH; pull-request CI will report on its merge revision."
196
+ echo "Opened $BRANCH. Approve its workflows in GitHub to continue the release."