docguard-cli 0.37.0__tar.gz → 0.38.0__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.37.0 → docguard_cli-0.38.0}/.agent/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.37.0/extensions/spec-kit-docguard → docguard_cli-0.38.0/.agent}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.37.0/extensions/spec-kit-docguard → docguard_cli-0.38.0/.agent}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.37.0/extensions/spec-kit-docguard → docguard_cli-0.38.0/.agent}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.docguard-specs.json +220 -8
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/scripts/speckit-submission.py +49 -21
- docguard_cli-0.38.0/.github/scripts/sync-release-version.mjs +150 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/scheduled-release.yml +8 -4
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/buglog.json +230 -19
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/cerebrum.md +5 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/AGENTS.md +10 -3
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/CHANGELOG.md +82 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/CLAUDE.md +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/PKG-INFO +7 -5
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/README.md +6 -4
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/ROADMAP.md +27 -16
- docguard_cli-0.38.0/cli/commands/reconcile.mjs +42 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/retire.mjs +11 -15
- docguard_cli-0.38.0/cli/commands/specs.mjs +253 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/sync.mjs +16 -44
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/docguard.mjs +46 -9
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/document-lifecycle.mjs +19 -43
- docguard_cli-0.38.0/cli/scanners/lifecycle-context.mjs +50 -0
- docguard_cli-0.38.0/cli/scanners/reconciliation.mjs +141 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/requirement-evidence.mjs +41 -8
- docguard_cli-0.38.0/cli/scanners/retirement-manifest.mjs +52 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/spec-registry.mjs +36 -9
- docguard_cli-0.38.0/cli/shared-sync-scope.mjs +35 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/traceability.mjs +2 -1
- docguard_cli-0.38.0/cli/writers/file-transaction.mjs +85 -0
- docguard_cli-0.38.0/cli/writers/spec-outcomes.mjs +27 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/ARCHITECTURE.md +7 -4
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/CI-RECIPES.md +13 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/DATA-MODEL.md +11 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/ENVIRONMENT.md +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/REQUIREMENTS.md +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/SECURITY.md +4 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs-canonical/TEST-SPEC.md +4 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/README.md +6 -2
- docguard_cli-0.38.0/extensions/spec-kit-docguard/commands/complete.md +38 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/extension.yml +20 -4
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/skills/docguard-fix/SKILL.md +2 -2
- {docguard_cli-0.37.0/.agent → docguard_cli-0.38.0/extensions/spec-kit-docguard}/skills/docguard-guard/SKILL.md +2 -2
- {docguard_cli-0.37.0/.agent → docguard_cli-0.38.0/extensions/spec-kit-docguard}/skills/docguard-review/SKILL.md +2 -2
- {docguard_cli-0.37.0/.agent → docguard_cli-0.38.0/extensions/spec-kit-docguard}/skills/docguard-score/SKILL.md +2 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/skills/docguard-sync/SKILL.md +2 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/templates/extensions.yml +16 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/package-lock.json +2 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/package.json +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/pyproject.toml +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/schemas/docguard-specs.schema.json +19 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/server.json +2 -2
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/specs/006-document-lifecycle/spec.md +6 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/specs/006-document-lifecycle/tasks.md +16 -11
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/ci/github-actions.yml +1 -1
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/archive.test.mjs +1 -0
- docguard_cli-0.38.0/tests/catalog-submission.test.mjs +58 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/commands.test.mjs +10 -4
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/document-lifecycle.test.mjs +79 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/ensure-skills-idempotent.test.mjs +10 -0
- docguard_cli-0.38.0/tests/file-transaction.test.mjs +68 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/hooks-contract.test.mjs +10 -1
- docguard_cli-0.38.0/tests/reconcile.test.mjs +114 -0
- docguard_cli-0.38.0/tests/release-version-sync.test.mjs +66 -0
- docguard_cli-0.38.0/tests/spec-completion.test.mjs +129 -0
- docguard_cli-0.37.0/cli/commands/specs.mjs +0 -77
- docguard_cli-0.37.0/tests/catalog-submission.test.mjs +0 -21
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/architect.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/docguard.fix.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/docguard.guard.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/docguard.review.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/docguard.score.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.analyze.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.checklist.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.clarify.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.constitution.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.implement.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.plan.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.specify.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.tasks.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/commands/speckit.taskstoissues.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-analyze/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-checklist/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-clarify/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-constitution/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-implement/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-plan/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-specify/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-tasks/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.agent/skills/speckit-taskstoissues/SKILL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.claude/rules/openwolf.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.claude/settings.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.docguard-archive.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.docguard.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.docguardignore +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/ISSUE_TEMPLATE/docguard-feedback.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/dependabot.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/auto-merge.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/ci.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/jules-triage.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/release.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/supply-chain.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.github/workflows/sync-speckit-catalog.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.gitignore +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.jules/bolt.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.jules/palette.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.jules/sentinel.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.jules-setup.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.npmignore +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.npmrc +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.pre-commit-hooks.yaml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/extensions/.cache/catalog-ebf165086500aab1-metadata.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/extensions/.cache/catalog-ebf165086500aab1.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/extensions/.cache/catalog-metadata.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/extensions/.cache/catalog.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/init-options.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/memory/constitution.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/scripts/bash/check-prerequisites.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/scripts/bash/common.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/scripts/bash/create-new-feature.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/scripts/bash/setup-plan.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/scripts/bash/update-agent-context.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/templates/agent-file-template.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/templates/checklist-template.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/templates/constitution-template.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/templates/plan-template.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/templates/spec-template.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.specify/templates/tasks-template.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/OPENWOLF.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/anatomy.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/config.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/cron-manifest.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/cron-state.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/daemon.log +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/designqc-report.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/_session.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/_wrap_up_nudged +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/package.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/post-read.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/post-write.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/pre-read.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/pre-write.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/session-start.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/shared.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/hooks/stop.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/identity.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/memory.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/reframe-frameworks.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/suggestions.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/.wolf/token-ledger.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/CODE_OF_CONDUCT.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/COMPARISONS.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/CONTRIBUTING.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/DRIFT-LOG.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/Dockerfile +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/LICENSE +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/PHILOSOPHY.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/PRIVACY.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/README.es.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/README.pt-BR.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/SECURITY.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/STANDARD.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/SUPPLY-CHAIN-AUDIT.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/SUPPORT.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/VALIDATION.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/action.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/assets/bin/docguard +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/assets/demo.gif +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/assets/demo.tape +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/assets/docguard-logo.png +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/agent.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/agents.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/badge.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/ci.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/demo.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/diagnose.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/diff.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/explain.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/feedback.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/fix.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/generate.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/guard.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/hooks.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/impact.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/init.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/llms.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/mcp.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/memory.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/publish.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/report.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/score.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/setup.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/sync-tests.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/trace.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/upgrade.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/verify.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/commands/watch.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/config.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/ensure-skills.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/findings.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/agent-readability.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/api-doc.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/cdk.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/doc-tools.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/frontend.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/iac.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/instruction-audit.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/integrations.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/inventory.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/js-ast.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/memory-plan.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/project-type.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/py-ast.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/routes.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/schemas.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/semantic-claims.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/scanners/speckit.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-diff.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-doc-roles.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-git.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-ignore.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-ir.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-requirements.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-source.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared-trace-patterns.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/shared.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validator-coverage.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validator-markers.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/api-doc-smells.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/api-surface.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/architecture.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/canonical-sync.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/changelog.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/cross-reference.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/diff-suspicion.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/doc-quality.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/docs-coverage.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/docs-diff.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/docs-sync.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/document-lifecycle.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/drift.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/environment.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/freshness.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/generated-staleness.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/metadata-sync.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/metrics-consistency.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/reference-existence.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/schema-sync.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/security.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/spec-kit.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/spec-registry.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/structure.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/surface-sync.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/test-spec.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/validators/todo-tracking.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/api-reference.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/baseline.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/doc-generators.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/fix-memory.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/generate-io.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/history.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/junit.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/mechanical.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/sarif.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/cli/writers/sections.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/commands/docguard.fix.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/commands/docguard.guard.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/commands/docguard.review.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/commands/docguard.score.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/configs/fastify.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/configs/generic.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/configs/nextjs.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/configs/python.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docguard_cli/__init__.py +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docguard_cli/wrapper.py +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/ai-integration.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/commands.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/configuration.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/doc-sections.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/faq.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/installation.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/profiles.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/docs/quickstart.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/01-express-api/README.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/01-express-api/package.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/01-express-api/server.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/02-python-flask/README.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/02-python-flask/app.py +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/02-python-flask/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/02-python-flask/requirements.txt +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/CHANGELOG.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/README.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/package.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/src/index.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/tasks.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/03-spec-kit-project/tests/basic.test.js +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/examples/README.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/LICENSE +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/brief.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/diagnose.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/fix.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/generate.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/guard.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/init.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/preflight.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/score.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/sync.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/commands/trace.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/scripts/bash/common.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/scripts/bash/docguard-check-docs.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/scripts/bash/docguard-init-doc.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/scripts/bash/docguard-suggest-fix.sh +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/extensions/spec-kit-docguard/templates/github-workflows/docguard-autofix.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/glama.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/llms-full.txt +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/llms.txt +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/mcpb/README.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/mcpb/manifest.template.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/packaging/homebrew/docguard.rb +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/packaging/submissions.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/schemas/docguard-config.schema.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/smithery.yaml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/specs/006-document-lifecycle/plan.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/ADR.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/AGENTS.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/ARCHITECTURE.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/CHANGELOG.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/CURRENT-STATE.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/DATA-MODEL.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/DEPLOYMENT.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/DRIFT-LOG.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/ENVIRONMENT.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/KNOWN-GOTCHAS.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/REQUIREMENTS.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/ROADMAP.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/RUNBOOKS.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/SECURITY.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/TEST-SPEC.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/TROUBLESHOOTING.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/VENDOR-BUGS.md.template +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/ci/gitlab-component.yml +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/commands/docguard.fix.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/commands/docguard.guard.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/commands/docguard.init.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/commands/docguard.review.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/commands/docguard.update.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/.docguard.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/.env.example +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/AGENTS.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/CHANGELOG.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/DRIFT-LOG.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/README.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/docs-canonical/API-REFERENCE.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/docs-canonical/ARCHITECTURE.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/docs-canonical/DATA-MODEL.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/docs-canonical/ENVIRONMENT.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/docs-canonical/SECURITY.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/docs-canonical/TEST-SPEC.md +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/package.json +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/src/api.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/src/notifier.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/src/scheduler.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/templates/demo-fixture/src/worker.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/agent-evidence.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/agent-readability.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/agent.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/agents-check-readonly.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/agents-command.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/agents-sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/anchor-autofix.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/api-authority-precision.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/api-doc-smells.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/api-doc.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/api-surface.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/api-write.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/architecture.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/b7-node-env-symmetry.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/backup-failure.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/badge.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/baseline.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/canonical-docs-nested-phase2.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/canonical-docs-nested.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/canonical-sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/cdk-detection.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/changed-only-scoping.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/changed-only.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/changelog.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/check-coverage.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/ci-reproducibility.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/ci-scaffolder.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/cross-reference.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/demo-command.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/diagnose-review-guidance.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/diff-suspicion.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/doc-quality.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/doc-role-boundaries.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/doc-role-mapping.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/doc-section-synonyms.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/docguardignore.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/docs-coverage-reference-evidence.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/docs-coverage-scope.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/docs-coverage.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/docs-diff.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/docs-sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/drift.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/env-schema-detection.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/environment.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/explain-coverage.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/feedback-contributions.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/field-context-precision.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/field-diff-precision.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/field-report-2-cli.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/field-report-3-deferred.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/field-report-3.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/field-review-clarity.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/fix-memory.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/fix-suppression.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/fixture-projects.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/freshness.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/frontend-deep.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/frontend.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/generate-io.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/generated-staleness.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/guard-classify.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/guard-no-throw.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/history.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/hooks.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/i18n.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/impact.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/init-smart-detection.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/instruction-audit.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/integrations.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/inventory.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/js-ast.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/junit.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/llms-full-pack.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/mcp-http.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/mcp.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/mechanical.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/memory-plan.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/metadata-sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/metrics-consistency.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/metrics-dedup.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/monorepo-scanning.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/multi-spec.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/npm-pack-smoke.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/nudge-hook.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/openapi-parse-honesty.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/patch-0.11.2.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/plan-disk-cache.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/profile-flag.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/project-type.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/py-ast.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/reference-existence.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/regenerate-section.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/report.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/requirement-scope.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/route-field-precision.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/routes-express-mounts.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/routes-fastify.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/routes-multilang.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/routes-nextjs-app-router.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/sarif.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/schema-sync-scope.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/schema-sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/schemas-multilang.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/schemas.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/scoping-extended.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/score-assurance.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/score-suggestions.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/section-na-markers.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/sections.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/security-init-injection.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/security.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/severity.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/shared-diff.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/shared-git.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/shared-ignore-functions.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/shared-ir.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/shared-source.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/spec-kit-helper-json.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/spec-registry.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/speckit-bugfix.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/speckit-phantom.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/starter-scaffold.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/stress-test.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/structure.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/surface-sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/sweep-nudge.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/sync-since.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/sync.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/test-spec.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/todo-tracking.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/trace-features.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/trace-multilang.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/trace-reverse.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/traceability-fixtures.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/traceability-ir.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/traceability.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/upgrade-pr-e2e.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/upgrade-pr.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/upgrade.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/v020-consolidation.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/validator-markers.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/validator-naming.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/verify-change-context.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/version-pin.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/watch-reliability.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/whats-new.test.mjs +0 -0
- {docguard_cli-0.37.0 → docguard_cli-0.38.0}/tests/worker-python-capability.test.mjs +0 -0
|
@@ -6,10 +6,10 @@ description: AI-driven documentation repair with structured research workflow, t
|
|
|
6
6
|
compatibility: Requires DocGuard CLI installed (npm i -g docguard-cli or npx docguard-cli)
|
|
7
7
|
metadata:
|
|
8
8
|
author: docguard
|
|
9
|
-
version: 0.
|
|
9
|
+
version: 0.38.0
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-fix
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.
|
|
12
|
+
<!-- docguard:version: 0.38.0 -->
|
|
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.
|
|
10
|
+
version: 0.38.0
|
|
11
11
|
source: extensions/spec-kit-docguard/skills/docguard-guard
|
|
12
12
|
---
|
|
13
|
-
<!-- docguard:version: 0.
|
|
13
|
+
<!-- docguard:version: 0.38.0 -->
|
|
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.
|
|
9
|
+
version: 0.38.0
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-review
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.
|
|
12
|
+
<!-- docguard:version: 0.38.0 -->
|
|
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.
|
|
9
|
+
version: 0.38.0
|
|
10
10
|
source: extensions/spec-kit-docguard/skills/docguard-score
|
|
11
11
|
---
|
|
12
|
-
<!-- docguard:version: 0.
|
|
12
|
+
<!-- docguard:version: 0.38.0 -->
|
|
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.
|
|
7
|
+
version: 0.38.0
|
|
8
8
|
source: extensions/spec-kit-docguard/skills/docguard-sync
|
|
9
9
|
---
|
|
10
|
-
<!-- docguard:version: 0.
|
|
10
|
+
<!-- docguard:version: 0.38.0 -->
|
|
11
11
|
|
|
12
12
|
# DocGuard Sync Skill
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raccioly.github.io/docguard/schemas/docguard-specs.schema.json",
|
|
3
|
-
"schemaVersion":
|
|
3
|
+
"schemaVersion": 2,
|
|
4
4
|
"specs": [
|
|
5
5
|
{
|
|
6
6
|
"specId": "docguard.document-lifecycle",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"reviewed": {
|
|
9
9
|
"lifecycle": {
|
|
10
10
|
"approval": "approved",
|
|
11
|
-
"delivery": "
|
|
11
|
+
"delivery": "verified",
|
|
12
12
|
"context": "current",
|
|
13
13
|
"retirementReason": null,
|
|
14
14
|
"storage": "working_tree",
|
|
@@ -30,7 +30,43 @@
|
|
|
30
30
|
]
|
|
31
31
|
},
|
|
32
32
|
"reconciliation": {
|
|
33
|
-
"lastReviewedRevision":
|
|
33
|
+
"lastReviewedRevision": "834e0a2299402205f5bdca7a55e353bad71bab28",
|
|
34
|
+
"outcomes": [
|
|
35
|
+
{
|
|
36
|
+
"revision": "834e0a2299402205f5bdca7a55e353bad71bab28",
|
|
37
|
+
"reason": "Implemented and reviewed R2 lifecycle transactions, reconciliation classifications, qualified evidence gates, active-context regeneration, and Spec Kit completion hooks.",
|
|
38
|
+
"evidence": [
|
|
39
|
+
"cli/commands/reconcile.mjs",
|
|
40
|
+
"cli/commands/retire.mjs",
|
|
41
|
+
"cli/commands/specs.mjs",
|
|
42
|
+
"cli/commands/sync.mjs",
|
|
43
|
+
"cli/docguard.mjs",
|
|
44
|
+
"cli/scanners/document-lifecycle.mjs",
|
|
45
|
+
"cli/scanners/lifecycle-context.mjs",
|
|
46
|
+
"cli/scanners/reconciliation.mjs",
|
|
47
|
+
"cli/scanners/requirement-evidence.mjs",
|
|
48
|
+
"cli/scanners/retirement-manifest.mjs",
|
|
49
|
+
"cli/scanners/spec-registry.mjs",
|
|
50
|
+
"cli/shared-sync-scope.mjs",
|
|
51
|
+
"cli/validators/traceability.mjs",
|
|
52
|
+
"cli/writers/file-transaction.mjs",
|
|
53
|
+
"cli/writers/spec-outcomes.mjs",
|
|
54
|
+
"docs-canonical/ARCHITECTURE.md",
|
|
55
|
+
"docs-canonical/DATA-MODEL.md",
|
|
56
|
+
"docs-canonical/REQUIREMENTS.md",
|
|
57
|
+
"docs-canonical/TEST-SPEC.md",
|
|
58
|
+
"tests/archive.test.mjs",
|
|
59
|
+
"tests/document-lifecycle.test.mjs",
|
|
60
|
+
"tests/file-transaction.test.mjs",
|
|
61
|
+
"tests/hooks-contract.test.mjs",
|
|
62
|
+
"tests/reconcile.test.mjs",
|
|
63
|
+
"tests/spec-completion.test.mjs",
|
|
64
|
+
"tests/spec-registry.test.mjs"
|
|
65
|
+
],
|
|
66
|
+
"deviations": [],
|
|
67
|
+
"successor": null
|
|
68
|
+
}
|
|
69
|
+
]
|
|
34
70
|
}
|
|
35
71
|
},
|
|
36
72
|
"intent": {
|
|
@@ -68,7 +104,7 @@
|
|
|
68
104
|
"artifacts": [
|
|
69
105
|
{
|
|
70
106
|
"path": "specs/006-document-lifecycle/spec.md",
|
|
71
|
-
"digest": "sha256:
|
|
107
|
+
"digest": "sha256:4874baea0ec2439d9a5f6223eecb10ac53755c1e48c974d5cd42c9915d75e281"
|
|
72
108
|
},
|
|
73
109
|
{
|
|
74
110
|
"path": "specs/006-document-lifecycle/plan.md",
|
|
@@ -76,14 +112,135 @@
|
|
|
76
112
|
},
|
|
77
113
|
{
|
|
78
114
|
"path": "specs/006-document-lifecycle/tasks.md",
|
|
79
|
-
"digest": "sha256:
|
|
115
|
+
"digest": "sha256:cc9191b7aafd1bbcab99c2d050dafa7d40ccc1b883aeff81ae6cc58aaca4717a"
|
|
80
116
|
}
|
|
81
117
|
],
|
|
82
118
|
"taskCompletion": {
|
|
83
|
-
"checked":
|
|
119
|
+
"checked": 23,
|
|
84
120
|
"total": 23
|
|
85
121
|
},
|
|
86
|
-
"implementationEvidence": [
|
|
122
|
+
"implementationEvidence": [
|
|
123
|
+
{
|
|
124
|
+
"requirementId": "FR-002",
|
|
125
|
+
"file": "cli/scanners/document-lifecycle.mjs",
|
|
126
|
+
"line": 22
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"requirementId": "FR-007",
|
|
130
|
+
"file": "cli/scanners/retirement-manifest.mjs",
|
|
131
|
+
"line": 4
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"requirementId": "FR-010",
|
|
135
|
+
"file": "cli/commands/reconcile.mjs",
|
|
136
|
+
"line": 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"requirementId": "FR-010",
|
|
140
|
+
"file": "cli/commands/sync.mjs",
|
|
141
|
+
"line": 15
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"requirementId": "FR-010",
|
|
145
|
+
"file": "cli/scanners/reconciliation.mjs",
|
|
146
|
+
"line": 3
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"requirementId": "FR-010",
|
|
150
|
+
"file": "cli/shared-sync-scope.mjs",
|
|
151
|
+
"line": 3
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"requirementId": "FR-011",
|
|
155
|
+
"file": "cli/scanners/reconciliation.mjs",
|
|
156
|
+
"line": 4
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"requirementId": "FR-012",
|
|
160
|
+
"file": "cli/commands/reconcile.mjs",
|
|
161
|
+
"line": 4
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"requirementId": "FR-012",
|
|
165
|
+
"file": "cli/docguard.mjs",
|
|
166
|
+
"line": 16
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"requirementId": "FR-012",
|
|
170
|
+
"file": "cli/scanners/reconciliation.mjs",
|
|
171
|
+
"line": 5
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"requirementId": "FR-013",
|
|
175
|
+
"file": "cli/commands/retire.mjs",
|
|
176
|
+
"line": 7
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"requirementId": "FR-013",
|
|
180
|
+
"file": "cli/scanners/requirement-evidence.mjs",
|
|
181
|
+
"line": 3
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"requirementId": "FR-013",
|
|
185
|
+
"file": "cli/scanners/spec-registry.mjs",
|
|
186
|
+
"line": 7
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"requirementId": "FR-013",
|
|
190
|
+
"file": "cli/validators/traceability.mjs",
|
|
191
|
+
"line": 14
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"requirementId": "FR-013",
|
|
195
|
+
"file": "cli/writers/file-transaction.mjs",
|
|
196
|
+
"line": 9
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"requirementId": "FR-014",
|
|
200
|
+
"file": "cli/scanners/lifecycle-context.mjs",
|
|
201
|
+
"line": 3
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"requirementId": "FR-016",
|
|
205
|
+
"file": "cli/commands/specs.mjs",
|
|
206
|
+
"line": 3
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"requirementId": "FR-016",
|
|
210
|
+
"file": "cli/scanners/requirement-evidence.mjs",
|
|
211
|
+
"line": 4
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"requirementId": "FR-016",
|
|
215
|
+
"file": "cli/scanners/spec-registry.mjs",
|
|
216
|
+
"line": 8
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"requirementId": "FR-016",
|
|
220
|
+
"file": "cli/writers/spec-outcomes.mjs",
|
|
221
|
+
"line": 3
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"requirementId": "FR-017",
|
|
225
|
+
"file": "cli/commands/specs.mjs",
|
|
226
|
+
"line": 4
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"requirementId": "FR-017",
|
|
230
|
+
"file": "cli/scanners/lifecycle-context.mjs",
|
|
231
|
+
"line": 4
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"requirementId": "FR-020",
|
|
235
|
+
"file": "cli/commands/specs.mjs",
|
|
236
|
+
"line": 5
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"requirementId": "FR-020",
|
|
240
|
+
"file": "cli/docguard.mjs",
|
|
241
|
+
"line": 17
|
|
242
|
+
}
|
|
243
|
+
],
|
|
87
244
|
"testEvidence": [
|
|
88
245
|
{
|
|
89
246
|
"requirementId": "FR-001",
|
|
@@ -145,11 +302,31 @@
|
|
|
145
302
|
"file": "tests/archive.test.mjs",
|
|
146
303
|
"line": 18
|
|
147
304
|
},
|
|
305
|
+
{
|
|
306
|
+
"requirementId": "FR-010",
|
|
307
|
+
"file": "tests/reconcile.test.mjs",
|
|
308
|
+
"line": 12
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"requirementId": "FR-011",
|
|
312
|
+
"file": "tests/reconcile.test.mjs",
|
|
313
|
+
"line": 13
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"requirementId": "FR-012",
|
|
317
|
+
"file": "tests/reconcile.test.mjs",
|
|
318
|
+
"line": 14
|
|
319
|
+
},
|
|
148
320
|
{
|
|
149
321
|
"requirementId": "FR-012",
|
|
150
322
|
"file": "tests/spec-registry.test.mjs",
|
|
151
323
|
"line": 11
|
|
152
324
|
},
|
|
325
|
+
{
|
|
326
|
+
"requirementId": "FR-013",
|
|
327
|
+
"file": "tests/file-transaction.test.mjs",
|
|
328
|
+
"line": 8
|
|
329
|
+
},
|
|
153
330
|
{
|
|
154
331
|
"requirementId": "FR-013",
|
|
155
332
|
"file": "tests/spec-registry.test.mjs",
|
|
@@ -165,10 +342,35 @@
|
|
|
165
342
|
"file": "tests/spec-registry.test.mjs",
|
|
166
343
|
"line": 13
|
|
167
344
|
},
|
|
345
|
+
{
|
|
346
|
+
"requirementId": "FR-016",
|
|
347
|
+
"file": "tests/spec-completion.test.mjs",
|
|
348
|
+
"line": 11
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"requirementId": "FR-017",
|
|
352
|
+
"file": "tests/spec-completion.test.mjs",
|
|
353
|
+
"line": 12
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"requirementId": "FR-018",
|
|
357
|
+
"file": "tests/hooks-contract.test.mjs",
|
|
358
|
+
"line": 11
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"requirementId": "FR-019",
|
|
362
|
+
"file": "tests/hooks-contract.test.mjs",
|
|
363
|
+
"line": 12
|
|
364
|
+
},
|
|
168
365
|
{
|
|
169
366
|
"requirementId": "FR-020",
|
|
170
367
|
"file": "tests/archive.test.mjs",
|
|
171
|
-
"line":
|
|
368
|
+
"line": 23
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"requirementId": "FR-020",
|
|
372
|
+
"file": "tests/spec-completion.test.mjs",
|
|
373
|
+
"line": 13
|
|
172
374
|
},
|
|
173
375
|
{
|
|
174
376
|
"requirementId": "SC-001",
|
|
@@ -190,6 +392,16 @@
|
|
|
190
392
|
"file": "tests/document-lifecycle.test.mjs",
|
|
191
393
|
"line": 12
|
|
192
394
|
},
|
|
395
|
+
{
|
|
396
|
+
"requirementId": "SC-005",
|
|
397
|
+
"file": "tests/archive.test.mjs",
|
|
398
|
+
"line": 22
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"requirementId": "SC-006",
|
|
402
|
+
"file": "tests/reconcile.test.mjs",
|
|
403
|
+
"line": 15
|
|
404
|
+
},
|
|
193
405
|
{
|
|
194
406
|
"requirementId": "SC-007",
|
|
195
407
|
"file": "tests/spec-registry.test.mjs",
|
|
@@ -24,10 +24,48 @@ Usage: speckit-submission.py (--url|--body) <version> <download_url>
|
|
|
24
24
|
"""
|
|
25
25
|
import sys
|
|
26
26
|
import json
|
|
27
|
+
from pathlib import Path
|
|
27
28
|
from urllib.parse import urlencode, quote
|
|
28
29
|
|
|
29
30
|
FORM_URL = "https://github.com/github/spec-kit/issues/new"
|
|
30
31
|
TEMPLATE = "extension_submission.yml"
|
|
32
|
+
MANIFEST = Path(__file__).resolve().parents[2] / "extensions/spec-kit-docguard/extension.yml"
|
|
33
|
+
DESCRIPTION = (
|
|
34
|
+
"Documentation integrity for AI-assisted repositories: lifecycle registry, "
|
|
35
|
+
"drift validation, traceability, safe archival, SARIF/JUnit, MCP, GitHub "
|
|
36
|
+
"Actions, and Spec Kit hooks."
|
|
37
|
+
)
|
|
38
|
+
TAGS = ["documentation", "validation", "traceability", "ai-agents", "spec-kit"]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def manifest_inventory(path: Path = MANIFEST):
|
|
42
|
+
"""Read command and hook names from the extension manifest without PyYAML."""
|
|
43
|
+
commands, hooks = [], []
|
|
44
|
+
section = subsection = None
|
|
45
|
+
for raw in path.read_text(encoding="utf-8").splitlines():
|
|
46
|
+
line = raw.split("#", 1)[0].rstrip()
|
|
47
|
+
if not line.strip():
|
|
48
|
+
continue
|
|
49
|
+
content = line.lstrip()
|
|
50
|
+
indent = len(line) - len(content)
|
|
51
|
+
|
|
52
|
+
if indent == 0:
|
|
53
|
+
section = content[:-1] if content.endswith(":") else None
|
|
54
|
+
subsection = None
|
|
55
|
+
continue
|
|
56
|
+
|
|
57
|
+
if section == "provides":
|
|
58
|
+
if indent == 2:
|
|
59
|
+
subsection = content[:-1] if content.endswith(":") else None
|
|
60
|
+
elif (subsection == "commands" and indent == 4
|
|
61
|
+
and content.startswith("- name:")):
|
|
62
|
+
commands.append(content.split(":", 1)[1].strip().strip("\"'"))
|
|
63
|
+
elif section == "hooks" and indent == 2 and content.endswith(":"):
|
|
64
|
+
hooks.append(content[:-1])
|
|
65
|
+
|
|
66
|
+
if not commands or not hooks:
|
|
67
|
+
raise RuntimeError(f"Could not read commands and hooks from {path}")
|
|
68
|
+
return commands, hooks
|
|
31
69
|
|
|
32
70
|
|
|
33
71
|
def changelog_section(version: str) -> str:
|
|
@@ -56,19 +94,13 @@ def changelog_section(version: str) -> str:
|
|
|
56
94
|
|
|
57
95
|
|
|
58
96
|
def build(version: str, download_url: str):
|
|
97
|
+
commands, hooks = manifest_inventory()
|
|
98
|
+
command_count, hook_count = len(commands), len(hooks)
|
|
59
99
|
catalog_entry = {
|
|
60
100
|
"docguard": {
|
|
61
101
|
"name": "DocGuard — CDD Enforcement",
|
|
62
102
|
"id": "docguard",
|
|
63
|
-
"description":
|
|
64
|
-
"A documentation-integrity engine with an MCP server, "
|
|
65
|
-
"SARIF/JUnit output, and a deterministic zero-LLM core. "
|
|
66
|
-
"Validates, scores, and traces documentation against code — "
|
|
67
|
-
"27 validators, stable finding codes, adoption baseline for "
|
|
68
|
-
"legacy repos, compliance-evidence reports, GitHub Action "
|
|
69
|
-
"with PR annotations, spec-kit hooks. Pure Node.js, one "
|
|
70
|
-
"pinned dep."
|
|
71
|
-
),
|
|
103
|
+
"description": DESCRIPTION,
|
|
72
104
|
"author": "raccioly",
|
|
73
105
|
"version": version,
|
|
74
106
|
"download_url": download_url,
|
|
@@ -88,11 +120,8 @@ def build(version: str, download_url: str):
|
|
|
88
120
|
{"name": "node", "version": ">=18.0.0", "required": True}
|
|
89
121
|
],
|
|
90
122
|
},
|
|
91
|
-
"provides": {"commands":
|
|
92
|
-
"tags":
|
|
93
|
-
"documentation", "validation", "quality", "cdd",
|
|
94
|
-
"traceability", "ai-agents", "enforcement", "spec-kit",
|
|
95
|
-
],
|
|
123
|
+
"provides": {"commands": command_count, "hooks": hook_count},
|
|
124
|
+
"tags": TAGS,
|
|
96
125
|
"verified": False,
|
|
97
126
|
"downloads": 0,
|
|
98
127
|
"stars": 0,
|
|
@@ -120,17 +149,16 @@ def build(version: str, download_url: str):
|
|
|
120
149
|
"- node (>=18.0.0) - required\n"
|
|
121
150
|
"- npx - required\n"
|
|
122
151
|
"- specify - optional (auto-initializes the SDD workflow during docguard init)"),
|
|
123
|
-
("commands-count", "Number of Commands",
|
|
124
|
-
("hooks-count", "Number of Hooks (optional)",
|
|
125
|
-
("tags", "Tags",
|
|
126
|
-
"documentation, validation, quality, cdd, traceability, ai-agents, enforcement, spec-kit"),
|
|
152
|
+
("commands-count", "Number of Commands", str(command_count)),
|
|
153
|
+
("hooks-count", "Number of Hooks (optional)", str(hook_count)),
|
|
154
|
+
("tags", "Tags", ", ".join(TAGS)),
|
|
127
155
|
("features", "Key Features",
|
|
128
156
|
"- Configurable quality gate with severity triage and a remediation plan\n"
|
|
129
157
|
"- AI-driven documentation repair with codebase research and validation loops\n"
|
|
130
158
|
"- Cross-document semantic consistency analysis (read-only review)\n"
|
|
131
159
|
"- CDD maturity score with an ROI-based improvement roadmap\n"
|
|
132
160
|
"- Reverse-engineers canonical docs from an existing codebase\n"
|
|
133
|
-
"- spec-kit workflow hooks (
|
|
161
|
+
f"- spec-kit workflow hooks ({', '.join(hooks)})"),
|
|
134
162
|
("testing", "Testing Checklist", None),
|
|
135
163
|
("requirements", "Submission Requirements", None),
|
|
136
164
|
("testing-details", "Testing Details",
|
|
@@ -139,8 +167,8 @@ def build(version: str, download_url: str):
|
|
|
139
167
|
f"specify extension add docguard --from {download_url}\n```\n\n"
|
|
140
168
|
"**Scenarios to verify for this release:**\n"
|
|
141
169
|
"1. Extension installs from the release ZIP without manifest validation errors.\n"
|
|
142
|
-
"2. All
|
|
143
|
-
"3.
|
|
170
|
+
f"2. All {command_count} declared `speckit.docguard.*` commands resolve and run.\n"
|
|
171
|
+
f"3. All {hook_count} declared workflow hooks register against spec-kit's lifecycle."),
|
|
144
172
|
("example-usage", "Example Usage",
|
|
145
173
|
"```bash\n"
|
|
146
174
|
"# Install the extension\n"
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Synchronize every active release surface with package.json.
|
|
5
|
+
*
|
|
6
|
+
* The allowlist is deliberate: release metadata and copyable install templates
|
|
7
|
+
* must move together, while historical references in changelogs, roadmaps, and
|
|
8
|
+
* completed specifications must remain untouched.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { existsSync, readFileSync, readdirSync, unlinkSync } from 'node:fs';
|
|
12
|
+
import { dirname, join, relative, resolve } from 'node:path';
|
|
13
|
+
import { fileURLToPath } from 'node:url';
|
|
14
|
+
import { safeWrite } from '../../cli/writers/generate-io.mjs';
|
|
15
|
+
|
|
16
|
+
const SCRIPT_PATH = fileURLToPath(import.meta.url);
|
|
17
|
+
const STABLE_VERSION = /^\d+\.\d+\.\d+$/;
|
|
18
|
+
|
|
19
|
+
function replaceRequired(content, pattern, replacement, label, expected = 1) {
|
|
20
|
+
let count = 0;
|
|
21
|
+
const next = content.replace(pattern, (...args) => {
|
|
22
|
+
count++;
|
|
23
|
+
return typeof replacement === 'function' ? replacement(...args) : replacement;
|
|
24
|
+
});
|
|
25
|
+
if (count !== expected) {
|
|
26
|
+
throw new Error(`${label}: expected ${expected} version field${expected === 1 ? '' : 's'}, found ${count}`);
|
|
27
|
+
}
|
|
28
|
+
return next;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function stageText(staged, root, relPath, transform) {
|
|
32
|
+
const fullPath = resolve(root, relPath);
|
|
33
|
+
if (!existsSync(fullPath)) throw new Error(`${relPath}: required release surface is missing`);
|
|
34
|
+
const current = readFileSync(fullPath, 'utf8');
|
|
35
|
+
staged.set(fullPath, transform(current));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function stageJson(staged, root, relPath, transform) {
|
|
39
|
+
stageText(staged, root, relPath, content => {
|
|
40
|
+
let value;
|
|
41
|
+
try { value = JSON.parse(content); } catch (error) {
|
|
42
|
+
throw new Error(`${relPath}: invalid JSON: ${error.message}`);
|
|
43
|
+
}
|
|
44
|
+
transform(value);
|
|
45
|
+
return `${JSON.stringify(value, null, 2)}\n`;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function writeWithoutReleaseBackup(filePath, content) {
|
|
50
|
+
const previous = readFileSync(filePath, 'utf8');
|
|
51
|
+
if (previous === content) return false;
|
|
52
|
+
safeWrite(filePath, content);
|
|
53
|
+
// Git is the durable backup for these tracked release surfaces. Remove the
|
|
54
|
+
// temporary .bak only after safeWrite succeeds so it cannot enter a release.
|
|
55
|
+
const backup = `${filePath}.bak`;
|
|
56
|
+
if (existsSync(backup)) unlinkSync(backup);
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function syncReleaseVersion(root = process.cwd()) {
|
|
61
|
+
const packagePath = resolve(root, 'package.json');
|
|
62
|
+
const pkg = JSON.parse(readFileSync(packagePath, 'utf8'));
|
|
63
|
+
const version = pkg.version;
|
|
64
|
+
if (!STABLE_VERSION.test(version || '')) {
|
|
65
|
+
throw new Error(`package.json: expected a stable x.y.z version, got ${JSON.stringify(version)}`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const staged = new Map();
|
|
69
|
+
|
|
70
|
+
stageText(staged, root, 'pyproject.toml', content => replaceRequired(
|
|
71
|
+
content,
|
|
72
|
+
/(\[project\][\s\S]*?^version\s*=\s*")[^"\n]+(")/m,
|
|
73
|
+
(_match, before, after) => `${before}${version}${after}`,
|
|
74
|
+
'pyproject.toml [project].version',
|
|
75
|
+
));
|
|
76
|
+
|
|
77
|
+
stageJson(staged, root, 'server.json', server => {
|
|
78
|
+
if (!Array.isArray(server.packages)) throw new Error('server.json: packages must be an array');
|
|
79
|
+
const npmPackages = server.packages.filter(item => item?.registryType === 'npm' && item?.identifier === pkg.name);
|
|
80
|
+
if (npmPackages.length !== 1) {
|
|
81
|
+
throw new Error(`server.json: expected one npm package for ${pkg.name}, found ${npmPackages.length}`);
|
|
82
|
+
}
|
|
83
|
+
server.version = version;
|
|
84
|
+
npmPackages[0].version = version;
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
stageText(staged, root, 'extensions/spec-kit-docguard/extension.yml', content => replaceRequired(
|
|
88
|
+
content,
|
|
89
|
+
/^ version:\s*["'][^"'\n]+["']/m,
|
|
90
|
+
` version: "${version}"`,
|
|
91
|
+
'extensions/spec-kit-docguard/extension.yml extension.version',
|
|
92
|
+
));
|
|
93
|
+
|
|
94
|
+
for (const relPath of [
|
|
95
|
+
'templates/ci/github-actions.yml',
|
|
96
|
+
'extensions/spec-kit-docguard/templates/github-workflows/docguard-guard.yml',
|
|
97
|
+
]) {
|
|
98
|
+
stageText(staged, root, relPath, content => replaceRequired(
|
|
99
|
+
content,
|
|
100
|
+
/docguard-cli@\d+\.\d+\.\d+/g,
|
|
101
|
+
`docguard-cli@${version}`,
|
|
102
|
+
`${relPath} DocGuard CLI pin`,
|
|
103
|
+
));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const skillsRoot = resolve(root, 'extensions/spec-kit-docguard/skills');
|
|
107
|
+
if (!existsSync(skillsRoot)) throw new Error('extensions/spec-kit-docguard/skills: required release surface is missing');
|
|
108
|
+
const skillFiles = readdirSync(skillsRoot, { withFileTypes: true })
|
|
109
|
+
.filter(entry => entry.isDirectory())
|
|
110
|
+
.map(entry => join(skillsRoot, entry.name, 'SKILL.md'))
|
|
111
|
+
.filter(existsSync)
|
|
112
|
+
.sort();
|
|
113
|
+
if (skillFiles.length === 0) throw new Error('extensions/spec-kit-docguard/skills: no SKILL.md files found');
|
|
114
|
+
|
|
115
|
+
for (const fullPath of skillFiles) {
|
|
116
|
+
const relPath = relative(root, fullPath);
|
|
117
|
+
const current = readFileSync(fullPath, 'utf8');
|
|
118
|
+
let next = replaceRequired(
|
|
119
|
+
current,
|
|
120
|
+
/^ version:\s*\d+\.\d+\.\d+$/m,
|
|
121
|
+
` version: ${version}`,
|
|
122
|
+
`${relPath} metadata.version`,
|
|
123
|
+
);
|
|
124
|
+
next = replaceRequired(
|
|
125
|
+
next,
|
|
126
|
+
/<!-- docguard:version:\s*\d+\.\d+\.\d+ -->/g,
|
|
127
|
+
`<!-- docguard:version: ${version} -->`,
|
|
128
|
+
`${relPath} docguard version marker`,
|
|
129
|
+
);
|
|
130
|
+
staged.set(fullPath, next);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// All parsing and cardinality checks finish before the first write. A missing
|
|
134
|
+
// or duplicated field therefore leaves every release surface untouched.
|
|
135
|
+
const changed = [];
|
|
136
|
+
for (const [filePath, content] of staged) {
|
|
137
|
+
if (writeWithoutReleaseBackup(filePath, content)) changed.push(relative(root, filePath));
|
|
138
|
+
}
|
|
139
|
+
return { version, changed };
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (process.argv[1] && resolve(process.argv[1]) === SCRIPT_PATH) {
|
|
143
|
+
try {
|
|
144
|
+
const result = syncReleaseVersion();
|
|
145
|
+
console.log(`Synchronized ${result.changed.length} release surfaces to v${result.version}.`);
|
|
146
|
+
} catch (error) {
|
|
147
|
+
console.error(`Release version sync failed: ${error.message}`);
|
|
148
|
+
process.exitCode = 1;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -111,9 +111,13 @@ jobs:
|
|
|
111
111
|
awk '/^## \[Unreleased\]/ { print; print ""; while ((getline line < "/tmp/entry.md") > 0) print line; next } { print }' \
|
|
112
112
|
CHANGELOG.md > /tmp/CHANGELOG.new && mv /tmp/CHANGELOG.new CHANGELOG.md
|
|
113
113
|
|
|
114
|
-
#
|
|
115
|
-
#
|
|
116
|
-
|
|
114
|
+
# Synchronize every active publication surface from package.json.
|
|
115
|
+
# This is fail-closed: missing or duplicated fields stop the release
|
|
116
|
+
# before any release metadata is written.
|
|
117
|
+
node .github/scripts/sync-release-version.mjs
|
|
118
|
+
# The extension skills are authoritative. Refresh their checked-in
|
|
119
|
+
# `.agent` copies before the parity test and release commit.
|
|
120
|
+
node --input-type=module -e "import { ensureSkills } from './cli/ensure-skills.mjs'; ensureSkills(process.cwd(), { format: 'json', noSpecKit: true });"
|
|
117
121
|
|
|
118
122
|
echo "NEW_VERSION=$NEW" >> "$GITHUB_ENV"
|
|
119
123
|
|
|
@@ -148,7 +152,7 @@ jobs:
|
|
|
148
152
|
git config user.name "github-actions[bot]"
|
|
149
153
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
150
154
|
git checkout -b "$BRANCH"
|
|
151
|
-
git add package.json package-lock.json CHANGELOG.md extensions/ .agent/ 2>/dev/null || true
|
|
155
|
+
git add package.json package-lock.json pyproject.toml server.json CHANGELOG.md templates/ extensions/ .agent/ 2>/dev/null || true
|
|
152
156
|
git commit -m "release: v${NEW_VERSION} — automated weekly batch
|
|
153
157
|
|
|
154
158
|
Cut by .github/workflows/scheduled-release.yml. Publishing itself is
|