docguard-cli 0.40.0__tar.gz → 0.40.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.2/.agent}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.2/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.40.0/extensions/spec-kit-docguard → docguard_cli-0.40.2/.agent}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.docguard-specs.json +194 -3
- docguard_cli-0.40.2/.github/scripts/validate-release-candidate.mjs +75 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/auto-merge.yml +29 -43
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/release.yml +4 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/scheduled-release.yml +52 -31
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/buglog.json +114 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/cerebrum.md +1 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/CHANGELOG.md +85 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/PKG-INFO +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/ROADMAP.md +42 -1
- docguard_cli-0.40.2/cli/release-pr-policy.mjs +107 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/CI-RECIPES.md +25 -11
- docguard_cli-0.40.2/examples/02-python-flask/requirements.txt +1 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/extension.yml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.40.0/.agent → docguard_cli-0.40.2/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.40.0/.agent → docguard_cli-0.40.2/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.40.0/.agent → docguard_cli-0.40.2/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/package-lock.json +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/package.json +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/pyproject.toml +1 -1
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/server.json +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/006-document-lifecycle/tasks.md +2 -2
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/plan.md +3 -3
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/plan.md +2 -0
- docguard_cli-0.40.2/specs/011-tokenless-scheduled-releases/plan.md +78 -0
- docguard_cli-0.40.2/specs/011-tokenless-scheduled-releases/spec.md +112 -0
- docguard_cli-0.40.2/specs/011-tokenless-scheduled-releases/tasks.md +45 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/ci/github-actions.yml +1 -1
- docguard_cli-0.40.2/tests/fixtures/release-workflow-probe.json +32 -0
- docguard_cli-0.40.2/tests/scheduled-release.test.mjs +205 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/shared-git.test.mjs +10 -6
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/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.2}/.agent/architect.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.claude/settings.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.docguard-archive.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.docguardignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/dependabot.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/scripts/speckit-submission.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/scripts/sync-release-version.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/jules-triage.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.github/workflows/sync-speckit-catalog.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.jules/bolt.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.jules/palette.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.jules/sentinel.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.jules-setup.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.npmignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.npmrc +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.pre-commit-hooks.yaml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/init-options.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/OPENWOLF.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/anatomy.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/config.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/cron-manifest.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/cron-state.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/daemon.log +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/designqc-report.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/_session.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/_wrap_up_nudged +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/post-read.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/post-write.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/pre-read.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/pre-write.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/session-start.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/shared.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/hooks/stop.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/identity.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/memory.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/reframe-frameworks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/suggestions.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/.wolf/token-ledger.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/CLAUDE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/COMPARISONS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/Dockerfile +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/LICENSE +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/PRIVACY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/README.es.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/README.pt-BR.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/STANDARD.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/SUPPORT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/VALIDATION.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/action.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/assets/bin/docguard +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/assets/demo.gif +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/assets/demo.tape +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/manifest.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/results/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/results/observed-v1.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/agent-context/run.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/baseline.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/corpus.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/go-todo-control/app.go +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/js-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/python-security-control/app.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/python-unsupported/app.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/ts-security-control/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/lib/compare.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/lib/manifest.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/lib/metrics.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/lib/runner.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/benchmarks/run.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/guard.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/hooks.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/mcp.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/reconcile.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/report.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/retire.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/specs.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/trace.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/verify.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/config.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/docguard.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/evidence/adapters.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/evidence/evaluate.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/evidence/manifest.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/evidence/markdown.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/feedback-fixture.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/findings.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/repository-root.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/document-lifecycle.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/instruction-audit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/lifecycle-context.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/reconciliation.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/requirement-evidence.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/retirement-manifest.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/spec-registry.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/scanners/task-context.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-diff.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-doc-roles.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-git.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-ignore.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-ir.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-requirements.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-sync-scope.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/shared.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validator-coverage.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/api-doc-smells.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/canonical-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/diff-suspicion.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/document-lifecycle.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/evidence.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/reference-existence.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/spec-registry.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/baseline.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/file-transaction.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/generate-io.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/history.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/junit.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/cli/writers/spec-outcomes.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/commands/docguard.score.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/configs/fastify.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/configs/generic.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/configs/nextjs.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/configs/python.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/ai-integration.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/commands.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/configuration.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/doc-sections.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/faq.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/installation.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/profiles.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs/quickstart.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/examples/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/brief.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/complete.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/glama.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/llms-full.txt +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/llms.txt +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/mcpb/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/mcpb/manifest.template.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/packaging/homebrew/docguard.rb +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/packaging/submissions.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-agent-context-result.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-benchmark.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-config.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-evidence.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-feedback-fixture.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-specs.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/schemas/docguard-task-context.schema.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/smithery.yaml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/006-document-lifecycle/plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/006-document-lifecycle/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/007-precision-evidence-loop/plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/007-precision-evidence-loop/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/007-precision-evidence-loop/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/plan.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/research.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/008-evidence-scoped-verification/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/research.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/009-language-repository-coverage/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/research.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/spec.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/specs/010-task-specific-agent-context/tasks.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/ADR.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/ci/gitlab-component.yml +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/evidence-manifest.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/templates/feedback-fixture.json +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agent-context-benchmark.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agent-evidence.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agents-check-readonly.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agents-command.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/api-authority-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/api-doc-smells.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/archive.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/badge.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/baseline.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/benchmark-manifest.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/benchmark-metrics.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/benchmark-runner.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/canonical-docs-nested.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/canonical-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/catalog-submission.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/check-coverage.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/ci-reproducibility.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/ci-scaffolder.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/diagnose-review-guidance.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/diff-suspicion.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/doc-role-boundaries.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/doc-role-mapping.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/docs-coverage-scope.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/document-lifecycle.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/ensure-skills-idempotent.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/evidence-adapters.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/evidence-integration.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/evidence-manifest.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/feedback-contributions.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/feedback-fixture.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/field-context-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/field-diff-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/field-report-3.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/field-review-clarity.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/file-transaction.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/generate-io.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/history.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/hooks-contract.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/hooks.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/instruction-audit.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/junit.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/mapped-writers.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/mcp-http.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/metrics-dedup.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/nudge-hook.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/python-import-graph.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/reconcile.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/reference-existence.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/release-version-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/report.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/repository-root.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/requirement-scope.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/route-field-precision.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/routes-nextjs-app-router.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/schema-sync-scope.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/score-assurance.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/security.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/shared-diff.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/shared-ignore-functions.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/shared-ir.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/spec-completion.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/spec-kit-helper-json.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/spec-registry.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/speckit-phantom.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/task-context.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/trace-features.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/traceability-fixtures.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/traceability-ir.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/verify-change-context.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/watch-reliability.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/tests/whats-new.test.mjs +0 -0
- {docguard_cli-0.40.0 → docguard_cli-0.40.2}/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.2
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.2 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Fix Skill
|
|
15
15
|
|
|
@@ -7,10 +7,10 @@ description: Run DocGuard guard validation against Canonical-Driven Development
|
|
|
7
7
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
8
8
|
metadata:
|
|
9
9
|
author: docguard
|
|
10
|
-
version: 0.40.
|
|
10
|
+
version: 0.40.2
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.40.
|
|
13
|
+
<!-- docguard:version: 0.40.2 -->
|
|
14
14
|
|
|
15
15
|
# DocGuard Guard Skill
|
|
16
16
|
|
|
@@ -6,10 +6,10 @@ description: Cross-document consistency analysis and quality assessment. Perform
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.2
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.2 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Review Skill
|
|
15
15
|
|
|
@@ -6,10 +6,10 @@ description: CDD maturity assessment with category-aware improvement roadmap. Ru
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.40.
|
|
9
|
+
version: 0.40.2
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.40.
|
|
12
|
+
<!-- docguard:version: 0.40.2 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Score Skill
|
|
15
15
|
|
|
@@ -4,10 +4,10 @@ description: Keep canonical documentation ALWAYS UP TO DATE. Refreshes code-trut
|
|
|
4
4
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
5
5
|
metadata:
|
|
6
6
|
author: docguard
|
|
7
|
-
version: 0.40.
|
|
7
|
+
version: 0.40.2
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.40.
|
|
10
|
+
<!-- docguard:version: 0.40.2 -->
|
|
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:b5e9f78c62a085b06c30a1ef2a67c45df9a2177aa75f25049c42c7c71e99e543"
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
"path": "specs/011-tokenless-scheduled-releases/plan.md",
|
|
2077
|
+
"digest": "sha256:f833cdcbe825ab6a75ab484ac586ef3e36a984b7856f196730bb6ca5cdd0393e"
|
|
2078
|
+
},
|
|
2079
|
+
{
|
|
2080
|
+
"path": "specs/011-tokenless-scheduled-releases/tasks.md",
|
|
2081
|
+
"digest": "sha256:9b49cf5672efd0bea5ccca4e1c83239c77854e5733630ab64e800185e1fa44a9"
|
|
2082
|
+
}
|
|
2083
|
+
],
|
|
2084
|
+
"taskCompletion": {
|
|
2085
|
+
"checked": 14,
|
|
2086
|
+
"total": 15
|
|
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": 15
|
|
2120
|
+
},
|
|
2121
|
+
{
|
|
2122
|
+
"requirementId": "FR-002",
|
|
2123
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2124
|
+
"line": 16
|
|
2125
|
+
},
|
|
2126
|
+
{
|
|
2127
|
+
"requirementId": "FR-003",
|
|
2128
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2129
|
+
"line": 17
|
|
2130
|
+
},
|
|
2131
|
+
{
|
|
2132
|
+
"requirementId": "FR-004",
|
|
2133
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2134
|
+
"line": 18
|
|
2135
|
+
},
|
|
2136
|
+
{
|
|
2137
|
+
"requirementId": "FR-005",
|
|
2138
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2139
|
+
"line": 19
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
"requirementId": "FR-006",
|
|
2143
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2144
|
+
"line": 20
|
|
2145
|
+
},
|
|
2146
|
+
{
|
|
2147
|
+
"requirementId": "FR-007",
|
|
2148
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2149
|
+
"line": 21
|
|
2150
|
+
},
|
|
2151
|
+
{
|
|
2152
|
+
"requirementId": "FR-008",
|
|
2153
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2154
|
+
"line": 22
|
|
2155
|
+
},
|
|
2156
|
+
{
|
|
2157
|
+
"requirementId": "FR-009",
|
|
2158
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2159
|
+
"line": 23
|
|
2160
|
+
},
|
|
2161
|
+
{
|
|
2162
|
+
"requirementId": "FR-010",
|
|
2163
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2164
|
+
"line": 24
|
|
2165
|
+
},
|
|
2166
|
+
{
|
|
2167
|
+
"requirementId": "FR-011",
|
|
2168
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2169
|
+
"line": 25
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"requirementId": "FR-012",
|
|
2173
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2174
|
+
"line": 26
|
|
2175
|
+
},
|
|
2176
|
+
{
|
|
2177
|
+
"requirementId": "SC-001",
|
|
2178
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2179
|
+
"line": 27
|
|
2180
|
+
},
|
|
2181
|
+
{
|
|
2182
|
+
"requirementId": "SC-002",
|
|
2183
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2184
|
+
"line": 28
|
|
2185
|
+
},
|
|
2186
|
+
{
|
|
2187
|
+
"requirementId": "SC-003",
|
|
2188
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2189
|
+
"line": 29
|
|
2190
|
+
},
|
|
2191
|
+
{
|
|
2192
|
+
"requirementId": "SC-004",
|
|
2193
|
+
"file": "tests/scheduled-release.test.mjs",
|
|
2194
|
+
"line": 30
|
|
2195
|
+
}
|
|
2196
|
+
]
|
|
2197
|
+
}
|
|
2007
2198
|
}
|
|
2008
2199
|
],
|
|
2009
2200
|
"tombstones": [
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Validate the scheduler-generated release diff before it leaves the trusted
|
|
5
|
+
* default-branch checkout. GitHub's native auto-merge then enforces the
|
|
6
|
+
* repository's required pull-request checks on every candidate revision.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { execFileSync } from 'node:child_process';
|
|
10
|
+
import { readFileSync } from 'node:fs';
|
|
11
|
+
import { resolve } from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
import { evaluateReleaseCandidate } from '../../cli/release-pr-policy.mjs';
|
|
14
|
+
|
|
15
|
+
const SCRIPT_PATH = fileURLToPath(import.meta.url);
|
|
16
|
+
|
|
17
|
+
function read(root, path) {
|
|
18
|
+
return readFileSync(resolve(root, path), 'utf8');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function validateReleaseWorkspace({
|
|
22
|
+
root = process.cwd(),
|
|
23
|
+
baseVersion,
|
|
24
|
+
branch,
|
|
25
|
+
repository,
|
|
26
|
+
defaultBranch = 'main',
|
|
27
|
+
}) {
|
|
28
|
+
const paths = execFileSync('git', ['diff', '--name-only', 'HEAD', '--'], {
|
|
29
|
+
cwd: root,
|
|
30
|
+
encoding: 'utf8',
|
|
31
|
+
}).trim().split('\n').filter(Boolean);
|
|
32
|
+
const version = JSON.parse(read(root, 'package.json')).version;
|
|
33
|
+
const result = evaluateReleaseCandidate({
|
|
34
|
+
repository,
|
|
35
|
+
headRepo: repository,
|
|
36
|
+
defaultBranch,
|
|
37
|
+
baseRef: defaultBranch,
|
|
38
|
+
headRef: branch,
|
|
39
|
+
title: `release: v${version} — automated weekly batch`,
|
|
40
|
+
author: 'github-actions[bot]',
|
|
41
|
+
baseVersion,
|
|
42
|
+
paths,
|
|
43
|
+
files: {
|
|
44
|
+
packageJson: read(root, 'package.json'),
|
|
45
|
+
packageLock: read(root, 'package-lock.json'),
|
|
46
|
+
pyproject: read(root, 'pyproject.toml'),
|
|
47
|
+
server: read(root, 'server.json'),
|
|
48
|
+
extension: read(root, 'extensions/spec-kit-docguard/extension.yml'),
|
|
49
|
+
},
|
|
50
|
+
tagExists: false,
|
|
51
|
+
});
|
|
52
|
+
if (!result.ok) {
|
|
53
|
+
throw new Error(result.errors.join('; '));
|
|
54
|
+
}
|
|
55
|
+
return { version: result.version, paths };
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function valueAfter(flag) {
|
|
59
|
+
const index = process.argv.indexOf(flag);
|
|
60
|
+
return index >= 0 ? process.argv[index + 1] : undefined;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (process.argv[1] && resolve(process.argv[1]) === SCRIPT_PATH) {
|
|
64
|
+
try {
|
|
65
|
+
const result = validateReleaseWorkspace({
|
|
66
|
+
baseVersion: valueAfter('--base-version'),
|
|
67
|
+
branch: valueAfter('--branch'),
|
|
68
|
+
repository: process.env.GITHUB_REPOSITORY,
|
|
69
|
+
});
|
|
70
|
+
console.log(`Validated v${result.version} release candidate (${result.paths.length} changed files).`);
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.error(`Release candidate validation failed: ${error.message}`);
|
|
73
|
+
process.exitCode = 1;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -2,17 +2,13 @@ name: Auto-merge (green bot PRs)
|
|
|
2
2
|
|
|
3
3
|
# Hands-off merging for bot PRs that have ALREADY passed the full CI matrix.
|
|
4
4
|
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# merges IMMEDIATELY without waiting for CI — worse than merging by hand.
|
|
9
|
-
# This workflow instead fires only after "DocGuard CI" reports success for
|
|
10
|
-
# the head SHA, re-verifies every matrix leg via the API, and merges itself.
|
|
11
|
-
# No repo settings required, and it is fail-closed: anything unexpected → skip.
|
|
5
|
+
# Release PRs use GitHub's native auto-merge because main now has four required
|
|
6
|
+
# runtime checks. This workflow remains the stricter policy gate for Dependabot
|
|
7
|
+
# and Jules PRs, which have separate version and changed-file restrictions.
|
|
12
8
|
#
|
|
13
|
-
# SECURITY: workflow_run runs in the BASE repo context with write scope
|
|
14
|
-
#
|
|
15
|
-
#
|
|
9
|
+
# SECURITY: workflow_run runs in the BASE repo context with write scope. It
|
|
10
|
+
# checks out only the default branch policy with persisted credentials disabled,
|
|
11
|
+
# reads PR metadata through the API, and never checks out or executes PR code.
|
|
16
12
|
#
|
|
17
13
|
# WHAT AUTO-MERGES:
|
|
18
14
|
# - dependabot: patch + minor only. Majors NEVER (v0.34.1 shipped a Node-18
|
|
@@ -29,17 +25,24 @@ permissions:
|
|
|
29
25
|
contents: write
|
|
30
26
|
pull-requests: write
|
|
31
27
|
checks: read
|
|
32
|
-
actions: read
|
|
33
28
|
|
|
34
29
|
jobs:
|
|
35
30
|
auto-merge:
|
|
36
31
|
if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
|
|
37
32
|
runs-on: ubuntu-latest
|
|
38
33
|
steps:
|
|
34
|
+
- name: Check out trusted auto-merge policy
|
|
35
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
36
|
+
with:
|
|
37
|
+
ref: ${{ github.event.repository.default_branch }}
|
|
38
|
+
persist-credentials: false
|
|
39
|
+
|
|
39
40
|
- name: Evaluate and merge if safe
|
|
40
41
|
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
|
41
42
|
with:
|
|
42
43
|
script: |
|
|
44
|
+
const policyPath = process.env.GITHUB_WORKSPACE + '/cli/release-pr-policy.mjs';
|
|
45
|
+
const { evaluateReleaseJobs } = await import(policyPath);
|
|
43
46
|
const owner = context.repo.owner;
|
|
44
47
|
const repo = context.repo.repo;
|
|
45
48
|
const run = context.payload.workflow_run;
|
|
@@ -56,10 +59,7 @@ jobs:
|
|
|
56
59
|
|
|
57
60
|
const BOT_DEPENDABOT = 'dependabot[bot]';
|
|
58
61
|
const BOT_JULES = 'google-labs-jules[bot]';
|
|
59
|
-
|
|
60
|
-
/^release\/v\d+\.\d+\.\d+$/.test(pr.head.ref || '') &&
|
|
61
|
-
/^release: v\d+\.\d+\.\d+ — automated weekly batch$/.test(pr.title || '');
|
|
62
|
-
if (![BOT_DEPENDABOT, BOT_JULES].includes(author) && !releasePr) {
|
|
62
|
+
if (![BOT_DEPENDABOT, BOT_JULES].includes(author)) {
|
|
63
63
|
core.info(`#${num} authored by ${author} (not a handled bot) — leaving alone.`);
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
@@ -75,21 +75,17 @@ jobs:
|
|
|
75
75
|
core.notice(`#${num} held: ${why}`);
|
|
76
76
|
};
|
|
77
77
|
|
|
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}`);
|
|
78
|
+
// ── Re-verify this exact workflow run independently ───────────
|
|
79
|
+
if (headSha !== pr.head.sha || run.head_branch !== pr.head.ref) {
|
|
80
|
+
core.info(`#${num} not merging — triggering run does not match the current PR head.`);
|
|
81
|
+
return;
|
|
90
82
|
}
|
|
91
|
-
|
|
92
|
-
|
|
83
|
+
const { data: runJobs } = await github.rest.actions.listJobsForWorkflowRun({
|
|
84
|
+
owner, repo, run_id: run.id, filter: 'latest', per_page: 100,
|
|
85
|
+
});
|
|
86
|
+
const jobPolicy = evaluateReleaseJobs(runJobs.jobs);
|
|
87
|
+
if (!jobPolicy.ok) {
|
|
88
|
+
core.info(`#${num} not merging — exact-run checks failed: ${jobPolicy.errors.join(', ')}`);
|
|
93
89
|
return;
|
|
94
90
|
}
|
|
95
91
|
|
|
@@ -99,18 +95,7 @@ jobs:
|
|
|
99
95
|
});
|
|
100
96
|
const paths = files.map((f) => f.filename);
|
|
101
97
|
|
|
102
|
-
if (
|
|
103
|
-
// Release PRs cut by scheduled-release.yml. Tightly constrained:
|
|
104
|
-
// must come from a release/ branch and touch ONLY the exact
|
|
105
|
-
// version, changelog, extension and generated skill surfaces.
|
|
106
|
-
const ALLOWED = /^(package(-lock)?\.json|pyproject\.toml|server\.json|CHANGELOG\.md|templates\/ci\/github-actions\.yml|extensions\/spec-kit-docguard\/(extension\.yml|templates\/github-workflows\/(docguard-guard|docguard-autofix)\.yml|skills\/docguard-(fix|guard|review|score|sync)\/SKILL\.md)|\.agent\/skills\/docguard-(fix|guard|review|score|sync)\/SKILL\.md)$/;
|
|
107
|
-
const unexpected = paths.filter((p) => !ALLOWED.test(p));
|
|
108
|
-
if (unexpected.length) {
|
|
109
|
-
await hold('needs-review', `a release PR touching unexpected files:\n${unexpected.map((p) => `- \`${p}\``).join('\n')}`);
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
core.info(`#${num} authenticated release PR (${pr.head.ref}, author ${author}) — eligible.`);
|
|
113
|
-
} else if (author === BOT_DEPENDABOT) {
|
|
98
|
+
if (author === BOT_DEPENDABOT) {
|
|
114
99
|
// Version delta from the title: "bump X from 1.2.3 to 1.2.4"
|
|
115
100
|
const m = /from (\d+)\.(\d+)\.(\d+)\S* to (\d+)\.(\d+)\.(\d+)/.exec(pr.title || '');
|
|
116
101
|
if (!m) { await hold('needs-review', 'could not parse the version delta from the PR title.'); return; }
|
|
@@ -135,12 +120,13 @@ jobs:
|
|
|
135
120
|
|
|
136
121
|
// ── Merge ────────────────────────────────────────────────────
|
|
137
122
|
try {
|
|
138
|
-
await github.rest.pulls.merge({
|
|
123
|
+
const { data: merge } = await github.rest.pulls.merge({
|
|
139
124
|
owner, repo, pull_number: num, merge_method: 'squash',
|
|
140
125
|
});
|
|
126
|
+
if (!merge.merged) throw new Error(merge.message || 'GitHub declined the merge');
|
|
141
127
|
await github.rest.issues.createComment({
|
|
142
128
|
owner, repo, issue_number: num,
|
|
143
|
-
body: `🤖 **Auto-merged** — all four Node legs (18/20/22/24)
|
|
129
|
+
body: `🤖 **Auto-merged** — the exact CI run passed all four Node legs (18/20/22/24), stayed within the test-runtime budget, and satisfied the policy in \`.github/workflows/auto-merge.yml\`.`,
|
|
144
130
|
});
|
|
145
131
|
core.notice(`Merged #${num}.`);
|
|
146
132
|
} 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,12 @@ name: Scheduled Release
|
|
|
8
8
|
# patch and publish constantly. Weekly batching keeps releases hands-off
|
|
9
9
|
# without turning the registry into a changelog.
|
|
10
10
|
#
|
|
11
|
-
# HOW IT TRIGGERS THE ACTUAL RELEASE:
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
11
|
+
# HOW IT TRIGGERS THE ACTUAL RELEASE: the repository token validates and opens a
|
|
12
|
+
# protected PR, then arms GitHub's native squash auto-merge. GitHub intentionally
|
|
13
|
+
# holds that PR's workflows for one maintainer approval. Once approved, ordinary
|
|
14
|
+
# PR CI satisfies the required checks, native auto-merge updates main, and the
|
|
15
|
+
# package.json push starts release.yml. A later schedule retries publication when
|
|
16
|
+
# package.json has no corresponding tag.
|
|
15
17
|
#
|
|
16
18
|
# NO-OP WHEN NOTHING CHANGED: if there are no commits since the last release
|
|
17
19
|
# tag, this exits without bumping — no empty releases.
|
|
@@ -29,9 +31,14 @@ on:
|
|
|
29
31
|
options: [patch, minor]
|
|
30
32
|
|
|
31
33
|
permissions:
|
|
34
|
+
actions: write
|
|
32
35
|
contents: write
|
|
33
36
|
pull-requests: write
|
|
34
37
|
|
|
38
|
+
concurrency:
|
|
39
|
+
group: scheduled-release
|
|
40
|
+
cancel-in-progress: false
|
|
41
|
+
|
|
35
42
|
jobs:
|
|
36
43
|
cut-release:
|
|
37
44
|
runs-on: ubuntu-latest
|
|
@@ -46,11 +53,20 @@ jobs:
|
|
|
46
53
|
|
|
47
54
|
- name: Check for unreleased changes
|
|
48
55
|
id: check
|
|
56
|
+
env:
|
|
57
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
49
58
|
run: |
|
|
50
59
|
CURRENT=$(node -p "require('./package.json').version")
|
|
51
60
|
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
|
|
52
61
|
echo "current=$CURRENT" >> "$GITHUB_OUTPUT"
|
|
53
62
|
|
|
63
|
+
if ! git ls-remote --tags origin "refs/tags/v$CURRENT" | grep -q "refs/tags/v$CURRENT$"; then
|
|
64
|
+
echo "v$CURRENT is not published — dispatching idempotent release recovery."
|
|
65
|
+
gh workflow run release.yml --ref main
|
|
66
|
+
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
67
|
+
exit 0
|
|
68
|
+
fi
|
|
69
|
+
|
|
54
70
|
if [ -z "$LAST_TAG" ]; then
|
|
55
71
|
echo "No tags yet — nothing to compare against, skipping."
|
|
56
72
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
@@ -129,36 +145,40 @@ jobs:
|
|
|
129
145
|
npm test
|
|
130
146
|
node cli/docguard.mjs guard || [ $? -eq 2 ]
|
|
131
147
|
|
|
132
|
-
#
|
|
133
|
-
#
|
|
148
|
+
# Main requires a PR and four pull-request runtime checks. GitHub holds
|
|
149
|
+
# workflows for PRs opened by GITHUB_TOKEN until a maintainer approves them;
|
|
150
|
+
# workflow_dispatch jobs do not satisfy those required PR contexts. The
|
|
151
|
+
# approval is the deliberate human boundary that avoids a stored PAT or App
|
|
152
|
+
# private key. Native auto-merge remains blocked until all required checks
|
|
153
|
+
# succeed and resets if the candidate head changes.
|
|
134
154
|
#
|
|
135
155
|
# 1. main requires a pull request. github-actions[bot] is not an admin
|
|
136
156
|
# 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
157
|
- name: Open release PR
|
|
157
158
|
if: steps.check.outputs.changed == 'true'
|
|
158
159
|
env:
|
|
159
|
-
GH_TOKEN: ${{ secrets.
|
|
160
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
160
161
|
run: |
|
|
161
162
|
BRANCH="release/v${NEW_VERSION}"
|
|
163
|
+
node .github/scripts/validate-release-candidate.mjs \
|
|
164
|
+
--base-version "${{ steps.check.outputs.current }}" \
|
|
165
|
+
--branch "$BRANCH"
|
|
166
|
+
EXISTING=$(gh pr list --base main --head "$BRANCH" --state open --json url --jq '.[0].url // ""')
|
|
167
|
+
if [ -n "$EXISTING" ]; then
|
|
168
|
+
echo "Reusing existing release PR: $EXISTING"
|
|
169
|
+
git fetch origin "$BRANCH"
|
|
170
|
+
if ! git merge-base --is-ancestor HEAD "origin/$BRANCH"; then
|
|
171
|
+
echo "::error::Existing $BRANCH does not contain current main; refusing to validate a stale release."
|
|
172
|
+
exit 1
|
|
173
|
+
fi
|
|
174
|
+
gh pr merge --auto --squash "$EXISTING"
|
|
175
|
+
echo "Auto-merge armed. Maintainer action required: approve the PR workflows in GitHub."
|
|
176
|
+
exit 0
|
|
177
|
+
fi
|
|
178
|
+
if git ls-remote --exit-code --heads origin "$BRANCH" >/dev/null 2>&1; then
|
|
179
|
+
echo "::error::Remote branch $BRANCH exists without an open PR; refusing to overwrite it."
|
|
180
|
+
exit 1
|
|
181
|
+
fi
|
|
162
182
|
git config user.name "github-actions[bot]"
|
|
163
183
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
164
184
|
git checkout -b "$BRANCH"
|
|
@@ -166,17 +186,18 @@ jobs:
|
|
|
166
186
|
git commit -m "release: v${NEW_VERSION} — automated weekly batch
|
|
167
187
|
|
|
168
188
|
Cut by .github/workflows/scheduled-release.yml. Publishing itself is
|
|
169
|
-
handled by release.yml
|
|
189
|
+
handled by release.yml after protected native auto-merge updates main."
|
|
170
190
|
git push origin "$BRANCH"
|
|
171
191
|
|
|
172
|
-
gh pr create \
|
|
192
|
+
PR_URL=$(gh pr create \
|
|
173
193
|
--base main \
|
|
174
194
|
--head "$BRANCH" \
|
|
175
195
|
--title "release: v${NEW_VERSION} — automated weekly batch" \
|
|
176
196
|
--body "Automated weekly release cut by \`scheduled-release.yml\`.
|
|
177
197
|
|
|
178
|
-
Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
|
|
198
|
+
Batches everything merged since \`${{ steps.check.outputs.last_tag }}\`. Tests and \`guard\` already passed on this tree before the PR was opened.
|
|
179
199
|
|
|
180
|
-
|
|
200
|
+
**Maintainer action required:** select **Approve workflows to run** in GitHub. The ordinary pull-request CI then satisfies branch protection; GitHub's protected native auto-merge merges the exact green head, and the resulting \`package.json\` push starts \`release.yml\` to tag and publish.")
|
|
181
201
|
|
|
182
|
-
|
|
202
|
+
gh pr merge --auto --squash "$PR_URL"
|
|
203
|
+
echo "Opened $BRANCH with auto-merge armed. Approve its workflows in GitHub to continue the release."
|