docguard-cli 0.40.0__tar.gz → 0.40.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.1/.agent}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.1/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.1/.agent}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguard-specs.json +194 -3
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/auto-merge.yml +100 -32
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/release.yml +4 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/scheduled-release.yml +44 -30
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/buglog.json +93 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/cerebrum.md +1 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CHANGELOG.md +61 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/PKG-INFO +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/ROADMAP.md +32 -1
- docguard_cli-0.40.1/cli/release-pr-policy.mjs +107 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/CI-RECIPES.md +19 -11
- docguard_cli-0.40.1/examples/02-python-flask/requirements.txt +1 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/extension.yml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.40.0/.agent → docguard_cli-0.40.1/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.40.0/.agent → docguard_cli-0.40.1/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.40.0/.agent → docguard_cli-0.40.1/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/package-lock.json +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/package.json +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/pyproject.toml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/server.json +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/006-document-lifecycle/tasks.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/plan.md +3 -3
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/plan.md +2 -0
- docguard_cli-0.40.1/specs/011-tokenless-scheduled-releases/plan.md +65 -0
- docguard_cli-0.40.1/specs/011-tokenless-scheduled-releases/spec.md +107 -0
- docguard_cli-0.40.1/specs/011-tokenless-scheduled-releases/tasks.md +36 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ci/github-actions.yml +1 -1
- docguard_cli-0.40.1/tests/fixtures/release-workflow-probe.json +32 -0
- docguard_cli-0.40.1/tests/scheduled-release.test.mjs +175 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-git.test.mjs +10 -6
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/workflow-action-pins.test.mjs +8 -0
- docguard_cli-0.40.0/examples/02-python-flask/requirements.txt +0 -1
- docguard_cli-0.40.0/tests/scheduled-release.test.mjs +0 -51
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/architect.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.claude/settings.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguard-archive.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.docguardignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/dependabot.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/scripts/speckit-submission.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/scripts/sync-release-version.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/jules-triage.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.github/workflows/sync-speckit-catalog.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules/bolt.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules/palette.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules/sentinel.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.jules-setup.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.npmignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.npmrc +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.pre-commit-hooks.yaml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/init-options.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/OPENWOLF.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/anatomy.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/config.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/cron-manifest.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/cron-state.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/daemon.log +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/designqc-report.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/_session.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/_wrap_up_nudged +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/post-read.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/post-write.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/pre-read.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/pre-write.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/session-start.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/shared.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/hooks/stop.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/identity.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/memory.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/reframe-frameworks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/suggestions.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/.wolf/token-ledger.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CLAUDE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/COMPARISONS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/Dockerfile +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/LICENSE +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/PRIVACY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/README.es.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/README.pt-BR.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/STANDARD.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/SUPPORT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/VALIDATION.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/action.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/bin/docguard +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/demo.gif +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/demo.tape +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/manifest.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/results/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/results/observed-v1.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/agent-context/run.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/baseline.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/corpus.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/go-todo-control/app.go +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/js-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-security-control/app.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-unsupported/app.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/ts-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/compare.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/manifest.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/metrics.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/lib/runner.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/benchmarks/run.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/guard.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/hooks.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/mcp.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/reconcile.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/report.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/retire.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/specs.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/trace.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/verify.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/config.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/docguard.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/adapters.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/evaluate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/manifest.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/evidence/markdown.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/feedback-fixture.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/findings.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/repository-root.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/document-lifecycle.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/instruction-audit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/lifecycle-context.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/reconciliation.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/requirement-evidence.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/retirement-manifest.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/spec-registry.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/scanners/task-context.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-diff.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-doc-roles.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-git.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-ignore.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-ir.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-requirements.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-sync-scope.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/shared.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validator-coverage.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/api-doc-smells.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/canonical-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/diff-suspicion.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/document-lifecycle.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/evidence.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/reference-existence.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/spec-registry.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/baseline.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/file-transaction.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/generate-io.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/history.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/junit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/cli/writers/spec-outcomes.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/commands/docguard.score.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/fastify.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/generic.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/nextjs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/configs/python.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/ai-integration.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/commands.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/configuration.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/doc-sections.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/faq.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/installation.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/profiles.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs/quickstart.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/examples/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/brief.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/complete.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/glama.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/llms-full.txt +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/llms.txt +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/mcpb/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/mcpb/manifest.template.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/packaging/homebrew/docguard.rb +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/packaging/submissions.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-agent-context-result.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-benchmark.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-config.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-evidence.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-feedback-fixture.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-specs.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/schemas/docguard-task-context.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/smithery.yaml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/006-document-lifecycle/plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/006-document-lifecycle/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/007-precision-evidence-loop/plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/007-precision-evidence-loop/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/007-precision-evidence-loop/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/research.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/008-evidence-scoped-verification/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/research.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/009-language-repository-coverage/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/research.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/specs/010-task-specific-agent-context/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ADR.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/ci/gitlab-component.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/evidence-manifest.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/templates/feedback-fixture.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent-context-benchmark.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent-evidence.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agents-check-readonly.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agents-command.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-authority-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-doc-smells.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/archive.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/badge.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/baseline.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/benchmark-manifest.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/benchmark-metrics.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/benchmark-runner.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/canonical-docs-nested.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/canonical-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/catalog-submission.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/check-coverage.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/ci-reproducibility.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/ci-scaffolder.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/diagnose-review-guidance.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/diff-suspicion.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-role-boundaries.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-role-mapping.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-coverage-scope.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/document-lifecycle.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/ensure-skills-idempotent.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/evidence-adapters.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/evidence-integration.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/evidence-manifest.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/feedback-contributions.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/feedback-fixture.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-context-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-diff-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-report-3.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/field-review-clarity.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/file-transaction.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/generate-io.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/history.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/hooks-contract.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/hooks.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/instruction-audit.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/junit.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mapped-writers.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mcp-http.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/metrics-dedup.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/nudge-hook.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/python-import-graph.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/reconcile.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/reference-existence.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/release-version-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/report.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/repository-root.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/requirement-scope.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/route-field-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/routes-nextjs-app-router.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schema-sync-scope.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/score-assurance.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/security.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-diff.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-ignore-functions.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-ir.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/spec-completion.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/spec-kit-helper-json.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/spec-registry.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/speckit-phantom.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/task-context.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/trace-features.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/traceability-fixtures.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/traceability-ir.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/verify-change-context.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/watch-reliability.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/whats-new.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.1}/tests/worker-python-capability.test.mjs +0 -0
|
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.1
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.1 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Fix Skill
|
|
15
15
|
|
|
@@ -7,10 +7,10 @@ description: Run DocGuard guard validation against Canonical-Driven Development
|
|
|
7
7
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
8
8
|
metadata:
|
|
9
9
|
author: docguard
|
|
10
|
-
version: 0.40.
|
|
10
|
+
version: 0.40.1
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.40.
|
|
13
|
+
<!-- docguard:version: 0.40.1 -->
|
|
14
14
|
|
|
15
15
|
# DocGuard Guard Skill
|
|
16
16
|
|
|
@@ -6,10 +6,10 @@ description: Cross-document consistency analysis and quality assessment. Perform
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.1
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.1 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Review Skill
|
|
15
15
|
|
|
@@ -6,10 +6,10 @@ description: CDD maturity assessment with category-aware improvement roadmap. Ru
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.1
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.1 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Score Skill
|
|
15
15
|
|
|
@@ -4,10 +4,10 @@ description: Keep canonical documentation ALWAYS UP TO DATE. Refreshes code-trut
|
|
|
4
4
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
5
5
|
metadata:
|
|
6
6
|
author: docguard
|
|
7
|
-
version: 0.40.
|
|
7
|
+
version: 0.40.1
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.40.
|
|
10
|
+
<!-- docguard:version: 0.40.1 -->
|
|
11
11
|
|
|
12
12
|
# DocGuard Sync Skill
|
|
13
13
|
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
},
|
|
181
181
|
{
|
|
182
182
|
"path": "specs/006-document-lifecycle/tasks.md",
|
|
183
|
-
"digest": "sha256:
|
|
183
|
+
"digest": "sha256:a53716e90ad72020860a378a05dddb399bacd7f3126ff53bf98a95d042fcbeed"
|
|
184
184
|
}
|
|
185
185
|
],
|
|
186
186
|
"taskCompletion": {
|
|
@@ -953,7 +953,7 @@
|
|
|
953
953
|
},
|
|
954
954
|
{
|
|
955
955
|
"path": "specs/009-language-repository-coverage/plan.md",
|
|
956
|
-
"digest": "sha256:
|
|
956
|
+
"digest": "sha256:a843cdac74fd5405e2bc5029d5a710e6b841cc615ab2cb97706d2e67cbe3885e"
|
|
957
957
|
},
|
|
958
958
|
{
|
|
959
959
|
"path": "specs/009-language-repository-coverage/tasks.md",
|
|
@@ -1803,7 +1803,7 @@
|
|
|
1803
1803
|
},
|
|
1804
1804
|
{
|
|
1805
1805
|
"path": "specs/010-task-specific-agent-context/plan.md",
|
|
1806
|
-
"digest": "sha256:
|
|
1806
|
+
"digest": "sha256:9eae19f760f1ff5a6fffd2d2817b4afb202bedaed03cff291896d8a1faafccc5"
|
|
1807
1807
|
},
|
|
1808
1808
|
{
|
|
1809
1809
|
"path": "specs/010-task-specific-agent-context/tasks.md",
|
|
@@ -2004,6 +2004,197 @@
|
|
|
2004
2004
|
}
|
|
2005
2005
|
]
|
|
2006
2006
|
}
|
|
2007
|
+
},
|
|
2008
|
+
{
|
|
2009
|
+
"specId": "docguard.tokenless-scheduled-releases",
|
|
2010
|
+
"path": "specs/011-tokenless-scheduled-releases/spec.md",
|
|
2011
|
+
"reviewed": {
|
|
2012
|
+
"lifecycle": {
|
|
2013
|
+
"approval": "approved",
|
|
2014
|
+
"delivery": "verified",
|
|
2015
|
+
"context": "current",
|
|
2016
|
+
"retirementReason": null,
|
|
2017
|
+
"storage": "working_tree",
|
|
2018
|
+
"persistenceModel": "living"
|
|
2019
|
+
},
|
|
2020
|
+
"relations": {
|
|
2021
|
+
"extends": [],
|
|
2022
|
+
"duplicates": [],
|
|
2023
|
+
"conflictsWith": [],
|
|
2024
|
+
"supersedes": [],
|
|
2025
|
+
"supersededBy": []
|
|
2026
|
+
},
|
|
2027
|
+
"scope": {
|
|
2028
|
+
"canonicalDocs": [
|
|
2029
|
+
"docs-canonical/CI-RECIPES.md"
|
|
2030
|
+
]
|
|
2031
|
+
},
|
|
2032
|
+
"reconciliation": {
|
|
2033
|
+
"lastReviewedRevision": "46531e4918f9479b81ffb52e6e27c24b533575da",
|
|
2034
|
+
"outcomes": [
|
|
2035
|
+
{
|
|
2036
|
+
"revision": "46531e4918f9479b81ffb52e6e27c24b533575da",
|
|
2037
|
+
"reason": "Reviewed tokenless scheduled-release policy, exact-run gates, missing-tag recovery, Node 18/20/22/24 CI, supply-chain scan, live dispatch-chain refusal probe, and durable evidence approval with no accepted deviations.",
|
|
2038
|
+
"evidence": [
|
|
2039
|
+
"cli/release-pr-policy.mjs",
|
|
2040
|
+
"docs-canonical/CI-RECIPES.md",
|
|
2041
|
+
"tests/scheduled-release.test.mjs"
|
|
2042
|
+
],
|
|
2043
|
+
"deviations": [],
|
|
2044
|
+
"successor": null
|
|
2045
|
+
}
|
|
2046
|
+
]
|
|
2047
|
+
}
|
|
2048
|
+
},
|
|
2049
|
+
"intent": {
|
|
2050
|
+
"requirements": [
|
|
2051
|
+
"docguard.tokenless-scheduled-releases#FR-001",
|
|
2052
|
+
"docguard.tokenless-scheduled-releases#FR-002",
|
|
2053
|
+
"docguard.tokenless-scheduled-releases#FR-003",
|
|
2054
|
+
"docguard.tokenless-scheduled-releases#FR-004",
|
|
2055
|
+
"docguard.tokenless-scheduled-releases#FR-005",
|
|
2056
|
+
"docguard.tokenless-scheduled-releases#FR-006",
|
|
2057
|
+
"docguard.tokenless-scheduled-releases#FR-007",
|
|
2058
|
+
"docguard.tokenless-scheduled-releases#FR-008",
|
|
2059
|
+
"docguard.tokenless-scheduled-releases#FR-009",
|
|
2060
|
+
"docguard.tokenless-scheduled-releases#FR-010",
|
|
2061
|
+
"docguard.tokenless-scheduled-releases#FR-011",
|
|
2062
|
+
"docguard.tokenless-scheduled-releases#FR-012",
|
|
2063
|
+
"docguard.tokenless-scheduled-releases#SC-001",
|
|
2064
|
+
"docguard.tokenless-scheduled-releases#SC-002",
|
|
2065
|
+
"docguard.tokenless-scheduled-releases#SC-003",
|
|
2066
|
+
"docguard.tokenless-scheduled-releases#SC-004"
|
|
2067
|
+
]
|
|
2068
|
+
},
|
|
2069
|
+
"observed": {
|
|
2070
|
+
"artifacts": [
|
|
2071
|
+
{
|
|
2072
|
+
"path": "specs/011-tokenless-scheduled-releases/spec.md",
|
|
2073
|
+
"digest": "sha256:c62dbe1182cf3a6e94ec8a1e1d4b6c2fce7adba57233d11a679d699634228cd5"
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
"path": "specs/011-tokenless-scheduled-releases/plan.md",
|
|
2077
|
+
"digest": "sha256:1e52fed9a92d0bbf3e6d639bf60e434b8b2b906c43d080143cbcee653a9e4772"
|
|
2078
|
+
},
|
|
2079
|
+
{
|
|
2080
|
+
"path": "specs/011-tokenless-scheduled-releases/tasks.md",
|
|
2081
|
+
"digest": "sha256:38734825899c685dfbb7346d8b15c626900399b3756ea33598aeff9adc80012a"
|
|
2082
|
+
}
|
|
2083
|
+
],
|
|
2084
|
+
"taskCompletion": {
|
|
2085
|
+
"checked": 12,
|
|
2086
|
+
"total": 13
|
|
2087
|
+
},
|
|
2088
|
+
"implementationEvidence": [
|
|
2089
|
+
{
|
|
2090
|
+
"requirementId": "FR-005",
|
|
2091
|
+
"file": "cli/release-pr-policy.mjs",
|
|
2092
|
+
"line": 4
|
|
2093
|
+
},
|
|
2094
|
+
{
|
|
2095
|
+
"requirementId": "FR-006",
|
|
2096
|
+
"file": "cli/release-pr-policy.mjs",
|
|
2097
|
+
"line": 5
|
|
2098
|
+
},
|
|
2099
|
+
{
|
|
2100
|
+
"requirementId": "FR-007",
|
|
2101
|
+
"file": "cli/release-pr-policy.mjs",
|
|
2102
|
+
"line": 6
|
|
2103
|
+
},
|
|
2104
|
+
{
|
|
2105
|
+
"requirementId": "FR-008",
|
|
2106
|
+
"file": "cli/release-pr-policy.mjs",
|
|
2107
|
+
"line": 7
|
|
2108
|
+
},
|
|
2109
|
+
{
|
|
2110
|
+
"requirementId": "FR-011",
|
|
2111
|
+
"file": "cli/release-pr-policy.mjs",
|
|
2112
|
+
"line": 8
|
|
2113
|
+
}
|
|
2114
|
+
],
|
|
2115
|
+
"testEvidence": [
|
|
2116
|
+
{
|
|
2117
|
+
"requirementId": "FR-001",
|
|
2118
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2119
|
+
"line": 11
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
"requirementId": "FR-002",
|
|
2123
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2124
|
+
"line": 12
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
"requirementId": "FR-003",
|
|
2128
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2129
|
+
"line": 13
|
|
2130
|
+
},
|
|
2131
|
+
{
|
|
2132
|
+
"requirementId": "FR-004",
|
|
2133
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2134
|
+
"line": 14
|
|
2135
|
+
},
|
|
2136
|
+
{
|
|
2137
|
+
"requirementId": "FR-005",
|
|
2138
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2139
|
+
"line": 15
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
"requirementId": "FR-006",
|
|
2143
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2144
|
+
"line": 16
|
|
2145
|
+
},
|
|
2146
|
+
{
|
|
2147
|
+
"requirementId": "FR-007",
|
|
2148
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2149
|
+
"line": 17
|
|
2150
|
+
},
|
|
2151
|
+
{
|
|
2152
|
+
"requirementId": "FR-008",
|
|
2153
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2154
|
+
"line": 18
|
|
2155
|
+
},
|
|
2156
|
+
{
|
|
2157
|
+
"requirementId": "FR-009",
|
|
2158
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2159
|
+
"line": 19
|
|
2160
|
+
},
|
|
2161
|
+
{
|
|
2162
|
+
"requirementId": "FR-010",
|
|
2163
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2164
|
+
"line": 20
|
|
2165
|
+
},
|
|
2166
|
+
{
|
|
2167
|
+
"requirementId": "FR-011",
|
|
2168
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2169
|
+
"line": 21
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"requirementId": "FR-012",
|
|
2173
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2174
|
+
"line": 22
|
|
2175
|
+
},
|
|
2176
|
+
{
|
|
2177
|
+
"requirementId": "SC-001",
|
|
2178
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2179
|
+
"line": 23
|
|
2180
|
+
},
|
|
2181
|
+
{
|
|
2182
|
+
"requirementId": "SC-002",
|
|
2183
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2184
|
+
"line": 24
|
|
2185
|
+
},
|
|
2186
|
+
{
|
|
2187
|
+
"requirementId": "SC-003",
|
|
2188
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2189
|
+
"line": 25
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"requirementId": "SC-004",
|
|
2193
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2194
|
+
"line": 26
|
|
2195
|
+
}
|
|
2196
|
+
]
|
|
2197
|
+
}
|
|
2007
2198
|
}
|
|
2008
2199
|
],
|
|
2009
2200
|
"tombstones": [
|
|
@@ -10,15 +10,18 @@ name: Auto-merge (green bot PRs)
|
|
|
10
10
|
# the head SHA, re-verifies every matrix leg via the API, and merges itself.
|
|
11
11
|
# No repo settings required, and it is fail-closed: anything unexpected → skip.
|
|
12
12
|
#
|
|
13
|
-
# SECURITY: workflow_run runs in the BASE repo context with write scope
|
|
14
|
-
#
|
|
15
|
-
#
|
|
13
|
+
# SECURITY: workflow_run runs in the BASE repo context with write scope. It
|
|
14
|
+
# checks out only the default branch policy with persisted credentials disabled,
|
|
15
|
+
# then reads PR metadata and candidate files as inert API data. It never checks
|
|
16
|
+
# out or executes PR code.
|
|
16
17
|
#
|
|
17
18
|
# WHAT AUTO-MERGES:
|
|
18
19
|
# - dependabot: patch + minor only. Majors NEVER (v0.34.1 shipped a Node-18
|
|
19
20
|
# break from an auto-accepted @babel/parser major; bug-255).
|
|
20
21
|
# - jules: test-only and docs-only changes. Anything touching cli/ logic,
|
|
21
22
|
# .github/, or package.json is labeled and left for a human.
|
|
23
|
+
# - release: exact scheduler-owned next-version surfaces after a maintainer
|
|
24
|
+
# approves the repository-token PR's ordinary pull-request CI.
|
|
22
25
|
|
|
23
26
|
on:
|
|
24
27
|
workflow_run:
|
|
@@ -26,20 +29,28 @@ on:
|
|
|
26
29
|
types: [completed]
|
|
27
30
|
|
|
28
31
|
permissions:
|
|
32
|
+
actions: write
|
|
29
33
|
contents: write
|
|
30
34
|
pull-requests: write
|
|
31
35
|
checks: read
|
|
32
|
-
actions: read
|
|
33
36
|
|
|
34
37
|
jobs:
|
|
35
38
|
auto-merge:
|
|
36
|
-
if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
|
|
39
|
+
if: github.event.workflow_run.conclusion == 'success' && (github.event.workflow_run.event == 'pull_request' || github.event.workflow_run.event == 'workflow_dispatch')
|
|
37
40
|
runs-on: ubuntu-latest
|
|
38
41
|
steps:
|
|
42
|
+
- name: Check out trusted release policy
|
|
43
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
44
|
+
with:
|
|
45
|
+
ref: ${{ github.event.repository.default_branch }}
|
|
46
|
+
persist-credentials: false
|
|
47
|
+
|
|
39
48
|
- name: Evaluate and merge if safe
|
|
40
49
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
|
41
50
|
with:
|
|
42
51
|
script: |
|
|
52
|
+
const policyPath = process.env.GITHUB_WORKSPACE + '/cli/release-pr-policy.mjs';
|
|
53
|
+
const { evaluateReleaseCandidate, evaluateReleaseJobs } = await import(policyPath);
|
|
43
54
|
const owner = context.repo.owner;
|
|
44
55
|
const repo = context.repo.repo;
|
|
45
56
|
const run = context.payload.workflow_run;
|
|
@@ -56,10 +67,14 @@ jobs:
|
|
|
56
67
|
|
|
57
68
|
const BOT_DEPENDABOT = 'dependabot[bot]';
|
|
58
69
|
const BOT_JULES = 'google-labs-jules[bot]';
|
|
59
|
-
const
|
|
70
|
+
const releaseShape = pr.head.repo.full_name === `${owner}/${repo}` &&
|
|
60
71
|
/^release\/v\d+\.\d+\.\d+$/.test(pr.head.ref || '') &&
|
|
61
72
|
/^release: v\d+\.\d+\.\d+ — automated weekly batch$/.test(pr.title || '');
|
|
62
|
-
if (
|
|
73
|
+
if (run.event === 'workflow_dispatch' && !releaseShape) {
|
|
74
|
+
core.info(`#${num} is not a release PR — dispatched recovery CI cannot auto-merge it.`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (![BOT_DEPENDABOT, BOT_JULES].includes(author) && !releaseShape) {
|
|
63
78
|
core.info(`#${num} authored by ${author} (not a handled bot) — leaving alone.`);
|
|
64
79
|
return;
|
|
65
80
|
}
|
|
@@ -75,21 +90,17 @@ jobs:
|
|
|
75
90
|
core.notice(`#${num} held: ${why}`);
|
|
76
91
|
};
|
|
77
92
|
|
|
78
|
-
// ── Re-verify
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
owner, repo, ref: headSha, per_page: 100,
|
|
83
|
-
});
|
|
84
|
-
const REQUIRED = ['test (18)', 'test (20)', 'test (22)', 'test (24)'];
|
|
85
|
-
const bad = [];
|
|
86
|
-
for (const name of REQUIRED) {
|
|
87
|
-
const c = checks.check_runs.find((r) => r.name === name);
|
|
88
|
-
if (!c) bad.push(`${name}: missing`);
|
|
89
|
-
else if (c.conclusion !== 'success') bad.push(`${name}: ${c.conclusion}`);
|
|
93
|
+
// ── Re-verify this exact workflow run independently ───────────
|
|
94
|
+
if (headSha !== pr.head.sha || run.head_branch !== pr.head.ref) {
|
|
95
|
+
core.info(`#${num} not merging — triggering run does not match the current PR head.`);
|
|
96
|
+
return;
|
|
90
97
|
}
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
const { data: runJobs } = await github.rest.actions.listJobsForWorkflowRun({
|
|
99
|
+
owner, repo, run_id: run.id, filter: 'latest', per_page: 100,
|
|
100
|
+
});
|
|
101
|
+
const jobPolicy = evaluateReleaseJobs(runJobs.jobs);
|
|
102
|
+
if (!jobPolicy.ok) {
|
|
103
|
+
core.info(`#${num} not merging — exact-run checks failed: ${jobPolicy.errors.join(', ')}`);
|
|
93
104
|
return;
|
|
94
105
|
}
|
|
95
106
|
|
|
@@ -99,17 +110,54 @@ jobs:
|
|
|
99
110
|
});
|
|
100
111
|
const paths = files.map((f) => f.filename);
|
|
101
112
|
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
113
|
+
if (releaseShape) {
|
|
114
|
+
const textAt = async (path, ref) => {
|
|
115
|
+
const { data } = await github.rest.repos.getContent({ owner, repo, path, ref });
|
|
116
|
+
if (Array.isArray(data) || !data.content) throw new Error(`${path}: expected a file`);
|
|
117
|
+
return Buffer.from(data.content, 'base64').toString('utf8');
|
|
118
|
+
};
|
|
119
|
+
try {
|
|
120
|
+
const candidateFiles = {
|
|
121
|
+
packageJson: await textAt('package.json', headSha),
|
|
122
|
+
packageLock: await textAt('package-lock.json', headSha),
|
|
123
|
+
pyproject: await textAt('pyproject.toml', headSha),
|
|
124
|
+
server: await textAt('server.json', headSha),
|
|
125
|
+
extension: await textAt('extensions/spec-kit-docguard/extension.yml', headSha),
|
|
126
|
+
};
|
|
127
|
+
const baseVersion = JSON.parse(await textAt('package.json', pr.base.sha)).version;
|
|
128
|
+
const policyInput = {
|
|
129
|
+
repository: `${owner}/${repo}`,
|
|
130
|
+
headRepo: pr.head.repo.full_name,
|
|
131
|
+
defaultBranch: context.payload.repository.default_branch,
|
|
132
|
+
baseRef: pr.base.ref,
|
|
133
|
+
headRef: pr.head.ref,
|
|
134
|
+
title: pr.title,
|
|
135
|
+
author,
|
|
136
|
+
baseVersion,
|
|
137
|
+
paths,
|
|
138
|
+
files: candidateFiles,
|
|
139
|
+
tagExists: false,
|
|
140
|
+
};
|
|
141
|
+
const preliminary = evaluateReleaseCandidate(policyInput);
|
|
142
|
+
let tagExists = false;
|
|
143
|
+
if (preliminary.version && /^\d+\.\d+\.\d+$/.test(preliminary.version)) {
|
|
144
|
+
try {
|
|
145
|
+
await github.rest.git.getRef({ owner, repo, ref: `tags/v${preliminary.version}` });
|
|
146
|
+
tagExists = true;
|
|
147
|
+
} catch (e) {
|
|
148
|
+
if (e.status !== 404) throw e;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const candidatePolicy = evaluateReleaseCandidate({ ...policyInput, tagExists });
|
|
152
|
+
if (!candidatePolicy.ok) {
|
|
153
|
+
await hold('needs-review', `release policy rejected the candidate:\n${candidatePolicy.errors.map((error) => `- ${error}`).join('\n')}`);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
core.info(`#${num} authenticated tokenless release PR (${pr.head.ref}) — eligible.`);
|
|
157
|
+
} catch (e) {
|
|
158
|
+
await hold('needs-review', `release metadata could not be verified: ${e.message}`);
|
|
110
159
|
return;
|
|
111
160
|
}
|
|
112
|
-
core.info(`#${num} authenticated release PR (${pr.head.ref}, author ${author}) — eligible.`);
|
|
113
161
|
} else if (author === BOT_DEPENDABOT) {
|
|
114
162
|
// Version delta from the title: "bump X from 1.2.3 to 1.2.4"
|
|
115
163
|
const m = /from (\d+)\.(\d+)\.(\d+)\S* to (\d+)\.(\d+)\.(\d+)/.exec(pr.title || '');
|
|
@@ -135,12 +183,32 @@ jobs:
|
|
|
135
183
|
|
|
136
184
|
// ── Merge ────────────────────────────────────────────────────
|
|
137
185
|
try {
|
|
138
|
-
await github.rest.pulls.merge({
|
|
186
|
+
const { data: merge } = await github.rest.pulls.merge({
|
|
139
187
|
owner, repo, pull_number: num, merge_method: 'squash',
|
|
140
188
|
});
|
|
189
|
+
if (!merge.merged) throw new Error(merge.message || 'GitHub declined the merge');
|
|
190
|
+
if (releaseShape) {
|
|
191
|
+
try {
|
|
192
|
+
await github.rest.actions.createWorkflowDispatch({
|
|
193
|
+
owner,
|
|
194
|
+
repo,
|
|
195
|
+
workflow_id: 'release.yml',
|
|
196
|
+
ref: context.payload.repository.default_branch,
|
|
197
|
+
});
|
|
198
|
+
} catch (dispatchError) {
|
|
199
|
+
await github.rest.issues.createComment({
|
|
200
|
+
owner,
|
|
201
|
+
repo,
|
|
202
|
+
issue_number: num,
|
|
203
|
+
body: `⚠️ **Merged, publication dispatch failed** — ${dispatchError.message}. The next scheduled release run will retry the untagged package version.`,
|
|
204
|
+
});
|
|
205
|
+
core.setFailed(`Merged #${num}, but release dispatch failed: ${dispatchError.message}`);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
141
209
|
await github.rest.issues.createComment({
|
|
142
210
|
owner, repo, issue_number: num,
|
|
143
|
-
body: `🤖 **Auto-merged** — all four Node legs (18/20/22/24)
|
|
211
|
+
body: `🤖 **Auto-merged** — the exact CI run passed all four Node legs (18/20/22/24), stayed within the test-runtime budget, and satisfied the policy in \`.github/workflows/auto-merge.yml\`.${releaseShape ? ' Publication was dispatched on main.' : ''}`,
|
|
144
212
|
});
|
|
145
213
|
core.notice(`Merged #${num}.`);
|
|
146
214
|
} catch (e) {
|
|
@@ -11,6 +11,10 @@ on:
|
|
|
11
11
|
permissions:
|
|
12
12
|
contents: write # Needed to create tags and releases
|
|
13
13
|
|
|
14
|
+
concurrency:
|
|
15
|
+
group: docguard-release
|
|
16
|
+
cancel-in-progress: false
|
|
17
|
+
|
|
14
18
|
jobs:
|
|
15
19
|
# ── Step 1: Detect if version changed ──────────────────────────────────
|
|
16
20
|
detect-version:
|
|
@@ -8,10 +8,11 @@ name: Scheduled Release
|
|
|
8
8
|
# patch and publish constantly. Weekly batching keeps releases hands-off
|
|
9
9
|
# without turning the registry into a changelog.
|
|
10
10
|
#
|
|
11
|
-
# HOW IT TRIGGERS THE ACTUAL RELEASE:
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
11
|
+
# HOW IT TRIGGERS THE ACTUAL RELEASE: the repository token opens a protected PR.
|
|
12
|
+
# GitHub intentionally holds that PR's workflows for one maintainer approval.
|
|
13
|
+
# Once approved, ordinary PR CI satisfies branch protection and the metadata-only
|
|
14
|
+
# auto-merge gate dispatches release.yml. A later schedule retries publication
|
|
15
|
+
# when package.json has no corresponding tag.
|
|
15
16
|
#
|
|
16
17
|
# NO-OP WHEN NOTHING CHANGED: if there are no commits since the last release
|
|
17
18
|
# tag, this exits without bumping — no empty releases.
|
|
@@ -29,9 +30,14 @@ on:
|
|
|
29
30
|
options: [patch, minor]
|
|
30
31
|
|
|
31
32
|
permissions:
|
|
33
|
+
actions: write
|
|
32
34
|
contents: write
|
|
33
35
|
pull-requests: write
|
|
34
36
|
|
|
37
|
+
concurrency:
|
|
38
|
+
group: scheduled-release
|
|
39
|
+
cancel-in-progress: false
|
|
40
|
+
|
|
35
41
|
jobs:
|
|
36
42
|
cut-release:
|
|
37
43
|
runs-on: ubuntu-latest
|
|
@@ -46,11 +52,20 @@ jobs:
|
|
|
46
52
|
|
|
47
53
|
- name: Check for unreleased changes
|
|
48
54
|
id: check
|
|
55
|
+
env:
|
|
56
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
49
57
|
run: |
|
|
50
58
|
CURRENT=$(node -p "require('./package.json').version")
|
|
51
59
|
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
|
|
52
60
|
echo "current=$CURRENT" >> "$GITHUB_OUTPUT"
|
|
53
61
|
|
|
62
|
+
if ! git ls-remote --tags origin "refs/tags/v$CURRENT" | grep -q "refs/tags/v$CURRENT$"; then
|
|
63
|
+
echo "v$CURRENT is not published — dispatching idempotent release recovery."
|
|
64
|
+
gh workflow run release.yml --ref main
|
|
65
|
+
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
66
|
+
exit 0
|
|
67
|
+
fi
|
|
68
|
+
|
|
54
69
|
if [ -z "$LAST_TAG" ]; then
|
|
55
70
|
echo "No tags yet — nothing to compare against, skipping."
|
|
56
71
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
@@ -129,36 +144,35 @@ jobs:
|
|
|
129
144
|
npm test
|
|
130
145
|
node cli/docguard.mjs guard || [ $? -eq 2 ]
|
|
131
146
|
|
|
132
|
-
#
|
|
133
|
-
#
|
|
147
|
+
# Main requires a PR and four pull-request runtime checks. GitHub holds
|
|
148
|
+
# workflows for PRs opened by GITHUB_TOKEN until a maintainer approves them;
|
|
149
|
+
# workflow_dispatch jobs do not satisfy those required PR contexts. The
|
|
150
|
+
# approval is the deliberate human boundary that avoids a stored PAT or App
|
|
151
|
+
# private key. After approval, auto-merge validates the exact PR run.
|
|
134
152
|
#
|
|
135
153
|
# 1. main requires a pull request. github-actions[bot] is not an admin
|
|
136
154
|
# and has no bypass, so a direct push is rejected outright.
|
|
137
|
-
# 2. A PR opened with GITHUB_TOKEN starts pull_request workflows in an
|
|
138
|
-
# approval-required state. A separately dispatched CI run is not a
|
|
139
|
-
# pull_request run, so it cannot activate the fail-closed auto-merge
|
|
140
|
-
# workflow even when its checks pass.
|
|
141
|
-
#
|
|
142
|
-
# RELEASE_PR_TOKEN must be a repository-scoped GitHub App token or a
|
|
143
|
-
# fine-grained user token with Contents and Pull requests write access.
|
|
144
|
-
# Using that token to create the PR produces an ordinary pull_request run;
|
|
145
|
-
# auto-merge.yml then merges only after all four required legs pass.
|
|
146
|
-
- name: Require release PR credential
|
|
147
|
-
if: steps.check.outputs.changed == 'true'
|
|
148
|
-
env:
|
|
149
|
-
RELEASE_PR_TOKEN: ${{ secrets.RELEASE_PR_TOKEN }}
|
|
150
|
-
run: |
|
|
151
|
-
if [ -z "$RELEASE_PR_TOKEN" ]; then
|
|
152
|
-
echo "::error::RELEASE_PR_TOKEN is required. Configure a repository-scoped GitHub App or fine-grained token with Contents and Pull requests write access."
|
|
153
|
-
exit 1
|
|
154
|
-
fi
|
|
155
|
-
|
|
156
155
|
- name: Open release PR
|
|
157
156
|
if: steps.check.outputs.changed == 'true'
|
|
158
157
|
env:
|
|
159
|
-
GH_TOKEN: ${{ secrets.
|
|
158
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
160
159
|
run: |
|
|
161
160
|
BRANCH="release/v${NEW_VERSION}"
|
|
161
|
+
EXISTING=$(gh pr list --base main --head "$BRANCH" --state open --json url --jq '.[0].url // ""')
|
|
162
|
+
if [ -n "$EXISTING" ]; then
|
|
163
|
+
echo "Reusing existing release PR: $EXISTING"
|
|
164
|
+
git fetch origin "$BRANCH"
|
|
165
|
+
if ! git merge-base --is-ancestor HEAD "origin/$BRANCH"; then
|
|
166
|
+
echo "::error::Existing $BRANCH does not contain current main; refusing to validate a stale release."
|
|
167
|
+
exit 1
|
|
168
|
+
fi
|
|
169
|
+
echo "Maintainer action required: approve the PR workflows in GitHub."
|
|
170
|
+
exit 0
|
|
171
|
+
fi
|
|
172
|
+
if git ls-remote --exit-code --heads origin "$BRANCH" >/dev/null 2>&1; then
|
|
173
|
+
echo "::error::Remote branch $BRANCH exists without an open PR; refusing to overwrite it."
|
|
174
|
+
exit 1
|
|
175
|
+
fi
|
|
162
176
|
git config user.name "github-actions[bot]"
|
|
163
177
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
164
178
|
git checkout -b "$BRANCH"
|
|
@@ -166,7 +180,7 @@ jobs:
|
|
|
166
180
|
git commit -m "release: v${NEW_VERSION} — automated weekly batch
|
|
167
181
|
|
|
168
182
|
Cut by .github/workflows/scheduled-release.yml. Publishing itself is
|
|
169
|
-
handled by release.yml, which
|
|
183
|
+
handled by release.yml, which the merge gate dispatches on main."
|
|
170
184
|
git push origin "$BRANCH"
|
|
171
185
|
|
|
172
186
|
gh pr create \
|
|
@@ -175,8 +189,8 @@ jobs:
|
|
|
175
189
|
--title "release: v${NEW_VERSION} — automated weekly batch" \
|
|
176
190
|
--body "Automated weekly release cut by \`scheduled-release.yml\`.
|
|
177
191
|
|
|
178
|
-
Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
|
|
192
|
+
Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
|
|
179
193
|
|
|
180
|
-
|
|
194
|
+
**Maintainer action required:** select **Approve workflows to run** in GitHub. The ordinary pull-request CI then satisfies branch protection; once green, \`auto-merge.yml\` validates the exact run, merges this PR, and dispatches \`release.yml\` to tag and publish."
|
|
181
195
|
|
|
182
|
-
echo "Opened $BRANCH
|
|
196
|
+
echo "Opened $BRANCH. Approve its workflows in GitHub to continue the release."
|