docguard-cli 0.40.2__tar.gz → 0.40.4__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.
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.40.2/extensions/spec-kit-docguard → docguard_cli-0.40.4/.agent}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.40.2/extensions/spec-kit-docguard → docguard_cli-0.40.4/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.40.2/extensions/spec-kit-docguard → docguard_cli-0.40.4/.agent}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.docguard-specs.json +34 -5
- docguard_cli-0.40.4/.github/scripts/upsert-catalog-reminder.sh +50 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/scripts/validate-release-candidate.mjs +2 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/release.yml +6 -16
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/scheduled-release.yml +25 -5
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/sync-speckit-catalog.yml +1 -15
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/buglog.json +38 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/cerebrum.md +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/CHANGELOG.md +45 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/PKG-INFO +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/ROADMAP.md +17 -8
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/CI-RECIPES.md +27 -8
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/extension.yml +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.40.2/.agent → docguard_cli-0.40.4/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.40.2/.agent → docguard_cli-0.40.4/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.40.2/.agent → docguard_cli-0.40.4/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/package-lock.json +2 -2
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/package.json +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/pyproject.toml +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/server.json +2 -2
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/011-tokenless-scheduled-releases/plan.md +18 -3
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/011-tokenless-scheduled-releases/spec.md +7 -4
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/011-tokenless-scheduled-releases/tasks.md +6 -3
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/ci/github-actions.yml +1 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/catalog-submission.test.mjs +62 -1
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/scheduled-release.test.mjs +4 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/architect.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.claude/settings.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.docguard-archive.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.docguard.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.docguardignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/dependabot.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/scripts/speckit-submission.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/scripts/sync-release-version.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/auto-merge.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/jules-triage.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.gitignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.jules/bolt.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.jules/palette.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.jules/sentinel.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.jules-setup.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.npmignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.npmrc +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.pre-commit-hooks.yaml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/init-options.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/OPENWOLF.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/anatomy.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/config.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/cron-manifest.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/cron-state.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/daemon.log +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/designqc-report.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/_session.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/_wrap_up_nudged +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/post-read.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/post-write.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/pre-read.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/pre-write.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/session-start.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/shared.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/hooks/stop.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/identity.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/memory.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/reframe-frameworks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/suggestions.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/.wolf/token-ledger.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/AGENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/CLAUDE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/COMPARISONS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/Dockerfile +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/LICENSE +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/PRIVACY.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/README.es.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/README.pt-BR.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/SECURITY.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/STANDARD.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/SUPPORT.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/VALIDATION.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/action.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/assets/bin/docguard +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/assets/demo.gif +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/assets/demo.tape +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/manifest.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/results/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/results/observed-v1.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/agent-context/run.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/baseline.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/corpus.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/generated-security-control/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/go-todo-control/app.go +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/js-security-control/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/python-security-control/app.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/python-unsupported/app.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/ts-security-control/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/lib/compare.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/lib/manifest.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/lib/metrics.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/lib/runner.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/benchmarks/run.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/guard.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/hooks.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/mcp.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/reconcile.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/report.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/retire.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/specs.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/sync.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/trace.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/verify.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/config.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/docguard.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/evidence/adapters.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/evidence/evaluate.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/evidence/manifest.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/evidence/markdown.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/feedback-fixture.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/findings.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/release-pr-policy.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/repository-root.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/document-lifecycle.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/instruction-audit.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/lifecycle-context.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/reconciliation.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/requirement-evidence.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/retirement-manifest.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/spec-registry.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/scanners/task-context.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-diff.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-doc-roles.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-git.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-ignore.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-ir.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-requirements.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-sync-scope.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/shared.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validator-coverage.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/api-doc-smells.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/canonical-sync.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/diff-suspicion.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/document-lifecycle.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/evidence.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/reference-existence.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/spec-registry.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/baseline.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/file-transaction.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/generate-io.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/history.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/junit.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/cli/writers/spec-outcomes.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/commands/docguard.score.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/configs/fastify.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/configs/generic.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/configs/nextjs.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/configs/python.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/ai-integration.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/commands.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/configuration.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/doc-sections.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/faq.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/installation.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/profiles.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs/quickstart.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/02-python-flask/requirements.txt +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/examples/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/brief.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/complete.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/glama.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/llms-full.txt +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/llms.txt +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/mcpb/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/mcpb/manifest.template.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/packaging/homebrew/docguard.rb +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/packaging/submissions.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-agent-context-result.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-benchmark.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-config.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-evidence.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-feedback-fixture.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-specs.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/schemas/docguard-task-context.schema.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/smithery.yaml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/006-document-lifecycle/plan.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/006-document-lifecycle/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/006-document-lifecycle/tasks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/007-precision-evidence-loop/plan.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/007-precision-evidence-loop/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/007-precision-evidence-loop/tasks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/008-evidence-scoped-verification/plan.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/008-evidence-scoped-verification/research.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/008-evidence-scoped-verification/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/008-evidence-scoped-verification/tasks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/009-language-repository-coverage/plan.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/009-language-repository-coverage/research.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/009-language-repository-coverage/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/009-language-repository-coverage/tasks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/010-task-specific-agent-context/plan.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/010-task-specific-agent-context/research.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/010-task-specific-agent-context/spec.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/specs/010-task-specific-agent-context/tasks.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/ADR.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/ci/gitlab-component.yml +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/evidence-manifest.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/templates/feedback-fixture.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agent-context-benchmark.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agent-evidence.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agents-check-readonly.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agents-command.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/api-authority-precision.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/api-doc-smells.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/archive.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/badge.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/baseline.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/benchmark-manifest.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/benchmark-metrics.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/benchmark-runner.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/canonical-docs-nested.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/canonical-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/check-coverage.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/ci-reproducibility.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/ci-scaffolder.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/diagnose-review-guidance.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/diff-suspicion.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/doc-role-boundaries.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/doc-role-mapping.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/docs-coverage-scope.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/document-lifecycle.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/ensure-skills-idempotent.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/evidence-adapters.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/evidence-integration.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/evidence-manifest.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/feedback-contributions.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/feedback-fixture.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/field-context-precision.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/field-diff-precision.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/field-report-3.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/field-review-clarity.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/file-transaction.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/fixtures/release-workflow-probe.json +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/generate-io.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/history.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/hooks-contract.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/hooks.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/instruction-audit.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/junit.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/mapped-writers.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/mcp-http.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/metrics-dedup.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/nudge-hook.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/python-import-graph.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/reconcile.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/reference-existence.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/release-version-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/report.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/repository-root.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/requirement-scope.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/route-field-precision.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/routes-nextjs-app-router.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/schema-sync-scope.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/score-assurance.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/security.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/shared-diff.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/shared-git.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/shared-ignore-functions.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/shared-ir.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/spec-completion.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/spec-kit-helper-json.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/spec-registry.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/speckit-phantom.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/task-context.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/trace-features.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/traceability-fixtures.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/traceability-ir.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/verify-change-context.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/watch-reliability.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/whats-new.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/worker-python-capability.test.mjs +0 -0
- {docguard_cli-0.40.2 → docguard_cli-0.40.4}/tests/workflow-action-pins.test.mjs +0 -0
|
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.4 -->
|
|
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.
|
|
10
|
+
version: 0.40.4
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.40.
|
|
13
|
+
<!-- docguard:version: 0.40.4 -->
|
|
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.
|
|
9
|
+
version: 0.40.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.4 -->
|
|
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.
|
|
9
|
+
version: 0.40.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.4 -->
|
|
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.
|
|
7
|
+
version: 0.40.4
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.40.
|
|
10
|
+
<!-- docguard:version: 0.40.4 -->
|
|
11
11
|
|
|
12
12
|
# DocGuard Sync Skill
|
|
13
13
|
|
|
@@ -2030,7 +2030,7 @@
|
|
|
2030
2030
|
]
|
|
2031
2031
|
},
|
|
2032
2032
|
"reconciliation": {
|
|
2033
|
-
"lastReviewedRevision": "
|
|
2033
|
+
"lastReviewedRevision": "9e4a68f5a79d3439806396e7dcf4e5729b90bb57",
|
|
2034
2034
|
"outcomes": [
|
|
2035
2035
|
{
|
|
2036
2036
|
"revision": "46531e4918f9479b81ffb52e6e27c24b533575da",
|
|
@@ -2042,6 +2042,30 @@
|
|
|
2042
2042
|
],
|
|
2043
2043
|
"deviations": [],
|
|
2044
2044
|
"successor": null
|
|
2045
|
+
},
|
|
2046
|
+
{
|
|
2047
|
+
"revision": "f4bb00638da2d1a53ad1a67928e35e1dfe1b401d",
|
|
2048
|
+
"reason": "Verified v0.40.3 repository-token release PR #386: scheduled run 34922506777 armed native auto-merge; approved CI 34922605581 and supply-chain 34922605917 passed; merge e27d6bf triggered publication run 34922784629; npm, PyPI, GHCR, GitHub Release, extension ZIP, MCPB, and catalog reminder completed with no accepted deviations.",
|
|
2049
|
+
"evidence": [
|
|
2050
|
+
".github/scripts/validate-release-candidate.mjs",
|
|
2051
|
+
"cli/release-pr-policy.mjs",
|
|
2052
|
+
"docs-canonical/CI-RECIPES.md",
|
|
2053
|
+
"tests/scheduled-release.test.mjs"
|
|
2054
|
+
],
|
|
2055
|
+
"deviations": [],
|
|
2056
|
+
"successor": null
|
|
2057
|
+
},
|
|
2058
|
+
{
|
|
2059
|
+
"revision": "9e4a68f5a79d3439806396e7dcf4e5729b90bb57",
|
|
2060
|
+
"reason": "Finalized the v0.40.3 tokenless release evidence at durable main revision 9e4a68f: scheduled run 34922506777 created release PR #386; approved CI 34922605581 and supply-chain 34922605917 passed; native auto-merge produced e27d6bf; publication run 34922784629 completed npm, PyPI, GHCR, GitHub Release, extension ZIP, MCPB, and catalog reminder with no accepted deviations.",
|
|
2061
|
+
"evidence": [
|
|
2062
|
+
".github/scripts/validate-release-candidate.mjs",
|
|
2063
|
+
"cli/release-pr-policy.mjs",
|
|
2064
|
+
"docs-canonical/CI-RECIPES.md",
|
|
2065
|
+
"tests/scheduled-release.test.mjs"
|
|
2066
|
+
],
|
|
2067
|
+
"deviations": [],
|
|
2068
|
+
"successor": null
|
|
2045
2069
|
}
|
|
2046
2070
|
]
|
|
2047
2071
|
}
|
|
@@ -2070,19 +2094,19 @@
|
|
|
2070
2094
|
"artifacts": [
|
|
2071
2095
|
{
|
|
2072
2096
|
"path": "specs/011-tokenless-scheduled-releases/spec.md",
|
|
2073
|
-
"digest": "sha256:
|
|
2097
|
+
"digest": "sha256:a69909db1d7c93b320eb330e2fc23336eb31029c2a17aa6db09337078ac0d45a"
|
|
2074
2098
|
},
|
|
2075
2099
|
{
|
|
2076
2100
|
"path": "specs/011-tokenless-scheduled-releases/plan.md",
|
|
2077
|
-
"digest": "sha256:
|
|
2101
|
+
"digest": "sha256:c28be466978c5e7ba99229ab0c0a6c58614dc1f649039d068be3219278c9be8b"
|
|
2078
2102
|
},
|
|
2079
2103
|
{
|
|
2080
2104
|
"path": "specs/011-tokenless-scheduled-releases/tasks.md",
|
|
2081
|
-
"digest": "sha256:
|
|
2105
|
+
"digest": "sha256:2930c32b2128cb0dbfaa98a1cf84ddce037e0639fcdcb49bafdef74e2d500361"
|
|
2082
2106
|
}
|
|
2083
2107
|
],
|
|
2084
2108
|
"taskCompletion": {
|
|
2085
|
-
"checked":
|
|
2109
|
+
"checked": 15,
|
|
2086
2110
|
"total": 15
|
|
2087
2111
|
},
|
|
2088
2112
|
"implementationEvidence": [
|
|
@@ -2106,6 +2130,11 @@
|
|
|
2106
2130
|
"file": "cli/release-pr-policy.mjs",
|
|
2107
2131
|
"line": 7
|
|
2108
2132
|
},
|
|
2133
|
+
{
|
|
2134
|
+
"requirementId": "FR-009",
|
|
2135
|
+
"file": ".github/scripts/validate-release-candidate.mjs",
|
|
2136
|
+
"line": 8
|
|
2137
|
+
},
|
|
2109
2138
|
{
|
|
2110
2139
|
"requirementId": "FR-011",
|
|
2111
2140
|
"file": "cli/release-pr-policy.mjs",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
VERSION="${1:?usage: upsert-catalog-reminder.sh <version> <body-file>}"
|
|
6
|
+
BODY_FILE="${2:?usage: upsert-catalog-reminder.sh <version> <body-file>}"
|
|
7
|
+
REPOSITORY="${GITHUB_REPOSITORY:?GITHUB_REPOSITORY is required}"
|
|
8
|
+
TITLE="📦 Submit DocGuard v${VERSION} to the spec-kit community catalog"
|
|
9
|
+
|
|
10
|
+
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
11
|
+
echo "Invalid release version: $VERSION" >&2
|
|
12
|
+
exit 1
|
|
13
|
+
fi
|
|
14
|
+
if [[ ! -f "$BODY_FILE" ]]; then
|
|
15
|
+
echo "Reminder body does not exist: $BODY_FILE" >&2
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
reminders=$(
|
|
20
|
+
gh issue list \
|
|
21
|
+
--repo "$REPOSITORY" \
|
|
22
|
+
--state open \
|
|
23
|
+
--limit 100 \
|
|
24
|
+
--json number,title \
|
|
25
|
+
--jq '.[] | select(.title | startswith("📦 Submit DocGuard v") and endswith(" to the spec-kit community catalog")) | .number' \
|
|
26
|
+
| sort -n
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
if [[ -z "$reminders" ]]; then
|
|
30
|
+
gh issue create --repo "$REPOSITORY" --title "$TITLE" --body-file "$BODY_FILE"
|
|
31
|
+
echo "✅ Opened catalog-submission reminder issue"
|
|
32
|
+
exit 0
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
current=$(printf '%s\n' "$reminders" | tail -n 1)
|
|
36
|
+
gh issue edit "$current" --repo "$REPOSITORY" --title "$TITLE" --body-file "$BODY_FILE"
|
|
37
|
+
echo "✅ Refreshed reminder issue #${current}"
|
|
38
|
+
|
|
39
|
+
while IFS= read -r duplicate; do
|
|
40
|
+
if [[ -z "$duplicate" ]]; then
|
|
41
|
+
continue
|
|
42
|
+
fi
|
|
43
|
+
if [[ "$duplicate" == "$current" ]]; then
|
|
44
|
+
continue
|
|
45
|
+
fi
|
|
46
|
+
gh issue close "$duplicate" \
|
|
47
|
+
--repo "$REPOSITORY" \
|
|
48
|
+
--comment "Superseded by the current catalog reminder #${current}."
|
|
49
|
+
echo "✅ Closed superseded reminder issue #${duplicate}"
|
|
50
|
+
done <<< "$reminders"
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Validate the scheduler-generated release diff before it leaves the trusted
|
|
5
5
|
* default-branch checkout. GitHub's native auto-merge then enforces the
|
|
6
6
|
* repository's required pull-request checks on every candidate revision.
|
|
7
|
+
*
|
|
8
|
+
* @implements docguard.tokenless-scheduled-releases#FR-009
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
11
|
import { execFileSync } from 'node:child_process';
|
|
@@ -3,6 +3,11 @@ name: Auto Release — Tag, GitHub Release, npm, PyPI
|
|
|
3
3
|
# Triggers on push to main — detects version bumps automatically
|
|
4
4
|
on:
|
|
5
5
|
workflow_dispatch: # Allow manual trigger for recovery
|
|
6
|
+
schedule:
|
|
7
|
+
# GitHub suppresses push workflows when native auto-merge was armed by
|
|
8
|
+
# GITHUB_TOKEN. This cheap tag-driven sweep makes late approvals recover
|
|
9
|
+
# within an hour without a PAT, App key, or continuously polling runner.
|
|
10
|
+
- cron: '17 * * * *'
|
|
6
11
|
push:
|
|
7
12
|
branches: [main]
|
|
8
13
|
paths:
|
|
@@ -454,7 +459,6 @@ jobs:
|
|
|
454
459
|
run: |
|
|
455
460
|
VERSION="${{ steps.meta.outputs.version }}"
|
|
456
461
|
SUBMIT_URL=$(cat /tmp/submit-url.txt)
|
|
457
|
-
TITLE="📦 Submit DocGuard v${VERSION} to the spec-kit community catalog"
|
|
458
462
|
|
|
459
463
|
# Compose the reminder body: one-click prefilled form link + the full
|
|
460
464
|
# field-by-field body as a paste fallback (URL prefill can truncate).
|
|
@@ -480,21 +484,7 @@ jobs:
|
|
|
480
484
|
echo "</details>"
|
|
481
485
|
} > /tmp/reminder.md
|
|
482
486
|
|
|
483
|
-
|
|
484
|
-
EXISTING=$(gh issue list \
|
|
485
|
-
--repo "$GITHUB_REPOSITORY" \
|
|
486
|
-
--state open \
|
|
487
|
-
--search "in:title \"DocGuard v${VERSION}\" spec-kit catalog" \
|
|
488
|
-
--json number,title \
|
|
489
|
-
--jq "[.[] | select(.title | contains(\"v${VERSION}\"))][0].number" 2>/dev/null || echo "")
|
|
490
|
-
|
|
491
|
-
if [ -n "$EXISTING" ] && [ "$EXISTING" != "null" ]; then
|
|
492
|
-
gh issue edit "$EXISTING" --repo "$GITHUB_REPOSITORY" --body-file /tmp/reminder.md
|
|
493
|
-
echo "✅ Refreshed reminder issue #${EXISTING}"
|
|
494
|
-
else
|
|
495
|
-
gh issue create --repo "$GITHUB_REPOSITORY" --title "$TITLE" --body-file /tmp/reminder.md
|
|
496
|
-
echo "✅ Opened catalog-submission reminder issue"
|
|
497
|
-
fi
|
|
487
|
+
bash .github/scripts/upsert-catalog-reminder.sh "$VERSION" /tmp/reminder.md
|
|
498
488
|
|
|
499
489
|
- name: Write run summary
|
|
500
490
|
run: |
|
|
@@ -11,9 +11,9 @@ name: Scheduled Release
|
|
|
11
11
|
# HOW IT TRIGGERS THE ACTUAL RELEASE: the repository token validates and opens a
|
|
12
12
|
# protected PR, then arms GitHub's native squash auto-merge. GitHub intentionally
|
|
13
13
|
# holds that PR's workflows for one maintainer approval. Once approved, ordinary
|
|
14
|
-
# PR CI satisfies the required checks
|
|
15
|
-
#
|
|
16
|
-
#
|
|
14
|
+
# PR CI satisfies the required checks and native auto-merge updates main. The
|
|
15
|
+
# scheduler waits briefly and dispatches release.yml after that merge; an hourly
|
|
16
|
+
# tag-driven sweep recovers approvals that happen after the wait ends.
|
|
17
17
|
#
|
|
18
18
|
# NO-OP WHEN NOTHING CHANGED: if there are no commits since the last release
|
|
19
19
|
# tag, this exits without bumping — no empty releases.
|
|
@@ -159,6 +159,24 @@ jobs:
|
|
|
159
159
|
env:
|
|
160
160
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
161
161
|
run: |
|
|
162
|
+
wait_for_merge_and_publish() {
|
|
163
|
+
PR_URL="$1"
|
|
164
|
+
for ATTEMPT in $(seq 1 40); do
|
|
165
|
+
STATE=$(gh pr view "$PR_URL" --json state --jq '.state')
|
|
166
|
+
if [ "$STATE" = "MERGED" ]; then
|
|
167
|
+
echo "Release PR merged; dispatching tag-driven publication."
|
|
168
|
+
gh workflow run release.yml --ref main
|
|
169
|
+
return 0
|
|
170
|
+
fi
|
|
171
|
+
if [ "$STATE" = "CLOSED" ]; then
|
|
172
|
+
echo "::error::Release PR closed without merge."
|
|
173
|
+
return 1
|
|
174
|
+
fi
|
|
175
|
+
sleep 15
|
|
176
|
+
done
|
|
177
|
+
echo "::notice::Release PR remains open after 10 minutes. The hourly tag-driven release sweep will publish after later approval and merge."
|
|
178
|
+
}
|
|
179
|
+
|
|
162
180
|
BRANCH="release/v${NEW_VERSION}"
|
|
163
181
|
node .github/scripts/validate-release-candidate.mjs \
|
|
164
182
|
--base-version "${{ steps.check.outputs.current }}" \
|
|
@@ -173,6 +191,7 @@ jobs:
|
|
|
173
191
|
fi
|
|
174
192
|
gh pr merge --auto --squash "$EXISTING"
|
|
175
193
|
echo "Auto-merge armed. Maintainer action required: approve the PR workflows in GitHub."
|
|
194
|
+
wait_for_merge_and_publish "$EXISTING"
|
|
176
195
|
exit 0
|
|
177
196
|
fi
|
|
178
197
|
if git ls-remote --exit-code --heads origin "$BRANCH" >/dev/null 2>&1; then
|
|
@@ -186,7 +205,7 @@ jobs:
|
|
|
186
205
|
git commit -m "release: v${NEW_VERSION} — automated weekly batch
|
|
187
206
|
|
|
188
207
|
Cut by .github/workflows/scheduled-release.yml. Publishing itself is
|
|
189
|
-
|
|
208
|
+
dispatched after protected native auto-merge updates main."
|
|
190
209
|
git push origin "$BRANCH"
|
|
191
210
|
|
|
192
211
|
PR_URL=$(gh pr create \
|
|
@@ -197,7 +216,8 @@ jobs:
|
|
|
197
216
|
|
|
198
217
|
Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
|
|
199
218
|
|
|
200
|
-
**Maintainer action required:** select **Approve workflows to run** in GitHub. The ordinary pull-request CI then satisfies branch protection; GitHub's protected native auto-merge merges the exact green head, and the
|
|
219
|
+
**Maintainer action required:** select **Approve workflows to run** in GitHub. The ordinary pull-request CI then satisfies branch protection; GitHub's protected native auto-merge merges the exact green head, and the waiting scheduler dispatches \`release.yml\`. An hourly tag-driven sweep recovers later approvals.")
|
|
201
220
|
|
|
202
221
|
gh pr merge --auto --squash "$PR_URL"
|
|
203
222
|
echo "Opened $BRANCH with auto-merge armed. Approve its workflows in GitHub to continue the release."
|
|
223
|
+
wait_for_merge_and_publish "$PR_URL"
|
|
@@ -58,7 +58,6 @@ jobs:
|
|
|
58
58
|
run: |
|
|
59
59
|
VERSION="${{ steps.meta.outputs.version }}"
|
|
60
60
|
SUBMIT_URL=$(cat /tmp/submit-url.txt)
|
|
61
|
-
TITLE="📦 Submit DocGuard v${VERSION} to the spec-kit community catalog"
|
|
62
61
|
|
|
63
62
|
{
|
|
64
63
|
echo "Update the spec-kit community catalog for **v${VERSION}**"
|
|
@@ -82,20 +81,7 @@ jobs:
|
|
|
82
81
|
echo "</details>"
|
|
83
82
|
} > /tmp/reminder.md
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
--repo "$GITHUB_REPOSITORY" \
|
|
87
|
-
--state open \
|
|
88
|
-
--search "in:title \"DocGuard v${VERSION}\" spec-kit catalog" \
|
|
89
|
-
--json number,title \
|
|
90
|
-
--jq "[.[] | select(.title | contains(\"v${VERSION}\"))][0].number" 2>/dev/null || echo "")
|
|
91
|
-
|
|
92
|
-
if [ -n "$EXISTING" ] && [ "$EXISTING" != "null" ]; then
|
|
93
|
-
gh issue edit "$EXISTING" --repo "$GITHUB_REPOSITORY" --body-file /tmp/reminder.md
|
|
94
|
-
echo "✅ Refreshed reminder issue #${EXISTING}"
|
|
95
|
-
else
|
|
96
|
-
gh issue create --repo "$GITHUB_REPOSITORY" --title "$TITLE" --body-file /tmp/reminder.md
|
|
97
|
-
echo "✅ Opened catalog-submission reminder issue"
|
|
98
|
-
fi
|
|
84
|
+
bash .github/scripts/upsert-catalog-reminder.sh "$VERSION" /tmp/reminder.md
|
|
99
85
|
|
|
100
86
|
- name: Write run summary
|
|
101
87
|
run: |
|
|
@@ -5743,6 +5743,44 @@
|
|
|
5743
5743
|
],
|
|
5744
5744
|
"occurrences": 1,
|
|
5745
5745
|
"last_seen": "2026-09-15T02:18:57.000Z"
|
|
5746
|
+
},
|
|
5747
|
+
{
|
|
5748
|
+
"id": "bug-347",
|
|
5749
|
+
"timestamp": "2026-09-15T02:37:35.000Z",
|
|
5750
|
+
"error_message": "Repository-token native auto-merge completed release PR #383 but its package.json push did not start release.yml",
|
|
5751
|
+
"file": ".github/workflows/scheduled-release.yml; .github/workflows/release.yml",
|
|
5752
|
+
"root_cause": "GitHub treated the native merge armed by GITHUB_TOKEN as repository-token-originated activity and suppressed the downstream push workflow",
|
|
5753
|
+
"fix": "Keep the scheduler alive for a bounded merge wait and dispatch publication explicitly, with an hourly tag-driven release sweep for approvals after that window and interrupted publication",
|
|
5754
|
+
"tags": [
|
|
5755
|
+
"release",
|
|
5756
|
+
"github-token",
|
|
5757
|
+
"native-auto-merge",
|
|
5758
|
+
"workflow-recursion",
|
|
5759
|
+
"recovery"
|
|
5760
|
+
],
|
|
5761
|
+
"related_bugs": [
|
|
5762
|
+
"bug-346"
|
|
5763
|
+
],
|
|
5764
|
+
"occurrences": 1,
|
|
5765
|
+
"last_seen": "2026-09-15T02:37:35.000Z"
|
|
5766
|
+
},
|
|
5767
|
+
{
|
|
5768
|
+
"id": "bug-348",
|
|
5769
|
+
"timestamp": "2026-09-15T03:05:00.000Z",
|
|
5770
|
+
"error_message": "Each successful release opened another version-specific Spec Kit catalog reminder and left all prior reminders open",
|
|
5771
|
+
"file": ".github/workflows/release.yml; .github/workflows/sync-speckit-catalog.yml; .github/scripts/upsert-catalog-reminder.sh",
|
|
5772
|
+
"root_cause": "Both workflows searched only for an open issue containing the current release version, so the documented refresh path could never find a reminder from an earlier version",
|
|
5773
|
+
"fix": "Route both workflows through one tested helper that refreshes the newest open DocGuard catalog reminder and closes every older matching reminder as superseded",
|
|
5774
|
+
"tags": [
|
|
5775
|
+
"release",
|
|
5776
|
+
"catalog",
|
|
5777
|
+
"github-issues",
|
|
5778
|
+
"idempotency",
|
|
5779
|
+
"cleanup"
|
|
5780
|
+
],
|
|
5781
|
+
"related_bugs": [],
|
|
5782
|
+
"occurrences": 5,
|
|
5783
|
+
"last_seen": "2026-09-15T03:05:00.000Z"
|
|
5746
5784
|
}
|
|
5747
5785
|
]
|
|
5748
5786
|
}
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
- **2026-09-14** — Never treat a Git object ID as durable recovery by itself; unreachable commits and blobs can be garbage-collected after squash merges or branch deletion. Require the source revision to be an ancestor of a recorded retention ref and report recoverability explicitly.
|
|
79
79
|
- **2026-09-14** — Never count a bare requirement ID as feature-completion evidence. Once the original spec is retired, a formerly ambiguous `FR-012` can become unique and silently rebind to another feature. Feature gates require a qualified stable identity; retired identities remain tombstoned.
|
|
80
80
|
- **2026-09-14** — A document retirement command must reject source files, submodules, untracked/ignored leftovers, dirty evidence, and live links before mutation. `Completed` artifact maturity does not authorize removal, especially when the Spec Kit Archive extension intentionally retains completed feature files.
|
|
81
|
-
- **2026-09-14** — Protected scheduled releases can avoid a persistent credential, but GitHub requires one maintainer approval for workflows on a PR created by `GITHUB_TOKEN`. Dispatched jobs do not satisfy required pull-request checks,
|
|
81
|
+
- **2026-09-14** — Protected scheduled releases can avoid a persistent credential, but GitHub requires one maintainer approval for workflows on a PR created by `GITHUB_TOKEN`. Dispatched jobs do not satisfy required pull-request checks, approving an `action_required` run does not emit a second `workflow_run` completion, and a native merge armed by the repository token suppresses downstream push workflows. Validate the candidate in the trusted scheduler before push, arm native auto-merge only where required checks exist, wait briefly to dispatch publication after merge, and run an hourly tag-driven recovery for later approvals. Retain failed release attempts as evidence and close their generated PRs and branches.
|
|
82
82
|
|
|
83
83
|
- **2026-07-15** — `docguard ci` was silently routed through `runInit --with ci` since v0.20: the pipeline gate scaffolded missing docs into the workspace and corrupted `--format json` stdout with init chrome (bug-228). Un-deprecated in v0.33 (direct runCI dispatch). Lesson: when a command is deprecated-with-routing, verify the ROUTE preserves the command's contract (read-only? machine stdout?) — a passing test suite didn't catch it because the consolidation test only asserted the warning text, not the side effects.
|
|
84
84
|
- **2026-07-03** — Adding a machine output format to a command is TWO changes, not one: the format branch in the command AND the dispatcher's `jsonMode` gate (docguard.mjs ~line 515). `guard --format sarif` initially emitted the banner + ensureSkills chrome INTO the SARIF stream because `jsonMode` only recognized `'json'` — caught by the spawn test's no-ANSI assertion before ship. Any future format (`junit`, `csv`, …) must join that gate or stdout is corrupted for parsers. Same class as the READ_ONLY_COMMANDS gotcha (learning #17).
|
|
@@ -7,6 +7,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.40.4] - 2026-09-15
|
|
11
|
+
|
|
12
|
+
Automated weekly release — batches everything merged since `v0.40.3`.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- fix: consolidate catalog reminders (#390)
|
|
17
|
+
- docs: finalize durable R8 outcome (#389)
|
|
18
|
+
- docs: close R8 release verification (#388)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Reuse one open Spec Kit catalog reminder across releases and close older
|
|
24
|
+
reminders as superseded, preventing the release workflow from accumulating a
|
|
25
|
+
stale version-specific issue queue.
|
|
26
|
+
- Close the R8 living release contract with exact v0.40.3 evidence: the
|
|
27
|
+
repository-token release PR armed protected native auto-merge, passed the
|
|
28
|
+
approved CI and supply-chain checks, merged automatically, and triggered the
|
|
29
|
+
complete npm, PyPI, GHCR, GitHub Release, extension, MCPB, and catalog flow
|
|
30
|
+
through the scheduler's bounded continuation.
|
|
31
|
+
|
|
32
|
+
## [0.40.3] - 2026-09-15
|
|
33
|
+
|
|
34
|
+
Automated weekly release — batches everything merged since `v0.40.2`.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- fix: recover tokenless release publication (#385)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
|
|
43
|
+
- Add an hourly tag-driven release recovery sweep. Already tagged versions stop
|
|
44
|
+
after detection, while a merged but unpublished package version enters the
|
|
45
|
+
existing serialized test, tag, and registry publication transaction.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
|
|
49
|
+
- Keep the scheduled release job alive for a bounded ten-minute approval window
|
|
50
|
+
and dispatch publication once native auto-merge completes. This covers the
|
|
51
|
+
normal operator flow without a persistent credential or an always-on poller.
|
|
52
|
+
- Stop relying on the `package.json` push from a native auto-merge armed by
|
|
53
|
+
`GITHUB_TOKEN`; GitHub suppresses downstream push workflows for that merge.
|
|
54
|
+
|
|
10
55
|
## [0.40.2] - 2026-09-15
|
|
11
56
|
|
|
12
57
|
Automated weekly release — batches everything merged since `v0.40.1`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: docguard-cli
|
|
3
|
-
Version: 0.40.
|
|
3
|
+
Version: 0.40.4
|
|
4
4
|
Summary: The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project documentation. No Python dependencies (requires Node.js 18+).
|
|
5
5
|
Project-URL: Homepage, https://github.com/raccioly/docguard
|
|
6
6
|
Project-URL: Documentation, https://github.com/raccioly/docguard#readme
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# DocGuard Roadmap
|
|
2
2
|
|
|
3
|
-
<!-- docguard:last-reviewed 2026-09-
|
|
3
|
+
<!-- docguard:last-reviewed 2026-09-15 -->
|
|
4
4
|
|
|
5
5
|
This file contains current product intent only. Released work belongs in
|
|
6
6
|
`CHANGELOG.md`; implementation history remains recoverable from Git. Completed or
|
|
@@ -19,8 +19,7 @@ ideas below are research candidates rather than unfinished commitments.
|
|
|
19
19
|
|
|
20
20
|
## Delivered roadmap
|
|
21
21
|
|
|
22
|
-
R1–R8 are implemented
|
|
23
|
-
on `main` and will ship with the next substantive release. The maintained living
|
|
22
|
+
R1–R8 are implemented, evidence-reviewed, and released. The maintained living
|
|
24
23
|
specifications remain current verification contracts; historical implementation
|
|
25
24
|
plans are recoverable from Git and do not create a second source of truth.
|
|
26
25
|
|
|
@@ -216,7 +215,7 @@ Node 18, 20, 22, and 24. Packed-package tests run task context without the
|
|
|
216
215
|
optional parser, and the independent detector corpus remains regression-free
|
|
217
216
|
across 24 evaluable cases plus one explicit unsupported case.
|
|
218
217
|
|
|
219
|
-
### R8 — Tokenless scheduled releases (
|
|
218
|
+
### R8 — Tokenless scheduled releases (released in v0.40.3)
|
|
220
219
|
|
|
221
220
|
Governing spec: `specs/011-tokenless-scheduled-releases/spec.md`.
|
|
222
221
|
|
|
@@ -235,8 +234,8 @@ a missing tag before another version increment.
|
|
|
235
234
|
no accepted deviations.
|
|
236
235
|
- [x] Publish v0.40.1 through release PR #380 and verify npm, PyPI, GHCR, GitHub
|
|
237
236
|
release assets, and the Spec Kit catalog reminder.
|
|
238
|
-
- [
|
|
239
|
-
|
|
237
|
+
- [x] Verify the corrected repository-token native auto-merge continuation on
|
|
238
|
+
v0.40.3 and retain exact evidence.
|
|
240
239
|
|
|
241
240
|
The retained live probe used CI run `34912654565` and privileged gate run
|
|
242
241
|
`34912788971`. All Node 18, 20, 22, and 24 jobs passed. The trusted gate
|
|
@@ -247,8 +246,18 @@ evidence landed through pull requests #371, #373, and #374.
|
|
|
247
246
|
Release PR #380 passed CI run `34920481989` and supply-chain run `34920482409`,
|
|
248
247
|
merged at `5b2dfe4`, and published v0.40.1 in run `34920702346`. That run also
|
|
249
248
|
proved the final GitHub boundary: approving the held workflow does not emit a
|
|
250
|
-
second `workflow_run` completion.
|
|
251
|
-
|
|
249
|
+
second `workflow_run` completion. Release PR #383 proved the repository token
|
|
250
|
+
can arm native auto-merge and GitHub can merge after approved checks, while its
|
|
251
|
+
bot-originated push proved publication needs an explicit continuation.
|
|
252
|
+
|
|
253
|
+
Scheduled run `34922506777` created repository-token release PR #386 and armed
|
|
254
|
+
native auto-merge. After one maintainer approval, CI run `34922605581` and
|
|
255
|
+
supply-chain run `34922605917` passed; GitHub merged the exact head at
|
|
256
|
+
`e27d6bf0203708ee8206a1434eb292520f4c4494`. The bounded scheduler wait then
|
|
257
|
+
dispatched publication run `34922784629`, which passed the four-runtime matrix,
|
|
258
|
+
self-guard, npm, PyPI, GHCR, GitHub Release, extension ZIP, MCPB, and catalog
|
|
259
|
+
reminder jobs. The published npm and PyPI versions and GitHub tag all resolve to
|
|
260
|
+
v0.40.3, completing R8 without a stored release credential.
|
|
252
261
|
|
|
253
262
|
## Contribution standard
|
|
254
263
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CI Recipes
|
|
2
2
|
|
|
3
|
-
<!-- docguard:last-reviewed 2026-09-
|
|
3
|
+
<!-- docguard:last-reviewed 2026-09-15 -->
|
|
4
4
|
<!-- docguard:status active -->
|
|
5
5
|
|
|
6
6
|
## Recipe 1 — Guard (mandatory CI gate)
|
|
@@ -62,18 +62,37 @@ Before the branch is pushed, the trusted scheduler validates the base repository
|
|
|
62
62
|
bot author, branch/title/version agreement, next-version increment, synchronized
|
|
63
63
|
package surfaces, and changed-file allowlist. It then arms GitHub's native squash
|
|
64
64
|
auto-merge. Native auto-merge remains blocked by the four required checks, binds
|
|
65
|
-
eligibility to the current PR head, and resets when that head changes. The
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
eligibility to the current PR head, and resets when that head changes. The
|
|
66
|
+
scheduler waits up to ten minutes for the merge and then dispatches the
|
|
67
|
+
idempotent release workflow. An hourly tag-driven release sweep covers approvals
|
|
68
|
+
that happen after this bounded wait; tagged versions exit after the small detect
|
|
69
|
+
job. If publication is interrupted, either the hourly sweep or the next release
|
|
70
|
+
schedule sees the current package version without a tag and retries publication
|
|
71
|
+
before considering another bump. An orphaned release branch fails closed; an
|
|
72
|
+
existing open release PR is reused and has auto-merge re-armed.
|
|
70
73
|
|
|
71
74
|
Do not use a post-approval `workflow_run` listener as the release continuation.
|
|
72
75
|
The approval-required completion is the event that listener observes; approving
|
|
73
76
|
the held run executes its jobs without producing a second completion event for
|
|
74
77
|
the listener. Release PR #380 demonstrated this boundary while publishing
|
|
75
|
-
v0.40.1.
|
|
76
|
-
|
|
78
|
+
v0.40.1. Release PR #383 then proved repository-token native auto-merge, while
|
|
79
|
+
also proving that its resulting push is recursion-suppressed and cannot be the
|
|
80
|
+
sole publication trigger. The bounded wait handles the normal approval path; the
|
|
81
|
+
hourly tag sweep supplies durable recovery without continuous polling or another
|
|
82
|
+
credential.
|
|
83
|
+
|
|
84
|
+
The v0.40.3 release is the retained end-to-end proof. Scheduled run
|
|
85
|
+
`34922506777` opened repository-token PR #386 and armed native auto-merge. After
|
|
86
|
+
one maintainer workflow approval, CI run `34922605581` and supply-chain run
|
|
87
|
+
`34922605917` passed, GitHub merged
|
|
88
|
+
`e27d6bf0203708ee8206a1434eb292520f4c4494`, and the bounded wait dispatched
|
|
89
|
+
publication run `34922784629`. That run published npm, PyPI, GHCR, the GitHub
|
|
90
|
+
Release, extension ZIP, and MCPB and refreshed the catalog reminder.
|
|
91
|
+
|
|
92
|
+
Catalog submission remains an explicit human action. The release and manual
|
|
93
|
+
catalog workflows maintain one open reminder in this repository: each run
|
|
94
|
+
refreshes the newest matching issue to the current version and closes older
|
|
95
|
+
matching reminders as superseded.
|
|
77
96
|
|
|
78
97
|
## Recipe 3b — Spec completion and post-hoc reconciliation
|
|
79
98
|
|
|
@@ -3,7 +3,7 @@ schema_version: "1.0"
|
|
|
3
3
|
extension:
|
|
4
4
|
id: "docguard"
|
|
5
5
|
name: "DocGuard — CDD Enforcement"
|
|
6
|
-
version: "0.40.
|
|
6
|
+
version: "0.40.4"
|
|
7
7
|
description: "Canonical-Driven Development enforcement as a true spec-kit extension. LLM-first design with automated validators, 5 AI behavior skills, spec-kit skill chaining, and workflow hooks. One pinned runtime dependency (@babel/parser); pure Node.js otherwise."
|
|
8
8
|
author: "Ricardo Accioly"
|
|
9
9
|
repository: "https://github.com/raccioly/docguard"
|
|
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.4 -->
|
|
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.
|
|
10
|
+
version: 0.40.4
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.40.
|
|
13
|
+
<!-- docguard:version: 0.40.4 -->
|
|
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.
|
|
9
|
+
version: 0.40.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.4 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Review Skill
|
|
15
15
|
|