docguard-cli 0.41.2__tar.gz → 0.41.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.41.2/extensions/spec-kit-docguard → docguard_cli-0.41.4/.agent}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.41.2/extensions/spec-kit-docguard → docguard_cli-0.41.4/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.41.2/extensions/spec-kit-docguard → docguard_cli-0.41.4/.agent}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.41.2/extensions/spec-kit-docguard → docguard_cli-0.41.4/.agent}/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.docguard-specs.json +2 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/buglog.json +172 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/cerebrum.md +5 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/memory.md +2 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/CHANGELOG.md +56 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/PKG-INFO +12 -6
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/README.md +11 -5
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/VALIDATION.md +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/hooks.mjs +37 -17
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/specs.mjs +7 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/verify.mjs +8 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/docguard.mjs +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/findings.mjs +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/instruction-audit.mjs +20 -3
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/spec-registry.mjs +75 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-ignore.mjs +49 -0
- docguard_cli-0.41.4/cli/shared-validator-surface.mjs +17 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/canonical-sync.mjs +13 -18
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/metrics-consistency.mjs +19 -7
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/spec-registry.mjs +4 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/todo-tracking.mjs +3 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/traceability.mjs +14 -5
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/quickstart.md +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/ARCHITECTURE.md +9 -6
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/CI-RECIPES.md +5 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/DATA-MODEL.md +12 -3
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/ENVIRONMENT.md +22 -8
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/REQUIREMENTS.md +8 -6
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/TEST-SPEC.md +24 -10
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/extension.yml +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.41.2/.agent → docguard_cli-0.41.4/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.41.2/.agent → docguard_cli-0.41.4/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.41.2/.agent → docguard_cli-0.41.4/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.41.2/.agent → docguard_cli-0.41.4/extensions/spec-kit-docguard}/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/package-lock.json +2 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/package.json +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/pyproject.toml +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/server.json +2 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/ci/github-actions.yml +1 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/canonical-sync.test.mjs +20 -20
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/evidence-integration.test.mjs +30 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/hooks-contract.test.mjs +29 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/hooks.test.mjs +56 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/instruction-audit.test.mjs +35 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/mechanical.test.mjs +2 -2
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/metrics-consistency.test.mjs +24 -4
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/metrics-dedup.test.mjs +7 -5
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/spec-kit-helper-json.test.mjs +4 -1
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/spec-registry.test.mjs +33 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/traceability-lifecycle.test.mjs +43 -3
- docguard_cli-0.41.4/tests/validator-surface-invariant.test.mjs +81 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/architect.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.claude/settings.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.docguard-archive.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.docguard.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.docguardignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/dependabot.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/scripts/speckit-submission.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/scripts/sync-release-version.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/scripts/upsert-catalog-reminder.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/scripts/validate-release-candidate.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/auto-merge.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/jules-triage.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/release.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/scheduled-release.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.github/workflows/sync-speckit-catalog.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.gitignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.jules/bolt.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.jules/palette.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.jules/sentinel.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.jules-setup.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.npmignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.npmrc +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.pre-commit-hooks.yaml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/init-options.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/OPENWOLF.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/anatomy.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/config.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/cron-manifest.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/cron-state.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/daemon.log +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/designqc-report.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/_session.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/_wrap_up_nudged +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/post-read.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/post-write.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/pre-read.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/pre-write.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/session-start.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/shared.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/hooks/stop.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/identity.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/reframe-frameworks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/suggestions.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/.wolf/token-ledger.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/AGENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/CLAUDE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/COMPARISONS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/Dockerfile +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/LICENSE +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/PRIVACY.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/README.es.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/README.pt-BR.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/ROADMAP.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/SECURITY.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/STANDARD.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/SUPPORT.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/action.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/assets/bin/docguard +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/assets/demo.gif +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/assets/demo.tape +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/manifest.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/results/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/results/observed-v1.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/agent-context/run.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/baseline.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/corpus.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/generated-security-control/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/go-todo-control/app.go +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/js-security-control/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/python-security-control/app.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/python-unsupported/app.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/ts-security-control/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/lib/compare.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/lib/manifest.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/lib/metrics.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/lib/runner.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/benchmarks/run.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/assessment.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/guard.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/mcp.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/reconcile.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/report.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/retire.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/sync.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/trace.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/config.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/evidence/adapters.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/evidence/evaluate.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/evidence/manifest.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/evidence/markdown.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/evidence/python-literal.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/feedback-fixture.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/release-pr-policy.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/repository-root.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/document-lifecycle.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/lifecycle-context.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/reconciliation.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/requirement-evidence.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/retirement-manifest.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/scanners/task-context.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-diff.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-doc-roles.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-git.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-ir.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-requirements.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-sync-scope.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/shared.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validator-coverage.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/api-doc-smells.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/diff-suspicion.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/document-lifecycle.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/evidence.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/reference-existence.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/baseline.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/file-transaction.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/generate-io.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/history.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/junit.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/cli/writers/spec-outcomes.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/commands/docguard.review.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/commands/docguard.score.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/configs/fastify.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/configs/generic.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/configs/nextjs.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/configs/python.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/ai-integration.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/commands.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/configuration.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/doc-sections.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/faq.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/installation.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs/profiles.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/02-python-flask/requirements.txt +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/examples/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/brief.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/complete.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/review.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/glama.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/llms-full.txt +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/llms.txt +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/mcpb/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/mcpb/manifest.template.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/packaging/homebrew/docguard.rb +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/packaging/submissions.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-agent-context-result.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-benchmark.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-config.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-evidence.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-feedback-fixture.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-specs.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/schemas/docguard-task-context.schema.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/smithery.yaml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/006-document-lifecycle/plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/006-document-lifecycle/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/006-document-lifecycle/tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/007-precision-evidence-loop/plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/007-precision-evidence-loop/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/007-precision-evidence-loop/tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/008-evidence-scoped-verification/plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/008-evidence-scoped-verification/research.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/008-evidence-scoped-verification/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/008-evidence-scoped-verification/tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/009-language-repository-coverage/plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/009-language-repository-coverage/research.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/009-language-repository-coverage/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/009-language-repository-coverage/tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/010-task-specific-agent-context/plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/010-task-specific-agent-context/research.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/010-task-specific-agent-context/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/010-task-specific-agent-context/tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/011-tokenless-scheduled-releases/plan.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/011-tokenless-scheduled-releases/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/011-tokenless-scheduled-releases/tasks.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/specs/012-adoption-workflow-integrity/spec.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/ADR.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/ci/gitlab-component.yml +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/evidence-manifest.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/templates/feedback-fixture.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/adoption-workflow.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agent-context-benchmark.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agent-evidence.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agents-check-readonly.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agents-command.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/api-authority-precision.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/api-doc-smells.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/archive.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/assessment.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/badge.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/baseline.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/benchmark-manifest.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/benchmark-metrics.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/benchmark-runner.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/canonical-docs-nested.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/catalog-submission.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/check-coverage.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/ci-reproducibility.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/ci-scaffolder.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/diagnose-review-guidance.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/diff-suspicion.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/doc-role-boundaries.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/doc-role-mapping.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docguard-config-schema.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docs-coverage-scope.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/document-lifecycle.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/ensure-skills-idempotent.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/evidence-adapters.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/evidence-manifest.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/evidence-python-literal.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/feedback-contributions.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/feedback-fixture.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/field-context-precision.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/field-diff-precision.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/field-report-3.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/field-review-clarity.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/file-transaction.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/finding-severity-config.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/fixtures/release-workflow-probe.json +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/generate-io.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/history.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/junit.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/mapped-writers.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/mcp-http.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/nudge-hook.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/python-import-graph.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/reconcile.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/reference-existence.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/release-version-sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/report.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/repository-root.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/requirement-scope.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/route-field-precision.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/routes-nextjs-app-router.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/scheduled-release.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/schema-sync-scope.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/score-assurance.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/security.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/shared-diff.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/shared-git.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/shared-ignore-functions.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/shared-ir.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/spec-completion.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/speckit-phantom.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/task-context.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/trace-features.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/traceability-fixtures.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/traceability-ir.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/verify-change-context.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/watch-reliability.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/whats-new.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/worker-python-capability.test.mjs +0 -0
- {docguard_cli-0.41.2 → docguard_cli-0.41.4}/tests/workflow-action-pins.test.mjs +0 -0
|
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.41.
|
|
9
|
+
version: 0.41.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.4 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Fix Skill
|
|
15
15
|
|
|
@@ -7,10 +7,10 @@ description: Run DocGuard guard validation against Canonical-Driven Development
|
|
|
7
7
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
8
8
|
metadata:
|
|
9
9
|
author: docguard
|
|
10
|
-
version: 0.41.
|
|
10
|
+
version: 0.41.4
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.41.
|
|
13
|
+
<!-- docguard:version: 0.41.4 -->
|
|
14
14
|
|
|
15
15
|
# DocGuard Guard Skill
|
|
16
16
|
|
|
@@ -6,10 +6,10 @@ description: Cross-document consistency analysis and quality assessment. Perform
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.41.
|
|
9
|
+
version: 0.41.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.4 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Review Skill
|
|
15
15
|
|
|
@@ -6,10 +6,10 @@ description: CDD maturity assessment with category-aware improvement roadmap. Ru
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.41.
|
|
9
|
+
version: 0.41.4
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.4 -->
|
|
13
13
|
|
|
14
14
|
# DocGuard Score Skill
|
|
15
15
|
|
|
@@ -4,10 +4,10 @@ description: Keep canonical documentation ALWAYS UP TO DATE. Refreshes code-trut
|
|
|
4
4
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
5
5
|
metadata:
|
|
6
6
|
author: docguard
|
|
7
|
-
version: 0.41.
|
|
7
|
+
version: 0.41.4
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.41.
|
|
10
|
+
<!-- docguard:version: 0.41.4 -->
|
|
11
11
|
|
|
12
12
|
# DocGuard Sync Skill
|
|
13
13
|
|
|
@@ -860,12 +860,12 @@
|
|
|
860
860
|
{
|
|
861
861
|
"requirementId": "FR-018",
|
|
862
862
|
"file": "tests/hooks-contract.test.mjs",
|
|
863
|
-
"line":
|
|
863
|
+
"line": 17
|
|
864
864
|
},
|
|
865
865
|
{
|
|
866
866
|
"requirementId": "FR-019",
|
|
867
867
|
"file": "tests/hooks-contract.test.mjs",
|
|
868
|
-
"line":
|
|
868
|
+
"line": 18
|
|
869
869
|
},
|
|
870
870
|
{
|
|
871
871
|
"requirementId": "FR-020",
|
|
@@ -6199,6 +6199,178 @@
|
|
|
6199
6199
|
"related_bugs": [],
|
|
6200
6200
|
"occurrences": 1,
|
|
6201
6201
|
"last_seen": "2026-09-15T16:21:14.288Z"
|
|
6202
|
+
},
|
|
6203
|
+
{
|
|
6204
|
+
"id": "bug-374",
|
|
6205
|
+
"timestamp": "2026-09-15T16:39:17.000Z",
|
|
6206
|
+
"error_message": "Reinstalling a managed hook nested a second BEGIN/END marker pair",
|
|
6207
|
+
"file": "cli/commands/hooks.mjs",
|
|
6208
|
+
"root_cause": "The install path wrapped the raw hook body before passing it to a splice helper that also added managed markers",
|
|
6209
|
+
"fix": "Pass raw hook content to the splice boundary, replace the outermost marker range, and repair already-nested hooks on reinstall or removal",
|
|
6210
|
+
"tags": [
|
|
6211
|
+
"hooks",
|
|
6212
|
+
"managed-block",
|
|
6213
|
+
"idempotency",
|
|
6214
|
+
"field-report"
|
|
6215
|
+
],
|
|
6216
|
+
"related_bugs": [
|
|
6217
|
+
"bug-354"
|
|
6218
|
+
],
|
|
6219
|
+
"occurrences": 1,
|
|
6220
|
+
"last_seen": "2026-09-15T16:39:17.000Z"
|
|
6221
|
+
},
|
|
6222
|
+
{
|
|
6223
|
+
"id": "bug-375",
|
|
6224
|
+
"timestamp": "2026-09-15T16:39:17.000Z",
|
|
6225
|
+
"error_message": "A successful DocGuard managed hook exited before user-owned postlude commands could run",
|
|
6226
|
+
"file": "cli/commands/hooks.mjs",
|
|
6227
|
+
"root_cause": "Generated hook bodies ended in exit 0 even though managed blocks are designed to compose inside a larger hook file",
|
|
6228
|
+
"fix": "Retain explicit blocking exits and end successful managed bodies with the no-op command so execution falls through to the surrounding hook",
|
|
6229
|
+
"tags": [
|
|
6230
|
+
"hooks",
|
|
6231
|
+
"composition",
|
|
6232
|
+
"postlude",
|
|
6233
|
+
"field-report"
|
|
6234
|
+
],
|
|
6235
|
+
"related_bugs": [
|
|
6236
|
+
"bug-374"
|
|
6237
|
+
],
|
|
6238
|
+
"occurrences": 1,
|
|
6239
|
+
"last_seen": "2026-09-15T16:39:17.000Z"
|
|
6240
|
+
},
|
|
6241
|
+
{
|
|
6242
|
+
"id": "bug-376",
|
|
6243
|
+
"timestamp": "2026-09-15T16:39:17.000Z",
|
|
6244
|
+
"error_message": "docguard verify --evidence exited 0 when its JSON status was contradicted",
|
|
6245
|
+
"file": "cli/commands/verify.mjs",
|
|
6246
|
+
"root_cause": "The direct evidence command rendered evaluator states but never mapped them to the CLI process-status contract",
|
|
6247
|
+
"fix": "Exit 1 for contradicted or invalid, 2 for attention-required, and 0 for verified or unconfigured evidence, with subprocess regressions for every class",
|
|
6248
|
+
"tags": [
|
|
6249
|
+
"evidence",
|
|
6250
|
+
"exit-code",
|
|
6251
|
+
"ci",
|
|
6252
|
+
"false-green",
|
|
6253
|
+
"field-report"
|
|
6254
|
+
],
|
|
6255
|
+
"related_bugs": [],
|
|
6256
|
+
"occurrences": 1,
|
|
6257
|
+
"last_seen": "2026-09-15T16:39:17.000Z"
|
|
6258
|
+
},
|
|
6259
|
+
{
|
|
6260
|
+
"id": "bug-377",
|
|
6261
|
+
"timestamp": "2026-09-15T16:39:17.000Z",
|
|
6262
|
+
"error_message": "docguard specs --check reported STALE for array ordering without identifying the changed field",
|
|
6263
|
+
"file": "cli/scanners/spec-registry.mjs; cli/commands/specs.mjs; cli/validators/spec-registry.mjs",
|
|
6264
|
+
"root_cause": "Registry currency used an all-or-nothing serialized comparison and discarded the reason for a mismatch",
|
|
6265
|
+
"fix": "Expose bounded value-safe field paths and difference kinds, including an explicit order-only canonicalization reason",
|
|
6266
|
+
"tags": [
|
|
6267
|
+
"spec-registry",
|
|
6268
|
+
"diagnostics",
|
|
6269
|
+
"ordering",
|
|
6270
|
+
"clarity",
|
|
6271
|
+
"field-report"
|
|
6272
|
+
],
|
|
6273
|
+
"related_bugs": [
|
|
6274
|
+
"bug-355"
|
|
6275
|
+
],
|
|
6276
|
+
"occurrences": 1,
|
|
6277
|
+
"last_seen": "2026-09-15T16:39:17.000Z"
|
|
6278
|
+
},
|
|
6279
|
+
{
|
|
6280
|
+
"id": "bug-378",
|
|
6281
|
+
"timestamp": "2026-09-15T16:39:17.000Z",
|
|
6282
|
+
"error_message": "README What’s New still described the current v0.40 release line after v0.41 shipped",
|
|
6283
|
+
"file": "README.md",
|
|
6284
|
+
"root_cause": "A hand-maintained release-line label was coupled to automated package releases",
|
|
6285
|
+
"fix": "Use version-independent recent-release wording while leaving exact release history in CHANGELOG",
|
|
6286
|
+
"tags": [
|
|
6287
|
+
"documentation",
|
|
6288
|
+
"version-drift",
|
|
6289
|
+
"readme",
|
|
6290
|
+
"field-report"
|
|
6291
|
+
],
|
|
6292
|
+
"related_bugs": [
|
|
6293
|
+
"bug-356",
|
|
6294
|
+
"bug-373"
|
|
6295
|
+
],
|
|
6296
|
+
"occurrences": 1,
|
|
6297
|
+
"last_seen": "2026-09-15T16:39:17.000Z"
|
|
6298
|
+
},
|
|
6299
|
+
{
|
|
6300
|
+
"id": "bug-379",
|
|
6301
|
+
"timestamp": "2026-09-15T17:02:00.000Z",
|
|
6302
|
+
"error_message": "Subprocess-heavy contract tests intermittently failed with ETIMEDOUT during parallel full-suite execution",
|
|
6303
|
+
"file": "tests/hooks-contract.test.mjs; tests/spec-kit-helper-json.test.mjs",
|
|
6304
|
+
"root_cause": "Five- and ten-second process deadlines left no scheduler-contention margin when Node ran many integration suites concurrently",
|
|
6305
|
+
"fix": "Retain finite process deadlines but raise them to 15 and 20 seconds for the shell-hook and Spec Kit helper integration fixtures",
|
|
6306
|
+
"tags": [
|
|
6307
|
+
"tests",
|
|
6308
|
+
"timeout",
|
|
6309
|
+
"parallel-ci",
|
|
6310
|
+
"false-failure",
|
|
6311
|
+
"reliability"
|
|
6312
|
+
],
|
|
6313
|
+
"related_bugs": [],
|
|
6314
|
+
"occurrences": 2,
|
|
6315
|
+
"last_seen": "2026-09-15T17:02:00.000Z"
|
|
6316
|
+
},
|
|
6317
|
+
{
|
|
6318
|
+
"id": "bug-380",
|
|
6319
|
+
"timestamp": "2026-09-15T20:22:00.000Z",
|
|
6320
|
+
"error_message": "Validator-count findings changed when a consumer disabled validators, and Canonical-Sync disagreed with Metrics-Consistency by counting an inlined guard sub-check as another validator",
|
|
6321
|
+
"file": "cli/validators/metrics-consistency.mjs; cli/validators/canonical-sync.mjs",
|
|
6322
|
+
"root_cause": "Package capability was derived from enabled guard orchestration rather than the installed validator-module surface, with two validators maintaining incompatible counting rules",
|
|
6323
|
+
"fix": "Count shipped cli/validators modules through cli/shared-validator-surface.mjs, retain run-specific guard results only for check counts, and align CSY003 wording and all self-documentation",
|
|
6324
|
+
"tags": [
|
|
6325
|
+
"metrics",
|
|
6326
|
+
"canonical-sync",
|
|
6327
|
+
"false-positive",
|
|
6328
|
+
"package-surface",
|
|
6329
|
+
"field-report"
|
|
6330
|
+
],
|
|
6331
|
+
"related_bugs": [
|
|
6332
|
+
"bug-378"
|
|
6333
|
+
],
|
|
6334
|
+
"occurrences": 1,
|
|
6335
|
+
"last_seen": "2026-09-15T20:22:00.000Z"
|
|
6336
|
+
},
|
|
6337
|
+
{
|
|
6338
|
+
"id": "bug-381",
|
|
6339
|
+
"timestamp": "2026-09-15T20:22:00.000Z",
|
|
6340
|
+
"error_message": "Instruction pointer basename resolution treated ignored disposable worktree copies as primary repository files and reported false ambiguity",
|
|
6341
|
+
"file": "cli/shared-ignore.mjs; cli/scanners/instruction-audit.mjs",
|
|
6342
|
+
"root_cause": "The custom basename walk used only DocGuard ignore rules and continued through nested Git roots, bypassing Git's authoritative ignore semantics",
|
|
6343
|
+
"fix": "Use one bounded Git ignored-path filter for pointer indexing and prune nested .git file or directory boundaries before their descendants are read",
|
|
6344
|
+
"tags": [
|
|
6345
|
+
"instruction-audit",
|
|
6346
|
+
"gitignore",
|
|
6347
|
+
"worktree",
|
|
6348
|
+
"false-positive",
|
|
6349
|
+
"field-report"
|
|
6350
|
+
],
|
|
6351
|
+
"related_bugs": [],
|
|
6352
|
+
"occurrences": 1,
|
|
6353
|
+
"last_seen": "2026-09-15T20:22:00.000Z"
|
|
6354
|
+
},
|
|
6355
|
+
{
|
|
6356
|
+
"id": "bug-382",
|
|
6357
|
+
"timestamp": "2026-09-15T20:22:00.000Z",
|
|
6358
|
+
"error_message": "TRC004 correctly rejected a planned lifecycle registry that was new, removed from the Git index, or awaiting commit but suggested adding a test marker, obscuring the actual Git-state prerequisite",
|
|
6359
|
+
"file": "cli/scanners/spec-registry.mjs; cli/validators/traceability.mjs",
|
|
6360
|
+
"root_cause": "Trusted lifecycle loading discarded all non-clean Git state, leaving traceability with no safe way to distinguish a structurally current planned registry from ordinary missing lifecycle evidence",
|
|
6361
|
+
"fix": "Expose structurally current planned entries from every non-clean Git state only as advisory context; preserve enforcement, explain restore-or-commit remediation, and prohibit marker-only remediation",
|
|
6362
|
+
"tags": [
|
|
6363
|
+
"traceability",
|
|
6364
|
+
"spec-registry",
|
|
6365
|
+
"lifecycle",
|
|
6366
|
+
"remediation",
|
|
6367
|
+
"field-report"
|
|
6368
|
+
],
|
|
6369
|
+
"related_bugs": [
|
|
6370
|
+
"bug-377"
|
|
6371
|
+
],
|
|
6372
|
+
"occurrences": 1,
|
|
6373
|
+
"last_seen": "2026-09-15T20:22:00.000Z"
|
|
6202
6374
|
}
|
|
6203
6375
|
]
|
|
6204
6376
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
## User Preferences
|
|
7
7
|
|
|
8
|
+
- **2026-09-15** — Batch improvements and wait between public releases. Publish only after a materially significant set is ready or a critical correctness defect requires a release; avoid creating a visible release for each small merged change.
|
|
8
9
|
- **2026-07-03** — **NO VS Code extension. Ever (until Ricardo says otherwise).** He built one before, it was deeply problematic ("a shit show"), and he removed it. Do not propose, scaffold, or build a VS Code extension for DocGuard. SARIF + Problems-panel via existing SARIF viewers is the sanctioned path to editor visibility. All OTHER distribution channels approved 2026-07-03: pre-commit, MCP registries (official/Smithery/mcp.so/Glama), awesome lists, Homebrew tap, GitLab CI component, Actions Marketplace (his click). #286 catalog submission SENT as-is — sharpened description goes into release.yml sync-catalog for the NEXT release, don't touch the submitted issue.
|
|
9
10
|
- **2026-07-03** — Keep the LOCAL main tree (`/Users/ricardoaccioly/Repo_claude/canonical-spec-kit`) always up to date with origin/main. After any merge/push to main (releases especially), sync it in the same session: `git -C <main> status --short` first (never clobber unrecognized work — stash leftovers with a message, surface real WIP), then `git -C <main> pull --ff-only`. Sessions run in auto-worktrees, so the main tree silently falls behind otherwise (it sat at v0.25 while origin hit v0.29).
|
|
10
11
|
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
|
|
15
16
|
## Key Learnings
|
|
16
17
|
|
|
18
|
+
- **2026-09-15 — Composition and process status are public contracts.** A hook test that preserves postlude text does not prove the postlude executes, and an evaluator-state test does not prove a direct CLI command gates CI. Execute generated hooks with commands on both sides, assert exact marker cardinality after reinstall, and spawn every machine command to verify its exit status agrees with its JSON status.
|
|
17
19
|
- **2026-09-15 — A successful Spec Kit install does not prove manifest correctness.** The v0.40.4 ZIP passed validation and installed, yet `fix` resolved to `generate`, `review` resolved to `diagnose`, three shipped command files were absent from `provides.commands`, and its description exceeded the documented 200-character limit. Treat the manifest as an executable public API: require unique names and files, match every `speckit.docguard.<verb>` to `commands/<verb>.md`, compare declarations with the complete shipped directory, keep catalog metadata byte-aligned, and inspect the installed inventory before catalog submission.
|
|
18
20
|
|
|
19
21
|
- **2026-09-14 — Release-generated skill parity:** The scheduled release updates extension skill metadata through `fix --write`, whose headless mode correctly skips setup. It must then run an explicit managed-agent sync before tests and staging; otherwise `.agent/skills` remains one release behind. A repository parity test should compare every managed copy byte-for-byte with its extension source.
|
|
@@ -76,6 +78,7 @@
|
|
|
76
78
|
|
|
77
79
|
## Do-Not-Repeat
|
|
78
80
|
|
|
81
|
+
- **2026-09-15** — Never treat preserved hook text as proof of composition or a correct evaluator object as proof of CI behavior. Run the resulting script and spawn the CLI process; assertions must cover externally observable control flow and exit codes.
|
|
79
82
|
- **2026-09-14** — Never put Markdown backticks inside a double-quoted shell command passed to `zsh -lc`; command substitution executes the text. Use single-quoted search patterns, and perform exact cleanup through a bounded script when destructive shell forms are rejected.
|
|
80
83
|
- **2026-09-14** — Never treat a Git object ID as durable recovery by itself; unreachable commits and blobs can be garbage-collected after squash merges or branch deletion. Require the source revision to be an ancestor of a recorded retention ref and report recoverability explicitly.
|
|
81
84
|
- **2026-09-14** — Never count a bare requirement ID as feature-completion evidence. Once the original spec is retired, a formerly ambiguous `FR-012` can become unique and silently rebind to another feature. Feature gates require a qualified stable identity; retired identities remain tombstoned.
|
|
@@ -158,3 +161,5 @@
|
|
|
158
161
|
|
|
159
162
|
- **2026-09-15 — Living-spec completion and durable evidence:** A living verification contract may omit `tasks.md` only when every requirement has qualified source/test evidence; declared empty or incomplete ledgers and all other persistence models still fail closed. Maintenance of released living specs must preserve `released → released`. Because squash changes the candidate commit, durable implementation outcomes are recorded in a post-merge transaction against reachable main history; generated outcome churn cannot qualify itself.
|
|
160
163
|
- **2026-09-15 — Packed version assertions:** A release smoke test that accepts any semantic version is a false-green. Execute the extracted tarball and compare `--version` exactly to that tarball's `package.json`; run registry installation probes from a fresh directory because `npx` inside the package checkout can select a stale local binary.
|
|
164
|
+
|
|
165
|
+
- **2026-09-15 — Adoption precision follow-up:** A package capability claim must derive from the shipped package surface, never from one consumer's enabled guard results or from a secondary check emitted by a validator module. Keep every validator that governs the same claim on one shared count primitive. Instruction basename indexes must honor Git's ignore semantics and stop at nested Git boundaries before reading duplicate worktrees. Lifecycle evidence remains fail-closed: a structurally current planned registry that is new, removed from the Git index, or modified pending commit may improve the explanation, never defer traceability or prompt an artificial test marker. Pair each field replay with a real-project read-only run and before/after Git-status snapshots; no-release hardening batches stay unpublished until the user calls for a material release.
|
|
@@ -1334,3 +1334,5 @@
|
|
|
1334
1334
|
| 14:56 | Edited .github/workflows/release.yml | expanded (+53 lines) | ~845 |
|
|
1335
1335
|
| 14:56 | Edited README.md | expanded (+19 lines) | ~245 |
|
|
1336
1336
|
| 12:18 | Fixed living-spec completion and released maintenance; merged PRs #398–#400; published and independently verified v0.41.1; removed 348 temp artifacts | specs lifecycle, registry, roadmap, release | 1,866 tests + Node 18/20/22/24 + OSV + all publication targets passed | ~43000 tok |
|
|
1337
|
+
| 12:39 | Reproduced and fixed field-report hook composition, evidence exit, registry explanation, and README drift defects; classified four other v0.40.5 items as already fixed | hooks, verify, spec registry, canonical docs, tests | focused behavioral regressions added; v0.41.2 publication completed before release-cadence correction | ~18000 tok |
|
|
1338
|
+
| 20:22 | Hardened three v0.41.3 adoption reports and reconciled validator-count sources; replayed read-only consumer scans | metrics, canonical sync, instruction audit, lifecycle traceability, docs, tests | 1,879 tests, self-guard 618/618, package dry-run, seven repos unchanged; no release requested | ~26000 tok |
|
|
@@ -7,6 +7,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.41.4] - 2026-09-17
|
|
11
|
+
|
|
12
|
+
Automated weekly release — batches everything merged since `v0.41.3`.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- fix: correct the validator-surface claim and document DOCGUARD_API_KEY (#408)
|
|
17
|
+
- fix: harden adoption precision boundaries (#406)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- Document `DOCGUARD_API_KEY` in the canonical environment doc. `ENVIRONMENT.md`
|
|
23
|
+
claimed DocGuard uses "no API keys" and needs no environment variables, which
|
|
24
|
+
contradicted `SECURITY.md` and the HTTP MCP server, where the variable is
|
|
25
|
+
required to bind a non-loopback host. Core CLI commands still need no credential.
|
|
26
|
+
- Enforce the published validator count in `npm test`. Canonical-Sync and
|
|
27
|
+
Metrics-Consistency already detect a stale "N validators" claim, but they emit
|
|
28
|
+
warnings and the CI self-scan deliberately tolerates guard's warnings-only exit,
|
|
29
|
+
so a wrong count could reach `main` with every check green. The count is now
|
|
30
|
+
asserted against the shipped `cli/validators/*.mjs` modules, and README explains
|
|
31
|
+
why guard prints 30 result rows for 29 validators.
|
|
32
|
+
- Count DocGuard validator claims from one shared source of truth: the
|
|
33
|
+
validator modules shipped in the installed package. A consumer's intentionally
|
|
34
|
+
disabled validators and extra guard checks cannot create a false MET001 or
|
|
35
|
+
CSY003 finding, or an unsafe count rewrite.
|
|
36
|
+
- Keep instruction-pointer basename resolution out of Git-ignored directories
|
|
37
|
+
and nested Git checkouts, including linked worktree copies.
|
|
38
|
+
- Keep planned lifecycle registries that are new, removed from the Git index,
|
|
39
|
+
or modified pending commit non-authoritative for TRC004 while explaining how
|
|
40
|
+
to restore or commit the registry and current spec artifacts; the remediation
|
|
41
|
+
no longer suggests adding an artificial `@req` marker.
|
|
42
|
+
|
|
43
|
+
## [0.41.3] - 2026-09-15
|
|
44
|
+
|
|
45
|
+
Automated weekly release — batches everything merged since `v0.41.2`.
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- fix: preserve hook composition and evidence gates (#404)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- Increased the bounded subprocess deadlines in the hook and Spec Kit helper contract suites so parallel CI load does not misreport healthy integrations as `ETIMEDOUT` failures.
|
|
55
|
+
- Make managed Git hook reinstall idempotent, repair nested marker pairs written
|
|
56
|
+
by affected releases, and allow successful DocGuard blocks to continue into
|
|
57
|
+
user-owned postlude commands.
|
|
58
|
+
- Make direct `verify --evidence` suitable for CI by exiting 1 for contradictions
|
|
59
|
+
and invalid manifests, 2 for unresolved evidence, and 0 for verified or
|
|
60
|
+
unconfigured evidence.
|
|
61
|
+
- Explain deterministic spec-registry drift with bounded field paths and identify
|
|
62
|
+
order-only canonicalization instead of returning an unexplained `STALE` state.
|
|
63
|
+
- Replace the README's release-line label with version-independent wording so it
|
|
64
|
+
cannot become stale on the next automated release.
|
|
65
|
+
|
|
10
66
|
## [0.41.2] - 2026-09-15
|
|
11
67
|
|
|
12
68
|
Automated weekly release — batches everything merged since `v0.41.1`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: docguard-cli
|
|
3
|
-
Version: 0.41.
|
|
3
|
+
Version: 0.41.4
|
|
4
4
|
Summary: The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project documentation. No Python dependencies (requires Node.js 18+).
|
|
5
5
|
Project-URL: Homepage, https://github.com/raccioly/docguard
|
|
6
6
|
Project-URL: Documentation, https://github.com/raccioly/docguard#readme
|
|
@@ -101,7 +101,7 @@ graph TD
|
|
|
101
101
|
Commands --> setup["setup wizard"]
|
|
102
102
|
Commands --> other["diff · init · fix · trace · impact · sync · reconcile · retire · specs<br/>explain · memory · upgrade · agents · hooks · badge · ci · watch"]
|
|
103
103
|
|
|
104
|
-
guard --> Validators["Validators (
|
|
104
|
+
guard --> Validators["Validators (29)"]
|
|
105
105
|
generate --> Scanners["Scanners (4)<br/>routes · schemas · doc-tools · speckit"]
|
|
106
106
|
score --> Scoring["Weighted Scoring<br/>8 categories"]
|
|
107
107
|
diagnose --> Validators
|
|
@@ -299,7 +299,7 @@ DocGuard ships **23 commands** (the "Daily 5" + 18 situational tools, including
|
|
|
299
299
|
| Command | What It Does |
|
|
300
300
|
|:--------|:-------------|
|
|
301
301
|
| `init` | Bootstrap a project (`--wizard` for interactive · `--with <name>` for scaffolders) |
|
|
302
|
-
| `guard` | Validate against canonical docs —
|
|
302
|
+
| `guard` | Validate against canonical docs — 29 validators |
|
|
303
303
|
| `diff` | Show gaps between docs and code (`--since <ref>` for impact mode) |
|
|
304
304
|
| `sync` | Refresh code-truth doc sections — keeps memory always up to date |
|
|
305
305
|
| `score` | Structural CDD maturity score (0-100; not a guard verdict; `--diff` for delta between refs) |
|
|
@@ -435,7 +435,13 @@ $ npx docguard-cli generate
|
|
|
435
435
|
|
|
436
436
|
## 🔍 Validators
|
|
437
437
|
|
|
438
|
-
DocGuard runs **
|
|
438
|
+
DocGuard runs **29 automated validators** on every `guard` check. Source-facing validators are language-aware where their evidence model applies; repository and document validators operate independently of source language.
|
|
439
|
+
|
|
440
|
+
> **Counting note:** `guard` prints 30 result rows, not 29. `Structure` emits a
|
|
441
|
+
> second check result (`Doc Sections`) under the same validator key, so rows are
|
|
442
|
+
> checks, not validators. The published number is the count of shipped
|
|
443
|
+
> `cli/validators/*.mjs` modules and is enforced by tests — don't derive it by
|
|
444
|
+
> counting output rows.
|
|
439
445
|
|
|
440
446
|
| # | Validator | What It Checks | Default |
|
|
441
447
|
|:--|:----------|:--------------|:--------|
|
|
@@ -568,7 +574,7 @@ DocGuard provides AI agent slash commands for integrated workflows. Installed au
|
|
|
568
574
|
| Command | What It Does |
|
|
569
575
|
|:--------|:-------------|
|
|
570
576
|
| `/docguard.init` | Initialize Canonical-Driven Development in a new or existing project |
|
|
571
|
-
| `/docguard.guard` | Run quality validation — check all
|
|
577
|
+
| `/docguard.guard` | Run quality validation — check all 29 validators |
|
|
572
578
|
| `/docguard.review` | Analyze doc quality and suggest improvements |
|
|
573
579
|
| `/docguard.fix` | Generate targeted fix prompts for specific issues |
|
|
574
580
|
| `/docguard.update` | Update canonical docs after code changes — detect drift and sync documentation |
|
|
@@ -738,7 +744,7 @@ Two ready-to-use templates ship with the Spec Kit extension and as standalone fi
|
|
|
738
744
|
|
|
739
745
|
## ✨ What's New
|
|
740
746
|
|
|
741
|
-
Highlights
|
|
747
|
+
Highlights from recent releases:
|
|
742
748
|
|
|
743
749
|
- **Adoption baseline** — `guard --update-baseline` freezes a legacy repo's existing findings
|
|
744
750
|
into a committed `.docguard.baseline.json`; guard/ci then gate only NEW drift, with suppression
|
|
@@ -77,7 +77,7 @@ graph TD
|
|
|
77
77
|
Commands --> setup["setup wizard"]
|
|
78
78
|
Commands --> other["diff · init · fix · trace · impact · sync · reconcile · retire · specs<br/>explain · memory · upgrade · agents · hooks · badge · ci · watch"]
|
|
79
79
|
|
|
80
|
-
guard --> Validators["Validators (
|
|
80
|
+
guard --> Validators["Validators (29)"]
|
|
81
81
|
generate --> Scanners["Scanners (4)<br/>routes · schemas · doc-tools · speckit"]
|
|
82
82
|
score --> Scoring["Weighted Scoring<br/>8 categories"]
|
|
83
83
|
diagnose --> Validators
|
|
@@ -275,7 +275,7 @@ DocGuard ships **23 commands** (the "Daily 5" + 18 situational tools, including
|
|
|
275
275
|
| Command | What It Does |
|
|
276
276
|
|:--------|:-------------|
|
|
277
277
|
| `init` | Bootstrap a project (`--wizard` for interactive · `--with <name>` for scaffolders) |
|
|
278
|
-
| `guard` | Validate against canonical docs —
|
|
278
|
+
| `guard` | Validate against canonical docs — 29 validators |
|
|
279
279
|
| `diff` | Show gaps between docs and code (`--since <ref>` for impact mode) |
|
|
280
280
|
| `sync` | Refresh code-truth doc sections — keeps memory always up to date |
|
|
281
281
|
| `score` | Structural CDD maturity score (0-100; not a guard verdict; `--diff` for delta between refs) |
|
|
@@ -411,7 +411,13 @@ $ npx docguard-cli generate
|
|
|
411
411
|
|
|
412
412
|
## 🔍 Validators
|
|
413
413
|
|
|
414
|
-
DocGuard runs **
|
|
414
|
+
DocGuard runs **29 automated validators** on every `guard` check. Source-facing validators are language-aware where their evidence model applies; repository and document validators operate independently of source language.
|
|
415
|
+
|
|
416
|
+
> **Counting note:** `guard` prints 30 result rows, not 29. `Structure` emits a
|
|
417
|
+
> second check result (`Doc Sections`) under the same validator key, so rows are
|
|
418
|
+
> checks, not validators. The published number is the count of shipped
|
|
419
|
+
> `cli/validators/*.mjs` modules and is enforced by tests — don't derive it by
|
|
420
|
+
> counting output rows.
|
|
415
421
|
|
|
416
422
|
| # | Validator | What It Checks | Default |
|
|
417
423
|
|:--|:----------|:--------------|:--------|
|
|
@@ -544,7 +550,7 @@ DocGuard provides AI agent slash commands for integrated workflows. Installed au
|
|
|
544
550
|
| Command | What It Does |
|
|
545
551
|
|:--------|:-------------|
|
|
546
552
|
| `/docguard.init` | Initialize Canonical-Driven Development in a new or existing project |
|
|
547
|
-
| `/docguard.guard` | Run quality validation — check all
|
|
553
|
+
| `/docguard.guard` | Run quality validation — check all 29 validators |
|
|
548
554
|
| `/docguard.review` | Analyze doc quality and suggest improvements |
|
|
549
555
|
| `/docguard.fix` | Generate targeted fix prompts for specific issues |
|
|
550
556
|
| `/docguard.update` | Update canonical docs after code changes — detect drift and sync documentation |
|
|
@@ -714,7 +720,7 @@ Two ready-to-use templates ship with the Spec Kit extension and as standalone fi
|
|
|
714
720
|
|
|
715
721
|
## ✨ What's New
|
|
716
722
|
|
|
717
|
-
Highlights
|
|
723
|
+
Highlights from recent releases:
|
|
718
724
|
|
|
719
725
|
- **Adoption baseline** — `guard --update-baseline` freezes a legacy repo's existing findings
|
|
720
726
|
into a committed `.docguard.baseline.json`; guard/ci then gate only NEW drift, with suppression
|
|
@@ -85,7 +85,7 @@ tuning; the levers that mattered:
|
|
|
85
85
|
## Standing verification
|
|
86
86
|
|
|
87
87
|
- Built-in `node:test`, with Node 18/20/22/24 in the supported CI matrix. Per-change validation records contain measured test totals.
|
|
88
|
-
- **Self-guarded:** every push runs all
|
|
88
|
+
- **Self-guarded:** every push runs all 29 validators against DocGuard's own
|
|
89
89
|
docs; count claims in this README family are machine-governed
|
|
90
90
|
(Canonical-Sync), so the validator count is checked, not remembered.
|
|
91
91
|
- **Deterministic core:** no LLM calls at validation time, one pinned
|
|
@@ -24,6 +24,19 @@ import { existsSync, mkdirSync, chmodSync, readFileSync, unlinkSync } from 'node
|
|
|
24
24
|
// pre-existing hooks), behavior falls back to the existing --force flow.
|
|
25
25
|
const BEGIN_MARKER = '# BEGIN DOCGUARD MANAGED — do not edit between these markers';
|
|
26
26
|
const END_MARKER = '# END DOCGUARD MANAGED';
|
|
27
|
+
const escapeRegExp = value => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
28
|
+
|
|
29
|
+
function managedBounds(content) {
|
|
30
|
+
const starts = [...content.matchAll(new RegExp(`^${escapeRegExp(BEGIN_MARKER)}\\r?$`, 'gm'))]
|
|
31
|
+
.map(match => match.index);
|
|
32
|
+
const ends = [...content.matchAll(new RegExp(`^${escapeRegExp(END_MARKER)}\\r?$`, 'gm'))]
|
|
33
|
+
.map(match => match.index);
|
|
34
|
+
const start = starts[0];
|
|
35
|
+
const end = ends.at(-1);
|
|
36
|
+
return Number.isInteger(start) && Number.isInteger(end) && end > start
|
|
37
|
+
? { start, end }
|
|
38
|
+
: null;
|
|
39
|
+
}
|
|
27
40
|
|
|
28
41
|
/**
|
|
29
42
|
* Wrap a hook body in BEGIN/END markers so future re-installs can splice
|
|
@@ -44,15 +57,18 @@ function wrapManaged(body) {
|
|
|
44
57
|
* the BEGIN/END markers. Returns the new file content (string) or null
|
|
45
58
|
* when the markers aren't found (caller falls back to legacy behavior).
|
|
46
59
|
*/
|
|
47
|
-
function spliceManagedBlock(existing,
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
60
|
+
function spliceManagedBlock(existing, rawBody) {
|
|
61
|
+
const bounds = managedBounds(existing);
|
|
62
|
+
if (!bounds) return null;
|
|
63
|
+
const startIdx = bounds.start;
|
|
64
|
+
// Use the outermost end marker so one reinstall also repairs hooks written
|
|
65
|
+
// by v0.40.5-v0.41.2, which accidentally nested a second managed block.
|
|
66
|
+
const endIdx = bounds.end;
|
|
51
67
|
const before = existing.slice(0, startIdx);
|
|
52
68
|
const after = existing.slice(endIdx + END_MARKER.length);
|
|
53
|
-
//
|
|
69
|
+
// rawBody has its own shebang — strip it since we're splicing into the
|
|
54
70
|
// middle of an existing file (which already has one).
|
|
55
|
-
const bodyNoShebang =
|
|
71
|
+
const bodyNoShebang = rawBody.replace(/^#!.*\n/, '');
|
|
56
72
|
return `${before}${BEGIN_MARKER}\n${bodyNoShebang.replace(/\n+$/, '')}\n${END_MARKER}${after}`;
|
|
57
73
|
}
|
|
58
74
|
|
|
@@ -62,18 +78,21 @@ function hookState(name, hooksDir) {
|
|
|
62
78
|
let content;
|
|
63
79
|
try { content = readFileSync(path, 'utf-8'); }
|
|
64
80
|
catch { return { kind: 'unreadable', path, content: '' }; }
|
|
65
|
-
if (
|
|
81
|
+
if (managedBounds(content)) {
|
|
66
82
|
return { kind: 'managed', path, content };
|
|
67
83
|
}
|
|
68
|
-
const legacySignature = new RegExp(`^# DocGuard ${name
|
|
84
|
+
const legacySignature = new RegExp(`^# DocGuard ${escapeRegExp(name)} hook(?: \\(auto-fix mode\\))?$`, 'm');
|
|
69
85
|
if (legacySignature.test(content)) return { kind: 'legacy', path, content };
|
|
70
86
|
return { kind: 'foreign', path, content };
|
|
71
87
|
}
|
|
72
88
|
|
|
73
89
|
function removeManagedBlock(content) {
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
90
|
+
const bounds = managedBounds(content);
|
|
91
|
+
if (!bounds) return null;
|
|
92
|
+
const start = bounds.start;
|
|
93
|
+
// Match spliceManagedBlock's outermost recovery boundary so removal also
|
|
94
|
+
// cleans up already-nested blocks from affected releases.
|
|
95
|
+
const end = bounds.end;
|
|
77
96
|
const remaining = `${content.slice(0, start)}${content.slice(end + END_MARKER.length)}`
|
|
78
97
|
.replace(/\n{3,}/g, '\n\n');
|
|
79
98
|
return remaining;
|
|
@@ -128,7 +147,7 @@ elif [ $EXIT_CODE -eq 2 ]; then
|
|
|
128
147
|
echo "⚠️ DocGuard guard found warnings — commit allowed"
|
|
129
148
|
fi
|
|
130
149
|
|
|
131
|
-
|
|
150
|
+
:
|
|
132
151
|
`,
|
|
133
152
|
},
|
|
134
153
|
|
|
@@ -179,7 +198,7 @@ if [ "$SCORE" -lt "$MIN_SCORE" ]; then
|
|
|
179
198
|
fi
|
|
180
199
|
|
|
181
200
|
echo " ✅ Score meets minimum threshold"
|
|
182
|
-
|
|
201
|
+
:
|
|
183
202
|
`,
|
|
184
203
|
},
|
|
185
204
|
|
|
@@ -215,7 +234,7 @@ if ! echo "$COMMIT_MSG" | head -1 | grep -qE "$PATTERN"; then
|
|
|
215
234
|
exit 1
|
|
216
235
|
fi
|
|
217
236
|
|
|
218
|
-
|
|
237
|
+
:
|
|
219
238
|
`,
|
|
220
239
|
},
|
|
221
240
|
};
|
|
@@ -256,7 +275,7 @@ if [ "$EXIT_CODE" -ne 0 ] && [ "$EXIT_CODE" -ne 2 ]; then
|
|
|
256
275
|
elif [ $EXIT_CODE -eq 2 ]; then
|
|
257
276
|
echo "⚠️ DocGuard guard found warnings — commit allowed"
|
|
258
277
|
fi
|
|
259
|
-
|
|
278
|
+
:
|
|
260
279
|
`;
|
|
261
280
|
|
|
262
281
|
export function runHooks(projectDir, config, flags) {
|
|
@@ -356,7 +375,8 @@ export function runHooks(projectDir, config, flags) {
|
|
|
356
375
|
for (const name of hookTypes) {
|
|
357
376
|
const hookPath = resolve(hooksDir, name);
|
|
358
377
|
const useAutofix = name === 'pre-commit' && flags.autoFix;
|
|
359
|
-
const
|
|
378
|
+
const rawContent = useAutofix ? PRE_COMMIT_AUTOFIX : HOOKS[name].content;
|
|
379
|
+
const newContent = wrapManaged(rawContent);
|
|
360
380
|
const desc = useAutofix ? 'Apply mechanical fixes (fix --write) then guard' : HOOKS[name].description;
|
|
361
381
|
|
|
362
382
|
if (existsSync(hookPath)) {
|
|
@@ -366,7 +386,7 @@ export function runHooks(projectDir, config, flags) {
|
|
|
366
386
|
// preserve everything outside it. The user can extend the hook with
|
|
367
387
|
// their own commands above/below the markers without losing them on
|
|
368
388
|
// re-install.
|
|
369
|
-
const spliced = spliceManagedBlock(existing,
|
|
389
|
+
const spliced = spliceManagedBlock(existing, rawContent);
|
|
370
390
|
if (spliced !== null) {
|
|
371
391
|
safeWrite(hookPath, spliced);
|
|
372
392
|
chmodSync(hookPath, 0o755);
|
|
@@ -226,6 +226,12 @@ function printResult(result) {
|
|
|
226
226
|
console.log(`Spec registry: ${result.status}`);
|
|
227
227
|
console.log(`Registry: ${SPEC_REGISTRY_PATH}`);
|
|
228
228
|
console.log(`Specs: ${result.specs}; tombstones: ${result.tombstones}`);
|
|
229
|
+
if (result.differences?.length) {
|
|
230
|
+
console.log('Differences:');
|
|
231
|
+
for (const difference of result.differences) {
|
|
232
|
+
console.log(` ${difference.path}: ${difference.message}`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
229
235
|
if (result.issues.length) printIssues(result.issues);
|
|
230
236
|
}
|
|
231
237
|
|
|
@@ -268,6 +274,7 @@ export function runSpecs(projectDir, config, flags = {}) {
|
|
|
268
274
|
specs: projection.registry.specs.length,
|
|
269
275
|
tombstones: projection.registry.tombstones.length,
|
|
270
276
|
issues: projection.issues,
|
|
277
|
+
differences: projection.differences,
|
|
271
278
|
};
|
|
272
279
|
if (flags.format === 'json') console.log(JSON.stringify(result, null, 2));
|
|
273
280
|
else printResult(result);
|