docguard-cli 0.41.5__tar.gz → 0.41.6__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.5 → docguard_cli-0.41.6}/.agent/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.41.5/extensions/spec-kit-docguard → docguard_cli-0.41.6/.agent}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.41.5/extensions/spec-kit-docguard → docguard_cli-0.41.6/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.41.5/extensions/spec-kit-docguard → docguard_cli-0.41.6/.agent}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.gitignore +1 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/AGENTS.md +24 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/CHANGELOG.md +51 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/PKG-INFO +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/guard.mjs +15 -4
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/hooks.mjs +19 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/trace.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/api-doc.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/diff-suspicion.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/docs-coverage.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/generate-io.mjs +27 -9
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/extension.yml +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.41.5/.agent → docguard_cli-0.41.6/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.41.5/.agent → docguard_cli-0.41.6/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.41.5/.agent → docguard_cli-0.41.6/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/package-lock.json +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/package.json +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/pyproject.toml +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/server.json +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/ci/github-actions.yml +1 -1
- docguard_cli-0.41.6/testguard.claims.json +50 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/api-doc.test.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/canonical-docs-nested.test.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docs-diff.test.mjs +2 -2
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/environment.test.mjs +2 -2
- docguard_cli-0.41.6/tests/hook-fail-open.test.mjs +109 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/hooks-contract.test.mjs +18 -4
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/routes-nextjs-app-router.test.mjs +1 -1
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/traceability.test.mjs +2 -2
- docguard_cli-0.41.6/tools/node-test-json-reporter.mjs +52 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/architect.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.claude/settings.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.docguard-archive.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.docguard-specs.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.docguard.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.docguardignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/dependabot.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/scripts/speckit-submission.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/scripts/sync-release-version.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/scripts/upsert-catalog-reminder.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/scripts/validate-release-candidate.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/auto-merge.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/jules-triage.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/release.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/scheduled-release.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.github/workflows/sync-speckit-catalog.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.jules/bolt.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.jules/palette.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.jules/sentinel.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.jules-setup.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.npmignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.npmrc +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.pre-commit-hooks.yaml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/init-options.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/CLAUDE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/COMPARISONS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/Dockerfile +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/LICENSE +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/PRIVACY.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/README.es.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/README.pt-BR.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/ROADMAP.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/SECURITY.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/STANDARD.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/SUPPORT.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/VALIDATION.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/action.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/assets/bin/docguard +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/assets/demo.gif +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/assets/demo.tape +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/.docguard-specs.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/.docguard.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/AGENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/CHANGELOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/specs/001-retired-timeout/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/specs/002-timeout-options/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/src/options.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/option-migration/tests/options.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/.docguard-specs.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/.docguard.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/AGENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/CHANGELOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/config_loader.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/pyproject.toml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/specs/001-safe-config/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/python-config/tests/test_config_loader.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/.docguard-specs.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/.docguard.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/AGENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/CHANGELOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/specs/001-status-aliases/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/src/status.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/fixtures/status-alias/tests/status.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/hidden/option-migration/evaluate.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/hidden/python-config/evaluate.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/hidden/status-alias/evaluate.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/manifest.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/reference/option-migration/options.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/reference/python-config/config_loader.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/reference/status-alias/status.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/results/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/results/observed-v1.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/agent-context/run.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/baseline.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/corpus.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/generated-security-control/.docguardignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/generated-security-control/.gitignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/generated-security-control/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/generated-security-control/src/generated-client/config.js +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/go-todo-control/ROADMAP.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/go-todo-control/app.go +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/go-todo-control/go.mod +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/js-security-control/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/js-security-control/src/config.js +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/monorepo-security-control/.gitignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/monorepo-security-control/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/monorepo-security-control/packages/auth/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/monorepo-security-control/packages/auth/src/config.ts +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/python-security-control/.gitignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/python-security-control/app.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/python-security-control/pyproject.toml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/python-unsupported/app.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/python-unsupported/pyproject.toml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/sparse-doc-control/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/sparse-doc-control/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/sparse-doc-control/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/ts-security-control/.gitignore +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/ts-security-control/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/fixtures/ts-security-control/src/config.ts +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/lib/compare.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/lib/manifest.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/lib/metrics.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/lib/runner.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/benchmarks/run.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/assessment.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/mcp.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/reconcile.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/report.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/retire.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/specs.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/sync.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/verify.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/config.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/docguard.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/evidence/adapters.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/evidence/evaluate.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/evidence/manifest.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/evidence/markdown.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/evidence/python-literal.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/feedback-fixture.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/findings.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/release-pr-policy.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/repository-root.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/document-lifecycle.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/instruction-audit.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/lifecycle-context.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/reconciliation.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/requirement-evidence.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/retirement-manifest.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/spec-registry.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/scanners/task-context.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-diff.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-doc-roles.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-git.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-ignore.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-ir.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-requirements.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-sync-scope.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared-validator-surface.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/shared.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validator-coverage.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/api-doc-smells.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/canonical-sync.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/document-lifecycle.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/evidence.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/reference-existence.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/spec-registry.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/validators/traceability.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/baseline.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/file-transaction.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/history.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/junit.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/cli/writers/spec-outcomes.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/commands/docguard.review.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/commands/docguard.score.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/configs/fastify.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/configs/generic.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/configs/nextjs.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/configs/python.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/ai-integration.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/commands.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/configuration.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/doc-sections.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/faq.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/installation.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/profiles.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs/quickstart.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/CI-RECIPES.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/REQUIREMENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/02-python-flask/requirements.txt +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/examples/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/brief.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/complete.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/review.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/extensions/spec-kit-docguard/templates/extensions.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/glama.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/llms-full.txt +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/llms.txt +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/mcpb/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/mcpb/manifest.template.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/packaging/homebrew/docguard.rb +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/packaging/submissions.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-agent-context-benchmark.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-agent-context-result.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-benchmark.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-config.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-evidence.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-feedback-fixture.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-specs.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/schemas/docguard-task-context.schema.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/smithery.yaml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/006-document-lifecycle/plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/006-document-lifecycle/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/006-document-lifecycle/tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/007-precision-evidence-loop/plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/007-precision-evidence-loop/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/007-precision-evidence-loop/tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/008-evidence-scoped-verification/plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/008-evidence-scoped-verification/research.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/008-evidence-scoped-verification/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/008-evidence-scoped-verification/tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/009-language-repository-coverage/plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/009-language-repository-coverage/research.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/009-language-repository-coverage/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/009-language-repository-coverage/tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/010-task-specific-agent-context/plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/010-task-specific-agent-context/research.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/010-task-specific-agent-context/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/010-task-specific-agent-context/tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/011-tokenless-scheduled-releases/plan.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/011-tokenless-scheduled-releases/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/011-tokenless-scheduled-releases/tasks.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/specs/012-adoption-workflow-integrity/spec.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/ADR.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/ci/gitlab-component.yml +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/evidence-manifest.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/templates/feedback-fixture.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/adoption-workflow.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agent-context-benchmark.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agent-evidence.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agents-check-readonly.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agents-command.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/api-authority-precision.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/api-doc-smells.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/archive.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/assessment.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/badge.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/baseline.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/benchmark-manifest.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/benchmark-metrics.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/benchmark-runner.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/canonical-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/catalog-submission.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/check-coverage.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/ci-reproducibility.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/ci-scaffolder.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/commands.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/diagnose-review-guidance.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/diff-suspicion.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/doc-role-boundaries.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/doc-role-mapping.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docguard-config-schema.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docs-coverage-scope.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/document-lifecycle.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/ensure-skills-idempotent.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/evidence-adapters.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/evidence-integration.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/evidence-manifest.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/evidence-python-literal.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/feedback-contributions.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/feedback-fixture.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-context-precision.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-diff-precision.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-report-0415.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-report-3.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/field-review-clarity.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/file-transaction.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/finding-severity-config.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/fixtures/release-workflow-probe.json +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/generate-io.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/history.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/hooks.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/instruction-audit.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/junit.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/mapped-writers.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/mcp-http.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/metrics-dedup.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/nudge-hook.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/python-import-graph.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/reconcile.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/reference-existence.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/release-version-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/report.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/repository-root.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/requirement-scope.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/route-field-precision.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/scheduled-release.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/schema-sync-scope.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/score-assurance.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/security.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/shared-diff.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/shared-git.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/shared-ignore-functions.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/shared-ir.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/spec-completion.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/spec-kit-helper-json.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/spec-registry.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/speckit-phantom.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/task-context.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/trace-features.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/traceability-fixtures.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/traceability-ir.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/traceability-lifecycle.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/validator-surface-invariant.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/verify-change-context.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/watch-reliability.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/whats-new.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/tests/worker-python-capability.test.mjs +0 -0
- {docguard_cli-0.41.5 → docguard_cli-0.41.6}/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.6
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.41.
|
|
13
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.41.
|
|
10
|
+
<!-- docguard:version: 0.41.6 -->
|
|
11
11
|
|
|
12
12
|
# DocGuard Sync Skill
|
|
13
13
|
|
|
@@ -187,6 +187,30 @@ extensions/spec-kit-docguard/
|
|
|
187
187
|
- Never write a workflow using `pull_request_target` with checkout of PR-controlled refs.
|
|
188
188
|
- Always pin third-party GitHub Actions to commit SHA, not @v1 or @main.
|
|
189
189
|
|
|
190
|
+
## Claim probing (TestGuard)
|
|
191
|
+
|
|
192
|
+
`testguard.claims.json` states what this codebase guarantees, as claims with
|
|
193
|
+
mechanical faults. `testguard probe` injects each fault and reports the ones the
|
|
194
|
+
suite fails to detect — a test that pins a *defect* stays green under coverage,
|
|
195
|
+
so this is the check that catches it.
|
|
196
|
+
|
|
197
|
+
This suite runs on `node --test`, which ships no `json` reporter, while TestGuard
|
|
198
|
+
reads Jest-shape JSON. `tools/node-test-json-reporter.mjs` translates between
|
|
199
|
+
them:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
npx testguard-cli probe --confirm 3 --serial \
|
|
203
|
+
--node-modules "$PWD/node_modules" \
|
|
204
|
+
--runner-cmd "node --test --test-reporter=$PWD/tools/node-test-json-reporter.mjs --test-reporter-destination={out} {files}"
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Pass an absolute reporter path: the probe runs in a scratch worktree built from
|
|
208
|
+
a commit, so a relative path resolves there and untracked files do not exist.
|
|
209
|
+
|
|
210
|
+
`testguard gate --changed origin/main` reports changed source files that carry no
|
|
211
|
+
claim. It does not find bugs; it refuses to let a change land without stating
|
|
212
|
+
what must be true, which is the step that surfaces them.
|
|
213
|
+
|
|
190
214
|
## Evidence and contributions
|
|
191
215
|
|
|
192
216
|
A structural score is a maturity proxy. Preserve `assurance` and nullable factual accuracy in automation; a clean guard does not establish arbitrary prose correctness. Review human intent separately from generated code facts. To challenge any finding, run `docguard feedback --code <CODE> --preview`, inspect the metadata-only public draft, and check the supplied search link for existing open and closed work. Contribute a synthetic failing example paired with a neighboring valid case. Submission remains opt-in.
|
|
@@ -7,6 +7,56 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.41.6] - 2026-09-18
|
|
11
|
+
|
|
12
|
+
Automated weekly release — batches everything merged since `v0.41.5`.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- test: make this suite probeable by TestGuard, and close the gap it found (#415)
|
|
17
|
+
- fix: do not block projects that never adopted DocGuard; protect hook backups (#414)
|
|
18
|
+
- chore: complete the pass to generic project references (#413)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- TestGuard claim probing for this repository: `testguard.claims.json` plus
|
|
24
|
+
`tools/node-test-json-reporter.mjs`, which translates `node --test` output into
|
|
25
|
+
the Jest-shape JSON TestGuard reads (node:test ships no `json` reporter). The
|
|
26
|
+
first claim covers `backupFile`; probing it found a real gap — one guard was
|
|
27
|
+
masked by another, so its fault survived while every test stayed green — and
|
|
28
|
+
the missing case is now covered.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Completed the pass to generic project references: the earlier sweep matched a
|
|
33
|
+
narrower pattern than the one used to find them, so sixteen mentions survived
|
|
34
|
+
in source comments, tests and changelog prose. Two references are deliberately
|
|
35
|
+
kept: `.docguard-archive.json` records an archived spec path plus the
|
|
36
|
+
`git restore` command that recovers it, and renaming that string would point
|
|
37
|
+
the restore at a path that never existed.
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- Stop blocking commits in projects that never adopted DocGuard. A Git hook
|
|
42
|
+
lives in the common `.git/hooks` and governs every linked worktree, while
|
|
43
|
+
`.docguard.json` is a branch-local tracked file — during adoption the two
|
|
44
|
+
cannot be consistent, so a hook installed on one branch blocked commits on
|
|
45
|
+
every other branch and worktree, where `guard` exited 1 for missing canonical
|
|
46
|
+
docs. `guard` now exits **3** ("not initialised") instead of 1 when there is
|
|
47
|
+
no `.docguard.json`, and the generated hooks skip enforcement and allow the
|
|
48
|
+
operation. Exit 3 is still non-zero, so a CI gate that fails on any non-zero
|
|
49
|
+
status is unchanged, and an adopted project with real findings still exits 1
|
|
50
|
+
and still blocks. Existing installed hooks do not self-heal — re-run
|
|
51
|
+
`docguard hooks` to pick this up.
|
|
52
|
+
- Stop spending the single backup slot on a no-op. Re-installing a byte-identical
|
|
53
|
+
managed hook wrote a redundant `.bak`; with `--force` a second install
|
|
54
|
+
overwrote the backup holding the user's own original hook, which is
|
|
55
|
+
unrecoverable because a `.git/hooks` file is not in version control. Identical
|
|
56
|
+
writes are now skipped, and a `.bak` DocGuard did not write is preserved
|
|
57
|
+
alongside a timestamped copy rather than replaced.
|
|
58
|
+
|
|
59
|
+
|
|
10
60
|
## [0.41.5] - 2026-09-17
|
|
11
61
|
|
|
12
62
|
Automated weekly release — batches everything merged since `v0.41.4`.
|
|
@@ -1809,7 +1859,7 @@ Python, and AWS/AppSync projects.
|
|
|
1809
1859
|
longer scans `commands/docguard.*.md` (DocGuard's slash-command docs, which it
|
|
1810
1860
|
installs into the project) for count claims. A stale "N validators" baked into
|
|
1811
1861
|
those shipped docs was being reported as the *user's* drift in every project
|
|
1812
|
-
that had them (field test:
|
|
1862
|
+
that had them (field test: a downstream project, a downstream project). A user's own
|
|
1813
1863
|
`commands/<name>.md` is unaffected.
|
|
1814
1864
|
- **Dogfooding closure** — Canonical-Sync now scans **AGENTS.md** in addition to
|
|
1815
1865
|
README for "ships N commands"/"N validators" surface claims (it only checked
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: docguard-cli
|
|
3
|
-
Version: 0.41.
|
|
3
|
+
Version: 0.41.6
|
|
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
|
|
@@ -664,12 +664,23 @@ export function runGuard(projectDir, config, flags) {
|
|
|
664
664
|
|
|
665
665
|
const data = runGuardInternal(projectDir, config);
|
|
666
666
|
|
|
667
|
+
// A project with no .docguard.json has not adopted DocGuard. Its "failures"
|
|
668
|
+
// are missing canonical docs, which is not the same fact as "this project
|
|
669
|
+
// failed its checks" — and consumers need to tell them apart. Exit 3 says
|
|
670
|
+
// "not initialised": still non-zero, so a CI gate that fails on any non-zero
|
|
671
|
+
// status is unchanged, but the generated Git hook can let the commit through
|
|
672
|
+
// instead of blocking a project that never adopted the tool.
|
|
673
|
+
const uninitialised = !existsSync(resolvePath(projectDir, '.docguard.json'));
|
|
674
|
+
const exitFor = d => (d.effectiveErrors > 0
|
|
675
|
+
? (uninitialised ? 3 : 1)
|
|
676
|
+
: d.effectiveWarnings > 0 ? 2 : 0);
|
|
677
|
+
|
|
667
678
|
// ── SARIF output (2.1.0) ──
|
|
668
679
|
// Same flush discipline as the JSON branch below (bug-105): set exitCode and
|
|
669
680
|
// write+return so a piped consumer never gets a truncated payload.
|
|
670
681
|
if (flags.format === 'sarif') {
|
|
671
682
|
const sarif = toSarif(data, { projectDir });
|
|
672
|
-
process.exitCode = data
|
|
683
|
+
process.exitCode = exitFor(data);
|
|
673
684
|
process.stdout.write(JSON.stringify(sarif, null, 2) + '\n');
|
|
674
685
|
return;
|
|
675
686
|
}
|
|
@@ -680,7 +691,7 @@ export function runGuard(projectDir, config, flags) {
|
|
|
680
691
|
// Exit-code semantics identical to sarif/json.
|
|
681
692
|
if (flags.format === 'junit') {
|
|
682
693
|
const xml = toJUnit(data);
|
|
683
|
-
process.exitCode = data
|
|
694
|
+
process.exitCode = exitFor(data);
|
|
684
695
|
process.stdout.write(xml + '\n');
|
|
685
696
|
return;
|
|
686
697
|
}
|
|
@@ -689,7 +700,7 @@ export function runGuard(projectDir, config, flags) {
|
|
|
689
700
|
if (flags.format === 'json') {
|
|
690
701
|
// Use severity-aware effective counts for exit code; raw counts stay in the JSON
|
|
691
702
|
// for display tools that want to show the full picture.
|
|
692
|
-
const code = data
|
|
703
|
+
const code = exitFor(data);
|
|
693
704
|
// v0.28: set exitCode + return instead of process.exit(). A large JSON
|
|
694
705
|
// payload (>~8 KB) written to a PIPE flushes asynchronously; an immediate
|
|
695
706
|
// process.exit() truncates it mid-string, so a CI consumer parsing stdout
|
|
@@ -991,5 +1002,5 @@ export function runGuard(projectDir, config, flags) {
|
|
|
991
1002
|
// v0.28: exitCode + return (not process.exit) so the buffered text output
|
|
992
1003
|
// flushes to a pipe before the process exits — same truncation fix as the
|
|
993
1004
|
// JSON path above.
|
|
994
|
-
process.exitCode = data
|
|
1005
|
+
process.exitCode = exitFor(data);
|
|
995
1006
|
}
|
|
@@ -105,6 +105,17 @@ import { listCanonicalDocs } from '../shared-ignore.mjs';
|
|
|
105
105
|
|
|
106
106
|
// Git enforcement is offline and fail-closed; agent nudges stay best-effort.
|
|
107
107
|
const ENFORCEMENT_RUNTIME = `
|
|
108
|
+
# A Git hook is repo-wide (it lives in the common .git/hooks and is shared by
|
|
109
|
+
# every linked worktree), but .docguard.json is a branch-local tracked file.
|
|
110
|
+
# During adoption the two cannot be consistent: the hook is already active
|
|
111
|
+
# everywhere while the config exists on one branch only. A project that has not
|
|
112
|
+
# adopted DocGuard must not be blocked by a hook installed from another branch.
|
|
113
|
+
if [ ! -f ".docguard.json" ]; then
|
|
114
|
+
echo "DocGuard: not initialised here (no .docguard.json) — skipping."
|
|
115
|
+
echo " Adopt it with: docguard init"
|
|
116
|
+
exit 0
|
|
117
|
+
fi
|
|
118
|
+
|
|
108
119
|
if ! command -v node >/dev/null 2>&1; then
|
|
109
120
|
echo "❌ Node.js runtime not found — operation blocked" >&2
|
|
110
121
|
exit 1
|
|
@@ -136,7 +147,10 @@ ${ENFORCEMENT_RUNTIME}
|
|
|
136
147
|
"$DOCGUARD" guard
|
|
137
148
|
EXIT_CODE=$?
|
|
138
149
|
|
|
139
|
-
if [ "$EXIT_CODE" -
|
|
150
|
+
if [ "$EXIT_CODE" -eq 3 ]; then
|
|
151
|
+
echo ""
|
|
152
|
+
echo "DocGuard: project not initialised — commit allowed"
|
|
153
|
+
elif [ "$EXIT_CODE" -ne 0 ] && [ "$EXIT_CODE" -ne 2 ]; then
|
|
140
154
|
echo ""
|
|
141
155
|
echo "❌ DocGuard guard FAILED — commit blocked"
|
|
142
156
|
echo " Fix the errors above, then try again."
|
|
@@ -265,7 +279,10 @@ fi
|
|
|
265
279
|
"$DOCGUARD" guard
|
|
266
280
|
EXIT_CODE=$?
|
|
267
281
|
|
|
268
|
-
if [ "$EXIT_CODE" -
|
|
282
|
+
if [ "$EXIT_CODE" -eq 3 ]; then
|
|
283
|
+
echo ""
|
|
284
|
+
echo "DocGuard: project not initialised — commit allowed"
|
|
285
|
+
elif [ "$EXIT_CODE" -ne 0 ] && [ "$EXIT_CODE" -ne 2 ]; then
|
|
269
286
|
echo ""
|
|
270
287
|
echo "❌ DocGuard guard FAILED — commit blocked."
|
|
271
288
|
echo " Remaining issues need an AI agent (content rewrites, not mechanical):"
|
|
@@ -26,7 +26,7 @@ const CODE_EXTENSIONS = new Set([
|
|
|
26
26
|
|
|
27
27
|
// v0.16-P2: language-aware patterns. The original JS/TS-only sets created
|
|
28
28
|
// false-negative warnings on Python/Rust/Go/Java projects (reported by the
|
|
29
|
-
//
|
|
29
|
+
// a downstream project Python user: TEST-SPEC.md was flagged unlinked even
|
|
30
30
|
// though Python tests existed because `.test.mjs` didn't match `test_*.py`).
|
|
31
31
|
import { TEST_PATTERNS, TRACE_MAP, isTraceableSource } from '../shared-trace-patterns.mjs';
|
|
32
32
|
|
|
@@ -32,7 +32,7 @@ const HTTP_METHODS = new Set(['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', '
|
|
|
32
32
|
* optional c-all `/shop/[[...filters]]` → `/shop/{}`
|
|
33
33
|
* Without the bracket rule, a doc written in Next.js `[id]` syntax never matched
|
|
34
34
|
* the code-scan's `:id`, so every dynamic route double-fired as both
|
|
35
|
-
* "documented-but-absent" and "undocumented" (field test:
|
|
35
|
+
* "documented-but-absent" and "undocumented" (field test: a downstream project).
|
|
36
36
|
* @param {string} raw
|
|
37
37
|
* @returns {string} normalized path (e.g. "/api/users/{}") or '' if not a path
|
|
38
38
|
*/
|
|
@@ -47,7 +47,7 @@ const GENERIC_TOKENS = new Set([
|
|
|
47
47
|
'font', 'color', 'colors', 'tracking', 'surface', 'auto', 'full', 'next',
|
|
48
48
|
'body', 'sans', 'blue', 'accent', 'size', 'spacing', 'margin', 'padding',
|
|
49
49
|
'width', 'height', 'flex', 'grid', 'bold', 'bg', 'rounded',
|
|
50
|
-
// HTTP / REST / handler plumbing — generic across any API route (
|
|
50
|
+
// HTTP / REST / handler plumbing — generic across any API route (a downstream project
|
|
51
51
|
// corpus: a route-inventory doc + heavy rewrites flooded findings with these)
|
|
52
52
|
'code', 'json', 'err', 'error', 'message', 'auth', 'get', 'put', 'post',
|
|
53
53
|
'patch', 'delete', 'req', 'res', 'route', 'routes', 'handler', 'endpoint',
|
|
@@ -56,7 +56,7 @@ const COMMON_DOTFILES = new Set([
|
|
|
56
56
|
// Generated tool artifacts (caches, coverage data, lock-data) that land at the
|
|
57
57
|
// repo root but are NOT configuration a human authors or documents. Treating
|
|
58
58
|
// them as "undocumented config files" is a false positive (field test:
|
|
59
|
-
//
|
|
59
|
+
// a downstream project flagged pytest's `.coverage` SQLite data file). Matched by
|
|
60
60
|
// exact name OR prefix (`.coverage.<host>.<pid>` is coverage.py's parallel form).
|
|
61
61
|
const GENERATED_DOTFILE_PREFIXES = ['.coverage', '.eslintcache', '.stylelintcache', '.tsbuildinfo'];
|
|
62
62
|
function isGeneratedArtifact(name) {
|
|
@@ -14,15 +14,33 @@ import { resolve, dirname } from 'node:path';
|
|
|
14
14
|
* Create a .bak backup of an existing file before --force overwrites it.
|
|
15
15
|
* Only backs up if the file exists and has content.
|
|
16
16
|
*/
|
|
17
|
-
export function backupFile(filePath) {
|
|
18
|
-
if (existsSync(filePath))
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
export function backupFile(filePath, nextContent = null) {
|
|
18
|
+
if (!existsSync(filePath)) return;
|
|
19
|
+
try {
|
|
20
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
21
|
+
if (content.trim().length === 0) return;
|
|
22
|
+
|
|
23
|
+
// Nothing to preserve when the file is already what we are about to write.
|
|
24
|
+
// Backing it up anyway produced a redundant .bak and, worse, consumed the
|
|
25
|
+
// single backup slot that may still hold the user's own original.
|
|
26
|
+
if (nextContent !== null && content === nextContent) return;
|
|
27
|
+
|
|
28
|
+
// The backup slot is single and unversioned. Overwriting it destroys the
|
|
29
|
+
// previous backup, which on a second forced install is the user's ORIGINAL
|
|
30
|
+
// file — unrecoverable, because a .git/hooks file is not in version control.
|
|
31
|
+
// Only ever replace a .bak we wrote ourselves; otherwise keep it and write
|
|
32
|
+
// a timestamped sibling.
|
|
33
|
+
const bak = filePath + '.bak';
|
|
34
|
+
if (existsSync(bak)) {
|
|
35
|
+
const prior = readFileSync(bak, 'utf-8');
|
|
36
|
+
if (prior !== content) {
|
|
37
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
38
|
+
copyFileSync(filePath, `${filePath}.${stamp}.bak`);
|
|
39
|
+
return;
|
|
23
40
|
}
|
|
24
|
-
}
|
|
25
|
-
|
|
41
|
+
}
|
|
42
|
+
copyFileSync(filePath, bak);
|
|
43
|
+
} catch { /* backup failure is non-fatal */ }
|
|
26
44
|
}
|
|
27
45
|
|
|
28
46
|
/**
|
|
@@ -31,7 +49,7 @@ export function backupFile(filePath) {
|
|
|
31
49
|
*/
|
|
32
50
|
export function safeWrite(filePath, content) {
|
|
33
51
|
mkdirSync(dirname(filePath), { recursive: true });
|
|
34
|
-
backupFile(filePath);
|
|
52
|
+
backupFile(filePath, content);
|
|
35
53
|
writeFileSync(filePath, content, 'utf-8');
|
|
36
54
|
}
|
|
37
55
|
|
|
@@ -3,7 +3,7 @@ schema_version: "1.0"
|
|
|
3
3
|
extension:
|
|
4
4
|
id: "docguard"
|
|
5
5
|
name: "DocGuard — CDD Enforcement"
|
|
6
|
-
version: "0.41.
|
|
6
|
+
version: "0.41.6"
|
|
7
7
|
description: "Documentation integrity for AI-assisted repositories: lifecycle registry, drift validation, traceability, safe archival, SARIF/JUnit, MCP, GitHub Actions, and Spec Kit hooks."
|
|
8
8
|
author: "Ricardo Accioly"
|
|
9
9
|
repository: "https://github.com/raccioly/docguard"
|
|
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.41.
|
|
9
|
+
version: 0.41.6
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.41.
|
|
13
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.41.
|
|
12
|
+
<!-- docguard:version: 0.41.6 -->
|
|
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.6
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.41.
|
|
10
|
+
<!-- docguard:version: 0.41.6 -->
|
|
11
11
|
|
|
12
12
|
# DocGuard Sync Skill
|
|
13
13
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "docguard-cli",
|
|
3
|
-
"version": "0.41.
|
|
3
|
+
"version": "0.41.6",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "docguard-cli",
|
|
9
|
-
"version": "0.41.
|
|
9
|
+
"version": "0.41.6",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@babel/parser": "7.29.8"
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "docguard-cli"
|
|
7
|
-
version = "0.41.
|
|
7
|
+
version = "0.41.6"
|
|
8
8
|
description = "The enforcement tool for Canonical-Driven Development (CDD). Audit, generate, and guard your project documentation. No Python dependencies (requires Node.js 18+)."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.raccioly/docguard",
|
|
4
4
|
"title": "DocGuard",
|
|
5
5
|
"description": "Deterministic doc-drift detection: guard, score, explain, verify-claims and diagnose MCP tools.",
|
|
6
|
-
"version": "0.41.
|
|
6
|
+
"version": "0.41.6",
|
|
7
7
|
"websiteUrl": "https://github.com/raccioly/docguard#readme",
|
|
8
8
|
"repository": {
|
|
9
9
|
"url": "https://github.com/raccioly/docguard",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
16
16
|
"identifier": "docguard-cli",
|
|
17
|
-
"version": "0.41.
|
|
17
|
+
"version": "0.41.6",
|
|
18
18
|
"runtimeHint": "npx",
|
|
19
19
|
"transport": {
|
|
20
20
|
"type": "stdio"
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/testguard-cli/spec/schemas/claims.schema.json",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"claims": [
|
|
5
|
+
{
|
|
6
|
+
"id": "GENERATE-IO-BACKUPFILE",
|
|
7
|
+
"statement": "backupFile never destroys a recoverable file: it skips the write when the target already equals what is about to be written, and never replaces a .bak DocGuard did not write.",
|
|
8
|
+
"source": {
|
|
9
|
+
"kind": "manual",
|
|
10
|
+
"ref": "testguard scaffold cli/writers/generate-io.mjs"
|
|
11
|
+
},
|
|
12
|
+
"severity": "high",
|
|
13
|
+
"producedBy": {
|
|
14
|
+
"producer": "derived",
|
|
15
|
+
"by": "testguard scaffold 0.6.0"
|
|
16
|
+
},
|
|
17
|
+
"defendedBy": [
|
|
18
|
+
"tests/hook-fail-open.test.mjs",
|
|
19
|
+
"tests/hooks-contract.test.mjs",
|
|
20
|
+
"tests/generate-io.test.mjs"
|
|
21
|
+
],
|
|
22
|
+
"faults": [
|
|
23
|
+
{
|
|
24
|
+
"id": "S4",
|
|
25
|
+
"description": "[line 26] Guard removed: `if (nextContent !== null && content === nextContent) return;` no longer runs.",
|
|
26
|
+
"faultClass": "statement-deleted",
|
|
27
|
+
"file": "cli/writers/generate-io.mjs",
|
|
28
|
+
"find": " if (nextContent !== null && content === nextContent) return;",
|
|
29
|
+
"replace": "",
|
|
30
|
+
"producedBy": {
|
|
31
|
+
"producer": "derived",
|
|
32
|
+
"by": "testguard scaffold 0.6.0"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "S5",
|
|
37
|
+
"description": "[line 36] Guard never triggers: `if (prior !== content)` becomes `if (false)`.",
|
|
38
|
+
"faultClass": "condition-forced",
|
|
39
|
+
"file": "cli/writers/generate-io.mjs",
|
|
40
|
+
"find": " if (prior !== content) {",
|
|
41
|
+
"replace": " if (false) {",
|
|
42
|
+
"producedBy": {
|
|
43
|
+
"producer": "derived",
|
|
44
|
+
"by": "testguard scaffold 0.6.0"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -118,7 +118,7 @@ describe('normalizePath — unifies ALL dynamic-segment syntaxes (field-test fix
|
|
|
118
118
|
assert.equal(normalizePath('/api/auth/[...nextauth]'), '/api/auth/{}');
|
|
119
119
|
assert.equal(normalizePath('/api/auth/:nextauth*'), '/api/auth/{}');
|
|
120
120
|
assert.equal(normalizePath('/shop/[[...filters]]'), '/shop/{}');
|
|
121
|
-
// The doc-vs-code pair that double-fired on
|
|
121
|
+
// The doc-vs-code pair that double-fired on a downstream project now matches:
|
|
122
122
|
assert.equal(
|
|
123
123
|
endpointKey('GET', '/api/auth/[...nextauth]'),
|
|
124
124
|
endpointKey('GET', '/api/auth/:nextauth*')
|
|
@@ -96,7 +96,7 @@ describe('listCanonicalDocs — recursive canonical enumeration', () => {
|
|
|
96
96
|
|
|
97
97
|
describe('nested canonical docs — consumer regressions', () => {
|
|
98
98
|
it('docs-sync: a service documented only in a nested doc is not flagged', () => {
|
|
99
|
-
// The
|
|
99
|
+
// The nested-canonical shape: a top-level doc EXISTS (so canonicalContent is
|
|
100
100
|
// non-empty and there is no early return), but the module map is nested.
|
|
101
101
|
put('docs-canonical/ARCHITECTURE.md', '# Architecture\n\nDetails in the module map.\n');
|
|
102
102
|
put('docs-canonical/01-architecture/MODULE-MAP.md', '- src/services/billing.ts — billing\n');
|
|
Binary file
|
|
@@ -60,12 +60,12 @@ describe('Docs-Diff Validator', () => {
|
|
|
60
60
|
assert.ok(!result.onlyInDocs.includes('Docker'), 'Docker should be detected via Dockerfile');
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
// Regression for
|
|
63
|
+
// Regression for a downstream project Bug 4: the docs-diff warning used to emit only
|
|
64
64
|
// the COUNT ("1 documented but not found in code") and not the file path,
|
|
65
65
|
// which made it completely unactionable — the user couldn't tell which of
|
|
66
66
|
// 52 documented tests was the offender. The warning must now name the
|
|
67
67
|
// file (capped at 5 inline + "(+N more)" for long lists).
|
|
68
|
-
describe('warning includes the offending file path (
|
|
68
|
+
describe('warning includes the offending file path (a downstream project bug 4)', () => {
|
|
69
69
|
it('names a missing tech-stack entry', async () => {
|
|
70
70
|
const { validateDocsDiff } = await import('../cli/validators/docs-diff.mjs');
|
|
71
71
|
// Doc declares Redis; package.json declares NONE → "Redis documented but not found"
|