@ngocsangairvds/vsaf 4.0.6 → 4.0.8

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.
Files changed (1076) hide show
  1. package/README.md +7 -5
  2. package/package.json +2 -2
  3. package/packages/cli/dist/commands/init.d.ts.map +1 -1
  4. package/packages/cli/dist/commands/init.js +25 -14
  5. package/packages/cli/dist/commands/init.js.map +1 -1
  6. package/packages/cli/dist/commands/install.js +1 -1
  7. package/packages/cli/dist/commands/install.js.map +1 -1
  8. package/packages/cli/dist/commands/skill.js +8 -8
  9. package/packages/cli/dist/commands/skill.js.map +1 -1
  10. package/packages/core/dist/skills/skill-loader.d.ts.map +1 -1
  11. package/packages/core/dist/skills/skill-loader.js +9 -4
  12. package/packages/core/dist/skills/skill-loader.js.map +1 -1
  13. package/skills/sdlc/architecture/SKILL.md +22 -8
  14. package/skills/sdlc/bmad-checkpoint-preview/SKILL.md +29 -0
  15. package/skills/sdlc/bmad-checkpoint-preview/generate-trail.md +38 -0
  16. package/skills/sdlc/bmad-checkpoint-preview/step-01-orientation.md +105 -0
  17. package/skills/sdlc/bmad-checkpoint-preview/step-02-walkthrough.md +89 -0
  18. package/skills/sdlc/bmad-checkpoint-preview/step-03-detail-pass.md +106 -0
  19. package/skills/sdlc/bmad-checkpoint-preview/step-04-testing.md +74 -0
  20. package/skills/sdlc/bmad-checkpoint-preview/step-05-wrapup.md +24 -0
  21. package/skills/sdlc/bmad-correct-course/SKILL.md +6 -0
  22. package/skills/sdlc/bmad-correct-course/checklist.md +288 -0
  23. package/skills/sdlc/bmad-correct-course/workflow.md +267 -0
  24. package/skills/sdlc/discovery/SKILL.md +2 -2
  25. package/skills/sdlc/pack.yaml +3 -1
  26. package/skills/sdlc/prd/SKILL.md +20 -5
  27. package/skills/sdlc/review/SKILL.md +9 -5
  28. package/skills/sdlc/sdlc-health/SKILL.md +5 -3
  29. package/skills/sdlc/setup/SKILL.md +1 -1
  30. package/skills/sdlc/srs/SKILL.md +7 -6
  31. package/skills/sdlc/test-design/SKILL.md +10 -6
  32. package/skills/sdlc/workflows/hotfix-tdd.yaml +2 -2
  33. package/skills/sdlc/workflows/hotfix.yaml +5 -5
  34. package/skills/sdlc/workflows/master-sdlc.yaml +9 -9
  35. package/skills/sdlc/workflows/onboarding.yaml +2 -2
  36. package/skills/sdlc/workflows/sdlc-build.yaml +1 -1
  37. package/skills/sdlc/workflows/sdlc-design.yaml +2 -2
  38. package/skills/sdlc/workflows/sdlc-qa.yaml +3 -3
  39. package/skills/sdlc/workflows/sdlc-testcase.yaml +1 -1
  40. package/skills/sdlc/workflows/sdlc-thinking.yaml +2 -2
  41. package/skills/vds-skill/install-deps.mjs +20 -4
  42. package/skills/vds-skill/vds-scripts/.claude/phase7-CLOSURE.md +100 -0
  43. package/skills/vds-skill/vds-scripts/.dockerignore +62 -0
  44. package/skills/vds-skill/vds-scripts/.github/ISSUE_TEMPLATE/cli-change.md +92 -0
  45. package/skills/vds-skill/vds-scripts/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +48 -0
  46. package/skills/vds-skill/vds-scripts/.github/workflows/chaos-smoke.yml +266 -0
  47. package/skills/vds-skill/vds-scripts/.github/workflows/confluence-sync.yml +44 -0
  48. package/skills/vds-skill/vds-scripts/.github/workflows/docs-confluence-evidence.yml +170 -0
  49. package/skills/vds-skill/vds-scripts/.github/workflows/docs-quality.yml +59 -0
  50. package/skills/vds-skill/vds-scripts/.github/workflows/lint-and-test.yml +90 -0
  51. package/skills/vds-skill/vds-scripts/.github/workflows/scheduler-load-smoke.yml +104 -0
  52. package/skills/vds-skill/vds-scripts/.github/workflows/telegram-bridge-ci.yml +131 -0
  53. package/skills/vds-skill/vds-scripts/.graphifyignore +29 -0
  54. package/skills/vds-skill/vds-scripts/.importlinter +86 -0
  55. package/skills/vds-skill/vds-scripts/.mcp.json +11 -0
  56. package/skills/vds-skill/vds-scripts/.pre-commit-config.yaml +62 -0
  57. package/skills/vds-skill/vds-scripts/.ruffignore +3 -0
  58. package/skills/vds-skill/vds-scripts/.secrets.baseline +133 -0
  59. package/skills/vds-skill/vds-scripts/AGENTS.md +250 -0
  60. package/skills/vds-skill/vds-scripts/AGENTS.vi.md +92 -0
  61. package/skills/vds-skill/vds-scripts/ECOSYSTEM-CHANGELOG.md +52 -0
  62. package/skills/vds-skill/vds-scripts/ECOSYSTEM-DOCS.md +602 -0
  63. package/skills/vds-skill/vds-scripts/ECOSYSTEM_ALIGNMENT.md +133 -0
  64. package/skills/vds-skill/vds-scripts/Makefile +119 -0
  65. package/skills/vds-skill/vds-scripts/README.md +103 -0
  66. package/skills/vds-skill/vds-scripts/bitbucket_manifest_mapping.toml +34 -0
  67. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/ARCHITECTURE_ANALYSIS.md +258 -0
  68. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/BITBUCKET_API_PRACTICES.md +393 -0
  69. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/EVALUATION_REPORT.md +61 -0
  70. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/FEATURES.md +908 -0
  71. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/README.md +817 -0
  72. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/pyproject.toml +49 -0
  73. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/__init__.py +50 -0
  74. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/async_client.py +641 -0
  75. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/cli.py +2271 -0
  76. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/client.py +2693 -0
  77. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/config.py +186 -0
  78. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/errors.py +34 -0
  79. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/factory.py +185 -0
  80. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/parsers.py +113 -0
  81. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/protocols.py +244 -0
  82. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/repo_ops.py +325 -0
  83. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/__init__.py +8 -0
  84. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/conftest.py +65 -0
  85. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_advanced_search.py +155 -0
  86. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_async_client.py +505 -0
  87. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_branch_permissions.py +172 -0
  88. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli.py +113 -0
  89. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli_archive.py +122 -0
  90. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli_clone.py +131 -0
  91. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client.py +207 -0
  92. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_archive.py +73 -0
  93. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_branch_conditions.py +101 -0
  94. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_code_advanced.py +180 -0
  95. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_code_file.py +33 -0
  96. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_deployment_environments.py +193 -0
  97. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_issues.py +163 -0
  98. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_pipelines_advanced.py +171 -0
  99. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_pr_blockers.py +118 -0
  100. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_repository_variables.py +155 -0
  101. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code.py +98 -0
  102. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code_advanced.py +279 -0
  103. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code_insights.py +334 -0
  104. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_conditions.py +149 -0
  105. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_config.py +297 -0
  106. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_deployment_env.py +352 -0
  107. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_errors.py +67 -0
  108. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_factory.py +352 -0
  109. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_fork_operations.py +203 -0
  110. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_issue_cli.py +262 -0
  111. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_pipeline_advanced.py +265 -0
  112. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_pr_blocker.py +206 -0
  113. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_protocols.py +336 -0
  114. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_archive.py +169 -0
  115. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_clone.py +115 -0
  116. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_parsing.py +149 -0
  117. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_settings.py +336 -0
  118. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_variables.py +266 -0
  119. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_webhooks.py +188 -0
  120. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_workspace.py +234 -0
  121. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/unit/__init__.py +0 -0
  122. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/unit/test_parsers.py +254 -0
  123. package/skills/vds-skill/vds-scripts/brd_orchestrator/README.md +29 -0
  124. package/skills/vds-skill/vds-scripts/brd_orchestrator/pyproject.toml +63 -0
  125. package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/__init__.py +17 -0
  126. package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/cli.py +187 -0
  127. package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/validator.py +121 -0
  128. package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/__init__.py +0 -0
  129. package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/test_cli.py +62 -0
  130. package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/test_validator.py +33 -0
  131. package/skills/vds-skill/vds-scripts/code/code_evidence_pack.json +435 -0
  132. package/skills/vds-skill/vds-scripts/confluence_orchestrator/Dockerfile +19 -0
  133. package/skills/vds-skill/vds-scripts/confluence_orchestrator/README.md +479 -0
  134. package/skills/vds-skill/vds-scripts/confluence_orchestrator/SYNC_SCRIPTS.md +127 -0
  135. package/skills/vds-skill/vds-scripts/confluence_orchestrator/SYNC_STANDARDIZATION.md +108 -0
  136. package/skills/vds-skill/vds-scripts/confluence_orchestrator/pyproject.toml +50 -0
  137. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/__init__.py +56 -0
  138. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/async_client.py +100 -0
  139. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/cli.py +3160 -0
  140. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/config.py +215 -0
  141. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content.py +368 -0
  142. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content_v2.py +144 -0
  143. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/crawl_tree.py +1833 -0
  144. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/errors.py +44 -0
  145. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/eventing.py +111 -0
  146. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/http.py +1850 -0
  147. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/orchestration.py +166 -0
  148. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/protocols.py +61 -0
  149. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/reporting.py +78 -0
  150. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree.py +122 -0
  151. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree_copier.py +431 -0
  152. package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_pdfs_from_markdown.py +203 -0
  153. package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_pdfs_to_confluence.py +299 -0
  154. package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_png_attachments.py +299 -0
  155. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/conftest.py +46 -0
  156. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_advanced_content.py +252 -0
  157. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_advanced_search.py +193 -0
  158. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_async_client.py +104 -0
  159. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_cache_management.py +246 -0
  160. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_cli.py +716 -0
  161. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_config.py +130 -0
  162. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content.py +192 -0
  163. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content_flags.py +27 -0
  164. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content_labels.py +94 -0
  165. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_crawl_tree.py +2252 -0
  166. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_degraded_write_safety.py +176 -0
  167. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_draft_management.py +225 -0
  168. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_errors.py +75 -0
  169. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing.py +73 -0
  170. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_chaos.py +37 -0
  171. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_rate_limit.py +44 -0
  172. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_timeout.py +49 -0
  173. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_export.py +231 -0
  174. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_history.py +217 -0
  175. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_http.py +375 -0
  176. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_orchestration.py +93 -0
  177. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_reporting.py +24 -0
  178. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_search_cql.py +36 -0
  179. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_space_management.py +236 -0
  180. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_space_permissions.py +384 -0
  181. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_tree_copier.py +644 -0
  182. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_tree_copier_remap.py +289 -0
  183. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_user_group_management.py +387 -0
  184. package/skills/vds-skill/vds-scripts/diagram_generator/README.md +663 -0
  185. package/skills/vds-skill/vds-scripts/diagram_generator/ci_validate.sh +16 -0
  186. 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
  187. 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
  188. 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
  189. 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
  190. 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
  191. 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
  192. package/skills/vds-skill/vds-scripts/diagram_generator/examples/github-actions-validate.yml +39 -0
  193. package/skills/vds-skill/vds-scripts/diagram_generator/generate_all_diagrams.py +827 -0
  194. package/skills/vds-skill/vds-scripts/diagram_generator/generate_insurance_c4_diagrams.py +261 -0
  195. package/skills/vds-skill/vds-scripts/diagram_generator/generate_insurance_c4_quick.py +486 -0
  196. package/skills/vds-skill/vds-scripts/diagram_generator/pyproject.toml +28 -0
  197. package/skills/vds-skill/vds-scripts/diagram_generator/render_png.py +59 -0
  198. package/skills/vds-skill/vds-scripts/diagram_generator/src/vds_diagram_generator/__init__.py +3 -0
  199. package/skills/vds-skill/vds-scripts/diagram_generator/src/vds_diagram_generator/cli.py +50 -0
  200. package/skills/vds-skill/vds-scripts/diagram_generator/test_c4_hierarchical.py +142 -0
  201. package/skills/vds-skill/vds-scripts/diagram_generator/test_c4_quick.py +131 -0
  202. package/skills/vds-skill/vds-scripts/diagram_generator/tests/__init__.py +0 -0
  203. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_analyzer_completeness.py +260 -0
  204. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_c4_syntax_correctness.py +138 -0
  205. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_component_coverage.py +182 -0
  206. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_mermaid_output.py +80 -0
  207. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_png_generation.py +112 -0
  208. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_scenario_templates.py +15 -0
  209. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_sequence_accuracy.py +93 -0
  210. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_structurizr_export.py +177 -0
  211. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_style_consistency.py +174 -0
  212. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_usecase_generator.py +201 -0
  213. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_usecase_integration.py +124 -0
  214. package/skills/vds-skill/vds-scripts/docker/.dockerignore +38 -0
  215. package/skills/vds-skill/vds-scripts/docker/ADR.md +392 -0
  216. package/skills/vds-skill/vds-scripts/docker/Dockerfile +68 -0
  217. package/skills/vds-skill/vds-scripts/docker/MIGRATION.md +453 -0
  218. package/skills/vds-skill/vds-scripts/docker/README.md +347 -0
  219. package/skills/vds-skill/vds-scripts/docker/ROLLBACK.md +596 -0
  220. package/skills/vds-skill/vds-scripts/docker/compose.phase2-verification.yml +31 -0
  221. package/skills/vds-skill/vds-scripts/docker/docker-compose.cli.yml +206 -0
  222. package/skills/vds-skill/vds-scripts/docker/docker-compose.infra.yml +276 -0
  223. package/skills/vds-skill/vds-scripts/docker/docker-compose.services.yml +425 -0
  224. package/skills/vds-skill/vds-scripts/docker/infrastructure/init-schemas.sql +177 -0
  225. package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/pgbouncer.ini +75 -0
  226. package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/userlist.txt +50 -0
  227. package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/userlist.txt.template +36 -0
  228. package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/.gitkeep +0 -0
  229. package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/PREFLIGHT.md +132 -0
  230. package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/README.md +84 -0
  231. package/skills/vds-skill/vds-scripts/docs/.confluence.yaml +157 -0
  232. package/skills/vds-skill/vds-scripts/docs/.freshness.yaml +54 -0
  233. package/skills/vds-skill/vds-scripts/docs/README.md +235 -0
  234. package/skills/vds-skill/vds-scripts/docs/agents/README.md +33 -0
  235. package/skills/vds-skill/vds-scripts/docs/agents/explanation/data-flow.md +132 -0
  236. package/skills/vds-skill/vds-scripts/docs/agents/explanation/development-roadmap.md +49 -0
  237. package/skills/vds-skill/vds-scripts/docs/agents/explanation/features-overview.md +62 -0
  238. package/skills/vds-skill/vds-scripts/docs/agents/explanation/index.md +36 -0
  239. package/skills/vds-skill/vds-scripts/docs/agents/explanation/runtime-verification-and-gap-reporting.md +127 -0
  240. package/skills/vds-skill/vds-scripts/docs/agents/explanation/system-architecture.md +139 -0
  241. package/skills/vds-skill/vds-scripts/docs/agents/explanation/whats-new.md +75 -0
  242. package/skills/vds-skill/vds-scripts/docs/agents/explanation/who-ecosystem-introduction.md +65 -0
  243. package/skills/vds-skill/vds-scripts/docs/agents/explanation/who-ecosystem-model.md +41 -0
  244. package/skills/vds-skill/vds-scripts/docs/agents/how-to/02-using-vds-ai-memory.md +98 -0
  245. package/skills/vds-skill/vds-scripts/docs/agents/how-to/03-memory-cross-agent.md +241 -0
  246. package/skills/vds-skill/vds-scripts/docs/agents/how-to/04-using-progress-reports.md +240 -0
  247. package/skills/vds-skill/vds-scripts/docs/agents/how-to/08-semantic-search.md +46 -0
  248. package/skills/vds-skill/vds-scripts/docs/agents/how-to/apply-phase3-migration.md +148 -0
  249. package/skills/vds-skill/vds-scripts/docs/agents/how-to/choose-the-right-command-or-skill.md +34 -0
  250. package/skills/vds-skill/vds-scripts/docs/agents/how-to/contribute-new-orchestrator.md +149 -0
  251. package/skills/vds-skill/vds-scripts/docs/agents/how-to/decision-tree.md +63 -0
  252. package/skills/vds-skill/vds-scripts/docs/agents/how-to/first-audit-run.md +83 -0
  253. package/skills/vds-skill/vds-scripts/docs/agents/how-to/index.md +49 -0
  254. package/skills/vds-skill/vds-scripts/docs/agents/how-to/install-and-bootstrap-who-scripts-and-skills.md +314 -0
  255. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/analytics-pipeline-workflow.md +165 -0
  256. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/code-quality-gate-workflow.md +138 -0
  257. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/confluence-bitbucket-sync-workflow.md +130 -0
  258. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/document-delivery-workflow.md +142 -0
  259. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/memory-progress-workflow.md +140 -0
  260. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/research-spec-audit-workflow.md +135 -0
  261. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-all-project-preparation.md +211 -0
  262. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-bounded-parallel-analysis.md +123 -0
  263. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-confluence-upload-recovery.md +204 -0
  264. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase132-department-preparation.md +144 -0
  265. package/skills/vds-skill/vds-scripts/docs/agents/how-to/run-ecosystem-daily-report.md +213 -0
  266. package/skills/vds-skill/vds-scripts/docs/agents/how-to/tips-and-tricks.md +138 -0
  267. package/skills/vds-skill/vds-scripts/docs/agents/how-to/troubleshooting-guide.md +221 -0
  268. package/skills/vds-skill/vds-scripts/docs/agents/reference/agent-operational-contract.md +162 -0
  269. package/skills/vds-skill/vds-scripts/docs/agents/reference/alignment-phase179-report.md +144 -0
  270. package/skills/vds-skill/vds-scripts/docs/agents/reference/audit-triage-playbook.md +256 -0
  271. package/skills/vds-skill/vds-scripts/docs/agents/reference/backup-restore.md +132 -0
  272. package/skills/vds-skill/vds-scripts/docs/agents/reference/bitbucket-orchestrator.md +56 -0
  273. package/skills/vds-skill/vds-scripts/docs/agents/reference/brd-orchestrator.md +52 -0
  274. package/skills/vds-skill/vds-scripts/docs/agents/reference/capability-coverage-review.md +51 -0
  275. package/skills/vds-skill/vds-scripts/docs/agents/reference/ci-workflows.md +98 -0
  276. package/skills/vds-skill/vds-scripts/docs/agents/reference/circular-dependency-orchestrator.md +55 -0
  277. package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-commands.md +583 -0
  278. package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-development-standards.md +41 -0
  279. package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-help-matrix.md +84 -0
  280. package/skills/vds-skill/vds-scripts/docs/agents/reference/common-errors.md +126 -0
  281. package/skills/vds-skill/vds-scripts/docs/agents/reference/configuration-reference.md +128 -0
  282. package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-orchestrator.md +56 -0
  283. package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-sync-target.md +111 -0
  284. package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-sync.md +46 -0
  285. package/skills/vds-skill/vds-scripts/docs/agents/reference/db-query-orchestrator.md +93 -0
  286. package/skills/vds-skill/vds-scripts/docs/agents/reference/diagrams-orchestrator.md +52 -0
  287. package/skills/vds-skill/vds-scripts/docs/agents/reference/ecosystem-daily-report.md +229 -0
  288. package/skills/vds-skill/vds-scripts/docs/agents/reference/elastic-orchestrator.md +57 -0
  289. package/skills/vds-skill/vds-scripts/docs/agents/reference/env-git-helper.md +216 -0
  290. package/skills/vds-skill/vds-scripts/docs/agents/reference/evolution-orchestrator.md +113 -0
  291. package/skills/vds-skill/vds-scripts/docs/agents/reference/excel-orchestrator.md +51 -0
  292. package/skills/vds-skill/vds-scripts/docs/agents/reference/git-orchestrator.md +62 -0
  293. package/skills/vds-skill/vds-scripts/docs/agents/reference/google-sheets-orchestrator.md +51 -0
  294. package/skills/vds-skill/vds-scripts/docs/agents/reference/grafana-orchestrator.md +52 -0
  295. package/skills/vds-skill/vds-scripts/docs/agents/reference/hexagonal-orchestrator.md +64 -0
  296. package/skills/vds-skill/vds-scripts/docs/agents/reference/index.md +36 -0
  297. package/skills/vds-skill/vds-scripts/docs/agents/reference/infrastructure-v2.15.md +67 -0
  298. package/skills/vds-skill/vds-scripts/docs/agents/reference/intellij-orchestrator.md +50 -0
  299. package/skills/vds-skill/vds-scripts/docs/agents/reference/jira-orchestrator.md +60 -0
  300. package/skills/vds-skill/vds-scripts/docs/agents/reference/links-orchestrator.md +57 -0
  301. package/skills/vds-skill/vds-scripts/docs/agents/reference/lint-cli.md +99 -0
  302. package/skills/vds-skill/vds-scripts/docs/agents/reference/lsp-orchestrator.md +51 -0
  303. package/skills/vds-skill/vds-scripts/docs/agents/reference/markdown-orchestrator.md +53 -0
  304. package/skills/vds-skill/vds-scripts/docs/agents/reference/mcp-orchestrator.md +88 -0
  305. package/skills/vds-skill/vds-scripts/docs/agents/reference/memory-orchestrator.md +53 -0
  306. package/skills/vds-skill/vds-scripts/docs/agents/reference/metabase-orchestrator.md +51 -0
  307. package/skills/vds-skill/vds-scripts/docs/agents/reference/migration-playbook.md +71 -0
  308. package/skills/vds-skill/vds-scripts/docs/agents/reference/multi-agent-orchestrator.md +52 -0
  309. package/skills/vds-skill/vds-scripts/docs/agents/reference/openapi-orchestrator.md +57 -0
  310. package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-architecture.md +194 -0
  311. package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-comparison-matrix.md +79 -0
  312. package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-index.md +73 -0
  313. package/skills/vds-skill/vds-scripts/docs/agents/reference/pdf-orchestrator.md +57 -0
  314. package/skills/vds-skill/vds-scripts/docs/agents/reference/portable-paths-and-config.md +0 -0
  315. package/skills/vds-skill/vds-scripts/docs/agents/reference/portable-paths-validation-matrix.md +129 -0
  316. package/skills/vds-skill/vds-scripts/docs/agents/reference/progress-orchestrator.md +51 -0
  317. package/skills/vds-skill/vds-scripts/docs/agents/reference/progress-report-cli.md +215 -0
  318. package/skills/vds-skill/vds-scripts/docs/agents/reference/public-interface-orchestrator.md +73 -0
  319. package/skills/vds-skill/vds-scripts/docs/agents/reference/research-orchestrator.md +53 -0
  320. package/skills/vds-skill/vds-scripts/docs/agents/reference/schema-orchestrator.md +57 -0
  321. package/skills/vds-skill/vds-scripts/docs/agents/reference/search-tools.md +34 -0
  322. package/skills/vds-skill/vds-scripts/docs/agents/reference/skills-commands.md +256 -0
  323. package/skills/vds-skill/vds-scripts/docs/agents/reference/skills-reference.md +32 -0
  324. package/skills/vds-skill/vds-scripts/docs/agents/reference/sonarqube-orchestrator.md +62 -0
  325. package/skills/vds-skill/vds-scripts/docs/agents/reference/spec-orchestrator.md +56 -0
  326. package/skills/vds-skill/vds-scripts/docs/agents/reference/structure-orchestrator.md +69 -0
  327. package/skills/vds-skill/vds-scripts/docs/agents/reference/system-requirements.md +76 -0
  328. package/skills/vds-skill/vds-scripts/docs/agents/reference/tasks-orchestrator.md +53 -0
  329. package/skills/vds-skill/vds-scripts/docs/agents/reference/validation-and-sync-notes.md +54 -0
  330. package/skills/vds-skill/vds-scripts/docs/agents/reference/vds-ai-memory-api.md +51 -0
  331. package/skills/vds-skill/vds-scripts/docs/agents/reference/vds-cli-reference.md +34 -0
  332. package/skills/vds-skill/vds-scripts/docs/agents/reference/who-capability-inventory.md +96 -0
  333. package/skills/vds-skill/vds-scripts/docs/agents/reference/who-capability-routing-matrix.md +14 -0
  334. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/feature-progression-guide.md +112 -0
  335. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/index.md +36 -0
  336. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/quick-start.md +50 -0
  337. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/who-skills-and-scripts-onboarding.md +47 -0
  338. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/zero-to-productive-developer.md +339 -0
  339. package/skills/vds-skill/vds-scripts/docs/confluence/IMPLEMENTATION-SUMMARY.md +78 -0
  340. package/skills/vds-skill/vds-scripts/docs/confluence/SYNC-GUIDE.md +47 -0
  341. package/skills/vds-skill/vds-scripts/docs/deployment/offline-docker-image-load.md +59 -0
  342. package/skills/vds-skill/vds-scripts/docs/evolution-auto-run-rollout.md +325 -0
  343. package/skills/vds-skill/vds-scripts/docs/evolution-loop-deep-integration.md +496 -0
  344. package/skills/vds-skill/vds-scripts/docs/evolution-loop-integration-guide.md +359 -0
  345. package/skills/vds-skill/vds-scripts/docs/openspace-schema-snapshot.md +73 -0
  346. package/skills/vds-skill/vds-scripts/docs/operations/sla-mttr-policy.md +44 -0
  347. package/skills/vds-skill/vds-scripts/docs/p0-closure-evidence/SUMMARY.md +58 -0
  348. package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/.gitkeep +0 -0
  349. package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/smoke-20260427T024137Z-b95b586b.json +15 -0
  350. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/alembic-and-runtime-advisory-locks.md +45 -0
  351. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/dbos-listen-notify.md +54 -0
  352. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/pgbouncer-search-path-empirical.md +110 -0
  353. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/pgvector-set-local-audit.md +51 -0
  354. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/topology-decision-session-mode.md +57 -0
  355. package/skills/vds-skill/vds-scripts/docs/phases/CHANGELOG.md +103 -0
  356. package/skills/vds-skill/vds-scripts/docs/phases/PHASE_125_COMPLETION_AND_MERGE.md +212 -0
  357. package/skills/vds-skill/vds-scripts/docs/phases/phase125/IMPLEMENTATION_REPORT.md +227 -0
  358. package/skills/vds-skill/vds-scripts/docs/phases/phase125/TSK-125.10-11-implementation-summary.md +196 -0
  359. package/skills/vds-skill/vds-scripts/docs/phases/phase125/profile-patch-ollama-local-anthropic.md +122 -0
  360. package/skills/vds-skill/vds-scripts/docs/phases/phase125_completion_summary.md +369 -0
  361. package/skills/vds-skill/vds-scripts/docs/phases/phase125_llm_analysis_skill.md +164 -0
  362. package/skills/vds-skill/vds-scripts/docs/phases/phase125_merge_complete.md +147 -0
  363. package/skills/vds-skill/vds-scripts/docs/phases/phase125_skill_runtime_closure_20260321.md +91 -0
  364. package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/closure-handoff-summary-2026-03-23.md +290 -0
  365. package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/remaining-risk-register-2026-03-25.md +143 -0
  366. package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/verification-evidence-2026-03-23.md +135 -0
  367. package/skills/vds-skill/vds-scripts/docs/v0-sunset-known-issues.md +88 -0
  368. package/skills/vds-skill/vds-scripts/docs/vi/TRANSLATION-BACKLOG.md +72 -0
  369. package/skills/vds-skill/vds-scripts/docs/vi/agents/README.md +41 -0
  370. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/features-overview.md +29 -0
  371. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/index.md +14 -0
  372. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/runtime-verification-and-gap-reporting.md +129 -0
  373. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/whats-new.md +37 -0
  374. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/who-ecosystem-introduction.md +21 -0
  375. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/who-ecosystem-model.md +36 -0
  376. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/02-using-vds-ai-memory.md +100 -0
  377. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/03-memory-cross-agent.md +243 -0
  378. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/04-using-progress-reports.md +242 -0
  379. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/08-semantic-search.md +16 -0
  380. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/choose-the-right-command-or-skill.md +36 -0
  381. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/decision-tree.md +77 -0
  382. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/first-audit-run.md +85 -0
  383. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/index.md +21 -0
  384. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/install-and-bootstrap-who-scripts-and-skills.md +156 -0
  385. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/analytics-pipeline-workflow.md +174 -0
  386. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/code-quality-gate-workflow.md +147 -0
  387. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/confluence-bitbucket-sync-workflow.md +139 -0
  388. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/document-delivery-workflow.md +151 -0
  389. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/memory-progress-workflow.md +149 -0
  390. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/research-spec-audit-workflow.md +144 -0
  391. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-all-project-preparation.md +213 -0
  392. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-bounded-parallel-analysis.md +125 -0
  393. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-confluence-upload-recovery.md +206 -0
  394. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase132-department-preparation.md +146 -0
  395. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/tips-and-tricks.md +34 -0
  396. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/troubleshooting-guide.md +36 -0
  397. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/agent-operational-contract.md +98 -0
  398. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/audit-triage-playbook.md +258 -0
  399. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/bitbucket-orchestrator.md +30 -0
  400. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/brd-orchestrator.md +29 -0
  401. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/capability-coverage-review.md +46 -0
  402. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/circular-dependency-orchestrator.md +29 -0
  403. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-commands.md +409 -0
  404. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-development-standards.md +19 -0
  405. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-help-matrix.md +71 -0
  406. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/common-errors.md +133 -0
  407. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/configuration-reference.md +25 -0
  408. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/confluence-orchestrator.md +30 -0
  409. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/db-query-orchestrator.md +34 -0
  410. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/diagrams-orchestrator.md +31 -0
  411. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/elastic-orchestrator.md +30 -0
  412. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/evolution-orchestrator.md +31 -0
  413. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/excel-orchestrator.md +60 -0
  414. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/git-orchestrator.md +31 -0
  415. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/google-sheets-orchestrator.md +60 -0
  416. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/grafana-orchestrator.md +30 -0
  417. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/hexagonal-orchestrator.md +73 -0
  418. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/index.md +25 -0
  419. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/intellij-orchestrator.md +59 -0
  420. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/jira-orchestrator.md +32 -0
  421. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/links-orchestrator.md +66 -0
  422. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/lsp-orchestrator.md +60 -0
  423. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/markdown-orchestrator.md +62 -0
  424. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/mcp-orchestrator.md +34 -0
  425. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/memory-orchestrator.md +45 -0
  426. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/metabase-orchestrator.md +30 -0
  427. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/multi-agent-orchestrator.md +61 -0
  428. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/openapi-orchestrator.md +66 -0
  429. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/orchestrator-architecture.md +24 -0
  430. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/orchestrator-index.md +73 -0
  431. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/pdf-orchestrator.md +30 -0
  432. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/portable-paths-and-config.md +123 -0
  433. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/portable-paths-validation-matrix.md +131 -0
  434. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/progress-orchestrator.md +43 -0
  435. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/progress-report-cli.md +217 -0
  436. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/public-interface-orchestrator.md +82 -0
  437. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/research-orchestrator.md +45 -0
  438. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/schema-orchestrator.md +66 -0
  439. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/search-tools.md +19 -0
  440. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/skills-reference.md +27 -0
  441. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/sonarqube-orchestrator.md +71 -0
  442. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/spec-orchestrator.md +56 -0
  443. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/structure-orchestrator.md +78 -0
  444. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/system-requirements.md +30 -0
  445. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/tasks-orchestrator.md +45 -0
  446. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/validation-and-sync-notes.md +26 -0
  447. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/vds-ai-memory-api.md +53 -0
  448. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/vds-cli-reference.md +34 -0
  449. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/who-capability-inventory.md +98 -0
  450. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/who-capability-routing-matrix.md +16 -0
  451. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/feature-progression-guide.md +124 -0
  452. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/index.md +13 -0
  453. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/quick-start.md +30 -0
  454. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/who-skills-and-scripts-onboarding.md +42 -0
  455. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/zero-to-productive-developer.md +137 -0
  456. package/skills/vds-skill/vds-scripts/elastic_orchestrator/README.md +450 -0
  457. package/skills/vds-skill/vds-scripts/elastic_orchestrator/pyproject.toml +97 -0
  458. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/__init__.py +81 -0
  459. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/cli.py +652 -0
  460. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/client.py +743 -0
  461. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/config.py +208 -0
  462. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/errors.py +34 -0
  463. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/py.typed +0 -0
  464. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/__init__.py +0 -0
  465. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/conftest.py +227 -0
  466. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_client.py +990 -0
  467. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_config.py +268 -0
  468. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_e2e_verification.py +272 -0
  469. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_errors.py +78 -0
  470. package/skills/vds-skill/vds-scripts/excel_orchestrator/README.md +288 -0
  471. package/skills/vds-skill/vds-scripts/excel_orchestrator/RESEARCH_BASED_UPDATES_REPORT.md +261 -0
  472. package/skills/vds-skill/vds-scripts/excel_orchestrator/add_essential_missing_effort.py +255 -0
  473. package/skills/vds-skill/vds-scripts/excel_orchestrator/adjust_effort_complexity.py +184 -0
  474. package/skills/vds-skill/vds-scripts/excel_orchestrator/brd_analysis_and_task_breakdown.py +632 -0
  475. package/skills/vds-skill/vds-scripts/excel_orchestrator/brd_analysis_comprehensive.py +1029 -0
  476. package/skills/vds-skill/vds-scripts/excel_orchestrator/check_overlaps_and_brd_coverage.py +570 -0
  477. package/skills/vds-skill/vds-scripts/excel_orchestrator/clean_remarks_column.py +127 -0
  478. package/skills/vds-skill/vds-scripts/excel_orchestrator/comprehensive_brd_check.py +322 -0
  479. package/skills/vds-skill/vds-scripts/excel_orchestrator/create_buffered_summary.py +119 -0
  480. package/skills/vds-skill/vds-scripts/excel_orchestrator/create_service_totals_sheet.py +118 -0
  481. package/skills/vds-skill/vds-scripts/excel_orchestrator/examples/basic_operations.py +85 -0
  482. package/skills/vds-skill/vds-scripts/excel_orchestrator/expand_all_tasks.py +341 -0
  483. package/skills/vds-skill/vds-scripts/excel_orchestrator/expand_tasks.py +304 -0
  484. package/skills/vds-skill/vds-scripts/excel_orchestrator/fill_brd_references.py +347 -0
  485. package/skills/vds-skill/vds-scripts/excel_orchestrator/fill_remarks_and_colors.py +132 -0
  486. package/skills/vds-skill/vds-scripts/excel_orchestrator/finalize_brd_and_cleanup.py +295 -0
  487. package/skills/vds-skill/vds-scripts/excel_orchestrator/finalize_brd_coverage.py +327 -0
  488. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_all_formulas.py +99 -0
  489. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_detail_presentation.py +113 -0
  490. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_presentation_and_effort.py +116 -0
  491. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_presentation_consistency.py +231 -0
  492. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_remarks_matching.py +179 -0
  493. package/skills/vds-skill/vds-scripts/excel_orchestrator/group_tasks_by_service_id.py +210 -0
  494. package/skills/vds-skill/vds-scripts/excel_orchestrator/increase_brd_coverage.py +497 -0
  495. package/skills/vds-skill/vds-scripts/excel_orchestrator/increase_effort_complexity.py +155 -0
  496. package/skills/vds-skill/vds-scripts/excel_orchestrator/organize_and_deduplicate.py +273 -0
  497. package/skills/vds-skill/vds-scripts/excel_orchestrator/pyproject.toml +64 -0
  498. package/skills/vds-skill/vds-scripts/excel_orchestrator/rebuild_all_formulas.py +146 -0
  499. package/skills/vds-skill/vds-scripts/excel_orchestrator/remove_base_multiplier_and_check_duplicates.py +310 -0
  500. package/skills/vds-skill/vds-scripts/excel_orchestrator/remove_duplicate_brd_tasks.py +137 -0
  501. package/skills/vds-skill/vds-scripts/excel_orchestrator/research_based_updates.py +457 -0
  502. package/skills/vds-skill/vds-scripts/excel_orchestrator/restore_e_values.py +172 -0
  503. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/__init__.py +5 -0
  504. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/cli.py +746 -0
  505. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/config.py +74 -0
  506. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/converters.py +226 -0
  507. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/errors.py +88 -0
  508. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/excel_client.py +443 -0
  509. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/formatters.py +211 -0
  510. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/logging.py +57 -0
  511. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/source_contract.py +29 -0
  512. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/target_state_status.py +837 -0
  513. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/ulnc_alignment.py +1291 -0
  514. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/validators.py +164 -0
  515. package/skills/vds-skill/vds-scripts/excel_orchestrator/sync_detail_and_total_sheets.py +211 -0
  516. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/__init__.py +1 -0
  517. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/conftest.py +36 -0
  518. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_cli.py +383 -0
  519. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_excel_client.py +129 -0
  520. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_ulnc_alignment.py +373 -0
  521. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_validators.py +64 -0
  522. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_api_database_effort.py +261 -0
  523. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_buffers_inline.py +115 -0
  524. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_complex_services_and_add_new.py +336 -0
  525. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_responsibility_and_fix_rows.py +208 -0
  526. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_task_breakdown_vietnamese.py +309 -0
  527. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_vietnamese_and_responsibility.py +415 -0
  528. package/skills/vds-skill/vds-scripts/excel_orchestrator/verify_brd_coverage_comprehensive.py +401 -0
  529. package/skills/vds-skill/vds-scripts/git_orchestrator/ENHANCEMENT_SUMMARY.md +119 -0
  530. package/skills/vds-skill/vds-scripts/git_orchestrator/README.md +286 -0
  531. package/skills/vds-skill/vds-scripts/git_orchestrator/VERIFICATION_REPORT.md +152 -0
  532. package/skills/vds-skill/vds-scripts/git_orchestrator/pyproject.toml +37 -0
  533. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__init__.py +30 -0
  534. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__main__.py +4 -0
  535. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/branch_probe.py +271 -0
  536. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/cli.py +892 -0
  537. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/logging_config.py +63 -0
  538. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/manifest.py +249 -0
  539. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/orchestrator.py +1647 -0
  540. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/protocols.py +35 -0
  541. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/reporting.py +55 -0
  542. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/__init__.py +0 -0
  543. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_cli_settings.py +19 -0
  544. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_integration.py +79 -0
  545. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_manifest.py +79 -0
  546. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_orchestrator.py +207 -0
  547. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_public_api.py +235 -0
  548. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_resilience.py +343 -0
  549. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/__init__.py +0 -0
  550. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/test_branch_probe.py +327 -0
  551. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/test_protocols.py +132 -0
  552. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/README.md +241 -0
  553. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/pyproject.toml +45 -0
  554. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/__init__.py +69 -0
  555. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/cli.py +568 -0
  556. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/client.py +186 -0
  557. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/config.py +46 -0
  558. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/errors.py +41 -0
  559. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/__init__.py +1 -0
  560. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/conftest.py +1 -0
  561. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/__init__.py +1 -0
  562. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_cli.py +212 -0
  563. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_client.py +24 -0
  564. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_config.py +16 -0
  565. package/skills/vds-skill/vds-scripts/grafana_orchestrator/README.md +572 -0
  566. package/skills/vds-skill/vds-scripts/grafana_orchestrator/pyproject.toml +102 -0
  567. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/__init__.py +78 -0
  568. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/cli.py +455 -0
  569. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/client.py +700 -0
  570. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/config.py +243 -0
  571. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/errors.py +34 -0
  572. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/py.typed +1 -0
  573. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/__init__.py +1 -0
  574. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/conftest.py +308 -0
  575. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_client.py +458 -0
  576. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_config.py +203 -0
  577. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_errors.py +78 -0
  578. package/skills/vds-skill/vds-scripts/jira_orchestrator/README.md +864 -0
  579. package/skills/vds-skill/vds-scripts/jira_orchestrator/pyproject.toml +43 -0
  580. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/__init__.py +65 -0
  581. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/adapter.py +1685 -0
  582. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/cli.py +2806 -0
  583. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/config.py +168 -0
  584. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/errors.py +34 -0
  585. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/reporting.py +66 -0
  586. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/__init__.py +1 -0
  587. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/conftest.py +86 -0
  588. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_agile_list_payloads.py +54 -0
  589. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_bulk_operations.py +91 -0
  590. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_components.py +56 -0
  591. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_createmeta.py +45 -0
  592. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_dashboard.py +119 -0
  593. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_issue_properties.py +53 -0
  594. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_permissions_compat.py +41 -0
  595. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_reindex.py +42 -0
  596. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_remote_links.py +75 -0
  597. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_transitions.py +90 -0
  598. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_user_management.py +116 -0
  599. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_version_management.py +181 -0
  600. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_watchers.py +43 -0
  601. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_advanced_search.py +179 -0
  602. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_agile.py +304 -0
  603. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_application_properties.py +243 -0
  604. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_backlog.py +91 -0
  605. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_bulk_operations.py +403 -0
  606. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_cli.py +108 -0
  607. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_components.py +119 -0
  608. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_config.py +166 -0
  609. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_dashboard.py +122 -0
  610. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_discover_fields.py +207 -0
  611. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_errors.py +72 -0
  612. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_filter_management.py +411 -0
  613. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_archiving.py +179 -0
  614. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_links.py +257 -0
  615. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_properties.py +189 -0
  616. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_link_types.py +407 -0
  617. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_parse_set.py +37 -0
  618. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_permissions.py +343 -0
  619. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_reindex.py +81 -0
  620. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_remote_links.py +269 -0
  621. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_security_schemes.py +202 -0
  622. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_transitions_changelog.py +109 -0
  623. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_user_management.py +246 -0
  624. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_version_management.py +503 -0
  625. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_watchers.py +116 -0
  626. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_worklog.py +243 -0
  627. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/README.md +864 -0
  628. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/pyproject.toml +43 -0
  629. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/__init__.py +65 -0
  630. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/adapter.py +1689 -0
  631. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/cli.py +2799 -0
  632. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/config.py +137 -0
  633. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/errors.py +34 -0
  634. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/reporting.py +65 -0
  635. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/__init__.py +1 -0
  636. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/conftest.py +86 -0
  637. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_agile_list_payloads.py +54 -0
  638. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_bulk_operations.py +101 -0
  639. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_components.py +64 -0
  640. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_createmeta.py +45 -0
  641. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_dashboard.py +135 -0
  642. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_issue_properties.py +63 -0
  643. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_permissions_compat.py +42 -0
  644. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_reindex.py +42 -0
  645. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_remote_links.py +89 -0
  646. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_transitions.py +91 -0
  647. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_user_management.py +130 -0
  648. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_version_management.py +189 -0
  649. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_watchers.py +49 -0
  650. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_advanced_search.py +213 -0
  651. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_agile.py +334 -0
  652. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_application_properties.py +261 -0
  653. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_backlog.py +91 -0
  654. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_bulk_operations.py +443 -0
  655. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_cli.py +106 -0
  656. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_components.py +133 -0
  657. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_config.py +166 -0
  658. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_dashboard.py +130 -0
  659. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_discover_fields.py +207 -0
  660. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_errors.py +61 -0
  661. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_filter_management.py +478 -0
  662. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_archiving.py +181 -0
  663. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_links.py +257 -0
  664. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_properties.py +203 -0
  665. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_link_types.py +426 -0
  666. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_parse_set.py +37 -0
  667. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_permissions.py +358 -0
  668. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_reindex.py +81 -0
  669. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_remote_links.py +292 -0
  670. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_security_schemes.py +218 -0
  671. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_transitions_changelog.py +121 -0
  672. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_user_management.py +283 -0
  673. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_version_management.py +561 -0
  674. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_watchers.py +128 -0
  675. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_worklog.py +265 -0
  676. package/skills/vds-skill/vds-scripts/llms.txt +159 -0
  677. package/skills/vds-skill/vds-scripts/markdown_orchestrator/README.md +72 -0
  678. package/skills/vds-skill/vds-scripts/markdown_orchestrator/pyproject.toml +39 -0
  679. package/skills/vds-skill/vds-scripts/markdown_orchestrator/src/vds_markdown_orchestrator/__init__.py +5 -0
  680. package/skills/vds-skill/vds-scripts/markdown_orchestrator/src/vds_markdown_orchestrator/cli.py +102 -0
  681. package/skills/vds-skill/vds-scripts/mcp_server/Dockerfile +63 -0
  682. package/skills/vds-skill/vds-scripts/mcp_server/README.md +140 -0
  683. package/skills/vds-skill/vds-scripts/mcp_server/pyproject.toml +41 -0
  684. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/__init__.py +3 -0
  685. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/config.py +36 -0
  686. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/server.py +111 -0
  687. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/__init__.py +15 -0
  688. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/bitbucket_tools.py +47 -0
  689. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/confluence_tools.py +53 -0
  690. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/git_tools.py +71 -0
  691. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/jira_tools.py +63 -0
  692. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/vidp_tools.py +64 -0
  693. package/skills/vds-skill/vds-scripts/mcp_server/tests/__init__.py +1 -0
  694. package/skills/vds-skill/vds-scripts/mcp_server/tests/conftest.py +31 -0
  695. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/__init__.py +1 -0
  696. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_bitbucket_tools.py +28 -0
  697. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_confluence_tools.py +28 -0
  698. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_git_tools.py +35 -0
  699. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_jira_tools.py +35 -0
  700. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/__init__.py +6 -0
  701. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/conftest.py +51 -0
  702. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_confluence_tools.py +40 -0
  703. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_jira_tools.py +39 -0
  704. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_tool_registration.py +50 -0
  705. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.dockerignore +93 -0
  706. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.env.example +40 -0
  707. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.ruff_rules.py +350 -0
  708. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.yamllint.yml +43 -0
  709. package/skills/vds-skill/vds-scripts/pdf_orchestrator/DEVELOPMENT_PLAN.md +80 -0
  710. package/skills/vds-skill/vds-scripts/pdf_orchestrator/Dockerfile +87 -0
  711. package/skills/vds-skill/vds-scripts/pdf_orchestrator/README.md +608 -0
  712. package/skills/vds-skill/vds-scripts/pdf_orchestrator/cli_verification_test/test.md +6 -0
  713. package/skills/vds-skill/vds-scripts/pdf_orchestrator/cli_verification_test/test.pdf +0 -0
  714. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/alertmanager.yml +83 -0
  715. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/prometheus.prod.yml +98 -0
  716. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/prometheus.yml +40 -0
  717. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/redis.conf +78 -0
  718. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/COMPETITIVE_ANALYSIS_REPORT.md +309 -0
  719. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/FEATURES_GUIDE.md +518 -0
  720. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/MULTI_USER_DEPLOYMENT_GUIDE.md +615 -0
  721. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/USER_GUIDE.md +829 -0
  722. package/skills/vds-skill/vds-scripts/pdf_orchestrator/pyproject.toml +87 -0
  723. package/skills/vds-skill/vds-scripts/pdf_orchestrator/pytest.ini +71 -0
  724. package/skills/vds-skill/vds-scripts/pdf_orchestrator/ruff.toml +6 -0
  725. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/debug_security_report.py +59 -0
  726. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/demo_library_selector.py +109 -0
  727. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/generate_project_stats.py +52 -0
  728. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/generate_styled_pdf.py +95 -0
  729. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/migrate_render_pdfs.py +285 -0
  730. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/setup_team.bat +283 -0
  731. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/setup_team.sh +324 -0
  732. package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/__init__.py +5 -0
  733. package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/cli.py +542 -0
  734. package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/config.py +33 -0
  735. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/README.md +650 -0
  736. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/__init__.py +0 -0
  737. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/conftest.py +520 -0
  738. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/requirements.txt +51 -0
  739. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/run_tests.py +659 -0
  740. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/test_config.py +36 -0
  741. package/skills/vds-skill/vds-scripts/platform_core/pyproject.toml +49 -0
  742. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/__init__.py +16 -0
  743. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/alembic/__init__.py +18 -0
  744. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/alembic/runtime.py +139 -0
  745. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/config.py +88 -0
  746. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/credentials.py +40 -0
  747. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/env.py +24 -0
  748. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/errors.py +127 -0
  749. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/__init__.py +18 -0
  750. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/auth.py +32 -0
  751. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/errors.py +47 -0
  752. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/pagination.py +65 -0
  753. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/retry.py +62 -0
  754. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/stack.py +61 -0
  755. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/logging.py +132 -0
  756. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/protocols.py +77 -0
  757. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/serialization.py +80 -0
  758. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/severity.py +175 -0
  759. package/skills/vds-skill/vds-scripts/platform_core/tests/__init__.py +0 -0
  760. package/skills/vds-skill/vds-scripts/platform_core/tests/conftest.py +1 -0
  761. package/skills/vds-skill/vds-scripts/platform_core/tests/test_alembic_runtime.py +300 -0
  762. package/skills/vds-skill/vds-scripts/platform_core/tests/test_auth.py +84 -0
  763. package/skills/vds-skill/vds-scripts/platform_core/tests/test_config.py +83 -0
  764. package/skills/vds-skill/vds-scripts/platform_core/tests/test_credentials.py +73 -0
  765. package/skills/vds-skill/vds-scripts/platform_core/tests/test_env.py +56 -0
  766. package/skills/vds-skill/vds-scripts/platform_core/tests/test_errors.py +201 -0
  767. package/skills/vds-skill/vds-scripts/platform_core/tests/test_errors_http.py +74 -0
  768. package/skills/vds-skill/vds-scripts/platform_core/tests/test_http_settings.py +116 -0
  769. package/skills/vds-skill/vds-scripts/platform_core/tests/test_logging.py +148 -0
  770. package/skills/vds-skill/vds-scripts/platform_core/tests/test_pagination.py +153 -0
  771. package/skills/vds-skill/vds-scripts/platform_core/tests/test_protocols.py +132 -0
  772. package/skills/vds-skill/vds-scripts/platform_core/tests/test_retry.py +151 -0
  773. package/skills/vds-skill/vds-scripts/platform_core/tests/test_serialization.py +92 -0
  774. package/skills/vds-skill/vds-scripts/platform_core/tests/test_severity.py +178 -0
  775. package/skills/vds-skill/vds-scripts/platform_core/tests/test_stack.py +130 -0
  776. package/skills/vds-skill/vds-scripts/platform_core/uv.lock +341 -0
  777. package/skills/vds-skill/vds-scripts/pyproject.toml +145 -0
  778. package/skills/vds-skill/vds-scripts/pyrightconfig.json +82 -0
  779. package/skills/vds-skill/vds-scripts/repo-manifest.yaml +380 -0
  780. package/skills/vds-skill/vds-scripts/repo-manifest.yaml.example +25 -0
  781. package/skills/vds-skill/vds-scripts/ruff.toml +100 -0
  782. package/skills/vds-skill/vds-scripts/scripts/BRD-Validation-API.postman_collection.json +706 -0
  783. package/skills/vds-skill/vds-scripts/scripts/BRD-Validation-README.md +308 -0
  784. package/skills/vds-skill/vds-scripts/scripts/README.md +271 -0
  785. package/skills/vds-skill/vds-scripts/scripts/_validate_alias_phase2.py +137 -0
  786. package/skills/vds-skill/vds-scripts/scripts/audit-cli-patterns.sh +135 -0
  787. package/skills/vds-skill/vds-scripts/scripts/audit-dashboard.sh +525 -0
  788. package/skills/vds-skill/vds-scripts/scripts/backup.sh +123 -0
  789. package/skills/vds-skill/vds-scripts/scripts/bootstrap_uv.sh +69 -0
  790. package/skills/vds-skill/vds-scripts/scripts/brd-validation-environment.json +51 -0
  791. package/skills/vds-skill/vds-scripts/scripts/brd-validation-test-results.json +13023 -0
  792. package/skills/vds-skill/vds-scripts/scripts/brd_coverage_report.json +276 -0
  793. package/skills/vds-skill/vds-scripts/scripts/check-future-annotations.py +22 -0
  794. package/skills/vds-skill/vds-scripts/scripts/check-invalid-symlinks.py +183 -0
  795. package/skills/vds-skill/vds-scripts/scripts/check-no-debug-markers.py +21 -0
  796. package/skills/vds-skill/vds-scripts/scripts/check-no-unittest.py +21 -0
  797. package/skills/vds-skill/vds-scripts/scripts/ci/assert_no_openspace_commits.sh +37 -0
  798. package/skills/vds-skill/vds-scripts/scripts/ci/verify_branch_protection.sh +64 -0
  799. package/skills/vds-skill/vds-scripts/scripts/closure/phase1_check.sh +483 -0
  800. package/skills/vds-skill/vds-scripts/scripts/closure/phase2_check.sh +500 -0
  801. package/skills/vds-skill/vds-scripts/scripts/create_memory_session.py +36 -0
  802. package/skills/vds-skill/vds-scripts/scripts/deploy-bootstrap.sh +201 -0
  803. package/skills/vds-skill/vds-scripts/scripts/deployment/load_docker_images_offline.sh +90 -0
  804. package/skills/vds-skill/vds-scripts/scripts/dev/cli_smoke.sh +259 -0
  805. package/skills/vds-skill/vds-scripts/scripts/final_completion_report.md +139 -0
  806. package/skills/vds-skill/vds-scripts/scripts/folder_structure_report.json +321 -0
  807. package/skills/vds-skill/vds-scripts/scripts/generate_completion_report.py +132 -0
  808. package/skills/vds-skill/vds-scripts/scripts/generate_intellij_modules.py +154 -0
  809. package/skills/vds-skill/vds-scripts/scripts/init-pgbouncer-userlist.sh +154 -0
  810. package/skills/vds-skill/vds-scripts/scripts/link_integrity_report.json +807 -0
  811. package/skills/vds-skill/vds-scripts/scripts/move_audit_artifact_pages.py +252 -0
  812. package/skills/vds-skill/vds-scripts/scripts/move_audit_artifact_pages_rest.py +165 -0
  813. package/skills/vds-skill/vds-scripts/scripts/move_wrong_dept_pages.py +235 -0
  814. package/skills/vds-skill/vds-scripts/scripts/openspace_bootstrap.sh +56 -0
  815. package/skills/vds-skill/vds-scripts/scripts/openspace_common.sh +75 -0
  816. package/skills/vds-skill/vds-scripts/scripts/openspace_doctor.sh +61 -0
  817. package/skills/vds-skill/vds-scripts/scripts/openspace_sync_shadow.sh +65 -0
  818. package/skills/vds-skill/vds-scripts/scripts/phase7-baseline.sh +77 -0
  819. package/skills/vds-skill/vds-scripts/scripts/preflight/env_check.sh +102 -0
  820. package/skills/vds-skill/vds-scripts/scripts/repair_autopay_reports.sh +173 -0
  821. package/skills/vds-skill/vds-scripts/scripts/rollback_drill.sh +659 -0
  822. package/skills/vds-skill/vds-scripts/scripts/run-audit-in-tmux.sh +286 -0
  823. package/skills/vds-skill/vds-scripts/scripts/run-department-audit.sh +495 -0
  824. package/skills/vds-skill/vds-scripts/scripts/run-project-audit.sh +267 -0
  825. package/skills/vds-skill/vds-scripts/scripts/save_intellij_memories.py +112 -0
  826. package/skills/vds-skill/vds-scripts/scripts/save_memories_to_vds_ai.py +81 -0
  827. package/skills/vds-skill/vds-scripts/scripts/save_memories_vds_style.py +133 -0
  828. package/skills/vds-skill/vds-scripts/scripts/search_intellij_memories.py +48 -0
  829. package/skills/vds-skill/vds-scripts/scripts/setup_intellij_workspace.py +71 -0
  830. package/skills/vds-skill/vds-scripts/scripts/smoke-test-deploy.sh +137 -0
  831. package/skills/vds-skill/vds-scripts/scripts/smoke_deploy_lib.py +205 -0
  832. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/README.md +89 -0
  833. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/confluence_sync_coordinator.sh +27 -0
  834. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/coordination.sh +114 -0
  835. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/diagram_coordinator.sh +25 -0
  836. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/docs_root.sh +22 -0
  837. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/generate_diagrams.sh +22 -0
  838. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/markdown_coordinator.sh +25 -0
  839. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/progress_dashboard.sh +17 -0
  840. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/schema_coordinator.sh +25 -0
  841. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/sync_confluence.sh +30 -0
  842. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/update_dependencies.sh +19 -0
  843. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_links.sh +86 -0
  844. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_markdown.sh +52 -0
  845. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_schemas.sh +26 -0
  846. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_structure.sh +98 -0
  847. package/skills/vds-skill/vds-scripts/scripts/tests/__init__.py +1 -0
  848. package/skills/vds-skill/vds-scripts/scripts/tests/test_dockerfile_correctness.py +815 -0
  849. package/skills/vds-skill/vds-scripts/scripts/tests/test_makefile_loadouts.py +560 -0
  850. package/skills/vds-skill/vds-scripts/scripts/tests/test_smoke_deploy.py +313 -0
  851. package/skills/vds-skill/vds-scripts/scripts/tests/test_verify_alembic.py +581 -0
  852. package/skills/vds-skill/vds-scripts/scripts/tests/test_verify_infra_topology.py +254 -0
  853. package/skills/vds-skill/vds-scripts/scripts/update_modules_xml.py +194 -0
  854. package/skills/vds-skill/vds-scripts/scripts/uv-workspace-alignment-verification-2026-03-25.md +128 -0
  855. package/skills/vds-skill/vds-scripts/scripts/uv-workspace-alignment-verification-2026-04-18.md +100 -0
  856. package/skills/vds-skill/vds-scripts/scripts/validate-cli-standardization.sh +188 -0
  857. package/skills/vds-skill/vds-scripts/scripts/validate_brd_coverage.py +197 -0
  858. package/skills/vds-skill/vds-scripts/scripts/validate_folder_structure.py +234 -0
  859. package/skills/vds-skill/vds-scripts/scripts/validate_link_integrity.py +274 -0
  860. package/skills/vds-skill/vds-scripts/scripts/vami017-caller-compat-report.md +62 -0
  861. package/skills/vds-skill/vds-scripts/scripts/vami017-phase-b-scaffold-notes.md +79 -0
  862. package/skills/vds-skill/vds-scripts/scripts/vds_sh_helpers.sh +180 -0
  863. package/skills/vds-skill/vds-scripts/scripts/verification/phase2_portable_paths_ubuntu_docker.sh +26 -0
  864. package/skills/vds-skill/vds-scripts/scripts/verify-infra-topology.py +868 -0
  865. package/skills/vds-skill/vds-scripts/scripts/verify-memory-cli-e2e.sh +598 -0
  866. package/skills/vds-skill/vds-scripts/scripts/verify-worktree-features.sh +306 -0
  867. package/skills/vds-skill/vds-scripts/scripts/worktree-add.sh +128 -0
  868. package/skills/vds-skill/vds-scripts/scripts/worktree-remove.sh +112 -0
  869. package/skills/vds-skill/vds-scripts/scripts/worktree_compose.sh +269 -0
  870. package/skills/vds-skill/vds-scripts/scripts/worktree_uv.sh +77 -0
  871. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/IMPLEMENTATION_AUDIT.md +376 -0
  872. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/README.md +507 -0
  873. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/pyproject.toml +106 -0
  874. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/scripts/ensure_symlink.sh +38 -0
  875. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/__init__.py +164 -0
  876. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/batch.py +212 -0
  877. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/cli.py +1407 -0
  878. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/client.py +608 -0
  879. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/config.py +260 -0
  880. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/diff.py +220 -0
  881. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/errors.py +34 -0
  882. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/external_sca.py +932 -0
  883. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/portfolio.py +225 -0
  884. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/pr.py +505 -0
  885. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/reports.py +342 -0
  886. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/scanner.py +351 -0
  887. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/webhooks.py +269 -0
  888. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/__init__.py +0 -0
  889. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/conftest.py +134 -0
  890. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_batch.py +419 -0
  891. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_config.py +145 -0
  892. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_errors.py +78 -0
  893. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_external_sca.py +466 -0
  894. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_pr.py +471 -0
  895. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_reports.py +511 -0
  896. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_webhooks.py +660 -0
  897. package/skills/vds-skill/vds-scripts/uv.lock +5046 -0
  898. package/skills/vds-skill/vds-scripts/vds_agent_core/CHANGELOG.md +36 -0
  899. package/skills/vds-skill/vds-scripts/vds_agent_core/README.md +453 -0
  900. package/skills/vds-skill/vds-scripts/vds_agent_core/docs/PHASE9A_ASSESSMENT.md +50 -0
  901. package/skills/vds-skill/vds-scripts/vds_agent_core/docs/embedding.md +468 -0
  902. package/skills/vds-skill/vds-scripts/vds_agent_core/pyproject.toml +51 -0
  903. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/__init__.py +29 -0
  904. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/__init__.py +26 -0
  905. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/hooks.py +119 -0
  906. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/loop.py +864 -0
  907. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/tools.py +41 -0
  908. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/config.py +252 -0
  909. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/__init__.py +55 -0
  910. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/_cascade.py +143 -0
  911. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/budget.py +353 -0
  912. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/cache.py +373 -0
  913. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/embedding.py +815 -0
  914. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/provider.py +173 -0
  915. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/schemas.py +45 -0
  916. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/__init__.py +77 -0
  917. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/decorators.py +258 -0
  918. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/jsonl_exporter.py +236 -0
  919. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/tracer.py +497 -0
  920. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/profiles.py +2015 -0
  921. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/runtime/__init__.py +0 -0
  922. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/runtime/agent_id.py +60 -0
  923. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/security/__init__.py +13 -0
  924. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/security/credentials.py +106 -0
  925. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/__init__.py +1 -0
  926. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/executor.py +238 -0
  927. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/manager.py +381 -0
  928. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/policy.py +568 -0
  929. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/__init__.py +19 -0
  930. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/langgraph_runner.py +102 -0
  931. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/protocols.py +81 -0
  932. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/__init__.py +0 -0
  933. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/conftest.py +62 -0
  934. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/__init__.py +0 -0
  935. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_audit_loop_hooks_integration.py +135 -0
  936. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_audit_observability_integration.py +246 -0
  937. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_public_api_stability.py +91 -0
  938. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/__init__.py +0 -0
  939. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/__init__.py +0 -0
  940. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_call_site_parallelism.py +30 -0
  941. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_dimension_guardrail.py +25 -0
  942. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_drop_in_provider_extensibility.py +76 -0
  943. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding.py +393 -0
  944. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_cache.py +302 -0
  945. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_extra.py +696 -0
  946. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_subclass.py +49 -0
  947. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_no_provider_leakage_in_env.py +34 -0
  948. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_provider_auto_route.py +48 -0
  949. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_runtime_log_clean.py +111 -0
  950. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_w7_logic_fixes.py +219 -0
  951. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/__init__.py +0 -0
  952. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_embedding_block_parser.py +194 -0
  953. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_env_resolver_allowlist.py +141 -0
  954. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_profile_authorization.py +158 -0
  955. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_profiles_w3_extra.py +547 -0
  956. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_real_audit_profile_compat.py +129 -0
  957. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/__init__.py +0 -0
  958. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/test_for_agent.py +322 -0
  959. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/test_w9_cascade_edges.py +369 -0
  960. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/security/__init__.py +0 -0
  961. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/security/test_credentials.py +132 -0
  962. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agent_loop.py +663 -0
  963. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agent_loop_coverage.py +429 -0
  964. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agents_hooks_defaults.py +22 -0
  965. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget.py +155 -0
  966. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget_coverage.py +264 -0
  967. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget_tracking_only.py +71 -0
  968. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_cache.py +251 -0
  969. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_cache_context.py +62 -0
  970. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_config.py +155 -0
  971. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_langgraph_runner.py +45 -0
  972. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_langgraph_runner_coverage.py +98 -0
  973. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_llm_cache_deep.py +113 -0
  974. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_decorators.py +697 -0
  975. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_hooks.py +217 -0
  976. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_jsonl_exporter.py +542 -0
  977. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_jsonl_wiring.py +313 -0
  978. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_tracer.py +896 -0
  979. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_profiles.py +1571 -0
  980. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_profiles_coverage.py +444 -0
  981. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_provider.py +316 -0
  982. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_schemas.py +63 -0
  983. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_executor.py +297 -0
  984. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_manager.py +370 -0
  985. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_manager_coverage.py +364 -0
  986. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_policy.py +402 -0
  987. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_rubric.py +47 -0
  988. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_tools.py +51 -0
  989. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_workflow_protocols.py +136 -0
  990. package/skills/vds-skill/vds-scripts/vds_cli/README.md +201 -0
  991. package/skills/vds-skill/vds-scripts/vds_cli/VERIFICATION_REPORT.md +41 -0
  992. package/skills/vds-skill/vds-scripts/vds_cli/pyproject.toml +50 -0
  993. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/__init__.py +3 -0
  994. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/assets/git-credential-helper.py +235 -0
  995. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/cli.py +1126 -0
  996. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/commands/__init__.py +1 -0
  997. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/commands/lint_cli.py +389 -0
  998. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/confluence_sync.py +846 -0
  999. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/__init__.py +7 -0
  1000. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/funnel.py +105 -0
  1001. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/scanner.py +211 -0
  1002. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/freshness/report.py +90 -0
  1003. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/types.py +27 -0
  1004. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_cmd.py +672 -0
  1005. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_metrics.py +75 -0
  1006. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_sync.py +1171 -0
  1007. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem/__init__.py +39 -0
  1008. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem/report.py +439 -0
  1009. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem_docs.py +164 -0
  1010. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/env.py +111 -0
  1011. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/env_git_helper.py +281 -0
  1012. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/__init__.py +3 -0
  1013. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/google_sheets_orchestrator.py +173 -0
  1014. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/router.py +232 -0
  1015. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/skills_cmd.py +274 -0
  1016. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/sync_api.py +613 -0
  1017. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/sync_service.py +283 -0
  1018. package/skills/vds-skill/vds-scripts/vds_cli/tests/conftest.py +62 -0
  1019. package/skills/vds-skill/vds-scripts/vds_cli/tests/test_env_git_helper_lifecycle.py +261 -0
  1020. package/skills/vds-skill/vds-scripts/vds_cli/tests/test_git_credential_helper.py +240 -0
  1021. package/skills/vds-skill/vds-scripts/vds_cli/tests/test_router_help_proxy.py +43 -0
  1022. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_cli.py +241 -0
  1023. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_cli_DOC004.py +110 -0
  1024. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_confluence_sync.py +315 -0
  1025. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_confluence_sync_wave7.py +375 -0
  1026. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_consumption_funnel.py +106 -0
  1027. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_consumption_scanner.py +144 -0
  1028. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_cmd.py +89 -0
  1029. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_cmd_wave8.py +161 -0
  1030. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_metrics.py +16 -0
  1031. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_quality_score.py +61 -0
  1032. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_sync.py +417 -0
  1033. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_cli_dashboard.py +667 -0
  1034. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_cli_dashboard_rendering.py +143 -0
  1035. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_docs.py +63 -0
  1036. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_env.py +85 -0
  1037. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_freshness_report.py +125 -0
  1038. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_lint_cli.py +224 -0
  1039. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_router.py +101 -0
  1040. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_skills_cmd.py +419 -0
  1041. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_sync_api.py +357 -0
  1042. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_sync_service.py +170 -0
  1043. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/conftest.py +51 -0
  1044. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_bitbucket_real.py +32 -0
  1045. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_confluence_real.py +32 -0
  1046. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_jira_real.py +40 -0
  1047. package/skills/vds-skill/vds-scripts/vds_cli_common/README.md +190 -0
  1048. package/skills/vds-skill/vds-scripts/vds_cli_common/pyproject.toml +96 -0
  1049. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/__init__.py +36 -0
  1050. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/app.py +55 -0
  1051. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/completers.py +139 -0
  1052. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/context.py +201 -0
  1053. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/env.py +163 -0
  1054. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/errors.py +440 -0
  1055. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/output.py +284 -0
  1056. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/paths.py +78 -0
  1057. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/testing.py +211 -0
  1058. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/version.py +85 -0
  1059. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/__init__.py +0 -0
  1060. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_app.py +126 -0
  1061. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_completers.py +148 -0
  1062. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_context.py +192 -0
  1063. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_env.py +235 -0
  1064. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_errors.py +275 -0
  1065. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_output.py +229 -0
  1066. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_paths.py +61 -0
  1067. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_testing.py +138 -0
  1068. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_version.py +64 -0
  1069. package/skills/vds-skill/vds-scripts/vidp_orchestrator/README.md +31 -0
  1070. package/skills/vds-skill/vds-scripts/vidp_orchestrator/pyproject.toml +50 -0
  1071. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/__init__.py +26 -0
  1072. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/cli.py +246 -0
  1073. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/client.py +104 -0
  1074. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/config.py +82 -0
  1075. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/workflows.json +3 -0
  1076. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/workflows.py +130 -0
@@ -0,0 +1,392 @@
1
+ # VDS Infrastructure ADRs — Operator Routing Manifest
2
+
3
+ > **Spec authoritative**. The canonical decision text for each ADR-INF-N lives at:
4
+ > `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §7 ADRs.
5
+ >
6
+ > This file is a tiered routing manifest:
7
+ > - **INF-1..7**: 3-6 line operator-facing pointer + spec link (no restated content).
8
+ > - **INF-8..12**: pointer + extended operator content (postmortems, regression tests,
9
+ > downgrade pattern, REDIS DB supersession, Tier 3 sub-shape table) that is
10
+ > directly load-bearing during incident response. The size budget reflects this
11
+ > intentional inline-when-load-bearing policy rather than full mirroring.
12
+ >
13
+ > Last sync: master@5f0c97b4 (post-v2.15.17, 2026-04-28).
14
+
15
+ ## ADR-INF-1 — Schema-per-Domain over Database-per-Service
16
+
17
+ **Status**: Accepted (P0) | **Spec**: `design.md` §ADR-INF-1
18
+
19
+ Single shared Postgres instance with per-service schema isolation (`audit_state`, `memory`, `sched`, `progress`, `dbos`). Each service gets a dedicated schema + role. Simpler to operate than 5 separate database instances.
20
+
21
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-1
22
+
23
+ ## ADR-INF-2 — Redis Logical DB over Multiple Redis Instances
24
+
25
+ **Status**: Accepted (P0) | **Spec**: `design.md` §ADR-INF-2
26
+
27
+ Single Redis instance with logical DB separation (DBs 0–9). Each consumer gets a dedicated DB number. Redis natively supports 16 logical databases; one instance is simpler to operate.
28
+
29
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-2
30
+
31
+ ## ADR-INF-3 — Profile-Based Compose over Directory-Per-Service
32
+
33
+ **Status**: Accepted (P0) | **Spec**: `design.md` §ADR-INF-3
34
+
35
+ Docker Compose profiles (`--profile <name>`) for selective service activation instead of per-service compose directories. Standard Docker Compose mechanism; operators learn profile names instead of navigating directory trees.
36
+
37
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-3
38
+
39
+ ## ADR-INF-4 — Host-Only Policy for vds-skills and git
40
+
41
+ **Status**: Accepted (P0) | **Spec**: `design.md` §ADR-INF-4
42
+
43
+ Skills sync, memory operations, and git operations run on host only — never in containers. These interact with iCloud-synced paths, SSH keys, and git state that don't map cleanly into container filesystems.
44
+
45
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-4
46
+
47
+ ## ADR-INF-5 — Qdrant Instance Separation
48
+
49
+ **Status**: Accepted (P0) | **Spec**: `design.md` §ADR-INF-5
50
+
51
+ Separate Qdrant instances for grepai (ports 6333/6334) and VDS memory (ports 6335/6336). Different version requirements and collection schemas; port offset avoids collision.
52
+
53
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-5
54
+
55
+ ## ADR-INF-6 — Celery Broker DB Explicit Assignment
56
+
57
+ **Status**: Accepted (P0) | **Spec**: `design.md` §ADR-INF-6
58
+
59
+ Celery broker explicitly assigned to Redis DB 0 via `CELERY_BROKER_URL` with `/0` suffix. Prevents accidental DB collision when multiple Redis consumers are added.
60
+
61
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-6
62
+
63
+ ## ADR-INF-7 — Compose Project Identity Anchor
64
+
65
+ **Status**: Accepted (P2) | **Spec**: `design.md` §ADR-INF-7
66
+
67
+ All three compose files declare `name: vds-platform`. CLI invocations use `-p vds-platform` for defense in depth. Ensures containers, networks, and volumes belong to one Compose project regardless of which `-f` flags are passed or which directory the command runs from.
68
+
69
+ → Full rationale, consequences, rejected alternatives: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-7
70
+
71
+ ## ADR-INF-8 — `python3` for stdlib-only verification (not `vds-cli`/`uv`)
72
+
73
+ **Status**: Accepted (v2.8.0 — operator-facing verification path stabilized)
74
+
75
+ **Date**: 2026-04-25 | **Spec**: `design.md` §ADR-INF-8
76
+
77
+ ### Decision
78
+
79
+ `scripts/verify-infra-topology.py` is invoked as bare `python3 scripts/verify-infra-topology.py` from the Makefile, the `infrastructure-evolution-skill/scripts/verify.sh` wrapper, and the operator docs. It is NOT routed through `vds-cli` and is NOT wrapped in `uv run --project vds_cli`.
80
+
81
+ ### Rationale
82
+
83
+ - The script imports only Python stdlib (`argparse`, `json`, `subprocess`, `sys`, `dataclasses`, `typing`) — zero third-party deps.
84
+ - `uv run` adds 60-650ms cold-start overhead per invocation; `uv run --project` additionally couples the script to a workspace lockfile that can drift, breaking the verify path during incident response (the exact moment we need it most).
85
+ - `vds-cli` is reserved for orchestrator commands that need project deps; pulling stdlib utilities into the router dilutes that boundary.
86
+ - Using `python3` (not bare `python`) avoids the macOS / minimal-Linux ambiguity where `python` may point at python2 or be absent.
87
+ - Aligns with VDS rule `feedback_hooks_no_uv_for_stdlib.md` (stdlib hooks use `python3`, not `uv run`).
88
+
89
+ ### Consequences
90
+
91
+ - The script is callable from any environment with a Python 3.10+ interpreter — including broken venvs and bare hosts during cutover or post-incident recovery.
92
+ - Trade-off: loss of `vds-cli --help` central discovery for the verify command; compensated by `make verify` (Makefile target) and the skill wrapper `infrastructure-evolution-skill/scripts/verify.sh`.
93
+ - New stdlib-only verification scripts in this repo SHOULD follow the same `python3 scripts/<name>.py` invocation pattern.
94
+
95
+ ## ADR-INF-9 — Resolve Redis DB 6 double-booking: tool discovery moves to DB 9
96
+
97
+ **Status**: Accepted (v2.4.0 — supersedes the DB 6 assignment in ADR-INF-6)
98
+
99
+ **Date**: 2026-04-25 | **Spec**: `design.md` §ADR-INF-9
100
+
101
+ ### Decision
102
+
103
+ `memory_orchestrator`'s `REDIS_TOOL_DISCOVERY_DB` defaults to **9** (not 6). DB 6 is reserved exclusively for `multi_agent_orchestrator` agent state. The "9+ reserved for future services" range is now formally allocated starting at 9.
104
+
105
+ ### Rationale
106
+
107
+ - ADR-INF-6 reassigned `redis_tool_discovery_db` from DB 0 (Celery collision) to DB 6 to satisfy `requirements.md`'s "must be reassigned to DB 5 or higher".
108
+ - That wording was satisfied but landed on the DB this design assigned to multi-agent agent state, recreating exactly the silent-collision risk ADR-INF-6 was meant to eliminate.
109
+ - Without explicit key-prefix isolation guarantees, dual-tenancy in DB 6 is unsafe for two unrelated services.
110
+ - DB 9 is the next free slot per the FR-3 allocation table; tool discovery is "not yet wired" in production, so no data migration is required.
111
+
112
+ ### Consequences
113
+
114
+ - One-line compose env change: `REDIS_TOOL_DISCOVERY_DB: ${REDIS_TOOL_DISCOVERY_DB:-9}`.
115
+ - One-line `memory_orchestrator/src/.../config.py` field default change.
116
+ - FR-3 design table extended to formally include DB 9.
117
+ - ADR-INF-6 remains historically accurate (it documents the DB 0 → DB 6 move); this ADR supersedes only the destination.
118
+
119
+ ## ADR-INF-10 — Service vs CLI Container Patterns
120
+
121
+ **Status**: Accepted (v2.8.0 — Tier-2 split codified during three-tier compose rollout)
122
+
123
+ **Date**: 2026-04-25 | **Spec**: `design.md` §ADR-INF-10
124
+
125
+ ### Decision
126
+
127
+ Tier-2 compose entries split into two patterns based on whether the orchestrator's runtime is a daemon or a one-shot command:
128
+
129
+ | Pattern | Examples | `restart` | HEALTHCHECK | Operational invocation |
130
+ |---|---|---|---|---|
131
+ | **Long-running service** | memory-api, memory-worker, scheduler, multi-agent | `unless-stopped` | HTTP/port probe | `up -d` → `docker ps` shows `Up X minutes (healthy)` |
132
+ | **On-demand CLI** | audit, pdf, progress, db-query | `"no"` | none | `docker compose -p vds-platform run --rm <service> <subcommand>` |
133
+
134
+ ### Rationale
135
+
136
+ - Earlier rollout iterations applied `restart: unless-stopped` uniformly to all Tier-2 entries; this caused audit/pdf/progress/db-query to perpetually restart-loop after each clean exit (CLI runs `--help`, exits 0, daemon restarts it, repeat).
137
+ - The fix is NOT to grow a `serve` mode for each CLI — that is feature work, not infra plumbing.
138
+ - Instead, acknowledge that the FR-4 services divide into two patterns and configure each correctly at the compose layer.
139
+
140
+ ### Consequences
141
+
142
+ - A healthy `vds-platform` project's `docker ps` shows 4 long-running services + 4 exited CLI containers. The `Exited (0)` state is **normal**, not a failure signal.
143
+ - Operators MUST invoke CLI containers via `docker compose -p vds-platform run --rm <service> <subcommand>` rather than `up -d`. Documented in `MIGRATION.md` and `infrastructure-evolution-skill`.
144
+ - If audit or pdf grow a daemon mode in the future (e.g., a job-queue dispatcher), reclassifying them is a one-line compose change (`restart: "no"` → `restart: unless-stopped`) plus a CMD update.
145
+ - `verify-infra-topology.py` profile checks treat CLI profiles (progress, db-query, audit-when-CLI, pdf-when-CLI) as "infra-only expected running" — only the shared infra needs to be up; the CLI profile's container exiting is expected.
146
+
147
+ #### Tier 3 Sub-Shapes (simplified v2.15.10)
148
+
149
+ Only **3A — Operator-CLI** remains active. Operators invoke CLI containers via
150
+ `docker compose run --rm <service> <subcommand>` (or `make run-<service> ARGS=...`).
151
+
152
+ | Sub-shape | Invoked by | Examples | Where |
153
+ |---|---|---|---|
154
+ | **3A — Operator-CLI** | Human operator | `audit`, `pdf`, `progress`, `db-query`, `vds-cli`, `mcp-server` | `docker-compose.cli.yml` |
155
+ | **3B — Auto-init one-shot** | *(retired v2.15.10)* | — | — |
156
+
157
+ Pre-v2.15.10, `memory-migrate` was a Tier 3B auto-init container that ran
158
+ `alembic upgrade head` before the main service started. The entire sub-shape
159
+ was retired when ADR-INF-10 adopted the single-tier deploy model: each
160
+ long-running service's entrypoint runs alembic before exec'ing uvicorn,
161
+ eliminating cross-file `depends_on` and the two-tier privilege model.
162
+
163
+ `make up-<service>` loads only `docker-compose.services.yml`. The CLI file
164
+ (`docker-compose.cli.yml`) is loaded only for explicit operator-CLI invocations
165
+ (`make run-audit`, etc.).
166
+
167
+
168
+ ## ADR-INF-11 — Alembic Migration Standard
169
+
170
+ **Status**: Accepted (P4 v2.11.1; simplified P5 WP-5.1 at `c1a3585d`)
171
+
172
+ **Date**: 2026-04-25 (P4); 2026-04-26 (P5 WP-5.1 simplification) | **Spec**: `design.md` §ADR-INF-11
173
+
174
+ ### Decision
175
+
176
+ All DB-backed VDS orchestrators MUST use Alembic for schema migrations. Each
177
+ service owns its own `alembic.ini` + `alembic/env.py` + `alembic/versions/`
178
+ tree. There is **no** monorepo-wide single Alembic environment. Schema/role
179
+ bootstrap (one-time at postgres container init) lives in
180
+ `docker/infrastructure/init-schemas.sql`; per-service table CREATE/ALTER
181
+ ownership belongs to that service's Alembic env.
182
+
183
+ Services in scope (post P5 WP-5.1):
184
+
185
+ | Service | Alembic env | Version table |
186
+ |---|---|---|
187
+ | memory_orchestrator | `memory_orchestrator/alembic/` | `memory.alembic_version` |
188
+ | audit_orchestrator | `audit_orchestrator/alembic/` | `audit_state.alembic_version` |
189
+ | progress_report_orchestrator | `progress_report_orchestrator/alembic/` | `progress.alembic_version` |
190
+ | scheduler_orchestrator | `scheduler_orchestrator/alembic/` | `sched.alembic_version` |
191
+
192
+ **Rule for new services**: always use `version_table_schema="<service-schema>"` in env.py
193
+ (in-schema is the single policy; the former scheduler-in-public exception was a doc
194
+ artifact — `c1a3585d` removed it).
195
+
196
+ ### Rationale
197
+
198
+ 1. **Industry-standard for FastAPI + SQLAlchemy 2.0 + Postgres (2026)** — same operational vocabulary as the broader Python ecosystem.
199
+ 2. **Already proven on master** — memory phase197 (`f4c91c8d`) and scheduler (pre-spec); P4 extends to audit + progress.
200
+ 3. **Autogenerate prevents missing-table bugs** — phase196 found 4 ORM tables with no matching migration, causing prod 500s; `alembic revision --autogenerate` would have caught these at PR time.
201
+ 4. **`op.execute()` retains raw-SQL flexibility** for pgvector HNSW, GIN expression indexes, views, complex CHECK constraints.
202
+ 5. **Per-service ownership** matches ADR-INF-1 (schema-per-domain); each env owns ONLY its own schema.
203
+ 6. **No JVM/Go runtime added** (vs Flyway, Atlas, golang-migrate) — Alembic is Python-native, ships in `pip`.
204
+
205
+ ### Canonical env.py pattern (6 design choices)
206
+
207
+ ```python
208
+ # (1) include_name imported from a sibling module — NOT inline in env.py
209
+ from vds_<service>_orchestrator.db.alembic_filters import include_name
210
+ from vds_<service>_orchestrator.service.models.database import Base
211
+
212
+ target_metadata = Base.metadata # (3) for autogenerate
213
+
214
+ context.configure(
215
+ connection=connection,
216
+ target_metadata=target_metadata,
217
+ include_name=include_name, # (1) schema filter
218
+ include_schemas=True, # (2) cross-schema awareness
219
+ version_table_schema="<service-schema>", # (4) in-schema policy (ADR-INF-11)
220
+ # (5) DSN from DATABASE_URL env var (set by <svc>-migrate compose service);
221
+ # strip `?options=...` before passing to asyncpg engine.
222
+ # (6) search_path via DSN options + DB-level ALTER — NEVER inline SET.
223
+ )
224
+ ```
225
+
226
+ ### `version_table_schema` Policy (simplified at P5 WP-5.1 / `c1a3585d`)
227
+
228
+ All services use in-schema placement: `memory.alembic_version`, `audit_state.alembic_version`,
229
+ `progress.alembic_version`, `sched.alembic_version`. The earlier "scheduler in-public exception"
230
+ was a doc artifact — scheduler's DSN `search_path=sched,public` causes Alembic's unqualified
231
+ `CREATE TABLE alembic_version` to land in `sched` regardless; the prior ADR-INF-11 §Dual Policy
232
+ table was stale. Live-state verification at `c1a3585d` confirmed all 4 services are in-schema.
233
+
234
+ **Rule for new services**: always use `version_table_schema="<service-schema>"` in env.py.
235
+
236
+ ### SA2.0 Implicit-TX Gotcha (postmortem from `566217e5`, 2026-04-25)
237
+
238
+ **Symptom**: `alembic_version` table never persisted; `alembic current` returned empty; every migrate run re-applied all migrations (idempotent so harmless, but operationally confusing).
239
+
240
+ **Root cause**: `run_migrations_online()` contained `connection.execute(text("SET search_path TO memory, public"))` BEFORE `context.configure()`. Under SQLAlchemy 2.0+, this opens an *implicit transaction* that doesn't auto-commit before Alembic begins its own version-table tx, wrapping the version-table CREATE/INSERT in a phantom rollback path.
241
+
242
+ **Fix**: removed the explicit `SET search_path` connection statement. The DSN already carries `?options=-c search_path=<schema>,public` and `ALTER DATABASE vds_platform SET search_path TO <schema>, public` is set as DB default — both work without opening an in-tx SET.
243
+
244
+ **Rule**: NEVER call `connection.execute(text("SET ..."))` inside `run_migrations_online()` before `context.configure()`. Use DSN options + DB-level ALTER for search_path setup.
245
+
246
+ ### Search-Path Policy (WP-4.3)
247
+
248
+ Every DSN for pgvector-using services MUST include `public` in search_path so the `vector_l2_ops` HNSW operator class is visible. Without it, migration 0003 (memory) failed with `operator class "vector_l2_ops" does not exist for access method "hnsw"`.
249
+
250
+ Pattern (URL-encoded): `?options=-c%20search_path%3D<schema>%2Cpublic`. Optionally also: `ALTER DATABASE vds_platform SET search_path TO <schema>, public` for the DB-level default.
251
+
252
+ ### `init-schemas.sql` Ownership Boundary (WP-4.4)
253
+
254
+ `docker/infrastructure/init-schemas.sql` runs ONCE at postgres container init. It owns **schemas + roles + DBOS CREATE grant ONLY** — never tables. Tables are owned by per-service Alembic envs. This separation guarantees a clean rollback path: dropping a schema doesn't strand orphan migration state in another service's `alembic_version` table.
255
+
256
+ ### `include_name` Location Standard (WP-4.8)
257
+
258
+ **Canonical**: imported from `<service>/db/alembic_filters.py` module. Rationale: testable in isolation; reusable across online + offline `configure()` blocks; cleaner separation of filter logic from env wiring.
259
+
260
+ Inline-in-env.py (legacy phase197 pattern in memory) was migrated to the canonical module in WP-4.8.
261
+
262
+ ### Compose-service pattern (HISTORICAL — retired v2.15.10 / ADR-INF-10)
263
+
264
+ > ⚠️ **RETIRED in v2.15.10.** Migrations are now an explicit operator step:
265
+ > `docker compose run --rm --no-deps --entrypoint /opt/venv/bin/alembic <service> -c <path>/alembic.ini upgrade head`.
266
+ > The `<service>-migrate` auto-init container pattern below is historical
267
+ > only. Post-P8 DSNs route through PgBouncer (e.g., `@vds-pgbouncer:6432/vds_memory`),
268
+ > not `postgres:5432` with `?options=search_path`.
269
+
270
+ ```yaml
271
+ # ⚠️ HISTORICAL — do not use
272
+ <service>-migrate:
273
+ profiles: ["<service>", "full"]
274
+ build: { context: ../, dockerfile: <service>_orchestrator/Dockerfile }
275
+ image: vds-<service>:${VERSION:-1.0.0}
276
+ container_name: vds-<service>-migrate
277
+ depends_on: { postgres: { condition: service_healthy } }
278
+ environment:
279
+ DATABASE_URL: postgresql://postgres:${VDS_POSTGRES_PASSWORD}@postgres:5432/vds_platform?options=-c%20search_path%3D<schema>%2Cpublic
280
+ restart: "no"
281
+ command: [/opt/venv/bin/alembic, -c, /app/<service>_orchestrator/alembic.ini, upgrade, head]
282
+
283
+ # ⚠️ HISTORICAL — do not use
284
+ <service>-orchestrator:
285
+ depends_on:
286
+ <service>-migrate: { condition: service_completed_successfully }
287
+ ```
288
+
289
+ ### Schema-Drop-Safe Downgrade Pattern (P5 WP-5.1)
290
+
291
+ **Problem**: A `0001` migration that creates a service-owned schema and whose original
292
+ `downgrade()` does `DROP SCHEMA <schema> CASCADE` will wipe `<schema>.alembic_version`
293
+ mid-transaction. Alembic deletes the version row AFTER running `downgrade()` — if the
294
+ version table is gone, that step fails and the downgrade aborts with inconsistent state.
295
+
296
+ **Concrete instance**: `scheduler_orchestrator/alembic/versions/0001_create_sched_schema.py`.
297
+ Live `sched.alembic_version` lands in `sched` (in-schema policy above). Running
298
+ `alembic downgrade base` with the original `DROP SCHEMA sched CASCADE` would abort.
299
+
300
+ **Canonical fix** (P5 WP-5.1): make `0001.downgrade()` an intentional no-op:
301
+
302
+ ```python
303
+ def downgrade() -> None:
304
+ """Intentional no-op. Do NOT DROP SCHEMA <schema> CASCADE here.
305
+
306
+ alembic_version lives in this schema; alembic deletes the version row
307
+ AFTER running downgrade(), so any DROP TABLE/SCHEMA here would cause
308
+ that deletion to fail. Operators wanting full schema teardown must run:
309
+ DROP SCHEMA sched CASCADE;
310
+ manually OUTSIDE alembic, then re-init with: alembic upgrade head.
311
+
312
+ By the time alembic reaches 0001.downgrade(), all >=0002 revisions have
313
+ already dropped their own domain tables via their own downgrade() methods.
314
+ """
315
+ # Nothing to drop here — alembic manages <schema>.alembic_version itself.
316
+ ```
317
+
318
+ **Post-downgrade state**: `sched` schema persists holding only the now-empty
319
+ `alembic_version` table (zero rows). This is intentional — alembic deleted the
320
+ version row as part of its own internal cleanup. Full schema teardown is a manual
321
+ operator step outside alembic.
322
+
323
+ **Regression test**: `scheduler_orchestrator/tests/test_alembic_downgrade.py` — runs
324
+ `upgrade head` → `downgrade base` → `upgrade head` cycle via testcontainers and
325
+ asserts `sched.alembic_version` is populated/empty/repopulated at each phase.
326
+
327
+ **References**: spec design.md §ADR-INF-11 §Schema-Drop-Safe Downgrade Pattern;
328
+ TSK-5.1.1..TSK-5.1.7.
329
+
330
+ ### Idempotence Requirement
331
+
332
+ Initial squash migrations subsuming pre-Alembic raw SQL (e.g., audit's WP-4.1, progress's WP-4.7) MUST use idempotence guards (`CREATE TABLE IF NOT EXISTS`, `DO $$ BEGIN ... EXCEPTION WHEN duplicate_object THEN NULL; END $$`).
333
+
334
+ Cutover sequence: `alembic stamp 0001` (mark live schema as already-at-revision-N without re-running DDL) → subsequent `alembic upgrade head` is a no-op.
335
+
336
+ ### Consequences
337
+
338
+ - Audit's 10+ phase-numbered raw SQL files retired to `audit_orchestrator/legacy/migrations/` with a README pointing at the squash migration.
339
+ - Audit's `state/store.py:BOOTSTRAP_SQL` (~2500 LOC inline) deleted.
340
+ - Audit's `init_schema()` stubbed to `RuntimeError`; production callers swapped to programmatic `alembic upgrade head`.
341
+ - Audit's `_run_with_schema_autorepair()` deleted (drift-recovery wrapper now unnecessary by construction).
342
+ - Progress's inline `_TABLES` dict + `init_schema()` deleted; CLI startup no longer auto-bootstraps.
343
+ ~~- New `audit-migrate` and `progress-migrate` Tier-3 CLI compose services (one-shot `alembic upgrade head`, downstream services use `depends_on: { condition: service_completed_successfully }`).~~|
344
+ - Migrations run as explicit operator steps (`docker compose run --rm --no-deps <service> --entrypoint /opt/venv/bin/alembic <service> -c <path>/alembic.ini upgrade head`) — no auto-init one-shot services. (v2.15.10 / ADR-INF-10)
345
+ - `verify-infra-topology.py` extension (WP-4.6) checks `<schema>.alembic_version` per managed schema.
346
+
347
+ ### Rejected alternatives
348
+
349
+ - **Flyway / Atlas / golang-migrate** — JVM/Go runtime overhead for no Python-native gain.
350
+ - **yoyo-migrations** — smaller community, no autogenerate.
351
+ - **Hand-rolled `run_migrations.py`** — phase196 demonstrated the failure mode (4 missing tables undetected until prod 500s); 440-LOC tech debt rejected by phase197.
352
+ - **Single monorepo Alembic env** — breaks ADR-INF-1 schema-per-domain ownership; forces cross-service coordination on every migration.
353
+
354
+ ### References
355
+
356
+ - Alembic tutorial: https://alembic.sqlalchemy.org/en/latest/tutorial.html
357
+ - Reference impl: `memory_orchestrator/alembic/env.py` (phase197 / `f4c91c8d` + `566217e5`)
358
+ - Sibling reference: `scheduler_orchestrator/alembic/env.py` (pre-spec; now in-schema per c1a3585d)
359
+ - Historical compose pattern (retired v2.15.10): `docker/docker-compose.cli.yml` `audit-migrate` / `progress-migrate` (commit `5655bfe8`); `memory-migrate` (P5 WP-5.3 — originally at commit `3630ae9d` in `docker-compose.services.yml`)
360
+ - Spec: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-11 (full text)
361
+
362
+ ## ADR-INF-12 — DRY Alembic env.py via `vds_platform_core.alembic.runtime`
363
+
364
+ **Status**: Accepted (P5 WP-5.2 — implemented at commit `2f8ec72c`) | **Spec**: `design.md` §ADR-INF-12
365
+
366
+ All 4 DB-backed services (memory, audit, progress, scheduler) import their Alembic
367
+ env.py runtime from `vds_platform_core.alembic.runtime`. Each service's `env.py` is
368
+ ~25-44 LOC of declarative configuration; the helper module is the single source of
369
+ truth for psycopg-v3 dialect dispatch, asyncpg-aware DSN parsing, version_table_schema
370
+ defaulting, and the SA2.0 implicit-tx safety contract.
371
+
372
+ ### Operator implications
373
+
374
+ 1. **Where the runtime logic lives**: `platform_core/src/vds_platform_core/alembic/runtime.py`. Debug Alembic failures here, not per-service `env.py` files.
375
+ 2. **Adding a new DB-backed service**: copy the canonical 25-44 LOC env.py shape from `scheduler_orchestrator/alembic/env.py`. See `infrastructure-evolution-skill/references/adding-a-new-service.md` for the 7-step onboarding.
376
+ 3. **Bug-fix-once propagation**: a fix in `runtime.py` propagates to all 4 services on next deploy. P5 WP-5.2 reduced cumulative env.py LOC from 621 → 330 (–301 LOC).
377
+
378
+ → Full rationale, API surface, rejected alternatives, references: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-12
379
+
380
+ ## ADR-INF-13 — PgBouncer Session-Mode Uniform Topology
381
+
382
+ **Status**: Accepted (P8 WP-8.1–8.6 — deployed at `8948d1cf`, post-deploy fixes through `808ac1fb`) | **Spec**: `design.md` §ADR-INF-13
383
+
384
+ Single-DSN routing through `vds-pgbouncer:6432` in session mode. Four per-database stanzas (`vds_audit`, `vds_memory`, `vds_progress`, `vds_sched`) each pin `search_path` via `connect_query`. No `_DIRECT_DSN` parallel; all services route uniformly.
385
+
386
+ ### Operator implications
387
+
388
+ 1. **Health**: `docker exec vds-pgbouncer psql -d pgbouncer -U pgbouncer_admin -c 'SHOW POOLS'` (port 6432).
389
+ 2. **Stanza edits**: require `docker compose restart vds-pgbouncer` to reload `pgbouncer.ini`.
390
+ 3. **Auth bootstrap**: `bash scripts/init-pgbouncer-userlist.sh` generates `userlist.txt` from live `pg_shadow`.
391
+
392
+ → Full rationale, topology rules, R12 escalation gate, operator one-liners, foot-guns: `.gpt-5.4/specs/ecosystem-infrastructure-evolution/design.md` §ADR-INF-13
@@ -0,0 +1,68 @@
1
+ # syntax=docker/dockerfile:1
2
+ # =============================================================================
3
+ # VDS CLI (unified router) - Dockerfile
4
+ # Phase: ecosystem-infrastructure-evolution v2.12.2 follow-up
5
+ #
6
+ # Build context: vds-scripts workspace root (per docker-compose.cli.yml)
7
+ # Example: docker build -f docker/Dockerfile .
8
+ #
9
+ # Runtime contract:
10
+ # - vds-cli is the unified routed CLI for all VDS orchestrator commands
11
+ # - Reads ~/.vds/.env via env_file
12
+ # - CLI tool, not a long-running service (HEALTHCHECK polls vds-cli version)
13
+ # =============================================================================
14
+
15
+ FROM python:3.14.4-slim
16
+
17
+ ENV PYTHONDONTWRITEBYTECODE=1 \
18
+ PYTHONUNBUFFERED=1 \
19
+ UV_LINK_MODE=copy \
20
+ UV_COMPILE_BYTECODE=1 \
21
+ UV_PROJECT_ENVIRONMENT=/opt/venv \
22
+ PATH="/opt/venv/bin:$PATH"
23
+
24
+ WORKDIR /app
25
+
26
+ # System deps (curl for healthcheck; ca-certificates + git for outbound network/repo ops)
27
+ RUN apt-get update && apt-get install -y --no-install-recommends \
28
+ curl ca-certificates git \
29
+ && rm -rf /var/lib/apt/lists/*
30
+
31
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
32
+
33
+ # Workspace dep tree (per vds_cli/pyproject.toml [tool.uv.sources]):
34
+ # vds_cli
35
+ # ├── vds_cli_common (leaf)
36
+ # ├── vds_evolution → vds_cli_common
37
+ # ├── vds_bitbucket_orchestrator → vds_cli_common
38
+ # └── vds_google_sheets_orchestrator → vds_cli_common
39
+ #
40
+ # Copy all 5 in topological order (leaf-first).
41
+ COPY vds_cli_common /app/vds_cli_common
42
+ COPY vds_evolution /app/vds_evolution
43
+ COPY bitbucket_orchestrator /app/bitbucket_orchestrator
44
+ COPY google_sheets_orchestrator /app/google_sheets_orchestrator
45
+ COPY vds_cli /app/vds_cli
46
+
47
+ # Canonical workspace install pattern: per-path `uv pip install --no-sources`
48
+ # (matches audit/progress/pdf/db-query/mcp-server Dockerfiles; avoids
49
+ # per-package uv.lock requirement).
50
+ RUN --mount=type=cache,target=/root/.cache/uv \
51
+ uv venv --python 3.14 /opt/venv && \
52
+ uv pip install --python /opt/venv/bin/python --no-sources \
53
+ /app/vds_cli_common \
54
+ /app/vds_evolution \
55
+ /app/bitbucket_orchestrator \
56
+ /app/google_sheets_orchestrator \
57
+ /app/vds_cli
58
+
59
+ # Health check
60
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
61
+ CMD /opt/venv/bin/vds-cli --help > /dev/null 2>&1 || exit 1
62
+
63
+ ENTRYPOINT ["/opt/venv/bin/vds-cli"]
64
+ CMD ["--help"]
65
+
66
+ LABEL org.opencontainers.image.title="VDS CLI (unified router)" \
67
+ org.opencontainers.image.description="Unified routed CLI entry point for all VDS orchestrator commands" \
68
+ org.opencontainers.image.created="2026-04-26"