skillgate 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {skillgate-1.2.0 → skillgate-1.2.2}/.gitignore +4 -1
- {skillgate-1.2.0 → skillgate-1.2.2}/CHANGELOG.md +13 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/PKG-INFO +17 -38
- skillgate-1.2.2/README-PYPI.md +34 -0
- skillgate-1.2.2/SECURITY.md +38 -0
- skillgate-1.2.2/alembic/versions/20260228_0007_unique_subscription_per_user.py +61 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/dotnet-shim/README.md +2 -4
- {skillgate-1.2.0 → skillgate-1.2.2}/dotnet-shim/SkillGate.Client/SkillGate.Client.csproj +11 -1
- {skillgate-1.2.0 → skillgate-1.2.2}/npm-shim/README.md +3 -12
- {skillgate-1.2.0 → skillgate-1.2.2}/npm-shim/package.json +2 -2
- {skillgate-1.2.0 → skillgate-1.2.2}/pyproject.toml +5 -4
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/version.py +1 -1
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate.egg-info/PKG-INFO +17 -38
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate.egg-info/SOURCES.txt +6 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate.egg-info/requires.txt +1 -0
- skillgate-1.2.2/vscode-extension/.vscodeignore +12 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/README.md +5 -5
- skillgate-1.2.2/vscode-extension/assets/signed-report-verification.gif +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/package-lock.json +2 -2
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/package.json +4 -4
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/extension.ts +4 -2
- skillgate-1.2.2/web-ui/docs/DEMO-EVIDENCE-VIDEO.md +168 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.codex/skills/local-ci-gate-pack/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.codex/skills/production-hardening-gate/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.env.example +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.github/workflows/ci-matrix.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.github/workflows/ci.full.backup.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.github/workflows/ci.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.github/workflows/npm-shim-release.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/.github/workflows/release-safety.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/=0.25.0 +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/AGENTS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/CLAUDE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/CONTRIBUTING.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/Dockerfile +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/Dockerfile.api +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/Dockerfile.worker +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/LICENSE +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic/env.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic/versions/20260216_0001_initial_hosted_schema.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic/versions/20260216_0002_auth_and_stripe_resilience.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic/versions/20260218_0003_add_billing_interval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic/versions/20260218_0004_email_verification_tokens.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic/versions/20260222_0006_supabase_ownership_split.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/alembic.ini +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/deploy.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docker-compose.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/API-MIGRATIONS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/ARCHITECTURE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/ARTIFACT-COVERAGE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/CLAIM-LEDGER.yaml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/CLI-API-SPEC.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/DOCUMENTATION-CLAIMS-AUDIT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/ENTERPRISE-PRIVATE-DEPLOYMENT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/ENTERPRISE-READINESS-CHECKLIST.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/ENTITLEMENT-GUIDE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/EXPLAINER-PROVIDER-MIGRATION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/GITHUB-ACTION-QUICKSTART.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/GO-TO-MARKET-SEO.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/IMPLEMENTATION-PLAN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/INSTALLATION-GUIDE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/INSTALLATION-INDIVIDUALS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/INSTALLATION-LAUNCH-CHECKLIST.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/INSTALLATION-TEAMS-ORGS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/LAUNCH-GUARDRAILS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/LEGAL-REVIEW-CHECKLIST.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/LOCAL-E2E-TESTING.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/MARKETING-IMPLEMENTATION-BACKLOG.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/OBSERVABILITY-RUNBOOK.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/POLICY-REFERENCE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/PRD.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/PRICING-MIGRATION-PLAN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/PRICING-ROLLOUT-LAUNCH-GATE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/PRICING-VALIDATION-LOG.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/PROD-SETUP-NETLIFY-RAILWAY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/RELEASE-CHECKLIST-PYPI-NPM.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/RELEASE-SAFETY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/RFC-AGENT-GATEWAY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/RULE-CATALOG.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/Release/PUBLISH-DOTNET.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/Release/PUBLISH-NPM.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/Release/PUBLISH-PYTHON.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/Release/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/Release/RELEASE-1.2.0-CHECKLIST.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/Release/RELEASE-CHECKLIST-TEMPLATE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/SALES-CONTROL-PLANE-PLAYBOOK.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/SALES-ONE-PAGER-CONTROL-PLANE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/SECURITY-COMPLIANCE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/SECURITY-HARDENING-SPRINT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/STABLE-LAUNCH-RUNBOOK.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/STANDOUT-ROADMAP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/TEAM-BOOTSTRAP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/TECHNICAL-SPEC.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/TESTING-STRATEGY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/initial-requirements-discussion.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/install-spec.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/open-core/PUBLIC_PRIVATE_MATRIX_v1.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/open-core/ci-parity-matrix.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/open-core/deployment-profile-lock.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/open-core/dual-repo-release-contract.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/open-core/public-export-policy.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/openapi/skillgate-openapi.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase1/DOCS-SITE-ENTERPRISE-REPO-BLUEPRINT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase1/ENTERPRISE-PRIVATE-DEPLOYMENT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase1/ENTERPRISE-READINESS-CHECKLIST.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase1/EXPLAINER-PROVIDER-MIGRATION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase1/FEATURE-INVENTORY-BASIC-COMPLEX-MOAT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase1/IMPLEMENTATION-PLAN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/AUTHENTICATION-ENTITLEMENT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/GATHERING-CONVERSATIONS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/IMPLEMENTATION-PLAN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/PHASE2-INTEGRATION-GATE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/REQUIREMENTS-IMPLEMENTATION-PLAN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/artifacts/phase2-ship-gate-audit-2026-02-28.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/artifacts/phase2-ship-gate-audit-2026-02-28.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/claude_code_skillgate_integration.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-claude-agents/.github/workflows/secure-claude.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-claude-agents/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-codex-stack/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-codex-stack/template/.codex/config.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-codex-stack/template/.github/workflows/secure-codex.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-codex-stack/template/.skillgate/aibom.lock +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-codex-stack/template/AGENTS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/secure-codex-stack/template/skillgate.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/vscode-extension/SPRINT-12-DESIGN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/phase2/vscode-extension/templates/skillgate-policy-check.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/quality/ship-gate-contract.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/AGENT-SKILLS-MANDATORY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/BOUNDARIES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/PER-TASK-RECORDS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/PR-DESCRIPTION-SECTION11.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/RALPH-LOOP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/READINESS-GATES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/RELEASE-DECISION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/VALIDATION-CHECKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/.gitkeep +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/adoption-kpi-baseline.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-23.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-23.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-25.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-25.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-26.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-26.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-27.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-27.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/consolidated-release-audit-2026-02-28.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/contractor-trigger-checklist.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/corrective-action-plan.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/delegation-matrix.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/residual-risk-thresholds-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/risk-register.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/TESTBED-PROOF.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.real-sidecar.baseline.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.real-sidecar.baseline.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.real-sidecar.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.real-sidecar.full.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.real-sidecar.full.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.real-sidecar.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.skills.index.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.toolinvocations.baseline.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.toolinvocations.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/antigravity.toolinvocations.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.real-sidecar.baseline.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.real-sidecar.baseline.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.real-sidecar.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.real-sidecar.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.toolinvocations.baseline.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.toolinvocations.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/awesome-llm-apps.toolinvocations.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/images/antigravity-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/images/awesome-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/images/nanobot-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/images/openclaw-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/images/testbed-corpus-comparison.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/mock-regression-summary.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/nanobot.real-sidecar.baseline.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/nanobot.real-sidecar.baseline.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/nanobot.skills.index.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/nanobot.toolinvocations.baseline.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/nanobot.toolinvocations.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/openclaw.real-sidecar.baseline.detail.ndjson +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/openclaw.real-sidecar.baseline.report.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/openclaw.skills.index.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/openclaw.toolinvocations.baseline.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/openclaw.toolinvocations.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/testbed-evidence/testbed-proof-summary.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/weekly-risk-review.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-11-risk-mitigation/artifacts/wip-cap-policy.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/AGENT-SKILLS-MANDATORY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/BOUNDARIES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/PER-TASK-RECORDS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/PR-DESCRIPTION-SECTION12.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/RALPH-LOOP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/READINESS-GATES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/RELEASE-DECISION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/VALIDATION-CHECKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/artifacts/.gitkeep +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/artifacts/cli-contract-snapshots/scan-help.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/artifacts/provider-contract-results.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-12-explanation-provider-extensibility/artifacts/provider-network-policy-results.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/AGENT-SKILLS-MANDATORY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/BOUNDARIES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/PER-TASK-RECORDS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/PR-DESCRIPTION-SECTION13.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/RALPH-LOOP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/READINESS-GATES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/RELEASE-DECISION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/VALIDATION-CHECKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/.gitkeep +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/docs-version-drift-check.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/install-matrix.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/install-spec.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/release-manifest-verification.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/release-manifest.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-13-installation-ux/artifacts/section13-gate-run.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/AGENT-SKILLS-MANDATORY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/BOUNDARIES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/PER-TASK-RECORDS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/PR-DESCRIPTION-SECTION14.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/RALPH-LOOP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/READINESS-GATES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/RELEASE-DECISION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/VALIDATION-CHECKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/artifacts/.gitignore +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-14-governed-pipeline/artifacts/.gitkeep +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-15-web-ui-content-humanization/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-15-web-ui-content-humanization/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-15-web-ui-content-humanization/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-15-web-ui-content-humanization/artifacts/conversion-copy-qa-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-15-web-ui-content-humanization/artifacts/cta-hierarchy-recommendation-diff-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-15-web-ui-content-humanization/artifacts/install-ux-python-npx-pass-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/AGENT-SKILLS-MANDATORY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/BOUNDARIES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/PER-TASK-RECORDS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/READINESS-GATES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/RELEASE-DECISION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/VALIDATION-CHECKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/ci-parity-matrix-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/ci-parity-validation-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/cutover-env-contract-production-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/cutover-env-contract-staging-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/cutover-rehearsal-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/cutover-rollback-rehearsal-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/cutover-smoke-production-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/cutover-smoke-staging-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/deployment-profile-lock-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/deployment-profile-lock-validation-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/dual-repo-release-contract-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/dual-repo-release-contract-validation-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/dual-repo-release-sequence-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/local-gate-pack-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/physical-extraction-run-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/private-ee-manifest-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/private-ee-manifest-2026-02-28-shims.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/private-ee-manifest-2026-02-28.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/public-ce-manifest-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/public-ce-manifest-2026-02-28-shims.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/public-ce-manifest-2026-02-28.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/public-export-gate-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/public-export-negative-fixture-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/split-readiness-manifest-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/split-readiness-manifest-verify-2026-02-21.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-16-open-core-split-governance/artifacts/split-readiness-report-2026-02-21.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/AGENT-SKILLS-MANDATORY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/BOUNDARIES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/CACHE-STRATEGY.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/CUTOVER-ROLLBACK-RUNBOOK.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/EGRESS-CONTROLS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/FRONTEND-AUTH-QUERY-CONTRACT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/PER-TASK-RECORDS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/PERFORMANCE-CAPACITY-PLAN.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/RALPH-LOOP.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/READINESS-GATES.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/RELEASE-DECISION.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/RLS-POLICY-CATALOG.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/SPECS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/SUPABASE-RPC-CONTRACT.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/TASKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/VALIDATION-CHECKS.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/cache-verification-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/data-ownership-migration-dry-run-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/egress-policy-validation-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/final-gate-validation-summary.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/frontend-auth-hook-contract-test-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/full-ci-mypy-output.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/full-ci-pytest-output.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/full-ci-ruff-output.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/jwt-verifier-validation-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/performance-benchmark-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/provider-matrix-test-summary.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/rls-policy-matrix-and-negative-access-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/rollback-drill-log.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/rpc-function-contract-report.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/security-regression-summary.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/section-17-supabase-auth-migration/artifacts/staging-cutover-rehearsal-log.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/sprint-7.2-runbook.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/sprint-7.3-hybrid-enforcement-runbook.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/.claude/hooks/post-tool-use.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/.claude/hooks/pre-tool-use.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/.github/workflows/skillgate-claude.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/.skillgate/hooks-attestation.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/.skillgate.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/CLAUDE.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/secure-claude-project/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/team/bootstrap.env.example +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/docs/templates/team/skillgate.team-baseline.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/dotnet-shim/SkillGate.Client/SkillGateClient.cs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/dotnet-shim/SkillGate.Client.Tests/SkillGate.Client.Tests.csproj +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/dotnet-shim/SkillGate.Client.Tests/SkillGateClientTests.cs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/go-shim/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/go-shim/go.mod +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/go-shim/skillgate.go +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/go-shim/skillgate_test.go +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/homebrew/skillgate.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/java-shim/pom.xml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/java-shim/src/main/java/io/skillgate/SkillGateClient.java +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/java-shim/src/test/java/io/skillgate/SkillGateClientTest.java +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/k6/load_test.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/netlify.toml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/npm-shim/LICENSE +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/npm-shim/bin/skillgate.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/ruby-shim/lib/skillgate/client.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/ruby-shim/lib/skillgate/errors.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/ruby-shim/lib/skillgate/models.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/ruby-shim/lib/skillgate.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/ruby-shim/skillgate.gemspec +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/ruby-shim/test/test_client.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/rust-shim/Cargo.toml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/rust-shim/src/lib.rs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/.env.cloud-cli.example +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/canary_gate.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/check-env-contract.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/local_production_go_deploy.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/rollback_rehearsal.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/rollback_trigger.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/smoke.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/smoke_api.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/deploy/smoke_web.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/docs/generate_rule_catalog_json.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/install/install.ps1 +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/install/install.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/install/skillgate.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/migration/supabase_compat_migration.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_claim_ledger.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_deployment_profile_lock.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_dual_repo_release_contract.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_governance_scope_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_install_docs_freshness.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_phase2_ship_gates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_phase_ship_gates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_split_ci_parity.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/check_wrapper_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/generate_release_manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/generate_reliability_scorecard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/recall_report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/run_local_ci_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/quality/verify_release_manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/release/check_public_export.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/release/run_physical_extraction.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/test/rollback_high_privilege_user.sql +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/test/seed_high_privilege_user.sql +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/test/upgrade_user.sql +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/scripts/test_package_release.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/setup.cfg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/__main__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/app.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/auth_context.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/auth_observability.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/db.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/device_codes.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/entitlement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/entitlement_teams.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/errors.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/middleware/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/middleware/bot_mitigation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/migrations/0001_initial.sql +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/migrations/supabase/001_rpc_contract_v1.sql +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/migrations/supabase/002_rls_policies_v1.sql +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/migrations/supabase/email_templates/confirm_signup.html +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/migrations/supabase/email_templates/magic_link.html +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/migrations/supabase/email_templates/password_reset.html +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/pricing_catalog.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/rate_limit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/redis_circuit_breaker.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/redis_rate_limit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/resilience.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/roadmap_catalog.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/alerts.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/api_keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/audit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/auth.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/entitlements.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/health.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/hunt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/license.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/payments.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/pricing.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/retroscan.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/roadmap.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/scans.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/teams.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/usage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/routes/verify.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/security.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/settings.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/supabase_auth_provider.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/supabase_client.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/supabase_egress.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/supabase_jwt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/telemetry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/api/worker.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_16.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_16_light.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_20.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_20_light.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_24.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_24_light.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_28.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_28_light.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_32.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_compact_32_light.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_small_48.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_small_48_light.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_small_48_light_old.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/assets/logo_small_48_old.ansi +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/client.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/errors.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/extension_bridge.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/limits.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/offline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/renewal.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/slt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/auth/store.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/bitbucket/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/bitbucket/template.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/github/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/github/action.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/github/annotations.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/gitlab/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/gitlab/template.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ci/noise.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/app.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/branding.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/approval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/auth.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/bom.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/claude.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/codex.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/dag.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/doctor.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/drift.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/export.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/gateway.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/hooks.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/hunt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/init.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/integrate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/mcp.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/reputation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/retroscan.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/rules_cmd.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/run.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/scan.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/simulate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/submit_scan.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/commands/verify.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/formatters/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/formatters/human.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/formatters/json_fmt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/formatters/sarif.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/main.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/remote.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/cli/scan_submit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/config_poisoning.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/injection.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/policy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/providers.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/proxy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/settings.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/supply_chain.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/codex_bridge/wrapper.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/compliance/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/compliance/annotations.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/compliance/governance_report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/config/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/config/entitlement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/config/license.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/config/secrets.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/control_plane/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/control_plane/api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/control_plane/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/control_plane/service.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/correlation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/perf_guard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/base.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/config.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/credential.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/eval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/filesystem.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/go.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/injection.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/js_ast.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/network.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/obfuscation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/prompt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/ruby.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/rust.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/shell.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/rules/shell_ast.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/treesitter.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/analyzer/unicode_normalizer.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/connectors/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/connectors/base.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/connectors/file_tip.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/connectors/manager.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/connectors/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/connectors/registry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/enricher/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/enricher/catalog.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/enricher/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/enricher/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/airgap.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/cache.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/enterprise.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/enterprise_adapter.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/gates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/mode.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/quota.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/resilience.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/resolver.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/entitlement/usage_authority.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/errors.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/explainer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/explainer/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/explainer/templates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/allowlist.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/approval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/bom_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/budget.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/executor.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/lineage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/runtime.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/runtime_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/sandbox.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/scope.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/session.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/gateway/top_guard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/hunt/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/hunt/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/hunt/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/hunt/parser.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/models/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/models/artifact.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/models/bundle.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/models/enums.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/models/finding.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/models/report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/approval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/evidence.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/triage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/orchestrator/write_path.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/archive.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/bundle.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/document.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/fleet.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/markdown.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/parser/source.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/policy/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/policy/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/policy/loader.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/policy/presets.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/policy/schema.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/reputation/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/reputation/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/reputation/policy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/reputation/redaction.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/reputation/store.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/reputation/verifier.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/retroscan/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/retroscan/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/retroscan/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/retroscan/store.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/scorer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/scorer/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/scorer/severity.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/scorer/weights.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/signer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/signer/canonical.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/signer/engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/core/signer/keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/approvals.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/behavior.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/correlation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/hooks.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/ledger.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/patterns.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/plugins.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/policy_packs.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/scanner.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/scope.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/ecosystem/subagents.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/enterprise/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/enterprise/audit_export.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/enterprise/sso.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/intelligence/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/intelligence/anomaly.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/intelligence/community_policies.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/intelligence/risk_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/intelligence/risk_score.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/attestation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/gateway.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/poisoning.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/registry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/sandbox.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/mcp_gateway/settings_governance.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/audit_log.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/dashboard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/metrics.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/pii_redaction.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/siem/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/siem/base.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/siem/config.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/siem/datadog.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/siem/elastic.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/siem/splunk.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/tracing.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/observability/webhooks.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/py.typed +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/authorize.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/capabilities.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/circuit_breaker.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/degraded_modes.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/emit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/enrich.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/evaluate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/fs_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/network_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/normalize.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/policy_cache.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/policy_loader.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/record.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/shell_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/runtime/token_bucket.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/saas/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/saas/availability.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/saas/multi_region.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/saas/rate_limits.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/aibom.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/client.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/decorator.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/errors.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/integrations/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/integrations/crewai.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/integrations/langchain.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/integrations/pydantic_ai.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/py.typed +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sdk/pyproject.toml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sidecar/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate/sidecar/app.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-agents/scripts/attest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-agents/scripts/e2e_scope_validation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-agents/scripts/validate_plugin.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-antigravity-scripts/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-antigravity-scripts/antigravity_rules.yaml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-antigravity-scripts/extract_from_antigravity_skills.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-antigravity-scripts/setup_antigravity_testbed.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-scripts/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-scripts/capability_rules.yaml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-scripts/extract_toolinvocations.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-scripts/run_enforcement_regression.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-capability-testbed-scripts/setup_testbed.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate-docs/node_modules/flatted/python/flatted.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate.egg-info/dependency_links.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate.egg-info/entry_points.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/skillgate.egg-info/top_level.txt +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/conftest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/backdoor-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/backdoor-skill/agent.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/credential-harvester/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/credential-harvester/harvester.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/eval-injection/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/eval-injection/main.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/obfuscated-malware/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/obfuscated-malware/agent.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/rce-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/corpus/rce-skill/skill.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/test_false_negative_corpus.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/test_mutation_detection.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/defense/test_security_fixes_16_29_35.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_docs_exist.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_explainer_provider_migration.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_hybrid_runbook.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_installation_org_enterprise_contract.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_installation_spec_contract.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_installation_tracks.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_npm_shim_contract.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/docs/test_pricing_launch_controls.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_agent_mode.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_api_command_matrix.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_cli_command_matrix.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_cli_policy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_cli_sarif.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_cli_scan.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_cli_verify.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_codex_bridge.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_npm_shim_wrapper.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_packaging_build_install.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_packaging_release.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_phase2_smoke.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/e2e/test_plugin_sprint_46.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/bom_unknown_skills.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/injection_corpus_v1.jsonl +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/policies/custom_overrides.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/policies/development.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/policies/invalid_version.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/policies/invalid_yaml.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/policies/production.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/policies/strict.yml +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/runtime/efficacy_corpus.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/evil-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/evil-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/go-evil-skill/handler.go +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/go-evil-skill/skill.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/js-evil-skill/index.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/js-evil-skill/package.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/ruby-evil-skill/handler.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/ruby-evil-skill/skill.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/rust-evil-skill/skill.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/malicious/rust-evil-skill/src/lib.rs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/datetime-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/datetime-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/go-skill/handler.go +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/go-skill/skill.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/hello-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/hello-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/hello-skill/utils.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/json-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/json-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/logging-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/logging-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/math-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/math-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/node-skill/index.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/node-skill/package.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/ruby-skill/handler.rb +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/ruby-skill/skill.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/rust-skill/skill.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/rust-skill/src/lib.rs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/text-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/text-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/validator-skill/SKILL.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/fixtures/skills/safe/validator-skill/handler.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_bom_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_capability_testbed_scripts.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_ci_output.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_ci_templates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_control_plane_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_enrichment_pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_gateway_runtime_efficacy_corpus.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/conftest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/helpers.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_combo_escalation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_intercept.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_response_capture.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_sandbox.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_startup.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_stdio.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_mcp_gateway/test_tool_discovery.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_multilang_pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_performance.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_policy_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_risk_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_risk_intelligence_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_saas/test_availability.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_saas/test_multi_region.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_scan_pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_security_audit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_sidecar_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_sidecar_decide.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_sidecar_observability_integration.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_siem/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_siem/test_datadog.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_siem/test_elastic.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_siem/test_splunk.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_signed_reports.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/integration/test_top_guard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/perf/baseline_sidecar_latency.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/perf/test_codex_bridge_latency.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/perf/test_mcp_gateway_latency.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/perf/test_sidecar_latency.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/slo/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/slo/test_false_positive_rate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/slo/test_latency_budget.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_base_ast_rule.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_correlation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_engine_extended.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_fn_fp_harness.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_perf_guard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_base_language_filter.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_credential.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_eval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_filesystem.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_go.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_injection.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_js_ast.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_network.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_obfuscation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_ruby.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_rust.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_shell.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_rules/test_shell_ast.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_treesitter.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_treesitter_extended.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_analyzer/test_unicode_normalizer.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/conftest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_alerts_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_app_lifespan.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_audit_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_auth_api_keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_auth_contract_migration_modes.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_auth_edges.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_auth_observability.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_bot_mitigation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_db.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_device_codes.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_entitlement_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_entitlement_teams.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_entitlements_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_error_envelope.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_health.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_hunt_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_license_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_payments_annual_billing.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_payments_resilience.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_pricing_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_rate_limit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_redis_circuit_breaker.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_redis_rate_limit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_resilience.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_retroscan_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_roadmap_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_scan_rate_limit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_scans_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_security_headers.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_security_utils.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_settings.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_supabase_auth_provider.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_supabase_client.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_supabase_egress.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_supabase_jwt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_supabase_settings.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_teams_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_telemetry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_verify_api.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_api/test_worker.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_client.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_exchange_endpoint.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_offline_modes.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_renewal.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_slt_keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_slt_rate_limits.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_slt_spec.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_auth/test_store.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ci/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ci/test_annotations.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ci/test_noise.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ci/test_wrapper_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_claim_ledger.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_approval_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_approval_request.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_auth.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_auth_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_branding.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_ci_network.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_claude_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_claude_toplevel.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_codex_ci_mode.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_codex_defaults.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_codex_wrapper.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_command_tree.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_config_poisoning.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_doctor_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_drift_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_entitlement_gates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_export_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/test_human.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/test_human_color.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/test_human_extended.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/test_json.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/test_provenance_enrichment.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_formatters/test_sarif.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_gateway_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_gateway_native_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_hooks.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_init_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_keys_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_mcp_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_provider_approval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_remote.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_reputation_commands.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_scan_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_scan_extended.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_simulate_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_submit_scan_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_supply_chain.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_tool_proxy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_verify_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_cli/test_watch_mode.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_codex_bridge/test_agents_md.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_codex_bridge/test_codex_settings.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_codex_bridge/test_internal_coverage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_compliance/test_annotations.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_compliance/test_governance_report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_config/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_config/test_license.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_config/test_secrets.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_connectors/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_connectors/test_file_tip.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_connectors/test_manager.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_connectors/test_models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_connectors/test_registry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_control_plane/test_approvals.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_control_plane/test_audit_retention.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_control_plane/test_policy_management.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_control_plane/test_rbac.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_control_plane/test_service_edges.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_control_plane/test_workspace_isolation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_dashboard/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_dashboard/test_data_queries.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_behavior.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_correlation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_ecosystem_approvals.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_ecosystem_branches.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_hook_attestation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_ledger.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_plugin_feed.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_plugin_registry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_policy_packs.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_scanner.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_scope.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_ecosystem/test_subagent_lineage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_enricher/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_enricher/test_catalog.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_enricher/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_enricher/test_models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_enterprise/test_audit_export.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_enterprise/test_sso.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_airgap_pack.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_cache.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_enterprise.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_enterprise_adapter.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_gates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_mode.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_quota.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_resilience.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_resolver.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_entitlement/test_usage_authority.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_explainer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_explainer/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_explainer/test_templates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_approval.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_bom_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_budget.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_executor.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_lineage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_runtime_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_scope_and_session.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_gateway/test_top_guard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_hunt/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_hunt/test_cli.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_hunt/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_hunt/test_models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_hunt/test_parser.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_intelligence/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_intelligence/test_agent_risk_score.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_intelligence/test_anomaly_detection.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_intelligence/test_anomaly_v1.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_intelligence/test_community_policies.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_intelligence/test_risk_scoring_v1.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_additional_coverage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_aibom.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_manifest_validation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_permission_drift.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_plugin_attestation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_settings_governance.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_tool_poisoning.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_mcp_gateway/test_tool_registry.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_models/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_models/test_finding.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_models/test_report.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_audit_log.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_metrics.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_pii_redaction.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_siem_base.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_siem_config.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_tracing.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_observability/test_webhooks.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_orchestrator/test_approval_evidence.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_orchestrator/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_orchestrator/test_pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_orchestrator/test_triage.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_orchestrator/test_write_path.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_packaging/test_pyproject_contract.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_archive.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_bundle.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_document.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_fleet.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_manifest_extended.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_markdown.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_source.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_parser/test_source_extended.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/test_confidence.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/test_loader.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/test_origin_policy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/test_presets.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_policy/test_schema.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_claim_ledger.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_deployment_profile_lock.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_dual_repo_release_contract.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_governance_scope_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_install_docs_freshness.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_phase2_ship_gates.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_physical_extraction_workflow.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_public_export_gate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_release_manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_reliability_scorecard.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_split_ci_parity.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_supabase_compat_migration.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_quality/test_supabase_sql_contracts.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_reputation/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_reputation/test_models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_reputation/test_policy.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_reputation/test_store.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_reputation/test_verifier.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_retroscan/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_retroscan/test_cli.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_retroscan/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_retroscan/test_models.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_retroscan/test_store.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_rules/test_command.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_rules/test_config.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_rules/test_prompt.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_authorize.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_capabilities.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_circuit_breaker.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_decision_record.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_degraded_modes.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_emit.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_enrich.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_evaluate.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_fs_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_network_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_normalize.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_policy_cache.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_policy_loader.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_policy_v2.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_record.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_runtime_pipeline.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_shell_enforcement.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_token_bucket.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_runtime/test_tool_invocation.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_scorer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_scorer/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_scorer/test_severity.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_scorer/test_weights.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/conftest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_aibom_registration.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_async.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_auto_detect.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_client.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_crewai.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_decorator.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_errors.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_integration_manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_langchain.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sdk/test_pydantic_ai.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_sidecar_app_internal.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_signer/__init__.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_signer/test_canonical.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_signer/test_engine.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_signer/test_keys.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_signer/test_signing_scope.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_version.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_vscode/test_extension_manifest.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_vscode/test_policy_workflow_template.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/tests/unit/test_vscode/test_slt_integration.py +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/LICENSE +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/assets/extension-icon.png +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/assets/hero-shield.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/capabilityDiff.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/debounce.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/instructionWarnings.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/onboardingPanel.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/policyLint.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/prChecklist.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/riskHints.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/simulationPanel.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/skillgateClient.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/src/types.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_capability_diff.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_extension_scaffold.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_instruction_warnings.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_performance.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_policy_linting.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_pr_checklist.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_simulation_panel.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tests/test_skillgate_client.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/tsconfig.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/vscode-extension/vitest.config.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/.env.example +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/.eslintrc.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/.gitignore +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/.pa11yci.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/docs/README.md +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/a11y.spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/docs.spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/marketing.spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/pricing-a11y-hardening.spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/pricing-analytics.spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/pricing-hardening.spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/pricing-hardening.spec.ts-snapshots/pricing-desktop-runtime-chromium-darwin.png +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/e2e/pricing-hardening.spec.ts-snapshots/pricing-mobile-peek-mobile-darwin.png +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/lighthouserc.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/next.config.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/package-lock.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/package.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/playwright.config.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/postcss.config.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/favicon.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/brandname.jpg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/hero-shield.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/logo.jpg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/skillgate-vscode.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/testbed-evidence/antigravity-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/testbed-evidence/awesome-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/testbed-evidence/nanobot-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/testbed-evidence/openclaw-proof-card.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/images/testbed-evidence/testbed-corpus-comparison.svg +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/public/manifest.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/check-api-docs-sync.mjs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/check-doc-links.mjs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/check-doc-snippets.mjs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/check-docs-health.mjs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/generate-api-docs.mjs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/lint-markdown.mjs +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/scripts/run-pa11y.sh +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/analytics.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/api-client.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/auth-contract.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/intelligence.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/pricing-experiment.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/pricing.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/seo.test.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/__tests__/setup.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/about/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/cancel/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/contact/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/api-keys/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/billing/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/intelligence/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/layout.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/observability/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/profile/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/scans/[scanId]/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/scans/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/dashboard/usage/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/agent-gateway/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/api/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/artifacts/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/cli/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/enterprise/compliance/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/enterprise/deployment/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/enterprise/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/enterprise/procurement/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/enterprise/security/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/get-started/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/governance/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/integrations/claude-code/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/integrations/codex-cli/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/integrations/mcp-gateway/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/integrations/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/integrations/python-sdk/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/integrations/vscode-extension/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/intelligence/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/layout.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/legal/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/migrations/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/operations/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/product/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/runtime-control/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/security/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/skillgate/commands/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/skillgate/configuration/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/skillgate/enforcement-boundaries/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/skillgate/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/docs/skillgate/runtime-integrations/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/error.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/features/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/layout.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/legal/dpa-template/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/legal/incident-notice-template/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/legal/security-addendum-template/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/legal/subprocessors/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/login/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/not-found.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/og/route.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/pricing/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/privacy/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/roadmap/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/robots.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/signup/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/sitemap.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/success/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/terms/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/app/verify-email/page.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/auth/LoginForm.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/auth/SignupForm.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/auth/VerifyEmailPanel.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/Card.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/DashboardShell.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/DashboardTopbar.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/DataTable.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/EmptyState.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/InviteLinkCard.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/PageHeader.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/Sidebar.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/StatCard.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/TierGate.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/dashboard/api-keys/CreateKeyForm.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/CodeBlock.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/DocsPage.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/DocsSidebar.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/DocsToc.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/InstallWizard.test.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/InstallWizard.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/docs/IntegrationTabs.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/hero/ThreatTear.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/layout/Footer.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/layout/Header.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/providers/AnalyticsProvider.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/providers/AuthProvider.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/providers/ErrorBoundary.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/providers/QueryProvider.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/CTASection.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/FeaturesSection.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/HeroSection.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/PricingSection.test.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/PricingSection.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/RoadmapSection.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/sections/SocialProofSection.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/ui/Badge.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/ui/Button.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/ui/Input.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/ui/Modal.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/components/ui/Skeleton.tsx +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/generated/api-reference.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/analytics.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/api-client.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/auth.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/docs-links.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/docs-nav.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/hooks/use-auth-contract.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/hooks/use-dashboard.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/install-spec.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/intelligence.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/pricing-experiment.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/pricing.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/roadmap-fallback.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/seo.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/types/dashboard.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/lib/utils.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/middleware.ts +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/src/styles/globals.css +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/tailwind.config.js +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/tsconfig.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/vercel.json +0 -0
- {skillgate-1.2.0 → skillgate-1.2.2}/web-ui/vitest.config.ts +0 -0
|
@@ -5,6 +5,19 @@ All notable changes to SkillGate will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.2] - 2026-03-01
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Added missing runtime dependency `cryptography` to Python package requirements so CLI auth/key modules import correctly after fresh installs.
|
|
13
|
+
- Updated VS Code extension CLI installer to select only supported Python runtimes (`3.10`-`3.13`) and fail with a clear message when unavailable.
|
|
14
|
+
|
|
15
|
+
## [1.2.1] - 2026-03-01
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Switched Python package long description to `README-PYPI.md` to remove internal release-ops content from PyPI project page.
|
|
20
|
+
|
|
8
21
|
## [1.0.0] - 2026-02-15
|
|
9
22
|
|
|
10
23
|
### Added
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skillgate
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: CLI-first CI/CD policy enforcement tool that scans agent skills for security risks
|
|
5
5
|
Author: SkillGate Team
|
|
6
6
|
License: Proprietary
|
|
7
7
|
Project-URL: Homepage, https://skillgate.io
|
|
8
8
|
Project-URL: Documentation, https://skillgate.io/docs
|
|
9
|
-
Project-URL: Repository, https://github.com/skillgate/skillgate
|
|
10
|
-
Project-URL: Changelog, https://github.com/skillgate/skillgate/blob/main/CHANGELOG.md
|
|
11
|
-
Project-URL: Issues, https://github.com/skillgate/skillgate/issues
|
|
9
|
+
Project-URL: Repository, https://github.com/skillgate-io/skillgate
|
|
10
|
+
Project-URL: Changelog, https://github.com/skillgate-io/skillgate/blob/main/CHANGELOG.md
|
|
11
|
+
Project-URL: Issues, https://github.com/skillgate-io/skillgate/issues
|
|
12
12
|
Keywords: security,agent,skill,ci,policy,static-analysis,sarif
|
|
13
13
|
Classifier: Development Status :: 4 - Beta
|
|
14
14
|
Classifier: Environment :: Console
|
|
@@ -29,6 +29,7 @@ Requires-Dist: rich>=13.0.0
|
|
|
29
29
|
Requires-Dist: pydantic>=2.0.0
|
|
30
30
|
Requires-Dist: pyyaml>=6.0
|
|
31
31
|
Requires-Dist: pynacl>=1.5.0
|
|
32
|
+
Requires-Dist: cryptography>=42.0.0
|
|
32
33
|
Requires-Dist: httpx>=0.25.0
|
|
33
34
|
Provides-Extra: watch
|
|
34
35
|
Requires-Dist: watchdog>=4.0.0; extra == "watch"
|
|
@@ -85,26 +86,18 @@ Requires-Dist: setuptools-scm>=8.0; extra == "dev"
|
|
|
85
86
|
Requires-Dist: types-PyYAML>=6.0; extra == "dev"
|
|
86
87
|
Dynamic: license-file
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
<p align="center">
|
|
90
|
-
<img src="web-ui/public/images/hero-shield.svg" alt="SkillGate shield logo" width="88" />
|
|
91
|
-
</p>
|
|
92
|
-
<p align="center"><strong>Secure Every AI Tool Before It Executes.</strong></p>
|
|
93
|
-
<p align="center">Runtime Policy Firewall for OpenClaw, Claude Code, Codex CLI and MCP.</p>
|
|
89
|
+
# SkillGate
|
|
94
90
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<a href="https://pypi.org/project/skillgate/">PyPI</a> •
|
|
99
|
-
<a href="https://www.npmjs.com/package/@skillgate-io/cli">npm</a>
|
|
100
|
-
</p>
|
|
91
|
+
Secure every AI tool before it executes.
|
|
92
|
+
|
|
93
|
+
SkillGate is a runtime policy firewall for OpenClaw, Claude Code, Codex CLI, and MCP workflows.
|
|
101
94
|
|
|
102
95
|
## Why SkillGate
|
|
103
96
|
|
|
104
|
-
- Runtime policy
|
|
105
|
-
- Deterministic allow/deny
|
|
106
|
-
- Signed
|
|
107
|
-
-
|
|
97
|
+
- Runtime policy enforcement for shell, network, filesystem, and tool capabilities.
|
|
98
|
+
- Deterministic allow/deny decisions.
|
|
99
|
+
- Signed evidence for audits and incident response.
|
|
100
|
+
- Local-first workflow with CI/CD enforcement support.
|
|
108
101
|
|
|
109
102
|
## Install
|
|
110
103
|
|
|
@@ -122,22 +115,8 @@ npm install -g @skillgate-io/cli
|
|
|
122
115
|
skillgate --help
|
|
123
116
|
```
|
|
124
117
|
|
|
125
|
-
##
|
|
126
|
-
|
|
127
|
-
Release checklists and publish runbooks live in [docs/Release](docs/Release/README.md):
|
|
128
|
-
|
|
129
|
-
- Python publish: [PUBLISH-PYTHON.md](docs/Release/PUBLISH-PYTHON.md)
|
|
130
|
-
- npm publish: [PUBLISH-NPM.md](docs/Release/PUBLISH-NPM.md)
|
|
131
|
-
- .NET publish: [PUBLISH-DOTNET.md](docs/Release/PUBLISH-DOTNET.md)
|
|
132
|
-
- Checklist template: [RELEASE-CHECKLIST-TEMPLATE.md](docs/Release/RELEASE-CHECKLIST-TEMPLATE.md)
|
|
133
|
-
|
|
134
|
-
## Repo Structure
|
|
135
|
-
|
|
136
|
-
- `skillgate/` - Python CLI, API, worker, runtime engine.
|
|
137
|
-
- `web-ui/` - website and dashboard.
|
|
138
|
-
- `skillgate-docs/` - docs site.
|
|
139
|
-
- `npm-shim/`, `dotnet-shim/`, `go-shim/`, `ruby-shim/`, `rust-shim/`, `java-shim/` - language shims.
|
|
140
|
-
|
|
141
|
-
## SEO Keywords
|
|
118
|
+
## Links
|
|
142
119
|
|
|
143
|
-
|
|
120
|
+
- Website: https://skillgate.io
|
|
121
|
+
- Docs: https://docs.skillgate.io
|
|
122
|
+
- Source: https://github.com/skillgate-io/skillgate
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# SkillGate
|
|
2
|
+
|
|
3
|
+
Secure every AI tool before it executes.
|
|
4
|
+
|
|
5
|
+
SkillGate is a runtime policy firewall for OpenClaw, Claude Code, Codex CLI, and MCP workflows.
|
|
6
|
+
|
|
7
|
+
## Why SkillGate
|
|
8
|
+
|
|
9
|
+
- Runtime policy enforcement for shell, network, filesystem, and tool capabilities.
|
|
10
|
+
- Deterministic allow/deny decisions.
|
|
11
|
+
- Signed evidence for audits and incident response.
|
|
12
|
+
- Local-first workflow with CI/CD enforcement support.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
### Python CLI (canonical runtime)
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pipx install skillgate
|
|
20
|
+
skillgate --help
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### npm entrypoint (delegates to Python runtime)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g @skillgate-io/cli
|
|
27
|
+
skillgate --help
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Links
|
|
31
|
+
|
|
32
|
+
- Website: https://skillgate.io
|
|
33
|
+
- Docs: https://docs.skillgate.io
|
|
34
|
+
- Source: https://github.com/skillgate-io/skillgate
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Reporting a Vulnerability
|
|
4
|
+
|
|
5
|
+
If you discover a security vulnerability in SkillGate, report it privately to:
|
|
6
|
+
|
|
7
|
+
- `security@skillgate.io`
|
|
8
|
+
|
|
9
|
+
Please include:
|
|
10
|
+
|
|
11
|
+
- A clear description of the issue
|
|
12
|
+
- Reproduction steps or proof-of-concept
|
|
13
|
+
- Impact assessment (what can an attacker do)
|
|
14
|
+
- Suggested mitigation (if available)
|
|
15
|
+
|
|
16
|
+
## Response Targets
|
|
17
|
+
|
|
18
|
+
- Acknowledgement: within 2 business days
|
|
19
|
+
- Initial triage: within 5 business days
|
|
20
|
+
- Status update cadence: at least every 7 business days until resolution
|
|
21
|
+
|
|
22
|
+
## Scope
|
|
23
|
+
|
|
24
|
+
This policy covers:
|
|
25
|
+
|
|
26
|
+
- `skillgate` Python CLI/runtime/API
|
|
27
|
+
- `web-ui`
|
|
28
|
+
- `skillgate-docs`
|
|
29
|
+
- Official language shims in this repository
|
|
30
|
+
|
|
31
|
+
## Coordinated Disclosure
|
|
32
|
+
|
|
33
|
+
Please do not publicly disclose vulnerabilities until:
|
|
34
|
+
|
|
35
|
+
- we confirm a fix is available, and
|
|
36
|
+
- affected users have had reasonable time to update.
|
|
37
|
+
|
|
38
|
+
When appropriate, we will publish a security advisory with remediation guidance.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Enforce one subscription row per user.
|
|
2
|
+
|
|
3
|
+
Revision ID: 20260228_0007
|
|
4
|
+
Revises: 20260222_0006
|
|
5
|
+
Create Date: 2026-02-28 00:00:00
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import sqlalchemy as sa
|
|
11
|
+
|
|
12
|
+
from alembic import op
|
|
13
|
+
|
|
14
|
+
revision = "20260228_0007"
|
|
15
|
+
down_revision = "20260222_0006"
|
|
16
|
+
branch_labels = None
|
|
17
|
+
depends_on = None
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def upgrade() -> None:
|
|
21
|
+
bind = op.get_bind()
|
|
22
|
+
if bind.dialect.name == "postgresql":
|
|
23
|
+
# Keep the most recently updated row per user_id so unique index creation
|
|
24
|
+
# cannot fail on existing duplicate subscriptions.
|
|
25
|
+
op.execute(
|
|
26
|
+
sa.text(
|
|
27
|
+
"""
|
|
28
|
+
DELETE FROM subscriptions s
|
|
29
|
+
USING (
|
|
30
|
+
SELECT ctid
|
|
31
|
+
FROM (
|
|
32
|
+
SELECT
|
|
33
|
+
ctid,
|
|
34
|
+
row_number() OVER (
|
|
35
|
+
PARTITION BY user_id
|
|
36
|
+
ORDER BY
|
|
37
|
+
updated_at DESC NULLS LAST,
|
|
38
|
+
created_at DESC NULLS LAST,
|
|
39
|
+
id DESC
|
|
40
|
+
) AS rn
|
|
41
|
+
FROM subscriptions
|
|
42
|
+
) ranked
|
|
43
|
+
WHERE ranked.rn > 1
|
|
44
|
+
) dupes
|
|
45
|
+
WHERE s.ctid = dupes.ctid
|
|
46
|
+
"""
|
|
47
|
+
)
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
op.execute(sa.text("DROP INDEX IF EXISTS ix_subscriptions_user_id"))
|
|
51
|
+
op.execute(
|
|
52
|
+
sa.text(
|
|
53
|
+
"CREATE UNIQUE INDEX IF NOT EXISTS idx_subscriptions_user_id_unique "
|
|
54
|
+
"ON subscriptions (user_id)"
|
|
55
|
+
)
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def downgrade() -> None:
|
|
60
|
+
op.execute(sa.text("DROP INDEX IF EXISTS idx_subscriptions_user_id_unique"))
|
|
61
|
+
op.create_index("ix_subscriptions_user_id", "subscriptions", ["user_id"], unique=False)
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
.NET client for SkillGate sidecar runtime policy decisions.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
<img src="../web-ui/public/images/hero-shield.svg" alt="SkillGate shield" width="64" />
|
|
7
|
-
</p>
|
|
5
|
+

|
|
8
6
|
|
|
9
7
|
## Projects
|
|
10
8
|
|
|
@@ -28,4 +26,4 @@ dotnet nuget push SkillGate.Client/bin/Release/SkillGate.Client.VERSION.nupkg \
|
|
|
28
26
|
--source https://api.nuget.org/v3/index.json
|
|
29
27
|
```
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
Publishing guide: <https://docs.skillgate.io/installation>
|
|
@@ -6,10 +6,20 @@
|
|
|
6
6
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
7
7
|
<LangVersion>12</LangVersion>
|
|
8
8
|
<PackageId>SkillGate.Client</PackageId>
|
|
9
|
-
<Version>
|
|
9
|
+
<Version>1.2.1</Version>
|
|
10
|
+
<Authors>SkillGate</Authors>
|
|
10
11
|
<Description>C# HTTP client for the SkillGate runtime sidecar</Description>
|
|
11
12
|
<PackageTags>skillgate;security;ai;agent;governance</PackageTags>
|
|
13
|
+
<PackageReadmeFile>README.md</PackageReadmeFile>
|
|
14
|
+
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
|
15
|
+
<RepositoryUrl>https://github.com/skillgate-io/skillgate</RepositoryUrl>
|
|
16
|
+
<RepositoryType>git</RepositoryType>
|
|
12
17
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
13
18
|
</PropertyGroup>
|
|
14
19
|
|
|
20
|
+
<ItemGroup>
|
|
21
|
+
<None Include="README.md" Pack="true" PackagePath="\" />
|
|
22
|
+
<None Include="../../LICENSE" Pack="true" PackagePath="\" Link="LICENSE" />
|
|
23
|
+
</ItemGroup>
|
|
24
|
+
|
|
15
25
|
</Project>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Node entrypoint for SkillGate CLI.
|
|
4
4
|
|
|
5
5
|
<p>
|
|
6
|
-
<img src="
|
|
6
|
+
<img src="https://raw.githubusercontent.com/skillgate-io/skillgate/main/web-ui/public/images/hero-shield.svg" alt="SkillGate shield" width="64" />
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
## What this package is
|
|
@@ -33,23 +33,14 @@ Install Python runtime first:
|
|
|
33
33
|
pipx install skillgate
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
Supported Python versions for `skillgate`: `3.10`-`3.13`.
|
|
37
|
+
|
|
36
38
|
Optional explicit Python path:
|
|
37
39
|
|
|
38
40
|
```bash
|
|
39
41
|
SKILLGATE_PYTHON=/path/to/python skillgate --help
|
|
40
42
|
```
|
|
41
43
|
|
|
42
|
-
## Publish (maintainers)
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
cd npm-shim
|
|
46
|
-
NPM_CONFIG_CACHE=../.npm-cache npm pack
|
|
47
|
-
NPM_CONFIG_CACHE=../.npm-cache npm publish --dry-run
|
|
48
|
-
NPM_CONFIG_CACHE=../.npm-cache npm publish --access public
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Runbook: [`docs/Release/PUBLISH-NPM.md`](../docs/Release/PUBLISH-NPM.md)
|
|
52
|
-
|
|
53
44
|
## SEO Keywords
|
|
54
45
|
|
|
55
46
|
`npm ai security cli`, `codex cli security`, `claude code governance`, `runtime policy firewall`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skillgate-io/cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Optional npm/npx wrapper for SkillGate CLI (Python core runtime)",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|
|
7
7
|
"bin": {
|
|
8
8
|
"skillgate": "bin/skillgate.js"
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
name = "skillgate"
|
|
7
7
|
dynamic = ["version"]
|
|
8
8
|
description = "CLI-first CI/CD policy enforcement tool that scans agent skills for security risks"
|
|
9
|
-
readme = "README.md"
|
|
9
|
+
readme = "README-PYPI.md"
|
|
10
10
|
license = {text = "Proprietary"}
|
|
11
11
|
requires-python = ">=3.10,<3.14"
|
|
12
12
|
authors = [{name = "SkillGate Team"}]
|
|
@@ -30,15 +30,16 @@ dependencies = [
|
|
|
30
30
|
"pydantic>=2.0.0",
|
|
31
31
|
"pyyaml>=6.0",
|
|
32
32
|
"pynacl>=1.5.0",
|
|
33
|
+
"cryptography>=42.0.0",
|
|
33
34
|
"httpx>=0.25.0",
|
|
34
35
|
]
|
|
35
36
|
|
|
36
37
|
[project.urls]
|
|
37
38
|
Homepage = "https://skillgate.io"
|
|
38
39
|
Documentation = "https://skillgate.io/docs"
|
|
39
|
-
Repository = "https://github.com/skillgate/skillgate"
|
|
40
|
-
Changelog = "https://github.com/skillgate/skillgate/blob/main/CHANGELOG.md"
|
|
41
|
-
Issues = "https://github.com/skillgate/skillgate/issues"
|
|
40
|
+
Repository = "https://github.com/skillgate-io/skillgate"
|
|
41
|
+
Changelog = "https://github.com/skillgate-io/skillgate/blob/main/CHANGELOG.md"
|
|
42
|
+
Issues = "https://github.com/skillgate-io/skillgate/issues"
|
|
42
43
|
|
|
43
44
|
[project.optional-dependencies]
|
|
44
45
|
watch = [
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: skillgate
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: CLI-first CI/CD policy enforcement tool that scans agent skills for security risks
|
|
5
5
|
Author: SkillGate Team
|
|
6
6
|
License: Proprietary
|
|
7
7
|
Project-URL: Homepage, https://skillgate.io
|
|
8
8
|
Project-URL: Documentation, https://skillgate.io/docs
|
|
9
|
-
Project-URL: Repository, https://github.com/skillgate/skillgate
|
|
10
|
-
Project-URL: Changelog, https://github.com/skillgate/skillgate/blob/main/CHANGELOG.md
|
|
11
|
-
Project-URL: Issues, https://github.com/skillgate/skillgate/issues
|
|
9
|
+
Project-URL: Repository, https://github.com/skillgate-io/skillgate
|
|
10
|
+
Project-URL: Changelog, https://github.com/skillgate-io/skillgate/blob/main/CHANGELOG.md
|
|
11
|
+
Project-URL: Issues, https://github.com/skillgate-io/skillgate/issues
|
|
12
12
|
Keywords: security,agent,skill,ci,policy,static-analysis,sarif
|
|
13
13
|
Classifier: Development Status :: 4 - Beta
|
|
14
14
|
Classifier: Environment :: Console
|
|
@@ -29,6 +29,7 @@ Requires-Dist: rich>=13.0.0
|
|
|
29
29
|
Requires-Dist: pydantic>=2.0.0
|
|
30
30
|
Requires-Dist: pyyaml>=6.0
|
|
31
31
|
Requires-Dist: pynacl>=1.5.0
|
|
32
|
+
Requires-Dist: cryptography>=42.0.0
|
|
32
33
|
Requires-Dist: httpx>=0.25.0
|
|
33
34
|
Provides-Extra: watch
|
|
34
35
|
Requires-Dist: watchdog>=4.0.0; extra == "watch"
|
|
@@ -85,26 +86,18 @@ Requires-Dist: setuptools-scm>=8.0; extra == "dev"
|
|
|
85
86
|
Requires-Dist: types-PyYAML>=6.0; extra == "dev"
|
|
86
87
|
Dynamic: license-file
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
<p align="center">
|
|
90
|
-
<img src="web-ui/public/images/hero-shield.svg" alt="SkillGate shield logo" width="88" />
|
|
91
|
-
</p>
|
|
92
|
-
<p align="center"><strong>Secure Every AI Tool Before It Executes.</strong></p>
|
|
93
|
-
<p align="center">Runtime Policy Firewall for OpenClaw, Claude Code, Codex CLI and MCP.</p>
|
|
89
|
+
# SkillGate
|
|
94
90
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<a href="https://pypi.org/project/skillgate/">PyPI</a> •
|
|
99
|
-
<a href="https://www.npmjs.com/package/@skillgate-io/cli">npm</a>
|
|
100
|
-
</p>
|
|
91
|
+
Secure every AI tool before it executes.
|
|
92
|
+
|
|
93
|
+
SkillGate is a runtime policy firewall for OpenClaw, Claude Code, Codex CLI, and MCP workflows.
|
|
101
94
|
|
|
102
95
|
## Why SkillGate
|
|
103
96
|
|
|
104
|
-
- Runtime policy
|
|
105
|
-
- Deterministic allow/deny
|
|
106
|
-
- Signed
|
|
107
|
-
-
|
|
97
|
+
- Runtime policy enforcement for shell, network, filesystem, and tool capabilities.
|
|
98
|
+
- Deterministic allow/deny decisions.
|
|
99
|
+
- Signed evidence for audits and incident response.
|
|
100
|
+
- Local-first workflow with CI/CD enforcement support.
|
|
108
101
|
|
|
109
102
|
## Install
|
|
110
103
|
|
|
@@ -122,22 +115,8 @@ npm install -g @skillgate-io/cli
|
|
|
122
115
|
skillgate --help
|
|
123
116
|
```
|
|
124
117
|
|
|
125
|
-
##
|
|
126
|
-
|
|
127
|
-
Release checklists and publish runbooks live in [docs/Release](docs/Release/README.md):
|
|
128
|
-
|
|
129
|
-
- Python publish: [PUBLISH-PYTHON.md](docs/Release/PUBLISH-PYTHON.md)
|
|
130
|
-
- npm publish: [PUBLISH-NPM.md](docs/Release/PUBLISH-NPM.md)
|
|
131
|
-
- .NET publish: [PUBLISH-DOTNET.md](docs/Release/PUBLISH-DOTNET.md)
|
|
132
|
-
- Checklist template: [RELEASE-CHECKLIST-TEMPLATE.md](docs/Release/RELEASE-CHECKLIST-TEMPLATE.md)
|
|
133
|
-
|
|
134
|
-
## Repo Structure
|
|
135
|
-
|
|
136
|
-
- `skillgate/` - Python CLI, API, worker, runtime engine.
|
|
137
|
-
- `web-ui/` - website and dashboard.
|
|
138
|
-
- `skillgate-docs/` - docs site.
|
|
139
|
-
- `npm-shim/`, `dotnet-shim/`, `go-shim/`, `ruby-shim/`, `rust-shim/`, `java-shim/` - language shims.
|
|
140
|
-
|
|
141
|
-
## SEO Keywords
|
|
118
|
+
## Links
|
|
142
119
|
|
|
143
|
-
|
|
120
|
+
- Website: https://skillgate.io
|
|
121
|
+
- Docs: https://docs.skillgate.io
|
|
122
|
+
- Source: https://github.com/skillgate-io/skillgate
|
|
@@ -9,7 +9,9 @@ Dockerfile
|
|
|
9
9
|
Dockerfile.api
|
|
10
10
|
Dockerfile.worker
|
|
11
11
|
LICENSE
|
|
12
|
+
README-PYPI.md
|
|
12
13
|
README.md
|
|
14
|
+
SECURITY.md
|
|
13
15
|
alembic.ini
|
|
14
16
|
deploy.sh
|
|
15
17
|
docker-compose.yml
|
|
@@ -28,6 +30,7 @@ alembic/versions/20260216_0002_auth_and_stripe_resilience.py
|
|
|
28
30
|
alembic/versions/20260218_0003_add_billing_interval.py
|
|
29
31
|
alembic/versions/20260218_0004_email_verification_tokens.py
|
|
30
32
|
alembic/versions/20260222_0006_supabase_ownership_split.py
|
|
33
|
+
alembic/versions/20260228_0007_unique_subscription_per_user.py
|
|
31
34
|
docs/API-MIGRATIONS.md
|
|
32
35
|
docs/ARCHITECTURE.md
|
|
33
36
|
docs/ARTIFACT-COVERAGE.md
|
|
@@ -1151,6 +1154,7 @@ tests/unit/test_signer/test_signing_scope.py
|
|
|
1151
1154
|
tests/unit/test_vscode/test_extension_manifest.py
|
|
1152
1155
|
tests/unit/test_vscode/test_policy_workflow_template.py
|
|
1153
1156
|
tests/unit/test_vscode/test_slt_integration.py
|
|
1157
|
+
vscode-extension/.vscodeignore
|
|
1154
1158
|
vscode-extension/LICENSE
|
|
1155
1159
|
vscode-extension/README.md
|
|
1156
1160
|
vscode-extension/package-lock.json
|
|
@@ -1159,6 +1163,7 @@ vscode-extension/tsconfig.json
|
|
|
1159
1163
|
vscode-extension/vitest.config.ts
|
|
1160
1164
|
vscode-extension/assets/extension-icon.png
|
|
1161
1165
|
vscode-extension/assets/hero-shield.svg
|
|
1166
|
+
vscode-extension/assets/signed-report-verification.gif
|
|
1162
1167
|
vscode-extension/src/capabilityDiff.ts
|
|
1163
1168
|
vscode-extension/src/debounce.ts
|
|
1164
1169
|
vscode-extension/src/extension.ts
|
|
@@ -1192,6 +1197,7 @@ web-ui/tailwind.config.js
|
|
|
1192
1197
|
web-ui/tsconfig.json
|
|
1193
1198
|
web-ui/vercel.json
|
|
1194
1199
|
web-ui/vitest.config.ts
|
|
1200
|
+
web-ui/docs/DEMO-EVIDENCE-VIDEO.md
|
|
1195
1201
|
web-ui/docs/README.md
|
|
1196
1202
|
web-ui/e2e/a11y.spec.ts
|
|
1197
1203
|
web-ui/e2e/docs.spec.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# SkillGate VS Code Extension
|
|
2
2
|
|
|
3
|
-
[](https://github.com/skillgate-io/skillgate
|
|
4
|
-
[](https://github.com/skillgate-io/skillgate
|
|
3
|
+
[](https://github.com/skillgate-io/skillgate)
|
|
4
|
+
[](https://github.com/skillgate-io/skillgate)
|
|
5
5
|
[](./LICENSE)
|
|
6
6
|
[](https://docs.skillgate.io)
|
|
7
7
|
|
|
8
8
|
Protect AI-assisted coding workflows directly in VS Code.
|
|
9
9
|
|
|
10
|
-

|
|
11
11
|
|
|
12
12
|
SkillGate helps you catch risky instructions and policy drift while you edit, before they become runtime incidents or CI failures.
|
|
13
13
|
|
|
@@ -40,8 +40,8 @@ code --install-extension skillgate-io.skillgate
|
|
|
40
40
|
|
|
41
41
|
## Resources
|
|
42
42
|
|
|
43
|
-
- Repository: [skillgate
|
|
44
|
-
- Issues: [GitHub Issues](https://github.com/skillgate-io/skillgate
|
|
43
|
+
- Repository: [skillgate](https://github.com/skillgate-io/skillgate)
|
|
44
|
+
- Issues: [GitHub Issues](https://github.com/skillgate-io/skillgate/issues)
|
|
45
45
|
- License: [MIT](./LICENSE)
|
|
46
46
|
- Website: [https://skillgate.io](https://skillgate.io)
|
|
47
47
|
- Marketplace: [SkillGate Extension](https://marketplace.visualstudio.com/items?itemName=skillgate-io.skillgate)
|
|
Binary file
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillgate-vscode-extension",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "skillgate-vscode-extension",
|
|
9
|
-
"version": "0.12.
|
|
9
|
+
"version": "0.12.1",
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@types/node": "^20.11.30",
|
|
12
12
|
"@types/vscode": "^1.85.0",
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
"displayName": "SkillGate",
|
|
4
4
|
"publisher": "skillgate-io",
|
|
5
5
|
"description": "Protect Claude Code and Codex workflows in VS Code with real-time safety checks and clear policy feedback.",
|
|
6
|
-
"version": "0.12.
|
|
7
|
-
"icon": "assets/extension-icon.png",
|
|
6
|
+
"version": "0.12.1",
|
|
7
|
+
"icon": "assets/extension-icon-square-512.png",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"homepage": "https://skillgate.io",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "https://github.com/skillgate-io/skillgate
|
|
12
|
+
"url": "https://github.com/skillgate-io/skillgate.git"
|
|
13
13
|
},
|
|
14
14
|
"bugs": {
|
|
15
|
-
"url": "https://github.com/skillgate-io/skillgate
|
|
15
|
+
"url": "https://github.com/skillgate-io/skillgate/issues"
|
|
16
16
|
},
|
|
17
17
|
"keywords": [
|
|
18
18
|
"skillgate",
|
|
@@ -223,10 +223,12 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
|
|
|
223
223
|
const startCliInstall = (): void => {
|
|
224
224
|
const terminal = vscode.window.createTerminal('SkillGate Install CLI');
|
|
225
225
|
terminal.show();
|
|
226
|
-
terminal.sendText(
|
|
226
|
+
terminal.sendText(
|
|
227
|
+
'for py in python3.13 python3.12 python3.11 python3.10; do if command -v "$py" >/dev/null 2>&1; then pipx install --python "$py" skillgate && exit 0; fi; done; echo "SkillGate CLI requires Python 3.10-3.13. Install one of these versions and retry."; exit 1',
|
|
228
|
+
);
|
|
227
229
|
void vscode.window
|
|
228
230
|
.showInformationMessage(
|
|
229
|
-
'Running
|
|
231
|
+
'Running CLI install in terminal (tries Python 3.13/3.12/3.11/3.10). If install fails, open the install guide.',
|
|
230
232
|
'Open Install Guide',
|
|
231
233
|
)
|
|
232
234
|
.then((action) => {
|