docguard-cli 0.34.6__tar.gz → 0.34.9__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 (468) hide show
  1. {docguard_cli-0.34.6/extensions/spec-kit-docguard → docguard_cli-0.34.9/.agent}/skills/docguard-fix/SKILL.md +2 -2
  2. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/docguard-guard/SKILL.md +2 -2
  3. {docguard_cli-0.34.6/extensions/spec-kit-docguard → docguard_cli-0.34.9/.agent}/skills/docguard-review/SKILL.md +2 -2
  4. {docguard_cli-0.34.6/extensions/spec-kit-docguard → docguard_cli-0.34.9/.agent}/skills/docguard-score/SKILL.md +2 -2
  5. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/docguard-sync/SKILL.md +2 -2
  6. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/release.yml +81 -12
  7. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/anatomy.md +2 -2
  8. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/buglog.json +57 -0
  9. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/cerebrum.md +4 -0
  10. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/_session.json +45 -6
  11. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/memory.md +13 -0
  12. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/token-ledger.json +1962 -7
  13. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/CHANGELOG.md +28 -0
  14. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/PKG-INFO +1 -1
  15. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/extension.yml +1 -1
  16. {docguard_cli-0.34.6/.agent → docguard_cli-0.34.9/extensions/spec-kit-docguard}/skills/docguard-fix/SKILL.md +2 -2
  17. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/skills/docguard-guard/SKILL.md +2 -2
  18. {docguard_cli-0.34.6/.agent → docguard_cli-0.34.9/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
  19. {docguard_cli-0.34.6/.agent → docguard_cli-0.34.9/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
  20. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
  21. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/package-lock.json +2 -2
  22. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/package.json +1 -1
  23. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/pyproject.toml +1 -1
  24. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/docguard.fix.md +0 -0
  25. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/docguard.guard.md +0 -0
  26. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/docguard.review.md +0 -0
  27. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/docguard.score.md +0 -0
  28. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.analyze.md +0 -0
  29. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.checklist.md +0 -0
  30. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.clarify.md +0 -0
  31. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.constitution.md +0 -0
  32. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.implement.md +0 -0
  33. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.plan.md +0 -0
  34. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.specify.md +0 -0
  35. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.tasks.md +0 -0
  36. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/commands/speckit.taskstoissues.md +0 -0
  37. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-analyze/SKILL.md +0 -0
  38. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-checklist/SKILL.md +0 -0
  39. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-clarify/SKILL.md +0 -0
  40. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-constitution/SKILL.md +0 -0
  41. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-implement/SKILL.md +0 -0
  42. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-plan/SKILL.md +0 -0
  43. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-specify/SKILL.md +0 -0
  44. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-tasks/SKILL.md +0 -0
  45. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
  46. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.claude/rules/openwolf.md +0 -0
  47. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.claude/settings.json +0 -0
  48. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.docguard.json +0 -0
  49. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.docguardignore +0 -0
  50. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  51. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
  52. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  53. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  54. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/dependabot.yml +0 -0
  55. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/scripts/speckit-submission.py +0 -0
  56. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/auto-merge.yml +0 -0
  57. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/ci.yml +0 -0
  58. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/jules-triage.yml +0 -0
  59. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/scheduled-release.yml +0 -0
  60. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/supply-chain.yml +0 -0
  61. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.github/workflows/sync-speckit-catalog.yml +0 -0
  62. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.gitignore +0 -0
  63. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.jules/bolt.md +0 -0
  64. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.jules/palette.md +0 -0
  65. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.jules/sentinel.md +0 -0
  66. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.jules-setup.sh +0 -0
  67. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.npmignore +0 -0
  68. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.npmrc +0 -0
  69. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.pre-commit-hooks.yaml +0 -0
  70. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
  71. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
  72. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/extensions/.cache/catalog-metadata.json +0 -0
  73. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/extensions/.cache/catalog.json +0 -0
  74. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/init-options.json +0 -0
  75. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/memory/constitution.md +0 -0
  76. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/scripts/bash/check-prerequisites.sh +0 -0
  77. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/scripts/bash/common.sh +0 -0
  78. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/scripts/bash/create-new-feature.sh +0 -0
  79. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/scripts/bash/setup-plan.sh +0 -0
  80. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/scripts/bash/update-agent-context.sh +0 -0
  81. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/templates/agent-file-template.md +0 -0
  82. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/templates/checklist-template.md +0 -0
  83. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/templates/constitution-template.md +0 -0
  84. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/templates/plan-template.md +0 -0
  85. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/templates/spec-template.md +0 -0
  86. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.specify/templates/tasks-template.md +0 -0
  87. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/OPENWOLF.md +0 -0
  88. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/config.json +0 -0
  89. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/cron-manifest.json +0 -0
  90. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/cron-state.json +0 -0
  91. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/daemon.log +0 -0
  92. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/designqc-report.json +0 -0
  93. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/_wrap_up_nudged +0 -0
  94. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/package.json +0 -0
  95. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/post-read.js +0 -0
  96. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/post-write.js +0 -0
  97. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/pre-read.js +0 -0
  98. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/pre-write.js +0 -0
  99. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/session-start.js +0 -0
  100. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/shared.js +0 -0
  101. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/hooks/stop.js +0 -0
  102. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/identity.md +0 -0
  103. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/reframe-frameworks.md +0 -0
  104. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/.wolf/suggestions.json +0 -0
  105. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/AGENTS.md +0 -0
  106. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/CLAUDE.md +0 -0
  107. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/CODE_OF_CONDUCT.md +0 -0
  108. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/COMPARISONS.md +0 -0
  109. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/CONTRIBUTING.md +0 -0
  110. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/DRIFT-LOG.md +0 -0
  111. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/Dockerfile +0 -0
  112. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/LICENSE +0 -0
  113. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/PHILOSOPHY.md +0 -0
  114. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/PRIVACY.md +0 -0
  115. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/README.es.md +0 -0
  116. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/README.md +0 -0
  117. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/README.pt-BR.md +0 -0
  118. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/ROADMAP.md +0 -0
  119. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/SECURITY.md +0 -0
  120. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/STANDARD.md +0 -0
  121. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/SUPPLY-CHAIN-AUDIT.md +0 -0
  122. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/SUPPORT.md +0 -0
  123. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/VALIDATION.md +0 -0
  124. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/action.yml +0 -0
  125. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/assets/bin/docguard +0 -0
  126. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/assets/demo.gif +0 -0
  127. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/assets/demo.tape +0 -0
  128. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/assets/docguard-logo.png +0 -0
  129. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/agent.mjs +0 -0
  130. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/agents.mjs +0 -0
  131. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/badge.mjs +0 -0
  132. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/ci.mjs +0 -0
  133. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/demo.mjs +0 -0
  134. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/diagnose.mjs +0 -0
  135. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/diff.mjs +0 -0
  136. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/explain.mjs +0 -0
  137. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/feedback.mjs +0 -0
  138. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/fix.mjs +0 -0
  139. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/generate.mjs +0 -0
  140. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/guard.mjs +0 -0
  141. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/hooks.mjs +0 -0
  142. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/impact.mjs +0 -0
  143. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/init.mjs +0 -0
  144. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/llms.mjs +0 -0
  145. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/mcp.mjs +0 -0
  146. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/memory.mjs +0 -0
  147. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/publish.mjs +0 -0
  148. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/report.mjs +0 -0
  149. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/score.mjs +0 -0
  150. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/setup.mjs +0 -0
  151. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/sync-tests.mjs +0 -0
  152. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/sync.mjs +0 -0
  153. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/trace.mjs +0 -0
  154. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/upgrade.mjs +0 -0
  155. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/verify.mjs +0 -0
  156. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/commands/watch.mjs +0 -0
  157. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/config.mjs +0 -0
  158. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/docguard.mjs +0 -0
  159. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/ensure-skills.mjs +0 -0
  160. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/findings.mjs +0 -0
  161. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/agent-readability.mjs +0 -0
  162. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/api-doc.mjs +0 -0
  163. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/cdk.mjs +0 -0
  164. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/doc-tools.mjs +0 -0
  165. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/frontend.mjs +0 -0
  166. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/iac.mjs +0 -0
  167. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/instruction-audit.mjs +0 -0
  168. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/integrations.mjs +0 -0
  169. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/inventory.mjs +0 -0
  170. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/js-ast.mjs +0 -0
  171. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/memory-plan.mjs +0 -0
  172. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/project-type.mjs +0 -0
  173. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/py-ast.mjs +0 -0
  174. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/routes.mjs +0 -0
  175. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/schemas.mjs +0 -0
  176. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/semantic-claims.mjs +0 -0
  177. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/scanners/speckit.mjs +0 -0
  178. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared-diff.mjs +0 -0
  179. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared-git.mjs +0 -0
  180. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared-ignore.mjs +0 -0
  181. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared-ir.mjs +0 -0
  182. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared-source.mjs +0 -0
  183. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared-trace-patterns.mjs +0 -0
  184. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/shared.mjs +0 -0
  185. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validator-markers.mjs +0 -0
  186. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/api-doc-smells.mjs +0 -0
  187. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/api-surface.mjs +0 -0
  188. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/architecture.mjs +0 -0
  189. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/canonical-sync.mjs +0 -0
  190. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/changelog.mjs +0 -0
  191. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/cross-reference.mjs +0 -0
  192. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/diff-suspicion.mjs +0 -0
  193. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/doc-quality.mjs +0 -0
  194. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/docs-coverage.mjs +0 -0
  195. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/docs-diff.mjs +0 -0
  196. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/docs-sync.mjs +0 -0
  197. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/drift.mjs +0 -0
  198. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/environment.mjs +0 -0
  199. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/freshness.mjs +0 -0
  200. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/generated-staleness.mjs +0 -0
  201. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/metadata-sync.mjs +0 -0
  202. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/metrics-consistency.mjs +0 -0
  203. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/reference-existence.mjs +0 -0
  204. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/schema-sync.mjs +0 -0
  205. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/security.mjs +0 -0
  206. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/spec-kit.mjs +0 -0
  207. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/structure.mjs +0 -0
  208. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/surface-sync.mjs +0 -0
  209. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/test-spec.mjs +0 -0
  210. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/todo-tracking.mjs +0 -0
  211. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/validators/traceability.mjs +0 -0
  212. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/api-reference.mjs +0 -0
  213. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/baseline.mjs +0 -0
  214. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/doc-generators.mjs +0 -0
  215. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/fix-memory.mjs +0 -0
  216. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/generate-io.mjs +0 -0
  217. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/history.mjs +0 -0
  218. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/junit.mjs +0 -0
  219. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/mechanical.mjs +0 -0
  220. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/sarif.mjs +0 -0
  221. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/cli/writers/sections.mjs +0 -0
  222. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/commands/docguard.fix.md +0 -0
  223. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/commands/docguard.guard.md +0 -0
  224. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/commands/docguard.review.md +0 -0
  225. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/commands/docguard.score.md +0 -0
  226. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/configs/fastify.json +0 -0
  227. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/configs/generic.json +0 -0
  228. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/configs/nextjs.json +0 -0
  229. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/configs/python.json +0 -0
  230. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docguard_cli/__init__.py +0 -0
  231. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docguard_cli/wrapper.py +0 -0
  232. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/ai-integration.md +0 -0
  233. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/commands.md +0 -0
  234. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/configuration.md +0 -0
  235. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/doc-sections.md +0 -0
  236. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/faq.md +0 -0
  237. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/installation.md +0 -0
  238. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/profiles.md +0 -0
  239. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs/quickstart.md +0 -0
  240. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/ARCHITECTURE.md +0 -0
  241. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/CI-RECIPES.md +0 -0
  242. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/DATA-MODEL.md +0 -0
  243. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/ENVIRONMENT.md +0 -0
  244. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/REQUIREMENTS.md +0 -0
  245. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/SECURITY.md +0 -0
  246. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/SURFACE-AUDIT.md +0 -0
  247. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-canonical/TEST-SPEC.md +0 -0
  248. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/docs-implementation/MIGRATION-v0.20.md +0 -0
  249. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/01-express-api/README.md +0 -0
  250. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/01-express-api/package.json +0 -0
  251. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/01-express-api/server.js +0 -0
  252. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/02-python-flask/README.md +0 -0
  253. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/02-python-flask/app.py +0 -0
  254. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
  255. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/02-python-flask/requirements.txt +0 -0
  256. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
  257. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/README.md +0 -0
  258. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
  259. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
  260. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/package.json +0 -0
  261. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/src/index.js +0 -0
  262. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/tasks.json +0 -0
  263. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
  264. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/examples/README.md +0 -0
  265. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/LICENSE +0 -0
  266. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/README.md +0 -0
  267. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
  268. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/fix.md +0 -0
  269. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/generate.md +0 -0
  270. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/guard.md +0 -0
  271. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/init.md +0 -0
  272. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/score.md +0 -0
  273. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/sync.md +0 -0
  274. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/commands/trace.md +0 -0
  275. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
  276. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
  277. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
  278. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
  279. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
  280. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +0 -0
  281. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +0 -0
  282. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/glama.json +0 -0
  283. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/llms-full.txt +0 -0
  284. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/llms.txt +0 -0
  285. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/mcpb/README.md +0 -0
  286. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/mcpb/manifest.template.json +0 -0
  287. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/packaging/homebrew/docguard.rb +0 -0
  288. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/packaging/submissions.md +0 -0
  289. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/schemas/docguard-config.schema.json +0 -0
  290. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/server.json +0 -0
  291. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/smithery.yaml +0 -0
  292. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/001-fix-ignore-validators/plan.md +0 -0
  293. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/001-fix-ignore-validators/spec.md +0 -0
  294. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/001-fix-ignore-validators/tasks.md +0 -0
  295. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/002-fix-test-discovery/plan.md +0 -0
  296. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/002-fix-test-discovery/spec.md +0 -0
  297. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/002-fix-test-discovery/tasks.md +0 -0
  298. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/003-v011-false-positives/plan.md +0 -0
  299. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/003-v011-false-positives/spec.md +0 -0
  300. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/003-v011-false-positives/tasks.md +0 -0
  301. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/004-v020-env-var-false-negative/spec.md +0 -0
  302. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/specs/005-hugocross-next-bugs/spec.md +0 -0
  303. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/ADR.md.template +0 -0
  304. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/AGENTS.md.template +0 -0
  305. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/ARCHITECTURE.md.template +0 -0
  306. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/CHANGELOG.md.template +0 -0
  307. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/CURRENT-STATE.md.template +0 -0
  308. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/DATA-MODEL.md.template +0 -0
  309. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/DEPLOYMENT.md.template +0 -0
  310. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/DRIFT-LOG.md.template +0 -0
  311. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/ENVIRONMENT.md.template +0 -0
  312. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/KNOWN-GOTCHAS.md.template +0 -0
  313. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/REQUIREMENTS.md.template +0 -0
  314. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/ROADMAP.md.template +0 -0
  315. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/RUNBOOKS.md.template +0 -0
  316. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/SECURITY.md.template +0 -0
  317. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/TEST-SPEC.md.template +0 -0
  318. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/TROUBLESHOOTING.md.template +0 -0
  319. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/VENDOR-BUGS.md.template +0 -0
  320. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/ci/github-actions.yml +0 -0
  321. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/ci/gitlab-component.yml +0 -0
  322. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/commands/docguard.fix.md +0 -0
  323. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/commands/docguard.guard.md +0 -0
  324. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/commands/docguard.init.md +0 -0
  325. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/commands/docguard.review.md +0 -0
  326. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/commands/docguard.update.md +0 -0
  327. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/.docguard.json +0 -0
  328. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/.env.example +0 -0
  329. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/AGENTS.md +0 -0
  330. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/CHANGELOG.md +0 -0
  331. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/DRIFT-LOG.md +0 -0
  332. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/README.md +0 -0
  333. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
  334. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
  335. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
  336. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
  337. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
  338. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
  339. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/package.json +0 -0
  340. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/src/api.mjs +0 -0
  341. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/src/notifier.mjs +0 -0
  342. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/src/scheduler.mjs +0 -0
  343. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/templates/demo-fixture/src/worker.mjs +0 -0
  344. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/agent-readability.test.mjs +0 -0
  345. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/agent.test.mjs +0 -0
  346. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/agents-command.test.mjs +0 -0
  347. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/agents-sync.test.mjs +0 -0
  348. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/anchor-autofix.test.mjs +0 -0
  349. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/api-doc-smells.test.mjs +0 -0
  350. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/api-doc.test.mjs +0 -0
  351. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/api-surface.test.mjs +0 -0
  352. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/api-write.test.mjs +0 -0
  353. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/architecture.test.mjs +0 -0
  354. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/b7-node-env-symmetry.test.mjs +0 -0
  355. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/backup-failure.test.mjs +0 -0
  356. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/badge.test.mjs +0 -0
  357. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/baseline.test.mjs +0 -0
  358. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
  359. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/canonical-docs-nested.test.mjs +0 -0
  360. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/canonical-sync.test.mjs +0 -0
  361. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/cdk-detection.test.mjs +0 -0
  362. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/changed-only-scoping.test.mjs +0 -0
  363. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/changed-only.test.mjs +0 -0
  364. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/changelog.test.mjs +0 -0
  365. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/commands.test.mjs +0 -0
  366. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/cross-reference.test.mjs +0 -0
  367. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/demo-command.test.mjs +0 -0
  368. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/diff-suspicion.test.mjs +0 -0
  369. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/doc-quality.test.mjs +0 -0
  370. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/doc-section-synonyms.test.mjs +0 -0
  371. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/docguardignore.test.mjs +0 -0
  372. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/docs-coverage.test.mjs +0 -0
  373. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/docs-diff.test.mjs +0 -0
  374. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/docs-sync.test.mjs +0 -0
  375. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/drift.test.mjs +0 -0
  376. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/ensure-skills-idempotent.test.mjs +0 -0
  377. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/env-schema-detection.test.mjs +0 -0
  378. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/environment.test.mjs +0 -0
  379. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/explain-coverage.test.mjs +0 -0
  380. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/field-report-2-cli.test.mjs +0 -0
  381. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/field-report-3-deferred.test.mjs +0 -0
  382. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/field-report-3.test.mjs +0 -0
  383. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/fix-memory.test.mjs +0 -0
  384. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/fix-suppression.test.mjs +0 -0
  385. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/fixture-projects.test.mjs +0 -0
  386. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/freshness.test.mjs +0 -0
  387. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/frontend-deep.test.mjs +0 -0
  388. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/frontend.test.mjs +0 -0
  389. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/generate-io.test.mjs +0 -0
  390. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/generated-staleness.test.mjs +0 -0
  391. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/guard-classify.test.mjs +0 -0
  392. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/guard-no-throw.test.mjs +0 -0
  393. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/history.test.mjs +0 -0
  394. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/hooks.test.mjs +0 -0
  395. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/i18n.test.mjs +0 -0
  396. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/impact.test.mjs +0 -0
  397. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/init-smart-detection.test.mjs +0 -0
  398. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/instruction-audit.test.mjs +0 -0
  399. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/integrations.test.mjs +0 -0
  400. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/inventory.test.mjs +0 -0
  401. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/js-ast.test.mjs +0 -0
  402. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/junit.test.mjs +0 -0
  403. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/llms-full-pack.test.mjs +0 -0
  404. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/mcp-http.test.mjs +0 -0
  405. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/mcp.test.mjs +0 -0
  406. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/mechanical.test.mjs +0 -0
  407. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/memory-plan.test.mjs +0 -0
  408. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/metadata-sync.test.mjs +0 -0
  409. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/metrics-consistency.test.mjs +0 -0
  410. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/metrics-dedup.test.mjs +0 -0
  411. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/monorepo-scanning.test.mjs +0 -0
  412. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/multi-spec.test.mjs +0 -0
  413. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/npm-pack-smoke.test.mjs +0 -0
  414. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/nudge-hook.test.mjs +0 -0
  415. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/openapi-parse-honesty.test.mjs +0 -0
  416. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/patch-0.11.2.test.mjs +0 -0
  417. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/plan-disk-cache.test.mjs +0 -0
  418. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/profile-flag.test.mjs +0 -0
  419. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/project-type.test.mjs +0 -0
  420. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/py-ast.test.mjs +0 -0
  421. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/reference-existence.test.mjs +0 -0
  422. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/regenerate-section.test.mjs +0 -0
  423. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/report.test.mjs +0 -0
  424. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/routes-express-mounts.test.mjs +0 -0
  425. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/routes-fastify.test.mjs +0 -0
  426. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/routes-multilang.test.mjs +0 -0
  427. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/routes-nextjs-app-router.test.mjs +0 -0
  428. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/sarif.test.mjs +0 -0
  429. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/schema-sync.test.mjs +0 -0
  430. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/schemas-multilang.test.mjs +0 -0
  431. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/schemas.test.mjs +0 -0
  432. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/scoping-extended.test.mjs +0 -0
  433. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/score-suggestions.test.mjs +0 -0
  434. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/section-na-markers.test.mjs +0 -0
  435. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/sections.test.mjs +0 -0
  436. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/security-init-injection.test.mjs +0 -0
  437. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/security.test.mjs +0 -0
  438. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/severity.test.mjs +0 -0
  439. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/shared-diff.test.mjs +0 -0
  440. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/shared-git.test.mjs +0 -0
  441. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/shared-ignore-functions.test.mjs +0 -0
  442. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/shared-ir.test.mjs +0 -0
  443. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/shared-source.test.mjs +0 -0
  444. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/speckit-bugfix.test.mjs +0 -0
  445. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/speckit-phantom.test.mjs +0 -0
  446. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/starter-scaffold.test.mjs +0 -0
  447. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/stress-test.test.mjs +0 -0
  448. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/structure.test.mjs +0 -0
  449. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/surface-sync.test.mjs +0 -0
  450. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/sweep-nudge.test.mjs +0 -0
  451. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/sync-since.test.mjs +0 -0
  452. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/sync.test.mjs +0 -0
  453. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/test-spec.test.mjs +0 -0
  454. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/todo-tracking.test.mjs +0 -0
  455. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/trace-features.test.mjs +0 -0
  456. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/trace-multilang.test.mjs +0 -0
  457. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/trace-reverse.test.mjs +0 -0
  458. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/traceability-ir.test.mjs +0 -0
  459. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/traceability.test.mjs +0 -0
  460. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/upgrade-pr-e2e.test.mjs +0 -0
  461. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/upgrade-pr.test.mjs +0 -0
  462. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/upgrade.test.mjs +0 -0
  463. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/v020-consolidation.test.mjs +0 -0
  464. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/validator-markers.test.mjs +0 -0
  465. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/validator-naming.test.mjs +0 -0
  466. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/verify-change-context.test.mjs +0 -0
  467. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/version-pin.test.mjs +0 -0
  468. {docguard_cli-0.34.6 → docguard_cli-0.34.9}/tests/whats-new.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.34.6
9
+ version: 0.34.9
10
10
  source: extensions/spec-kit-docguard/skills/docguard-fix
11
11
  ---
12
- <!-- docguard:version: 0.34.6 -->
12
+ <!-- docguard:version: 0.34.9 -->
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.34.6
10
+ version: 0.34.9
11
11
  source: extensions/spec-kit-docguard/skills/docguard-guard
12
12
  ---
13
- <!-- docguard:version: 0.34.6 -->
13
+ <!-- docguard:version: 0.34.9 -->
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.34.6
9
+ version: 0.34.9
10
10
  source: extensions/spec-kit-docguard/skills/docguard-review
11
11
  ---
12
- <!-- docguard:version: 0.34.6 -->
12
+ <!-- docguard:version: 0.34.9 -->
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.34.6
9
+ version: 0.34.9
10
10
  source: extensions/spec-kit-docguard/skills/docguard-score
11
11
  ---
12
- <!-- docguard:version: 0.34.6 -->
12
+ <!-- docguard:version: 0.34.9 -->
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.34.6
7
+ version: 0.34.9
8
8
  source: extensions/spec-kit-docguard/skills/docguard-sync
9
9
  ---
10
- <!-- docguard:version: 0.34.6 -->
10
+ <!-- docguard:version: 0.34.9 -->
11
11
 
12
12
  # DocGuard Sync Skill
13
13
 
@@ -212,11 +212,23 @@ jobs:
212
212
  # permission" while an empty _authToken was present, then ENEEDAUTH
213
213
  # once it wasn't -- neither of which names the actual cause.
214
214
  node-version: 24
215
- # registry-url IS required (npm's documented example sets it). An
216
- # earlier theory blamed the empty _authToken it writes; that was
217
- # wrong. The empty token only mattered BECAUSE Node 20 had already
218
- # taken OIDC off the table, leaving token auth as the only path.
219
- registry-url: 'https://registry.npmjs.org'
215
+ # NO registry-url, deliberately, and this combination has never
216
+ # actually been tried before. Tracing every failed run:
217
+ # v0.34.4 Node 20 + registry-url -> E404 (Node too old for
218
+ # OIDC; empty token
219
+ # used instead)
220
+ # v0.34.5 Node 20 + no registry -> ENEEDAUTH (no token at all,
221
+ # Node still too old)
222
+ # v0.34.6 Node 24 + registry-url -> E404 (Node fine, but the
223
+ # empty _authToken
224
+ # setup-node writes
225
+ # took the token path)
226
+ # Each run had exactly ONE of the two blockers. Node >= 22.14 clears
227
+ # the OIDC floor; omitting registry-url stops setup-node writing
228
+ # `//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}`, which with
229
+ # NODE_AUTH_TOKEN unset expands to an EMPTY token that npm still
230
+ # treats as configured auth. npm defaults to registry.npmjs.org
231
+ # anyway, so nothing is lost by omitting it.
220
232
 
221
233
  # Belt and braces: Node 24 already bundles npm >= 11.5.1, but pin
222
234
  # explicitly so a runner-image change can't silently drop below the
@@ -250,17 +262,55 @@ jobs:
250
262
  fi
251
263
  echo "OIDC preconditions satisfied."
252
264
 
265
+ # Diagnostics. Six releases have failed here on a generic 404 that never
266
+ # names the real cause, so capture the auth state BEFORE publishing
267
+ # rather than inferring it from the failure afterwards.
268
+ - name: Diagnose npm auth state
269
+ run: |
270
+ echo "--- versions ---"
271
+ echo "node=$(node -p 'process.versions.node') npm=$(npm --version)"
272
+ echo "--- OIDC env present? (values intentionally not printed) ---"
273
+ [ -n "$ACTIONS_ID_TOKEN_REQUEST_URL" ] && echo "ACTIONS_ID_TOKEN_REQUEST_URL: set" || echo "ACTIONS_ID_TOKEN_REQUEST_URL: MISSING"
274
+ [ -n "$ACTIONS_ID_TOKEN_REQUEST_TOKEN" ] && echo "ACTIONS_ID_TOKEN_REQUEST_TOKEN: set" || echo "ACTIONS_ID_TOKEN_REQUEST_TOKEN: MISSING"
275
+ echo "--- resolved registry ---"
276
+ npm config get registry
277
+ echo "--- .npmrc files (token VALUES redacted, presence shown) ---"
278
+ USERCONFIG=$(npm config list | sed -n 's/^userconfig = "\(.*\)"$/\1/p')
279
+ for f in "$USERCONFIG" ".npmrc" "$HOME/.npmrc"; do
280
+ if [ -n "$f" ] && [ -f "$f" ]; then
281
+ echo " [$f]"
282
+ sed -E 's/(_authToken=).*/\1<REDACTED-OR-EMPTY>/' "$f" | sed 's/^/ /'
283
+ else
284
+ echo " [$f] (absent)"
285
+ fi
286
+ done
287
+
253
288
  # No --provenance flag and no NODE_AUTH_TOKEN: under Trusted Publishing
254
289
  # npm generates provenance attestations automatically, and the OIDC
255
290
  # exchange against the trusted-publisher connection on npmjs.com
256
291
  # (raccioly/docguard -> release.yml) IS the authentication.
292
+ # --loglevel verbose so that if this fails again, the log shows which
293
+ # auth path npm chose instead of leaving it to inference.
257
294
  - name: Publish (provenance is automatic under Trusted Publishing)
258
- run: npm publish
295
+ run: npm publish --loglevel verbose
259
296
 
260
297
  # ── Step 6: Publish to PyPI ────────────────────────────────────────────
261
298
  publish-pypi:
262
299
  needs: [detect-version, test, create-release]
263
300
  runs-on: ubuntu-latest
301
+ # PyPI Trusted Publishing (OIDC) — same rationale as publish-npm: a stored
302
+ # API token is a credential that expires silently and takes the release
303
+ # pipeline down with it (see bug-256: NPM_TOKEN expired and cost seven
304
+ # releases to diagnose). PYPI_API_TOKEN was last rotated 2026-03-15 and was
305
+ # the next one due to do exactly that. Nothing here can expire.
306
+ #
307
+ # `environment` MUST match the Environment name configured in the PyPI
308
+ # trusted publisher, and `id-token: write` is what mints the OIDC token.
309
+ # Mirrors the working setup in raccioly/websec-validator's publish.yml.
310
+ environment: pypi
311
+ permissions:
312
+ contents: read
313
+ id-token: write
264
314
  steps:
265
315
  - uses: actions/checkout@v7
266
316
  - uses: actions/setup-python@v7
@@ -275,16 +325,35 @@ jobs:
275
325
  grep 'version' pyproject.toml
276
326
 
277
327
  - name: Install build tools
278
- run: pip install build twine
328
+ run: pip install build
279
329
 
280
330
  - name: Build
281
331
  run: python -m build
282
332
 
283
- - name: Publish
284
- run: python -m twine upload dist/*
285
- env:
286
- TWINE_USERNAME: __token__
287
- TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
333
+ # Assert the OIDC precondition before publishing, rather than finding out
334
+ # via an auth error that doesn't name the cause (the npm lesson).
335
+ - name: Assert OIDC token is available
336
+ run: |
337
+ if [ -z "$ACTIONS_ID_TOKEN_REQUEST_URL" ]; then
338
+ echo "::error::ACTIONS_ID_TOKEN_REQUEST_URL is unset — this job lacks id-token: write, so PyPI Trusted Publishing cannot authenticate."
339
+ exit 1
340
+ fi
341
+ echo "OIDC token endpoint available; publishing via Trusted Publishing."
342
+
343
+ # No TWINE_USERNAME/TWINE_PASSWORD: the OIDC exchange against the trusted
344
+ # publisher configured on PyPI (raccioly / docguard / release.yml /
345
+ # environment: pypi) IS the authentication.
346
+ # v1.14.2. Pinned by COMMIT sha (dereferenced from the annotated tag, not
347
+ # the tag object's own sha -- those differ for annotated tags and pinning
348
+ # the wrong one does not resolve).
349
+ #
350
+ # Do NOT pin this back to the older release/v1 sha used by
351
+ # raccioly/websec-validator: that build's bundled twine rejects
352
+ # `Metadata-Version: 2.5`, which current setuptools/build now emits --
353
+ # "InvalidDistribution: '2.5' is not a valid metadata version". v0.34.8
354
+ # failed exactly there. websec-validator still carries that old pin and
355
+ # will hit the same wall whenever its setuptools moves forward.
356
+ - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
288
357
 
289
358
  # ── Step 7: Prepare Spec Kit community catalog submission ──────────────
290
359
  # Per spec-kit maintainer guidance (github/spec-kit#2707) and spec-kit's
@@ -1,6 +1,6 @@
1
1
  # anatomy.md
2
2
 
3
- > Auto-maintained by OpenWolf. Last scanned: 2026-09-11T15:58:20.999Z
3
+ > Auto-maintained by OpenWolf. Last scanned: 2026-09-11T16:39:55.617Z
4
4
  > Files: 707 tracked | Anatomy hits: 0 | Misses: 0
5
5
 
6
6
  ## ../../../../../../../tmp/
@@ -962,7 +962,7 @@
962
962
  - `auto-merge.yml` — CI: Auto-merge (green bot PRs) (~2234 tok)
963
963
  - `ci.yml` — CI: DocGuard CI (~1843 tok)
964
964
  - `jules-triage.yml` — CI: Jules PR Triage (~1635 tok)
965
- - `release.yml` — CI: Auto Release — Tag, GitHub Release, npm, PyPI (~4763 tok)
965
+ - `release.yml` — CI: Auto Release — Tag, GitHub Release, npm, PyPI (~6014 tok)
966
966
  - `scheduled-release.yml` — CI: Scheduled Release (~2099 tok)
967
967
  - `sync-speckit-catalog.yml` — CI: Prepare Spec Kit Catalog Submission (Manual) (~1385 tok)
968
968
 
@@ -4752,6 +4752,63 @@
4752
4752
  "related_bugs": [],
4753
4753
  "occurrences": 1,
4754
4754
  "last_seen": "2026-09-11T15:57:59.781Z"
4755
+ },
4756
+ {
4757
+ "id": "bug-288",
4758
+ "timestamp": "2026-09-11T16:08:59.962Z",
4759
+ "error_message": "Significant refactor of ",
4760
+ "file": ".github/workflows/release.yml",
4761
+ "root_cause": "5 lines replaced/restructured",
4762
+ "fix": "Rewrote 6→18 lines (5 removed)",
4763
+ "tags": [
4764
+ "auto-detected",
4765
+ "refactor",
4766
+ "yml"
4767
+ ],
4768
+ "related_bugs": [],
4769
+ "occurrences": 1,
4770
+ "last_seen": "2026-09-11T16:08:59.962Z"
4771
+ },
4772
+ {
4773
+ "id": "bug-259",
4774
+ "timestamp": "2026-09-11T16:20:00Z",
4775
+ "error_message": "RESOLVED: npm publish failed for SEVEN consecutive releases (v0.34.1 - v0.34.7). Final error before the fix: 'npm verbose oidc Failed token exchange request with body message: OIDC token exchange error - package not found' on POST /-/npm/v1/oidc/token/exchange/package/docguard-cli.",
4776
+ "file": ".github/workflows/release.yml + npmjs.com trusted publisher config",
4777
+ "root_cause": "THREE independent faults stacked, each masking the next, which is why six fixes each 'changed the error' without fixing it. (1) NPM_TOKEN expired ~2026-08 (bug-256). (2) After migrating to Trusted Publishing, the publish job ran Node 20 -- npm Trusted Publishing requires npm >= 11.5.1 AND Node >= 22.14.0, and below that floor npm never ATTEMPTS the OIDC exchange, silently falling back to token auth. (3) The npm-side trusted publisher was created with the Repository field containing a TRAILING SLASH ('docguard/'), so the stored config was 'raccioly/docguard/' and never matched the OIDC claim 'raccioly/docguard'. Fault 3 was invisible until faults 1 and 2 were cleared, because only then did npm get far enough to actually attempt the exchange and report a specific error.",
4778
+ "fix": "(1) Trusted Publishing replaces the expiring token (bug-257). (2) publish-npm now runs Node 24, with an explicit precondition assert on Node >= 22.14.0, npm >= 11.5.1 and ACTIONS_ID_TOKEN_REQUEST_URL. (3) Added a SECOND trusted publisher on npmjs.com with Repository exactly 'docguard' (no trailing slash) -- deliberately additive rather than deleting the malformed one, so a failed recreate could not leave the package with no publisher at all. Publish succeeded immediately on rerun: docguard-cli@0.34.7 is live and tagged latest; npm, PyPI and the git tag are all in sync at 0.34.7 for the first time since 0.34.0.",
4779
+ "tags": [
4780
+ "npm-publish",
4781
+ "trusted-publishing",
4782
+ "oidc",
4783
+ "node-version-floor",
4784
+ "trailing-slash",
4785
+ "stacked-faults",
4786
+ "resolved"
4787
+ ],
4788
+ "related_bugs": [
4789
+ "bug-256",
4790
+ "bug-257",
4791
+ "bug-258"
4792
+ ],
4793
+ "occurrences": 7,
4794
+ "last_seen": "2026-09-11T16:12:49Z",
4795
+ "notes": "Process lesson, not just a technical one: six releases were burned guessing from a generic 404 when `npm publish --loglevel verbose` named the exact failing endpoint and reason on the FIRST run that had it. When an error is generic and a fix 'changes the error' without fixing it, that is the signal to stop iterating and start instrumenting. Also: display text is not data -- the malformed trailing slash was visible in the UI the whole time but rendered as 'raccioly/docguard/' which looked like a path separator; it was only provable once a correct second entry rendered differently ('raccioly/docguard') right next to it."
4796
+ },
4797
+ {
4798
+ "id": "bug-290",
4799
+ "timestamp": "2026-09-11T16:33:44.539Z",
4800
+ "error_message": "Significant refactor of ",
4801
+ "file": ".github/workflows/release.yml",
4802
+ "root_cause": "6 lines replaced/restructured",
4803
+ "fix": "Rewrote 27→49 lines (6 removed)",
4804
+ "tags": [
4805
+ "auto-detected",
4806
+ "refactor",
4807
+ "yml"
4808
+ ],
4809
+ "related_bugs": [],
4810
+ "occurrences": 1,
4811
+ "last_seen": "2026-09-11T16:33:44.539Z"
4755
4812
  }
4756
4813
  ]
4757
4814
  }
@@ -12,6 +12,10 @@
12
12
 
13
13
  ## Key Learnings
14
14
 
15
+ - **2026-09-11 — When a fix "changes the error" but doesn't fix it, STOP GUESSING AND INSTRUMENT.** The npm publish failure took seven releases because three faults were stacked (expired token → Node below the OIDC floor → malformed trusted-publisher config), each hiding the next, so every partial fix produced a *new* plausible-looking error and made a wrong theory feel confirmed. `npm publish --loglevel verbose` named the exact failing endpoint and reason (`POST /-/npm/v1/oidc/token/exchange/... → "OIDC token exchange error - package not found"`) on the very first run that had it. That single flag was worth more than five diagnostic cycles. Rule: after the SECOND failed fix of the same symptom, stop proposing causes and add logging/asserts that make the failure self-describing. See bug-259.
16
+ - **2026-09-11 — Rendered UI text is not data.** The npm trusted publisher had been stored with a trailing slash in the Repository field (`docguard/`), so it never matched the OIDC claim `raccioly/docguard`. It displayed as `raccioly/docguard/` the whole time, which reads exactly like a path separator — I looked at it twice and dismissed it. It only became provable when a correctly-created second entry rendered *differently* (`raccioly/docguard`) directly beside it. When a value's correctness matters and the UI won't show you the raw field, create a known-good control and compare renderings rather than reasoning about the formatting.
17
+ - **2026-09-11 — Prefer additive over destructive when repairing third-party config.** npm fixes trusted-publisher fields at creation ("to change them, delete and recreate"). Rather than deleting the suspect entry, I added a second one with verified values — so a failed recreate (the form had already been blocked once by a browser extension) couldn't leave the package with no publisher at all. It worked, which also *proved* the old entry was the broken one. Delete the stale entry only after the replacement is confirmed working.
18
+ - **2026-09-11 — Never locate a YAML block by first-match on a structural pattern that repeats across jobs.** A scripted edit meant for `publish-npm` matched `build-mcpb` first (both start `checkout → setup-node → node-version: 20`), clobbering that job's body and deleting `publish-npm` entirely — the workflow then failed at parse time with zero jobs. Use targeted anchored edits, and after any workflow edit assert the full job list and each job's step names before pushing.
15
19
  - **2026-09-11 — `npm install -g npm@latest` in a CI step is never safe to assume works — npm's own majors bump their engines floor too.** v0.34.3's Trusted Publishing fix used `npm@latest`, which resolved to npm 12.0.2 (`engines: node ^22.22.2 || ^24.15.0 || >=26.0.0`) — incompatible with the Node 20 the publish-npm job runs on. Exact same class of mistake as bug-255 (@babel/parser major bump), one layer up the toolchain, caught by the pipeline itself on the very next real run. Fix: pin to a checked-compatible range (`npm@11`, whose engines field is `^20.17.0 || >=22.9.0`) and verify by actually installing it in an isolated prefix, not by reasoning about what "should" be compatible. See bug-258.
16
20
  - **2026-09-11 — Fixed bug-256 permanently: migrated publish-npm to Trusted Publishing (OIDC), retiring NODE_AUTH_TOKEN entirely.** See bug-257. Two non-obvious things worth remembering: (1) npm Trusted Publishing needs npm CLI >=11.5.0 — Node 20's bundled npm is older, so the workflow now self-updates (`npm install -g npm@latest`) before publishing; forgetting this would trade one failure mode for another. (2) A GitHub Actions "rerun failed jobs" reruns using the workflow file AS IT EXISTED AT THAT RUN'S COMMIT, not the current default-branch version — editing release.yml and then rerunning an old failed run would NOT pick up the fix. Had to cut an actual new release (v0.34.3, no code changes) to get a fresh run that exercises the updated workflow. Confirm any workflow-file fix via a genuinely new run, never a rerun of a run that predates the fix.
17
21
  - **2026-09-11 — Claude in Chrome can get blocked by an unrelated browser extension's overlay.** Mid-way through filling an npm settings form (Trusted Publisher setup), clicks and even a plain screenshot started failing with "Cannot access a chrome-extension:// URL of different extension" — almost certainly another extension (password manager autofill is the likely suspect) injected a frame that captured input on the tab. Claude in Chrome can't reach into another extension's frame to dismiss it; the fix was asking the user to click/Escape on their end to clear it, then resuming automation. Also: user's real Chrome profile carries their own extensions, unlike the in-app Browser pane — expect this class of interference there and not in the sandboxed pane.
@@ -18,8 +18,8 @@
18
18
  "first_read": "2026-09-11T14:49:34.552Z"
19
19
  },
20
20
  "/Users/ricardoaccioly/Repo_claude/canonical-spec-kit/.github/workflows/release.yml": {
21
- "count": 6,
22
- "tokens": 4964,
21
+ "count": 9,
22
+ "tokens": 5444,
23
23
  "first_read": "2026-09-11T15:15:37.248Z"
24
24
  },
25
25
  "/private/tmp/claude-501/-Users-ricardoaccioly-Repo-claude-canonical-spec-kit/25ac0636-5765-49fe-a808-dd97dc825b30/tasks/bcylzwtls.output": {
@@ -36,6 +36,21 @@
36
36
  "count": 1,
37
37
  "tokens": 0,
38
38
  "first_read": "2026-09-11T15:56:42.484Z"
39
+ },
40
+ "/private/tmp/claude-501/-Users-ricardoaccioly-Repo-claude-canonical-spec-kit/25ac0636-5765-49fe-a808-dd97dc825b30/tasks/b4o2fwehl.output": {
41
+ "count": 1,
42
+ "tokens": 0,
43
+ "first_read": "2026-09-11T16:01:53.189Z"
44
+ },
45
+ "/private/tmp/claude-501/-Users-ricardoaccioly-Repo-claude-canonical-spec-kit/25ac0636-5765-49fe-a808-dd97dc825b30/tasks/bl3wuxq6y.output": {
46
+ "count": 1,
47
+ "tokens": 0,
48
+ "first_read": "2026-09-11T16:13:05.923Z"
49
+ },
50
+ "/private/tmp/claude-501/-Users-ricardoaccioly-Repo-claude-canonical-spec-kit/25ac0636-5765-49fe-a808-dd97dc825b30/tasks/bxfoxiweq.output": {
51
+ "count": 1,
52
+ "tokens": 0,
53
+ "first_read": "2026-09-11T16:39:11.726Z"
39
54
  }
40
55
  },
41
56
  "files_written": [
@@ -206,13 +221,37 @@
206
221
  "action": "edit",
207
222
  "tokens": 594,
208
223
  "at": "2026-09-11T15:58:21.011Z"
224
+ },
225
+ {
226
+ "file": "/Users/ricardoaccioly/Repo_claude/canonical-spec-kit/.github/workflows/release.yml",
227
+ "action": "edit",
228
+ "tokens": 375,
229
+ "at": "2026-09-11T16:08:59.960Z"
230
+ },
231
+ {
232
+ "file": "/Users/ricardoaccioly/Repo_claude/canonical-spec-kit/.github/workflows/release.yml",
233
+ "action": "edit",
234
+ "tokens": 526,
235
+ "at": "2026-09-11T16:09:12.899Z"
236
+ },
237
+ {
238
+ "file": "/Users/ricardoaccioly/Repo_claude/canonical-spec-kit/.github/workflows/release.yml",
239
+ "action": "edit",
240
+ "tokens": 616,
241
+ "at": "2026-09-11T16:33:44.536Z"
242
+ },
243
+ {
244
+ "file": "/Users/ricardoaccioly/Repo_claude/canonical-spec-kit/.github/workflows/release.yml",
245
+ "action": "edit",
246
+ "tokens": 212,
247
+ "at": "2026-09-11T16:39:55.629Z"
209
248
  }
210
249
  ],
211
250
  "edit_counts": {
212
251
  ".github/dependabot.yml": 1,
213
252
  "CHANGELOG.md": 9,
214
253
  "package.json": 3,
215
- ".github/workflows/release.yml": 7,
254
+ ".github/workflows/release.yml": 11,
216
255
  ".github/workflows/ci.yml": 1,
217
256
  ".github/workflows/auto-merge.yml": 3,
218
257
  ".github/workflows/scheduled-release.yml": 2,
@@ -220,8 +259,8 @@
220
259
  "tests/commands.test.mjs": 1
221
260
  },
222
261
  "anatomy_hits": 2,
223
- "anatomy_misses": 5,
224
- "repeated_reads_warned": 7,
262
+ "anatomy_misses": 8,
263
+ "repeated_reads_warned": 10,
225
264
  "cerebrum_warnings": 0,
226
- "stop_count": 17
265
+ "stop_count": 26
227
266
  }
@@ -1312,3 +1312,16 @@
1312
1312
  | 11:56 | Session end: 26 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 6 reads | ~68423 tok |
1313
1313
  | 11:57 | Edited .github/workflows/release.yml | 14→17 lines | ~303 |
1314
1314
  | 11:58 | Edited .github/workflows/release.yml | added 2 condition(s) | ~594 |
1315
+ | 11:59 | Session end: 28 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 7 reads | ~69392 tok |
1316
+ | 12:02 | Session end: 28 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 8 reads | ~69392 tok |
1317
+ | 12:08 | Edited .github/workflows/release.yml | expanded (+12 lines) | ~375 |
1318
+ | 12:09 | Edited .github/workflows/release.yml | expanded (+25 lines) | ~526 |
1319
+ | 12:11 | Session end: 30 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 8 reads | ~70092 tok |
1320
+ | 12:16 | Session end: 30 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 9 reads | ~70092 tok |
1321
+ | 12:19 | Session end: 30 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 9 reads | ~70092 tok |
1322
+ | 12:31 | Session end: 30 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 9 reads | ~70092 tok |
1323
+ | 12:32 | Session end: 30 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 9 reads | ~70092 tok |
1324
+ | 12:33 | Edited .github/workflows/release.yml | expanded (+22 lines) | ~616 |
1325
+ | 12:34 | Session end: 31 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 9 reads | ~71389 tok |
1326
+ | 12:37 | Session end: 31 writes across 9 files (dependabot.yml, CHANGELOG.md, package.json, release.yml, ci.yml) | 9 reads | ~71389 tok |
1327
+ | 12:39 | Edited .github/workflows/release.yml | expanded (+10 lines) | ~212 |