@ngocsangairvds/vsaf 4.0.6 → 4.0.7
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.
- package/package.json +1 -1
- package/packages/cli/dist/commands/install.js +1 -1
- package/packages/cli/dist/commands/install.js.map +1 -1
- package/skills/vds-skill/install-deps.mjs +20 -4
- package/skills/vds-skill/vds-scripts/.claude/phase7-CLOSURE.md +100 -0
- package/skills/vds-skill/vds-scripts/.dockerignore +62 -0
- package/skills/vds-skill/vds-scripts/.github/ISSUE_TEMPLATE/cli-change.md +92 -0
- package/skills/vds-skill/vds-scripts/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +48 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/chaos-smoke.yml +266 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/confluence-sync.yml +44 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/docs-confluence-evidence.yml +170 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/docs-quality.yml +59 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/lint-and-test.yml +90 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/scheduler-load-smoke.yml +104 -0
- package/skills/vds-skill/vds-scripts/.github/workflows/telegram-bridge-ci.yml +131 -0
- package/skills/vds-skill/vds-scripts/.graphifyignore +29 -0
- package/skills/vds-skill/vds-scripts/.importlinter +86 -0
- package/skills/vds-skill/vds-scripts/.mcp.json +11 -0
- package/skills/vds-skill/vds-scripts/.pre-commit-config.yaml +62 -0
- package/skills/vds-skill/vds-scripts/.ruffignore +3 -0
- package/skills/vds-skill/vds-scripts/.secrets.baseline +133 -0
- package/skills/vds-skill/vds-scripts/AGENTS.md +250 -0
- package/skills/vds-skill/vds-scripts/AGENTS.vi.md +92 -0
- package/skills/vds-skill/vds-scripts/ECOSYSTEM-CHANGELOG.md +52 -0
- package/skills/vds-skill/vds-scripts/ECOSYSTEM-DOCS.md +602 -0
- package/skills/vds-skill/vds-scripts/ECOSYSTEM_ALIGNMENT.md +133 -0
- package/skills/vds-skill/vds-scripts/Makefile +119 -0
- package/skills/vds-skill/vds-scripts/README.md +103 -0
- package/skills/vds-skill/vds-scripts/bitbucket_manifest_mapping.toml +34 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/ARCHITECTURE_ANALYSIS.md +258 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/BITBUCKET_API_PRACTICES.md +393 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/EVALUATION_REPORT.md +61 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/FEATURES.md +908 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/README.md +817 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/pyproject.toml +49 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/__init__.py +50 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/async_client.py +641 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/cli.py +2271 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/client.py +2693 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/config.py +186 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/errors.py +34 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/factory.py +185 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/parsers.py +113 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/protocols.py +244 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/repo_ops.py +325 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/__init__.py +8 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/conftest.py +65 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_advanced_search.py +155 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_async_client.py +505 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_branch_permissions.py +172 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli.py +113 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli_archive.py +122 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli_clone.py +131 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client.py +207 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_archive.py +73 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_branch_conditions.py +101 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_code_advanced.py +180 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_code_file.py +33 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_deployment_environments.py +193 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_issues.py +163 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_pipelines_advanced.py +171 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_pr_blockers.py +118 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_repository_variables.py +155 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code.py +98 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code_advanced.py +279 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code_insights.py +334 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_conditions.py +149 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_config.py +297 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_deployment_env.py +352 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_errors.py +67 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_factory.py +352 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_fork_operations.py +203 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_issue_cli.py +262 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_pipeline_advanced.py +265 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_pr_blocker.py +206 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_protocols.py +336 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_archive.py +169 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_clone.py +115 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_parsing.py +149 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_settings.py +336 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_variables.py +266 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_webhooks.py +188 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_workspace.py +234 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/unit/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/unit/test_parsers.py +254 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/README.md +29 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/pyproject.toml +63 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/__init__.py +17 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/cli.py +187 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/validator.py +121 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/test_cli.py +62 -0
- package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/test_validator.py +33 -0
- package/skills/vds-skill/vds-scripts/code/code_evidence_pack.json +435 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/Dockerfile +19 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/README.md +479 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/SYNC_SCRIPTS.md +127 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/SYNC_STANDARDIZATION.md +108 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/pyproject.toml +50 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/__init__.py +56 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/async_client.py +100 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/cli.py +3160 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/config.py +215 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content.py +368 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content_v2.py +144 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/crawl_tree.py +1833 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/errors.py +44 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/eventing.py +111 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/http.py +1850 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/orchestration.py +166 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/protocols.py +61 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/reporting.py +78 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree.py +122 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree_copier.py +431 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_pdfs_from_markdown.py +203 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_pdfs_to_confluence.py +299 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_png_attachments.py +299 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/conftest.py +46 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_advanced_content.py +252 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_advanced_search.py +193 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_async_client.py +104 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_cache_management.py +246 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_cli.py +716 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_config.py +130 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content.py +192 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content_flags.py +27 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content_labels.py +94 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_crawl_tree.py +2252 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_degraded_write_safety.py +176 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_draft_management.py +225 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_errors.py +75 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing.py +73 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_chaos.py +37 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_rate_limit.py +44 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_timeout.py +49 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_export.py +231 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_history.py +217 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_http.py +375 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_orchestration.py +93 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_reporting.py +24 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_search_cql.py +36 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_space_management.py +236 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_space_permissions.py +384 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_tree_copier.py +644 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_tree_copier_remap.py +289 -0
- package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_user_group_management.py +387 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/README.md +663 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/ci_validate.sh +16 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-component.png +0 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-component.puml +23 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-sequence.png +0 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-sequence.puml +21 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-usecase.png +0 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-usecase.puml +14 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/examples/github-actions-validate.yml +39 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/generate_all_diagrams.py +827 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/generate_insurance_c4_diagrams.py +261 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/generate_insurance_c4_quick.py +486 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/pyproject.toml +28 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/render_png.py +59 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/src/vds_diagram_generator/__init__.py +3 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/src/vds_diagram_generator/cli.py +50 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/test_c4_hierarchical.py +142 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/test_c4_quick.py +131 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_analyzer_completeness.py +260 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_c4_syntax_correctness.py +138 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_component_coverage.py +182 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_mermaid_output.py +80 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_png_generation.py +112 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_scenario_templates.py +15 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_sequence_accuracy.py +93 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_structurizr_export.py +177 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_style_consistency.py +174 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_usecase_generator.py +201 -0
- package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_usecase_integration.py +124 -0
- package/skills/vds-skill/vds-scripts/docker/.dockerignore +38 -0
- package/skills/vds-skill/vds-scripts/docker/ADR.md +392 -0
- package/skills/vds-skill/vds-scripts/docker/Dockerfile +68 -0
- package/skills/vds-skill/vds-scripts/docker/MIGRATION.md +453 -0
- package/skills/vds-skill/vds-scripts/docker/README.md +347 -0
- package/skills/vds-skill/vds-scripts/docker/ROLLBACK.md +596 -0
- package/skills/vds-skill/vds-scripts/docker/compose.phase2-verification.yml +31 -0
- package/skills/vds-skill/vds-scripts/docker/docker-compose.cli.yml +206 -0
- package/skills/vds-skill/vds-scripts/docker/docker-compose.infra.yml +276 -0
- package/skills/vds-skill/vds-scripts/docker/docker-compose.services.yml +425 -0
- package/skills/vds-skill/vds-scripts/docker/infrastructure/init-schemas.sql +177 -0
- package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/pgbouncer.ini +75 -0
- package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/userlist.txt +50 -0
- package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/userlist.txt.template +36 -0
- package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/.gitkeep +0 -0
- package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/PREFLIGHT.md +132 -0
- package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/README.md +84 -0
- package/skills/vds-skill/vds-scripts/docs/.confluence.yaml +157 -0
- package/skills/vds-skill/vds-scripts/docs/.freshness.yaml +54 -0
- package/skills/vds-skill/vds-scripts/docs/README.md +235 -0
- package/skills/vds-skill/vds-scripts/docs/agents/README.md +33 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/data-flow.md +132 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/development-roadmap.md +49 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/features-overview.md +62 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/index.md +36 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/runtime-verification-and-gap-reporting.md +127 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/system-architecture.md +139 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/whats-new.md +75 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/who-ecosystem-introduction.md +65 -0
- package/skills/vds-skill/vds-scripts/docs/agents/explanation/who-ecosystem-model.md +41 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/02-using-vds-ai-memory.md +98 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/03-memory-cross-agent.md +241 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/04-using-progress-reports.md +240 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/08-semantic-search.md +46 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/apply-phase3-migration.md +148 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/choose-the-right-command-or-skill.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/contribute-new-orchestrator.md +149 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/decision-tree.md +63 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/first-audit-run.md +83 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/index.md +49 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/install-and-bootstrap-who-scripts-and-skills.md +314 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/analytics-pipeline-workflow.md +165 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/code-quality-gate-workflow.md +138 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/confluence-bitbucket-sync-workflow.md +130 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/document-delivery-workflow.md +142 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/memory-progress-workflow.md +140 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/research-spec-audit-workflow.md +135 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-all-project-preparation.md +211 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-bounded-parallel-analysis.md +123 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-confluence-upload-recovery.md +204 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase132-department-preparation.md +144 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/run-ecosystem-daily-report.md +213 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/tips-and-tricks.md +138 -0
- package/skills/vds-skill/vds-scripts/docs/agents/how-to/troubleshooting-guide.md +221 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/agent-operational-contract.md +162 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/alignment-phase179-report.md +144 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/audit-triage-playbook.md +256 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/backup-restore.md +132 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/bitbucket-orchestrator.md +56 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/brd-orchestrator.md +52 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/capability-coverage-review.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/ci-workflows.md +98 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/circular-dependency-orchestrator.md +55 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-commands.md +583 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-development-standards.md +41 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-help-matrix.md +84 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/common-errors.md +126 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/configuration-reference.md +128 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-orchestrator.md +56 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-sync-target.md +111 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-sync.md +46 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/db-query-orchestrator.md +93 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/diagrams-orchestrator.md +52 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/ecosystem-daily-report.md +229 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/elastic-orchestrator.md +57 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/env-git-helper.md +216 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/evolution-orchestrator.md +113 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/excel-orchestrator.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/git-orchestrator.md +62 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/google-sheets-orchestrator.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/grafana-orchestrator.md +52 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/hexagonal-orchestrator.md +64 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/index.md +36 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/infrastructure-v2.15.md +67 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/intellij-orchestrator.md +50 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/jira-orchestrator.md +60 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/links-orchestrator.md +57 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/lint-cli.md +99 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/lsp-orchestrator.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/markdown-orchestrator.md +53 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/mcp-orchestrator.md +88 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/memory-orchestrator.md +53 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/metabase-orchestrator.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/migration-playbook.md +71 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/multi-agent-orchestrator.md +52 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/openapi-orchestrator.md +57 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-architecture.md +194 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-comparison-matrix.md +79 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-index.md +73 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/pdf-orchestrator.md +57 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/portable-paths-and-config.md +0 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/portable-paths-validation-matrix.md +129 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/progress-orchestrator.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/progress-report-cli.md +215 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/public-interface-orchestrator.md +73 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/research-orchestrator.md +53 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/schema-orchestrator.md +57 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/search-tools.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/skills-commands.md +256 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/skills-reference.md +32 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/sonarqube-orchestrator.md +62 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/spec-orchestrator.md +56 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/structure-orchestrator.md +69 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/system-requirements.md +76 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/tasks-orchestrator.md +53 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/validation-and-sync-notes.md +54 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/vds-ai-memory-api.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/vds-cli-reference.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/who-capability-inventory.md +96 -0
- package/skills/vds-skill/vds-scripts/docs/agents/reference/who-capability-routing-matrix.md +14 -0
- package/skills/vds-skill/vds-scripts/docs/agents/tutorials/feature-progression-guide.md +112 -0
- package/skills/vds-skill/vds-scripts/docs/agents/tutorials/index.md +36 -0
- package/skills/vds-skill/vds-scripts/docs/agents/tutorials/quick-start.md +50 -0
- package/skills/vds-skill/vds-scripts/docs/agents/tutorials/who-skills-and-scripts-onboarding.md +47 -0
- package/skills/vds-skill/vds-scripts/docs/agents/tutorials/zero-to-productive-developer.md +339 -0
- package/skills/vds-skill/vds-scripts/docs/confluence/IMPLEMENTATION-SUMMARY.md +78 -0
- package/skills/vds-skill/vds-scripts/docs/confluence/SYNC-GUIDE.md +47 -0
- package/skills/vds-skill/vds-scripts/docs/deployment/offline-docker-image-load.md +59 -0
- package/skills/vds-skill/vds-scripts/docs/evolution-auto-run-rollout.md +325 -0
- package/skills/vds-skill/vds-scripts/docs/evolution-loop-deep-integration.md +496 -0
- package/skills/vds-skill/vds-scripts/docs/evolution-loop-integration-guide.md +359 -0
- package/skills/vds-skill/vds-scripts/docs/openspace-schema-snapshot.md +73 -0
- package/skills/vds-skill/vds-scripts/docs/operations/sla-mttr-policy.md +44 -0
- package/skills/vds-skill/vds-scripts/docs/p0-closure-evidence/SUMMARY.md +58 -0
- package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/.gitkeep +0 -0
- package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/smoke-20260427T024137Z-b95b586b.json +15 -0
- package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/alembic-and-runtime-advisory-locks.md +45 -0
- package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/dbos-listen-notify.md +54 -0
- package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/pgbouncer-search-path-empirical.md +110 -0
- package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/pgvector-set-local-audit.md +51 -0
- package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/topology-decision-session-mode.md +57 -0
- package/skills/vds-skill/vds-scripts/docs/phases/CHANGELOG.md +103 -0
- package/skills/vds-skill/vds-scripts/docs/phases/PHASE_125_COMPLETION_AND_MERGE.md +212 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125/IMPLEMENTATION_REPORT.md +227 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125/TSK-125.10-11-implementation-summary.md +196 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125/profile-patch-ollama-local-anthropic.md +122 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125_completion_summary.md +369 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125_llm_analysis_skill.md +164 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125_merge_complete.md +147 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase125_skill_runtime_closure_20260321.md +91 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/closure-handoff-summary-2026-03-23.md +290 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/remaining-risk-register-2026-03-25.md +143 -0
- package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/verification-evidence-2026-03-23.md +135 -0
- package/skills/vds-skill/vds-scripts/docs/v0-sunset-known-issues.md +88 -0
- package/skills/vds-skill/vds-scripts/docs/vi/TRANSLATION-BACKLOG.md +72 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/README.md +41 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/features-overview.md +29 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/index.md +14 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/runtime-verification-and-gap-reporting.md +129 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/whats-new.md +37 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/who-ecosystem-introduction.md +21 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/who-ecosystem-model.md +36 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/02-using-vds-ai-memory.md +100 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/03-memory-cross-agent.md +243 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/04-using-progress-reports.md +242 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/08-semantic-search.md +16 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/choose-the-right-command-or-skill.md +36 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/decision-tree.md +77 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/first-audit-run.md +85 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/index.md +21 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/install-and-bootstrap-who-scripts-and-skills.md +156 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/analytics-pipeline-workflow.md +174 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/code-quality-gate-workflow.md +147 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/confluence-bitbucket-sync-workflow.md +139 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/document-delivery-workflow.md +151 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/memory-progress-workflow.md +149 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/research-spec-audit-workflow.md +144 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-all-project-preparation.md +213 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-bounded-parallel-analysis.md +125 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-confluence-upload-recovery.md +206 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase132-department-preparation.md +146 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/tips-and-tricks.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/troubleshooting-guide.md +36 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/agent-operational-contract.md +98 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/audit-triage-playbook.md +258 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/bitbucket-orchestrator.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/brd-orchestrator.md +29 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/capability-coverage-review.md +46 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/circular-dependency-orchestrator.md +29 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-commands.md +409 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-development-standards.md +19 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-help-matrix.md +71 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/common-errors.md +133 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/configuration-reference.md +25 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/confluence-orchestrator.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/db-query-orchestrator.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/diagrams-orchestrator.md +31 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/elastic-orchestrator.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/evolution-orchestrator.md +31 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/excel-orchestrator.md +60 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/git-orchestrator.md +31 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/google-sheets-orchestrator.md +60 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/grafana-orchestrator.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/hexagonal-orchestrator.md +73 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/index.md +25 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/intellij-orchestrator.md +59 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/jira-orchestrator.md +32 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/links-orchestrator.md +66 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/lsp-orchestrator.md +60 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/markdown-orchestrator.md +62 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/mcp-orchestrator.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/memory-orchestrator.md +45 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/metabase-orchestrator.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/multi-agent-orchestrator.md +61 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/openapi-orchestrator.md +66 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/orchestrator-architecture.md +24 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/orchestrator-index.md +73 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/pdf-orchestrator.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/portable-paths-and-config.md +123 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/portable-paths-validation-matrix.md +131 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/progress-orchestrator.md +43 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/progress-report-cli.md +217 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/public-interface-orchestrator.md +82 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/research-orchestrator.md +45 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/schema-orchestrator.md +66 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/search-tools.md +19 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/skills-reference.md +27 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/sonarqube-orchestrator.md +71 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/spec-orchestrator.md +56 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/structure-orchestrator.md +78 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/system-requirements.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/tasks-orchestrator.md +45 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/validation-and-sync-notes.md +26 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/vds-ai-memory-api.md +53 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/vds-cli-reference.md +34 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/who-capability-inventory.md +98 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/who-capability-routing-matrix.md +16 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/feature-progression-guide.md +124 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/index.md +13 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/quick-start.md +30 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/who-skills-and-scripts-onboarding.md +42 -0
- package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/zero-to-productive-developer.md +137 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/README.md +450 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/pyproject.toml +97 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/__init__.py +81 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/cli.py +652 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/client.py +743 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/config.py +208 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/errors.py +34 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/py.typed +0 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/conftest.py +227 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_client.py +990 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_config.py +268 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_e2e_verification.py +272 -0
- package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_errors.py +78 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/README.md +288 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/RESEARCH_BASED_UPDATES_REPORT.md +261 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/add_essential_missing_effort.py +255 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/adjust_effort_complexity.py +184 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/brd_analysis_and_task_breakdown.py +632 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/brd_analysis_comprehensive.py +1029 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/check_overlaps_and_brd_coverage.py +570 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/clean_remarks_column.py +127 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/comprehensive_brd_check.py +322 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/create_buffered_summary.py +119 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/create_service_totals_sheet.py +118 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/examples/basic_operations.py +85 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/expand_all_tasks.py +341 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/expand_tasks.py +304 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fill_brd_references.py +347 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fill_remarks_and_colors.py +132 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/finalize_brd_and_cleanup.py +295 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/finalize_brd_coverage.py +327 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_all_formulas.py +99 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_detail_presentation.py +113 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_presentation_and_effort.py +116 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_presentation_consistency.py +231 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_remarks_matching.py +179 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/group_tasks_by_service_id.py +210 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/increase_brd_coverage.py +497 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/increase_effort_complexity.py +155 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/organize_and_deduplicate.py +273 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/pyproject.toml +64 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/rebuild_all_formulas.py +146 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/remove_base_multiplier_and_check_duplicates.py +310 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/remove_duplicate_brd_tasks.py +137 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/research_based_updates.py +457 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/restore_e_values.py +172 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/__init__.py +5 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/cli.py +746 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/config.py +74 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/converters.py +226 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/errors.py +88 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/excel_client.py +443 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/formatters.py +211 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/logging.py +57 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/source_contract.py +29 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/target_state_status.py +837 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/ulnc_alignment.py +1291 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/validators.py +164 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/sync_detail_and_total_sheets.py +211 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/conftest.py +36 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_cli.py +383 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_excel_client.py +129 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_ulnc_alignment.py +373 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_validators.py +64 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/update_api_database_effort.py +261 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/update_buffers_inline.py +115 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/update_complex_services_and_add_new.py +336 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/update_responsibility_and_fix_rows.py +208 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/update_task_breakdown_vietnamese.py +309 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/update_vietnamese_and_responsibility.py +415 -0
- package/skills/vds-skill/vds-scripts/excel_orchestrator/verify_brd_coverage_comprehensive.py +401 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/ENHANCEMENT_SUMMARY.md +119 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/README.md +286 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/VERIFICATION_REPORT.md +152 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/pyproject.toml +37 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__init__.py +30 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__main__.py +4 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/branch_probe.py +271 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/cli.py +892 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/logging_config.py +63 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/manifest.py +249 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/orchestrator.py +1647 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/protocols.py +35 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/reporting.py +55 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_cli_settings.py +19 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_integration.py +79 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_manifest.py +79 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_orchestrator.py +207 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_public_api.py +235 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_resilience.py +343 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/test_branch_probe.py +327 -0
- package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/test_protocols.py +132 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/README.md +241 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/pyproject.toml +45 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/__init__.py +69 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/cli.py +568 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/client.py +186 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/config.py +46 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/errors.py +41 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/conftest.py +1 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_cli.py +212 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_client.py +24 -0
- package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_config.py +16 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/README.md +572 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/pyproject.toml +102 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/__init__.py +78 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/cli.py +455 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/client.py +700 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/config.py +243 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/errors.py +34 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/py.typed +1 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/conftest.py +308 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_client.py +458 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_config.py +203 -0
- package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_errors.py +78 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/README.md +864 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/pyproject.toml +43 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/__init__.py +65 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/adapter.py +1685 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/cli.py +2806 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/config.py +168 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/errors.py +34 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/reporting.py +66 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/conftest.py +86 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_agile_list_payloads.py +54 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_bulk_operations.py +91 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_components.py +56 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_createmeta.py +45 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_dashboard.py +119 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_issue_properties.py +53 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_permissions_compat.py +41 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_reindex.py +42 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_remote_links.py +75 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_transitions.py +90 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_user_management.py +116 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_version_management.py +181 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_watchers.py +43 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_advanced_search.py +179 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_agile.py +304 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_application_properties.py +243 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_backlog.py +91 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_bulk_operations.py +403 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_cli.py +108 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_components.py +119 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_config.py +166 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_dashboard.py +122 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_discover_fields.py +207 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_errors.py +72 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_filter_management.py +411 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_archiving.py +179 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_links.py +257 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_properties.py +189 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_link_types.py +407 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_parse_set.py +37 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_permissions.py +343 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_reindex.py +81 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_remote_links.py +269 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_security_schemes.py +202 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_transitions_changelog.py +109 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_user_management.py +246 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_version_management.py +503 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_watchers.py +116 -0
- package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_worklog.py +243 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/README.md +864 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/pyproject.toml +43 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/__init__.py +65 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/adapter.py +1689 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/cli.py +2799 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/config.py +137 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/errors.py +34 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/reporting.py +65 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/conftest.py +86 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_agile_list_payloads.py +54 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_bulk_operations.py +101 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_components.py +64 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_createmeta.py +45 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_dashboard.py +135 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_issue_properties.py +63 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_permissions_compat.py +42 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_reindex.py +42 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_remote_links.py +89 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_transitions.py +91 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_user_management.py +130 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_version_management.py +189 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_watchers.py +49 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_advanced_search.py +213 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_agile.py +334 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_application_properties.py +261 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_backlog.py +91 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_bulk_operations.py +443 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_cli.py +106 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_components.py +133 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_config.py +166 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_dashboard.py +130 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_discover_fields.py +207 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_errors.py +61 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_filter_management.py +478 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_archiving.py +181 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_links.py +257 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_properties.py +203 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_link_types.py +426 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_parse_set.py +37 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_permissions.py +358 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_reindex.py +81 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_remote_links.py +292 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_security_schemes.py +218 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_transitions_changelog.py +121 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_user_management.py +283 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_version_management.py +561 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_watchers.py +128 -0
- package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_worklog.py +265 -0
- package/skills/vds-skill/vds-scripts/llms.txt +159 -0
- package/skills/vds-skill/vds-scripts/markdown_orchestrator/README.md +72 -0
- package/skills/vds-skill/vds-scripts/markdown_orchestrator/pyproject.toml +39 -0
- package/skills/vds-skill/vds-scripts/markdown_orchestrator/src/vds_markdown_orchestrator/__init__.py +5 -0
- package/skills/vds-skill/vds-scripts/markdown_orchestrator/src/vds_markdown_orchestrator/cli.py +102 -0
- package/skills/vds-skill/vds-scripts/mcp_server/Dockerfile +63 -0
- package/skills/vds-skill/vds-scripts/mcp_server/README.md +140 -0
- package/skills/vds-skill/vds-scripts/mcp_server/pyproject.toml +41 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/__init__.py +3 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/config.py +36 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/server.py +111 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/__init__.py +15 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/bitbucket_tools.py +47 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/confluence_tools.py +53 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/git_tools.py +71 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/jira_tools.py +63 -0
- package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/vidp_tools.py +64 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/conftest.py +31 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_bitbucket_tools.py +28 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_confluence_tools.py +28 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_git_tools.py +35 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_jira_tools.py +35 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/__init__.py +6 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/conftest.py +51 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_confluence_tools.py +40 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_jira_tools.py +39 -0
- package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_tool_registration.py +50 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/.dockerignore +93 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/.env.example +40 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/.ruff_rules.py +350 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/.yamllint.yml +43 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/DEVELOPMENT_PLAN.md +80 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/Dockerfile +87 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/README.md +608 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/cli_verification_test/test.md +6 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/cli_verification_test/test.pdf +0 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/alertmanager.yml +83 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/prometheus.prod.yml +98 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/prometheus.yml +40 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/redis.conf +78 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/COMPETITIVE_ANALYSIS_REPORT.md +309 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/FEATURES_GUIDE.md +518 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/MULTI_USER_DEPLOYMENT_GUIDE.md +615 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/USER_GUIDE.md +829 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/pyproject.toml +87 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/pytest.ini +71 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/ruff.toml +6 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/debug_security_report.py +59 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/demo_library_selector.py +109 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/generate_project_stats.py +52 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/generate_styled_pdf.py +95 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/migrate_render_pdfs.py +285 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/setup_team.bat +283 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/setup_team.sh +324 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/__init__.py +5 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/cli.py +542 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/config.py +33 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/README.md +650 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/conftest.py +520 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/requirements.txt +51 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/run_tests.py +659 -0
- package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/test_config.py +36 -0
- package/skills/vds-skill/vds-scripts/platform_core/pyproject.toml +49 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/__init__.py +16 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/alembic/__init__.py +18 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/alembic/runtime.py +139 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/config.py +88 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/credentials.py +40 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/env.py +24 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/errors.py +127 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/__init__.py +18 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/auth.py +32 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/errors.py +47 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/pagination.py +65 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/retry.py +62 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/stack.py +61 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/logging.py +132 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/protocols.py +77 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/serialization.py +80 -0
- package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/severity.py +175 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/conftest.py +1 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_alembic_runtime.py +300 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_auth.py +84 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_config.py +83 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_credentials.py +73 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_env.py +56 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_errors.py +201 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_errors_http.py +74 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_http_settings.py +116 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_logging.py +148 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_pagination.py +153 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_protocols.py +132 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_retry.py +151 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_serialization.py +92 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_severity.py +178 -0
- package/skills/vds-skill/vds-scripts/platform_core/tests/test_stack.py +130 -0
- package/skills/vds-skill/vds-scripts/platform_core/uv.lock +341 -0
- package/skills/vds-skill/vds-scripts/pyproject.toml +145 -0
- package/skills/vds-skill/vds-scripts/pyrightconfig.json +82 -0
- package/skills/vds-skill/vds-scripts/repo-manifest.yaml +380 -0
- package/skills/vds-skill/vds-scripts/repo-manifest.yaml.example +25 -0
- package/skills/vds-skill/vds-scripts/ruff.toml +100 -0
- package/skills/vds-skill/vds-scripts/scripts/BRD-Validation-API.postman_collection.json +706 -0
- package/skills/vds-skill/vds-scripts/scripts/BRD-Validation-README.md +308 -0
- package/skills/vds-skill/vds-scripts/scripts/README.md +271 -0
- package/skills/vds-skill/vds-scripts/scripts/_validate_alias_phase2.py +137 -0
- package/skills/vds-skill/vds-scripts/scripts/audit-cli-patterns.sh +135 -0
- package/skills/vds-skill/vds-scripts/scripts/audit-dashboard.sh +525 -0
- package/skills/vds-skill/vds-scripts/scripts/backup.sh +123 -0
- package/skills/vds-skill/vds-scripts/scripts/bootstrap_uv.sh +69 -0
- package/skills/vds-skill/vds-scripts/scripts/brd-validation-environment.json +51 -0
- package/skills/vds-skill/vds-scripts/scripts/brd-validation-test-results.json +13023 -0
- package/skills/vds-skill/vds-scripts/scripts/brd_coverage_report.json +276 -0
- package/skills/vds-skill/vds-scripts/scripts/check-future-annotations.py +22 -0
- package/skills/vds-skill/vds-scripts/scripts/check-invalid-symlinks.py +183 -0
- package/skills/vds-skill/vds-scripts/scripts/check-no-debug-markers.py +21 -0
- package/skills/vds-skill/vds-scripts/scripts/check-no-unittest.py +21 -0
- package/skills/vds-skill/vds-scripts/scripts/ci/assert_no_openspace_commits.sh +37 -0
- package/skills/vds-skill/vds-scripts/scripts/ci/verify_branch_protection.sh +64 -0
- package/skills/vds-skill/vds-scripts/scripts/closure/phase1_check.sh +483 -0
- package/skills/vds-skill/vds-scripts/scripts/closure/phase2_check.sh +500 -0
- package/skills/vds-skill/vds-scripts/scripts/create_memory_session.py +36 -0
- package/skills/vds-skill/vds-scripts/scripts/deploy-bootstrap.sh +201 -0
- package/skills/vds-skill/vds-scripts/scripts/deployment/load_docker_images_offline.sh +90 -0
- package/skills/vds-skill/vds-scripts/scripts/dev/cli_smoke.sh +259 -0
- package/skills/vds-skill/vds-scripts/scripts/final_completion_report.md +139 -0
- package/skills/vds-skill/vds-scripts/scripts/folder_structure_report.json +321 -0
- package/skills/vds-skill/vds-scripts/scripts/generate_completion_report.py +132 -0
- package/skills/vds-skill/vds-scripts/scripts/generate_intellij_modules.py +154 -0
- package/skills/vds-skill/vds-scripts/scripts/init-pgbouncer-userlist.sh +154 -0
- package/skills/vds-skill/vds-scripts/scripts/link_integrity_report.json +807 -0
- package/skills/vds-skill/vds-scripts/scripts/move_audit_artifact_pages.py +252 -0
- package/skills/vds-skill/vds-scripts/scripts/move_audit_artifact_pages_rest.py +165 -0
- package/skills/vds-skill/vds-scripts/scripts/move_wrong_dept_pages.py +235 -0
- package/skills/vds-skill/vds-scripts/scripts/openspace_bootstrap.sh +56 -0
- package/skills/vds-skill/vds-scripts/scripts/openspace_common.sh +75 -0
- package/skills/vds-skill/vds-scripts/scripts/openspace_doctor.sh +61 -0
- package/skills/vds-skill/vds-scripts/scripts/openspace_sync_shadow.sh +65 -0
- package/skills/vds-skill/vds-scripts/scripts/phase7-baseline.sh +77 -0
- package/skills/vds-skill/vds-scripts/scripts/preflight/env_check.sh +102 -0
- package/skills/vds-skill/vds-scripts/scripts/repair_autopay_reports.sh +173 -0
- package/skills/vds-skill/vds-scripts/scripts/rollback_drill.sh +659 -0
- package/skills/vds-skill/vds-scripts/scripts/run-audit-in-tmux.sh +286 -0
- package/skills/vds-skill/vds-scripts/scripts/run-department-audit.sh +495 -0
- package/skills/vds-skill/vds-scripts/scripts/run-project-audit.sh +267 -0
- package/skills/vds-skill/vds-scripts/scripts/save_intellij_memories.py +112 -0
- package/skills/vds-skill/vds-scripts/scripts/save_memories_to_vds_ai.py +81 -0
- package/skills/vds-skill/vds-scripts/scripts/save_memories_vds_style.py +133 -0
- package/skills/vds-skill/vds-scripts/scripts/search_intellij_memories.py +48 -0
- package/skills/vds-skill/vds-scripts/scripts/setup_intellij_workspace.py +71 -0
- package/skills/vds-skill/vds-scripts/scripts/smoke-test-deploy.sh +137 -0
- package/skills/vds-skill/vds-scripts/scripts/smoke_deploy_lib.py +205 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/README.md +89 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/confluence_sync_coordinator.sh +27 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/coordination.sh +114 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/diagram_coordinator.sh +25 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/docs_root.sh +22 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/generate_diagrams.sh +22 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/markdown_coordinator.sh +25 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/progress_dashboard.sh +17 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/schema_coordinator.sh +25 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/sync_confluence.sh +30 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/update_dependencies.sh +19 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_links.sh +86 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_markdown.sh +52 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_schemas.sh +26 -0
- package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_structure.sh +98 -0
- package/skills/vds-skill/vds-scripts/scripts/tests/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/scripts/tests/test_dockerfile_correctness.py +815 -0
- package/skills/vds-skill/vds-scripts/scripts/tests/test_makefile_loadouts.py +560 -0
- package/skills/vds-skill/vds-scripts/scripts/tests/test_smoke_deploy.py +313 -0
- package/skills/vds-skill/vds-scripts/scripts/tests/test_verify_alembic.py +581 -0
- package/skills/vds-skill/vds-scripts/scripts/tests/test_verify_infra_topology.py +254 -0
- package/skills/vds-skill/vds-scripts/scripts/update_modules_xml.py +194 -0
- package/skills/vds-skill/vds-scripts/scripts/uv-workspace-alignment-verification-2026-03-25.md +128 -0
- package/skills/vds-skill/vds-scripts/scripts/uv-workspace-alignment-verification-2026-04-18.md +100 -0
- package/skills/vds-skill/vds-scripts/scripts/validate-cli-standardization.sh +188 -0
- package/skills/vds-skill/vds-scripts/scripts/validate_brd_coverage.py +197 -0
- package/skills/vds-skill/vds-scripts/scripts/validate_folder_structure.py +234 -0
- package/skills/vds-skill/vds-scripts/scripts/validate_link_integrity.py +274 -0
- package/skills/vds-skill/vds-scripts/scripts/vami017-caller-compat-report.md +62 -0
- package/skills/vds-skill/vds-scripts/scripts/vami017-phase-b-scaffold-notes.md +79 -0
- package/skills/vds-skill/vds-scripts/scripts/vds_sh_helpers.sh +180 -0
- package/skills/vds-skill/vds-scripts/scripts/verification/phase2_portable_paths_ubuntu_docker.sh +26 -0
- package/skills/vds-skill/vds-scripts/scripts/verify-infra-topology.py +868 -0
- package/skills/vds-skill/vds-scripts/scripts/verify-memory-cli-e2e.sh +598 -0
- package/skills/vds-skill/vds-scripts/scripts/verify-worktree-features.sh +306 -0
- package/skills/vds-skill/vds-scripts/scripts/worktree-add.sh +128 -0
- package/skills/vds-skill/vds-scripts/scripts/worktree-remove.sh +112 -0
- package/skills/vds-skill/vds-scripts/scripts/worktree_compose.sh +269 -0
- package/skills/vds-skill/vds-scripts/scripts/worktree_uv.sh +77 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/IMPLEMENTATION_AUDIT.md +376 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/README.md +507 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/pyproject.toml +106 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/scripts/ensure_symlink.sh +38 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/__init__.py +164 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/batch.py +212 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/cli.py +1407 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/client.py +608 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/config.py +260 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/diff.py +220 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/errors.py +34 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/external_sca.py +932 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/portfolio.py +225 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/pr.py +505 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/reports.py +342 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/scanner.py +351 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/webhooks.py +269 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/conftest.py +134 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_batch.py +419 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_config.py +145 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_errors.py +78 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_external_sca.py +466 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_pr.py +471 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_reports.py +511 -0
- package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_webhooks.py +660 -0
- package/skills/vds-skill/vds-scripts/uv.lock +5046 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/CHANGELOG.md +36 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/README.md +453 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/docs/PHASE9A_ASSESSMENT.md +50 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/docs/embedding.md +468 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/pyproject.toml +51 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/__init__.py +29 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/__init__.py +26 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/hooks.py +119 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/loop.py +864 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/tools.py +41 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/config.py +252 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/__init__.py +55 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/_cascade.py +143 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/budget.py +353 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/cache.py +373 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/embedding.py +815 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/provider.py +173 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/schemas.py +45 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/__init__.py +77 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/decorators.py +258 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/jsonl_exporter.py +236 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/tracer.py +497 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/profiles.py +2015 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/runtime/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/runtime/agent_id.py +60 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/security/__init__.py +13 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/security/credentials.py +106 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/executor.py +238 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/manager.py +381 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/policy.py +568 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/__init__.py +19 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/langgraph_runner.py +102 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/protocols.py +81 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/conftest.py +62 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_audit_loop_hooks_integration.py +135 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_audit_observability_integration.py +246 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_public_api_stability.py +91 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_call_site_parallelism.py +30 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_dimension_guardrail.py +25 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_drop_in_provider_extensibility.py +76 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding.py +393 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_cache.py +302 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_extra.py +696 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_subclass.py +49 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_no_provider_leakage_in_env.py +34 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_provider_auto_route.py +48 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_runtime_log_clean.py +111 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_w7_logic_fixes.py +219 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_embedding_block_parser.py +194 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_env_resolver_allowlist.py +141 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_profile_authorization.py +158 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_profiles_w3_extra.py +547 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_real_audit_profile_compat.py +129 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/test_for_agent.py +322 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/test_w9_cascade_edges.py +369 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/security/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/security/test_credentials.py +132 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agent_loop.py +663 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agent_loop_coverage.py +429 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agents_hooks_defaults.py +22 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget.py +155 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget_coverage.py +264 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget_tracking_only.py +71 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_cache.py +251 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_cache_context.py +62 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_config.py +155 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_langgraph_runner.py +45 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_langgraph_runner_coverage.py +98 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_llm_cache_deep.py +113 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_decorators.py +697 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_hooks.py +217 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_jsonl_exporter.py +542 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_jsonl_wiring.py +313 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_tracer.py +896 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_profiles.py +1571 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_profiles_coverage.py +444 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_provider.py +316 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_schemas.py +63 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_executor.py +297 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_manager.py +370 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_manager_coverage.py +364 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_policy.py +402 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_rubric.py +47 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_tools.py +51 -0
- package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_workflow_protocols.py +136 -0
- package/skills/vds-skill/vds-scripts/vds_cli/README.md +201 -0
- package/skills/vds-skill/vds-scripts/vds_cli/VERIFICATION_REPORT.md +41 -0
- package/skills/vds-skill/vds-scripts/vds_cli/pyproject.toml +50 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/__init__.py +3 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/assets/git-credential-helper.py +235 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/cli.py +1126 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/commands/__init__.py +1 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/commands/lint_cli.py +389 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/confluence_sync.py +846 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/__init__.py +7 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/funnel.py +105 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/scanner.py +211 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/freshness/report.py +90 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/types.py +27 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_cmd.py +672 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_metrics.py +75 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_sync.py +1171 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem/__init__.py +39 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem/report.py +439 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem_docs.py +164 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/env.py +111 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/env_git_helper.py +281 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/__init__.py +3 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/google_sheets_orchestrator.py +173 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/router.py +232 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/skills_cmd.py +274 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/sync_api.py +613 -0
- package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/sync_service.py +283 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/conftest.py +62 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/test_env_git_helper_lifecycle.py +261 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/test_git_credential_helper.py +240 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/test_router_help_proxy.py +43 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_cli.py +241 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_cli_DOC004.py +110 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_confluence_sync.py +315 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_confluence_sync_wave7.py +375 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_consumption_funnel.py +106 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_consumption_scanner.py +144 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_cmd.py +89 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_cmd_wave8.py +161 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_metrics.py +16 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_quality_score.py +61 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_sync.py +417 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_cli_dashboard.py +667 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_cli_dashboard_rendering.py +143 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_docs.py +63 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_env.py +85 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_freshness_report.py +125 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_lint_cli.py +224 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_router.py +101 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_skills_cmd.py +419 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_sync_api.py +357 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_sync_service.py +170 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/conftest.py +51 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_bitbucket_real.py +32 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_confluence_real.py +32 -0
- package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_jira_real.py +40 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/README.md +190 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/pyproject.toml +96 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/__init__.py +36 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/app.py +55 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/completers.py +139 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/context.py +201 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/env.py +163 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/errors.py +440 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/output.py +284 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/paths.py +78 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/testing.py +211 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/version.py +85 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/__init__.py +0 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_app.py +126 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_completers.py +148 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_context.py +192 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_env.py +235 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_errors.py +275 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_output.py +229 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_paths.py +61 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_testing.py +138 -0
- package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_version.py +64 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/README.md +31 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/pyproject.toml +50 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/__init__.py +26 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/cli.py +246 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/client.py +104 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/config.py +82 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/workflows.json +3 -0
- package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/workflows.py +130 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# VDS Evolution Loop: Integration Guide
|
|
2
|
+
|
|
3
|
+
> **Canonical Spec:** [.gpt-5.4/specs/who-ecosystem-evolution-loop/SPEC.md](../.gpt-5.4/specs/who-ecosystem-evolution-loop/SPEC.md)
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The VDS Evolution Loop is an automated system for evolving VDS skills based on real execution data from OpenSpace. It integrates with OpenSpace's MCP tools and SQLite store to:
|
|
8
|
+
|
|
9
|
+
1. **Load** evolution candidates from execution analyses
|
|
10
|
+
2. **Evaluate** them through a three-gate pipeline
|
|
11
|
+
3. **Sign** verdicts with HMAC for integrity
|
|
12
|
+
4. **Promote** approved skills automatically or manually
|
|
13
|
+
|
|
14
|
+
## Architecture
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
18
|
+
│ Evolution Loop │
|
|
19
|
+
├─────────────────────────────────────────────────────────────────────┤
|
|
20
|
+
│ OpenSpace Store (.openspace/openspace.db) │
|
|
21
|
+
│ ├── execution_analyses (candidates) │
|
|
22
|
+
│ ├── skill_judgments │
|
|
23
|
+
│ └── evolution_suggestions │
|
|
24
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
25
|
+
│
|
|
26
|
+
▼
|
|
27
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
28
|
+
│ OpenSpaceClient (openspace_integration.py) │
|
|
29
|
+
│ ├── MCP tools: execute_task, search_skills, fix_skill │
|
|
30
|
+
│ ├── Transport: stdio, SSE, streamable-http │
|
|
31
|
+
│ └── Store access: load_evolution_candidates, stats │
|
|
32
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
33
|
+
│
|
|
34
|
+
▼
|
|
35
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
36
|
+
│ Router (router.py) → Three-Gate Pipeline │
|
|
37
|
+
│ ├── Gate 1 (structural): Queue depth, budget check │
|
|
38
|
+
│ ├── Gate 2 (behavioral): Regression test, pattern analysis │
|
|
39
|
+
│ └── Gate 3 (semantic): Claude quality assessment │
|
|
40
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
41
|
+
│
|
|
42
|
+
▼
|
|
43
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
44
|
+
│ Verdict (models.py, router.py) │
|
|
45
|
+
│ ├── mechanism: "fix" | "derived" | "captured" │
|
|
46
|
+
│ ├── final_eligibility: "eligible" | "ineligible" │
|
|
47
|
+
│ └── state: pending → promoted | rejected | needs-review │
|
|
48
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
49
|
+
│
|
|
50
|
+
▼
|
|
51
|
+
┌─────────────────────────────────────────────────────────────────────┐
|
|
52
|
+
│ Phase 3+ Infrastructure │
|
|
53
|
+
│ ├── HMAC Binding: Verdict integrity signatures │
|
|
54
|
+
│ ├── Ensemble Judge: Multi-judge consensus │
|
|
55
|
+
│ └── Auto-Promote: Daemon for automatic promotion │
|
|
56
|
+
└─────────────────────────────────────────────────────────────────────┘
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Module Inventory
|
|
60
|
+
|
|
61
|
+
### Core Modules
|
|
62
|
+
|
|
63
|
+
| Module | Purpose | Key Classes/Functions |
|
|
64
|
+
|--------|---------|----------------------|
|
|
65
|
+
| `openspace_integration.py` | MCP client & store access | `OpenSpaceClient`, `ExecutionAnalysis`, `OpenSpaceStats` |
|
|
66
|
+
| `router.py` | Gate pipeline orchestration | `route()`, `route_sync()` |
|
|
67
|
+
| `models.py` | Data models | `Verdict`, `ExecutionAnalysis`, `VerdictSchema` |
|
|
68
|
+
| `switch.py` | Kill switch & store | `KillSwitch`, `get_store()` |
|
|
69
|
+
|
|
70
|
+
### Gate Modules
|
|
71
|
+
|
|
72
|
+
| Module | Gate | Purpose |
|
|
73
|
+
|--------|------|---------|
|
|
74
|
+
| `gates/structural.py` | Gate 1 | Queue depth, budget cap check |
|
|
75
|
+
| `gates/behavioral.py` | Gate 2 | Regression test, pattern analysis |
|
|
76
|
+
| `gates/semantic.py` | Gate 3 | Claude quality assessment |
|
|
77
|
+
| `gates/ensemble_judge.py` | Ensemble | Three-judge consensus |
|
|
78
|
+
|
|
79
|
+
### Phase 3+ Modules
|
|
80
|
+
|
|
81
|
+
| Module | Purpose |
|
|
82
|
+
|--------|---------|
|
|
83
|
+
| `auto_promote.py` | Automatic verdict promotion daemon |
|
|
84
|
+
| `hmac_binding.py` | HMAC-SHA256 verdict signatures |
|
|
85
|
+
| `gates/ensemble_judge.py` | Multi-judge evaluation |
|
|
86
|
+
|
|
87
|
+
### Supporting Modules
|
|
88
|
+
|
|
89
|
+
| Module | Purpose |
|
|
90
|
+
|--------|---------|
|
|
91
|
+
| `promote.py` | Git branch creation & PR workflow |
|
|
92
|
+
| `verdict.py` | Verdict persistence |
|
|
93
|
+
| `reconciler.py` | Skill registry reconciliation |
|
|
94
|
+
| `shadow.py` | Canonical-to-shadow sync |
|
|
95
|
+
| `audit.py` | Audit log writer |
|
|
96
|
+
|
|
97
|
+
## Data Flow
|
|
98
|
+
|
|
99
|
+
### 1. Candidate Loading
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
from vds_evolution.openspace_integration import OpenSpaceClient
|
|
103
|
+
|
|
104
|
+
client = OpenSpaceClient()
|
|
105
|
+
candidates = client.load_evolution_candidates(limit=50)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**SQL:**
|
|
109
|
+
```sql
|
|
110
|
+
SELECT ea.*, sj.skill_id, sj.skill_applied, sj.note
|
|
111
|
+
FROM execution_analyses ea
|
|
112
|
+
LEFT JOIN skill_judgments sj ON ea.task_id = sj.task_id
|
|
113
|
+
WHERE ea.evolution_suggestions IS NOT NULL
|
|
114
|
+
AND ea.evolution_processed_at IS NULL
|
|
115
|
+
ORDER BY ea.timestamp DESC
|
|
116
|
+
LIMIT :limit
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 2. Gate Pipeline
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
from vds_evolution.router import route_sync
|
|
123
|
+
from vds_evolution.models import ExecutionAnalysis
|
|
124
|
+
|
|
125
|
+
# Create execution analysis from candidate
|
|
126
|
+
analysis = ExecutionAnalysis(
|
|
127
|
+
task_id=candidate.task_id,
|
|
128
|
+
timestamp=candidate.timestamp,
|
|
129
|
+
evolution_suggestions=candidate.evolution_suggestions,
|
|
130
|
+
...
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
# Run through gates
|
|
134
|
+
verdict = await route_sync(analysis, kill_switch)
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Flow:**
|
|
138
|
+
```
|
|
139
|
+
Candidate → Gate1 (structural)
|
|
140
|
+
├─ Pass: → Gate2 (behavioral)
|
|
141
|
+
│ ├─ Pass: → Gate3 (semantic)
|
|
142
|
+
│ │ ├─ Pass: eligible
|
|
143
|
+
│ │ └─ Fail: ineligible
|
|
144
|
+
│ └─ Fail: ineligible
|
|
145
|
+
└─ Fail: ineligible
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 3. Verdict Signing (Phase 3+)
|
|
149
|
+
|
|
150
|
+
```python
|
|
151
|
+
from vds_evolution.hmac_binding import sign_and_attach, verify_and_detach
|
|
152
|
+
|
|
153
|
+
# Sign verdict before promotion
|
|
154
|
+
signed_verdict = sign_and_attach(verdict.to_dict())
|
|
155
|
+
|
|
156
|
+
# Verify before promotion
|
|
157
|
+
verified = verify_and_detach(signed_verdict)
|
|
158
|
+
if not verified.valid:
|
|
159
|
+
raise ValueError(f"Invalid signature: {verified.error}")
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 4. Auto-Promote
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Start daemon
|
|
166
|
+
vds-cli evolution auto-promote --poll-interval 60 --dry-run
|
|
167
|
+
|
|
168
|
+
# Or in Python
|
|
169
|
+
from vds_evolution.auto_promote import AutoPromoteDaemon, AutoPromoteConfig
|
|
170
|
+
|
|
171
|
+
config = AutoPromoteConfig(poll_interval=60.0, dry_run=True)
|
|
172
|
+
daemon = AutoPromoteDaemon(config)
|
|
173
|
+
await daemon.run()
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 5. Ensemble Judge
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Run three-judge evaluation
|
|
180
|
+
vds-cli evolution ensemble-judge path/to/SKILL.md --strategy unanimous
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Strategies:**
|
|
184
|
+
- `unanimous`: All judges must agree
|
|
185
|
+
- `majority`: 2/3 agreement
|
|
186
|
+
- `any_pass`: At least one approves
|
|
187
|
+
- `advisory`: Follow primary judge
|
|
188
|
+
|
|
189
|
+
## Configuration
|
|
190
|
+
|
|
191
|
+
### Environment Variables
|
|
192
|
+
|
|
193
|
+
| Variable | Default | Purpose |
|
|
194
|
+
|----------|---------|---------|
|
|
195
|
+
| `OPENSPACE_WORKSPACE` | Project root | OpenSpace workspace directory |
|
|
196
|
+
| `OPENSPACE_HOST_SKILL_DIRS` | Canonical skills | Skill directories to monitor |
|
|
197
|
+
| `OPENSPACE_TRANSPORT` | `stdio` | MCP transport (stdio/sse/streamable-http) |
|
|
198
|
+
| `OPENSPACE_AUTONOMOUS_ENABLED` | `false` | Enable auto-promote daemon |
|
|
199
|
+
| `OPENSPACE_MCP_HOST` | `localhost` | MCP server host |
|
|
200
|
+
| `OPENSPACE_MCP_PORT` | `8080` | MCP server port |
|
|
201
|
+
|
|
202
|
+
### Kill Switch
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
from vds_evolution.switch import KillSwitch
|
|
206
|
+
|
|
207
|
+
kill_switch = KillSwitch()
|
|
208
|
+
if not kill_switch.is_enabled():
|
|
209
|
+
print("Evolution loop disabled by kill switch")
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## CLI Commands
|
|
213
|
+
|
|
214
|
+
| Command | Description |
|
|
215
|
+
|---------|-------------|
|
|
216
|
+
| `vds-cli evolution status` | Show kill-switch state, queue depth |
|
|
217
|
+
| `vds-cli evolution list` | List verdicts |
|
|
218
|
+
| `vds-cli evolution route SKILL.md` | Run gate pipeline on skill |
|
|
219
|
+
| `vds-cli evolution promote ID` | Promote verdict to master |
|
|
220
|
+
| `vds-cli evolution auto-promote` | Run auto-promote daemon |
|
|
221
|
+
| `vds-cli evolution ensemble-judge` | Run three-judge evaluation |
|
|
222
|
+
| `vds-cli evolution sign-verdict` | HMAC sign verdict |
|
|
223
|
+
| `vds-cli evolution verify-verdict` | Verify HMAC signature |
|
|
224
|
+
| `vds-cli evolution openspace-doctor` | Run OpenSpace readiness checks |
|
|
225
|
+
| `vds-cli evolution openspace-sync-shadow` | Sync canonical to shadow |
|
|
226
|
+
|
|
227
|
+
## Testing
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Run all tests
|
|
231
|
+
./.venv/bin/python -m pytest vds_evolution/tests/
|
|
232
|
+
|
|
233
|
+
# Run specific test file
|
|
234
|
+
./.venv/bin/python -m pytest vds_evolution/tests/unit/test_router.py
|
|
235
|
+
|
|
236
|
+
# Run with coverage
|
|
237
|
+
./.venv/bin/python -m pytest --cov=vds_evolution vds_evolution/tests/
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## MCP Transport Selection
|
|
241
|
+
|
|
242
|
+
The system supports three MCP transports:
|
|
243
|
+
|
|
244
|
+
### stdio (default)
|
|
245
|
+
```bash
|
|
246
|
+
# Direct subprocess invocation
|
|
247
|
+
openspace-mcp --transport stdio
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### SSE
|
|
251
|
+
```bash
|
|
252
|
+
OPENSPACE_TRANSPORT=sse vds-cli evolution ...
|
|
253
|
+
# Targets: http://localhost:8080/sse
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### streamable-http
|
|
257
|
+
```bash
|
|
258
|
+
OPENSPACE_TRANSPORT=streamable-http vds-cli evolution ...
|
|
259
|
+
# Targets: http://localhost:8080/mcp
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## Security
|
|
263
|
+
|
|
264
|
+
### HMAC Signature
|
|
265
|
+
|
|
266
|
+
Verdicts are signed with HMAC-SHA256 to ensure integrity:
|
|
267
|
+
|
|
268
|
+
```python
|
|
269
|
+
import hashlib
|
|
270
|
+
import hmac
|
|
271
|
+
|
|
272
|
+
def sign_verdict(verdict: dict) -> HmacSignature:
|
|
273
|
+
payload_hash = hashlib.sha256(
|
|
274
|
+
json.dumps(verdict, sort_keys=True).encode()
|
|
275
|
+
).hexdigest()
|
|
276
|
+
|
|
277
|
+
signature = hmac.new(
|
|
278
|
+
key=secret_key,
|
|
279
|
+
msg=payload_hash.encode(),
|
|
280
|
+
digestmod=hashlib.sha256
|
|
281
|
+
).hexdigest()
|
|
282
|
+
|
|
283
|
+
return HmacSignature(signature=signature, payload_hash=payload_hash, ...)
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Key Rotation
|
|
287
|
+
|
|
288
|
+
```python
|
|
289
|
+
from vds_evolution.hmac_binding import sign_with_key_id
|
|
290
|
+
|
|
291
|
+
# Sign with specific key
|
|
292
|
+
sig = sign_with_key_id(verdict, key_id="key-v2")
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Troubleshooting
|
|
296
|
+
|
|
297
|
+
### OpenSpace Not Found
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
# Check OpenSpace installation
|
|
301
|
+
vds-cli evolution openspace-doctor
|
|
302
|
+
|
|
303
|
+
# Common fixes:
|
|
304
|
+
# 1. Install OpenSpace
|
|
305
|
+
pip install openspace-ai
|
|
306
|
+
|
|
307
|
+
# 2. Set workspace
|
|
308
|
+
export OPENSPACE_WORKSPACE=/path/to/workspace
|
|
309
|
+
|
|
310
|
+
# 3. Sync shadow skills
|
|
311
|
+
vds-cli evolution openspace-sync-shadow
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### MCP Transport Errors
|
|
315
|
+
|
|
316
|
+
```bash
|
|
317
|
+
# Test stdio transport
|
|
318
|
+
openspace-mcp --help
|
|
319
|
+
|
|
320
|
+
# Check transport configuration
|
|
321
|
+
OPENSPACE_TRANSPORT=stdio vds-cli evolution status
|
|
322
|
+
|
|
323
|
+
# Enable debug logging
|
|
324
|
+
OPENSPACE_DEBUG=true vds-cli evolution route SKILL.md
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Verdict Signature Invalid
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Verify signature
|
|
331
|
+
vds-cli evolution verify-verdict path/to/verdict.json
|
|
332
|
+
|
|
333
|
+
# Re-sign if needed
|
|
334
|
+
vds-cli evolution sign-verdict path/to/verdict.json
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Dependencies
|
|
338
|
+
|
|
339
|
+
### Required
|
|
340
|
+
- Python 3.10+
|
|
341
|
+
- `vds-cli-common` - Shared CLI utilities
|
|
342
|
+
- `anthropic` - Claude API client
|
|
343
|
+
- `httpx` - HTTP transport
|
|
344
|
+
|
|
345
|
+
### Optional
|
|
346
|
+
- `openspace-ai` - OpenSpace MCP server
|
|
347
|
+
- `pytest` - Testing framework
|
|
348
|
+
- `pytest-asyncio` - Async test support
|
|
349
|
+
|
|
350
|
+
## Glossary
|
|
351
|
+
|
|
352
|
+
| Term | Definition |
|
|
353
|
+
|------|------------|
|
|
354
|
+
| **Candidate** | Execution analysis with evolution suggestions |
|
|
355
|
+
| **Verdict** | Gate pipeline result (eligible/ineligible) |
|
|
356
|
+
| **Promotion** | Merging approved changes to master |
|
|
357
|
+
| **HMAC** | Hash-based Message Authentication Code |
|
|
358
|
+
| **Gate** | Quality checkpoint in the pipeline |
|
|
359
|
+
| **Ensemble** | Multi-judge consensus system |
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# OpenSpace SQLite Schema Snapshot
|
|
2
|
+
|
|
3
|
+
**Generated**: 2026-04-20
|
|
4
|
+
**Source**: `~/.tools/OpenSpace/.openspace/openspace.db`
|
|
5
|
+
**Verification**: `PRAGMA table_info(execution_analyses)`
|
|
6
|
+
|
|
7
|
+
## Schema Verification (TSK-0.1a Gate)
|
|
8
|
+
|
|
9
|
+
### execution_analyses Table
|
|
10
|
+
|
|
11
|
+
| Column | Type | Description |
|
|
12
|
+
|--------|------|-------------|
|
|
13
|
+
| id | INTEGER | Primary key |
|
|
14
|
+
| task_id | TEXT | Task identifier (UNIQUE constraint) |
|
|
15
|
+
| timestamp | TEXT | ISO-8601 timestamp |
|
|
16
|
+
| task_completed | INTEGER | Boolean (0/1) |
|
|
17
|
+
| execution_note | TEXT | Execution notes |
|
|
18
|
+
| tool_issues | TEXT | JSON list of tool issues |
|
|
19
|
+
| **candidate_for_evolution** | INTEGER | Evolution candidate flag (0/1) ✅ |
|
|
20
|
+
| **evolution_processed_at** | TEXT | ISO timestamp when evolution ran ✅ |
|
|
21
|
+
| evolution_suggestions | TEXT | JSON list of EvolutionSuggestion dataclass |
|
|
22
|
+
| analyzed_by | TEXT | Analyzer identity |
|
|
23
|
+
| analyzed_at | TEXT | Analysis timestamp |
|
|
24
|
+
|
|
25
|
+
### Key Observations
|
|
26
|
+
|
|
27
|
+
1. **candidate_for_evolution column**: Present ✅ (not `quality_indicator` as incorrectly assumed in v0.5.3)
|
|
28
|
+
2. **evolution_processed_at column**: Present ✅ (added by upstream commit `020a879`)
|
|
29
|
+
3. **evolution_suggestions field**: Uses full name `evolution_suggestions` (not shortened `suggestions`)
|
|
30
|
+
|
|
31
|
+
### API Contract (Consumed by VDS)
|
|
32
|
+
|
|
33
|
+
```python
|
|
34
|
+
# Gate 1 consumer API - TSK-1.5
|
|
35
|
+
store.load_evolution_candidates(limit=50, include_processed=False)
|
|
36
|
+
# Returns List[ExecutionAnalysis] where candidate_for_evolution=1 AND evolution_processed_at IS NULL
|
|
37
|
+
|
|
38
|
+
# Queue depth probe - TSK-1.5, TSK-1.11
|
|
39
|
+
store.get_stats()["unprocessed_evolution_candidates"]
|
|
40
|
+
# Returns int (NOT .n_unprocessed_candidates attribute access)
|
|
41
|
+
|
|
42
|
+
# Lifecycle marking - handled by openspace/skill_engine/evolver.py:306
|
|
43
|
+
# VDS MUST NOT write evolution_processed_at column
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Upstream Contract References
|
|
47
|
+
|
|
48
|
+
- `openspace/skill_engine/types.py:26` - EvolutionType enum
|
|
49
|
+
- `openspace/skill_engine/types.py:198` - EvolutionSuggestion dataclass (no `severity` field)
|
|
50
|
+
- `openspace/skill_engine/types.py:253` - ExecutionAnalysis dataclass
|
|
51
|
+
- `openspace/skill_engine/store.py` - SkillStore methods
|
|
52
|
+
|
|
53
|
+
### Other Tables
|
|
54
|
+
|
|
55
|
+
| Table | Purpose |
|
|
56
|
+
|-------|---------|
|
|
57
|
+
| skill_records | Canonical skill registry |
|
|
58
|
+
| skill_lineage_parents | Skill parent relationships |
|
|
59
|
+
| skill_judgments | Skill application judgments |
|
|
60
|
+
| skill_tool_deps | Skill tool dependencies |
|
|
61
|
+
| skill_tags | Skill tagging metadata |
|
|
62
|
+
|
|
63
|
+
## Phase 1 Opening Gate
|
|
64
|
+
|
|
65
|
+
This artifact is the hard gate for Phase 1 opening per tasks.md:
|
|
66
|
+
|
|
67
|
+
> "TSK-0.1a is a hard gate for Phase 1 — Gate 1 (TSK-1.5) cannot be built on an unverified schema."
|
|
68
|
+
|
|
69
|
+
**Verification checklist**:
|
|
70
|
+
- [x] `candidate_for_evolution INTEGER` column exists
|
|
71
|
+
- [x] `evolution_processed_at TEXT` column exists
|
|
72
|
+
- [x] `store.load_evolution_candidates()` returns expected shape
|
|
73
|
+
- [x] `store.get_stats()["unprocessed_evolution_candidates"]` returns int
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# SLA and MTTR Support Policy
|
|
2
|
+
|
|
3
|
+
This policy defines response and restoration targets for incidents in the `vds-scripts` platform tooling stack.
|
|
4
|
+
|
|
5
|
+
## Priority Definitions
|
|
6
|
+
|
|
7
|
+
| Priority | Description | Example Impact |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| `P1` | Critical outage | Production automation blocked across teams |
|
|
10
|
+
| `P2` | Major degradation | Key workflow unavailable with partial workaround |
|
|
11
|
+
| `P3` | Minor degradation | Non-critical feature issue with workaround |
|
|
12
|
+
| `P4` | Low impact/request | Cosmetic defects or advisory improvements |
|
|
13
|
+
|
|
14
|
+
## SLA and MTTR Targets
|
|
15
|
+
|
|
16
|
+
| Priority | Acknowledge SLA | Mitigation SLA | MTTR Target |
|
|
17
|
+
| --- | --- | --- | --- |
|
|
18
|
+
| `P1` | 15 minutes | 60 minutes | 4 hours |
|
|
19
|
+
| `P2` | 30 minutes | 4 hours | 1 business day |
|
|
20
|
+
| `P3` | 4 business hours | 2 business days | 3 business days |
|
|
21
|
+
| `P4` | 1 business day | Planned backlog | 10 business days |
|
|
22
|
+
|
|
23
|
+
## Escalation Matrix
|
|
24
|
+
|
|
25
|
+
1. L1 Operations triages alerts and opens incident ticket with priority.
|
|
26
|
+
2. L2 Platform Engineering joins for root-cause and mitigation.
|
|
27
|
+
3. L3 Service Owner approves hotfix, rollback, or emergency config changes.
|
|
28
|
+
4. P1/P2 incidents require status updates every 30 minutes until mitigated.
|
|
29
|
+
|
|
30
|
+
## Incident Lifecycle Requirements
|
|
31
|
+
|
|
32
|
+
1. Detect and classify incident priority (`P1`..`P4`).
|
|
33
|
+
2. Acknowledge within SLA target.
|
|
34
|
+
3. Apply mitigation and recover service.
|
|
35
|
+
4. Confirm restoration against acceptance checks.
|
|
36
|
+
5. Publish incident summary and post-incident actions.
|
|
37
|
+
|
|
38
|
+
## Tracking and Evidence
|
|
39
|
+
|
|
40
|
+
- Incident tracker must store:
|
|
41
|
+
- priority, owner, start time, ack time, restore time
|
|
42
|
+
- mitigation actions and validation evidence
|
|
43
|
+
- follow-up tasks for permanent fixes
|
|
44
|
+
- Weekly review reports include SLA compliance and MTTR trend by priority.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# P0 Closure Evidence — Wave B
|
|
2
|
+
|
|
3
|
+
**Date**: 2026-04-25
|
|
4
|
+
**Branch**: `phase-infra/ecosystem-evolution`
|
|
5
|
+
**Worktree**: `WHO-project/worktrees/vds-scripts-phase-infra`
|
|
6
|
+
|
|
7
|
+
## Verify Script
|
|
8
|
+
|
|
9
|
+
`scripts/verify-infra-topology.py --profile infra` — exit 1 (expected; new shared infra not yet started).
|
|
10
|
+
|
|
11
|
+
**Bug fixed during Wave B**: `VerificationResult.add()` accepted only `**details` keyword args but two call sites passed positional `dict`. Signature now accepts both `details: dict | None` positionally and `**kwargs`. See git diff for `scripts/verify-infra-topology.py`.
|
|
12
|
+
|
|
13
|
+
**Output**: `docs/p0-closure-evidence/verify-infra-topology.log`. The 16 reported failures are accurate runtime observations — `vds-postgres`, `vds-redis`, `vds-qdrant`, and the named volumes do not currently exist because the legacy stacks (`vds-ai-memory-postgres-1`, `vds-audit-postgres`, `vds-ai-memory-redis-1`) are still occupying ports 5432, 5434, 6380. Bringing up the new infra requires retiring the legacy stacks first — operator decision, not a script defect.
|
|
14
|
+
|
|
15
|
+
## Pytest Spot-Checks (WP-0.7-touched files)
|
|
16
|
+
|
|
17
|
+
| Test file | Result | Pre-existing failures? |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `audit_orchestrator/tests/test_infra_persistence.py` | 5 ERRORS — `ImportError: No module named 'stamina'` + circular import on `_VDS_CLI_PROJECT_DIR` | **Yes** — pre-existing on master; unrelated to P0 |
|
|
20
|
+
| `multi_agent_orchestrator/tests/test_config.py` | 12 passed, 1 failed (`test_environment_override`: `session_ttl_hours==24 != 48`) | **Yes** — pre-existing Pydantic-v2 `Field(env=...)` drift; same code on master |
|
|
21
|
+
|
|
22
|
+
**Conclusion**: No P0-introduced regressions in the spot-check sample. Both observed failures are pre-existing and tracked separately (not P0 spec scope).
|
|
23
|
+
|
|
24
|
+
## FR-10 Confirmation
|
|
25
|
+
|
|
26
|
+
`WHO-project/vds-skills/skills/infrastructure-evolution-skill/SKILL.md` exists at v1.0.0 (217 lines). FR-10 is satisfied. Sync to AGENTS.md catalogs is part of P3 / Wave F.
|
|
27
|
+
|
|
28
|
+
## Pg_dump Snapshot (TSK-0.1.5) — Status
|
|
29
|
+
|
|
30
|
+
The breaking migration intent (drop legacy `vds_audit_checkpoints` and `vds_memory` databases) has not yet executed in this environment — the legacy containers are still up. Pg_dump snapshots remain a pre-merge requirement when the operator schedules the migration cutover. Documented in `docker/ROLLBACK.md`. Not blocking spec consolidation.
|
|
31
|
+
|
|
32
|
+
## Verdict
|
|
33
|
+
|
|
34
|
+
P0 closure-gate evidence is complete enough to support the merge gate decision:
|
|
35
|
+
|
|
36
|
+
- `verify-infra-topology.py` is functional (1 bug fixed during this wave)
|
|
37
|
+
- `pytest` no-regression confirmed for P0-touched test files
|
|
38
|
+
- FR-10 skill exists
|
|
39
|
+
- pg_dump snapshot remains a pre-cutover operator step
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Post-Merge Addendum (2026-04-25, spec v2.10.3)
|
|
44
|
+
|
|
45
|
+
This file is the **pre-merge** snapshot from Wave B. Current state on master:
|
|
46
|
+
|
|
47
|
+
- **Branch**: `phase-infra/ecosystem-evolution` was merged; worktree `vds-scripts-phase-infra` retired.
|
|
48
|
+
- **Master HEAD**: `417306b3 test(verify): align scripts with post-ADR-INF-10 infra (vds-platform / port 8010 / new container names)`.
|
|
49
|
+
- **Verify script**: now profile-aware per ADR-INF-10 (commit `8dc7f1c8`); CLI profiles (audit/pdf/progress/db-query) only assert infra-up since CLI containers exit 0 by design.
|
|
50
|
+
- **Pg_dump snapshots**: executed during the cutover and are present in `docker/backups/`:
|
|
51
|
+
- `pre-p0-audit.dump` (2.9 GB)
|
|
52
|
+
- `pre-p0-memory.dump` (11.3 MB)
|
|
53
|
+
- `pre-p0-progress.dump` (52 KB)
|
|
54
|
+
- `pre-p0-scheduler.dump` (5.1 MB)
|
|
55
|
+
- Restore drill verified in `docker/MIGRATION.md` Step 7 (commit `dea8eea0`); rollback recipe in `docker/ROLLBACK.md` (WP-0.7.2).
|
|
56
|
+
- **FR-10 skill**: bumped to **v1.4.0** in `WHO-project/vds-skills/skills/infrastructure-evolution-skill/SKILL.md` (Three-tier compose Quick Start; `up-*` for Tier 2 long-running, `run-* ARGS=...` for Tier 3 CLI). Registered in `WHO-project/vds-skills/registry.yaml`.
|
|
57
|
+
- **AGENTS sync**: `WHO-project/vds-scripts/AGENTS.md` line 68 has the Containerization Policy table (Host-only / Container-eligible / Hybrid).
|
|
58
|
+
- **Legacy ports**: `rg "5434|6380"` returns zero matches outside `docs/legacy/` and `docs/memory-archive/` (cross-surface alignment audit, v2.10.2).
|
|
File without changes
|
package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/smoke-20260427T024137Z-b95b586b.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"passed": false,
|
|
3
|
+
"git_sha": "b95b586b",
|
|
4
|
+
"timestamp": "20260427T024137Z",
|
|
5
|
+
"target": "live",
|
|
6
|
+
"steps": [
|
|
7
|
+
{
|
|
8
|
+
"command": "make build-cli",
|
|
9
|
+
"exit_code": 2,
|
|
10
|
+
"duration_s": 246.527,
|
|
11
|
+
"stdout": ".12-2 [17.1 kB]\n85.63 Get:39 http://deb.debian.org/debian trixie/main arm64 unixodbc-common all 2.3.12-2 [8640 B]\n85.68 Get:40 http://deb.debian.org/debian trixie/main arm64 libodbcinst2 arm64 2.3.12-2 [36.8 kB]\n85.75 Get:41 http://deb.debian.org/debian trixie/main arm64 libpq5 arm64 17.9-0+deb13u1 [222 kB]\n86.24 Get:42 http://deb.debian.org/debian-security trixie-security/main arm64 libssl-dev arm64 3.5.5-1~deb13u2 [3388 kB]\n223.9 \n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:11 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:12 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:13 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:14 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:15 --:--:-- 0\n 0 0 0 0 0 0 0 0 --:--:-- 0:00:16 --:--:-- 0\n239.9 curl: (35) TLS connect error: error:0A000126:SSL routines::unexpected eof while reading\n239.9 gpg: no valid OpenPGP data found.\n------\n",
|
|
12
|
+
"stderr": " Image vds-mcp-server:latest Building \n Image vds-progress:1.0.0 Building \n Image vds-audit:1.0.0 Building \n Image vds-progress:1.0.0 Building \n Image vds-db-query:1.0.0 Building \n Image vds-audit:1.0.0 Building \n Image vds-cli:latest Building \n Image vds-pdf:1.0.0 Building \ntarget db-query-orchestrator: failed to solve: process \"/bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl gnupg unixodbc unixodbc-dev libpq-dev && curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg && echo \\\"deb [signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/debian/12/prod bookworm main\\\" > /etc/apt/sources.list.d/mssql.list && apt-get update && apt-get install -y --no-install-recommends msodbcsql18 && rm -rf /var/lib/apt/lists/*\" did not complete successfully: exit code: 2\n\nmake: *** [build-cli] Error 1\n"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Alembic + Runtime Advisory-Lock Pre-flight Evidence (TSK-8.0.2)
|
|
2
|
+
|
|
3
|
+
**Date**: 2026-04-27
|
|
4
|
+
**Purpose**: Verify advisory-lock semantics for both alembic migrations and `audit_orchestrator` runtime code under the v2.15.3 PgBouncer topology. **Scope was broadened during pre-flight to include runtime advisory-lock usage in service code** (not in original WP-8.0.2 scope but surfaced naturally during pre-flight).
|
|
5
|
+
|
|
6
|
+
## Verdict
|
|
7
|
+
|
|
8
|
+
✅ **Both alembic's transaction-scoped locks AND audit_orchestrator's session-scoped locks are preserved natively under v2.15.3 session-mode topology — no per-service routing exceptions needed.**
|
|
9
|
+
|
|
10
|
+
## Evidence
|
|
11
|
+
|
|
12
|
+
### Alembic version pin
|
|
13
|
+
|
|
14
|
+
`uv.lock` confirms `alembic==1.18.4`.
|
|
15
|
+
|
|
16
|
+
### Advisory locks in our alembic migrations
|
|
17
|
+
|
|
18
|
+
| File | Line | Statement | Lock variant |
|
|
19
|
+
|---|---|---|---|
|
|
20
|
+
| `audit_orchestrator/alembic/versions/0001_initial_audit_state_schema.py` | 1124 | `SELECT pg_try_advisory_xact_lock(v_lock_key) INTO v_acquired;` | **transaction-scoped** |
|
|
21
|
+
| `audit_orchestrator/alembic/versions/0001_initial_audit_state_schema.py` | 1158 | `SELECT pg_try_advisory_xact_lock(v_lock_key) INTO v_acquired;` | **transaction-scoped** |
|
|
22
|
+
|
|
23
|
+
These are released automatically at `COMMIT`/`ROLLBACK`. Alembic 1.18.4 itself does NOT take any session-scoped locks during normal `upgrade head`.
|
|
24
|
+
|
|
25
|
+
### Advisory locks in audit_orchestrator runtime code
|
|
26
|
+
|
|
27
|
+
| File | Line | Statement | Lock variant |
|
|
28
|
+
|---|---|---|---|
|
|
29
|
+
| `audit_orchestrator/src/vds_audit_orchestrator/state/store.py` | 5265 | `SELECT pg_try_advisory_lock(hashtext(%s)) AS acquired` | **session-scoped** |
|
|
30
|
+
| `audit_orchestrator/src/vds_audit_orchestrator/state/store.py` | 5279 | `SELECT pg_advisory_unlock(hashtext(%s)) AS released` | **session-scoped** |
|
|
31
|
+
|
|
32
|
+
These wrap the `acquire_corpus_session_lock(...)` API at line 5285, used to coordinate corpus-refresh sessions across **multiple transactions** with a `stale_threshold_minutes=10` timeout window. The lock is held while the refresh is in flight.
|
|
33
|
+
|
|
34
|
+
The docstring at line 5229 incorrectly states "Uses non-blocking pg_try_advisory_xact_lock with retry loop" — but the actual SQL is `pg_try_advisory_lock` (without `_xact`). This is a documentation drift (orthogonal to P8 — could file a separate fix).
|
|
35
|
+
|
|
36
|
+
## v2.15.3 resolution
|
|
37
|
+
|
|
38
|
+
PgBouncer session-mode topology (per `topology-decision-session-mode.md`) preserves both alembic's transaction-scoped locks AND audit_orchestrator's session-scoped locks natively — no per-service routing exceptions needed. A single `VDS_<SVC>_DSN` per service routes through `vds-pgbouncer:6432`; the 1:1 client:backend binding holds the backend across COMMIT boundaries, so `pg_advisory_lock` / `pg_advisory_unlock` semantics survive end-to-end through the pooler.
|
|
39
|
+
|
|
40
|
+
## References
|
|
41
|
+
|
|
42
|
+
- Spec: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-13 topology table
|
|
43
|
+
- Topology decision: `topology-decision-session-mode.md`
|
|
44
|
+
- Code: `audit_orchestrator/src/vds_audit_orchestrator/state/store.py:5260-5300`
|
|
45
|
+
- Issue surfaced: 2026-04-27 P8 Wave 1 pre-flight; not present in earlier 4-lane validation audit (which scoped advisory-lock check to alembic migrations only).
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# DBOS LISTEN/NOTIFY Pre-flight Evidence (TSK-8.0.1)
|
|
2
|
+
|
|
3
|
+
**Date**: 2026-04-27
|
|
4
|
+
**Purpose**: Verify that `scheduler_orchestrator` (DBOS) LISTEN/NOTIFY usage is preserved under the v2.15.3 PgBouncer topology.
|
|
5
|
+
|
|
6
|
+
## Verdict
|
|
7
|
+
|
|
8
|
+
✅ **Scheduler routes through PgBouncer in session mode; LISTEN/NOTIFY works natively; no per-service exception needed.**
|
|
9
|
+
|
|
10
|
+
Session-mode pooling preserves LISTEN/NOTIFY across the COMMIT boundary because it is 1:1 client:backend — the backend stays held for the lifetime of the client's connection. Scheduler routes via `VDS_SCHEDULER_DATABASE_URL=postgresql://postgres:.../vds-pgbouncer:6432/vds_sched` — single uniform DSN, same as every other service.
|
|
11
|
+
|
|
12
|
+
## Evidence
|
|
13
|
+
|
|
14
|
+
### DBOS dependency pin
|
|
15
|
+
|
|
16
|
+
`scheduler_orchestrator/pyproject.toml`: `dbos>=2.19.0,<3` (verified via `uv.lock`).
|
|
17
|
+
|
|
18
|
+
### Active LISTEN/NOTIFY usage in scheduler_orchestrator
|
|
19
|
+
|
|
20
|
+
DBOS isn't *just configured* with `use_listen_notify=True` (the default) — the code actively uses Postgres LISTEN/NOTIFY for the event bus + chain triggers + dispatcher loop. Not theoretical, observed:
|
|
21
|
+
|
|
22
|
+
| File | Line | Usage |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| `src/vds_scheduler_orchestrator/app.py` | 313 | `WS /api/v1/events/stream — live push via Postgres LISTEN/NOTIFY` |
|
|
25
|
+
| `src/vds_scheduler_orchestrator/cli.py` | 779 | `pushes events in real time via Postgres LISTEN/NOTIFY. Replaces polling` |
|
|
26
|
+
| `chains/triggers.py` | 395, 546, 554 | Dispatcher LISTEN loop is the core trigger mechanism |
|
|
27
|
+
| `db/models.py` | 93 | `fires pg_notify('event_bus', event_id::text). The dispatcher's LISTEN loop` |
|
|
28
|
+
| `events/bus.py` | 6 | `TSK-3.2: subscribe() — LISTEN loop and handler registry` |
|
|
29
|
+
| `events/dispatcher.py` | (15 matches) | LISTEN loop implementation |
|
|
30
|
+
|
|
31
|
+
### DBOSConfig snippet (app.py ~135-145)
|
|
32
|
+
|
|
33
|
+
```python
|
|
34
|
+
dbos_cfg: DBOSConfig = {
|
|
35
|
+
"name": "vds-scheduler-orchestrator",
|
|
36
|
+
# DBOS uses this as both system and application database.
|
|
37
|
+
# system_database_url → where dbos.* system tables live.
|
|
38
|
+
"system_database_url": cfg.vds_scheduler_database_url,
|
|
39
|
+
# application_version from DBOS_APP_VERSION env var (deploy-time) — ADR-7
|
|
40
|
+
"application_version": cfg.dbos_app_version,
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Note**: the config sets *only* `system_database_url`; `application_database_url` is left unset and inherits the system URL per DBOS defaults. Spec `design.md §9.5` is consistent with this minimal-config shape.
|
|
45
|
+
|
|
46
|
+
## Conclusion
|
|
47
|
+
|
|
48
|
+
`scheduler_orchestrator` connects through PgBouncer at `vds-pgbouncer:6432/vds_sched` in **session mode**. LISTEN/NOTIFY works correctly because session-mode pooling holds the backend per-client for the lifetime of the connection — no premature COMMIT-time release. Single uniform DSN; no per-service exception list. See `topology-decision-session-mode.md` for the full v2.15.3 resolution rationale.
|
|
49
|
+
|
|
50
|
+
## References
|
|
51
|
+
|
|
52
|
+
- DBOS docs: https://docs.dbos.dev/python/tutorials/database-connection (states "session mode, not in transaction mode")
|
|
53
|
+
- PgBouncer issue: https://github.com/pgbouncer/pgbouncer/issues/655 (LISTEN in tx mode — open)
|
|
54
|
+
- Spec: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-13 topology table
|