@ngocsangairvds/vsaf 4.1.8 → 4.1.9

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 (1065) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/commands/skill.js +1 -1
  3. package/packages/cli/dist/commands/skill.js.map +1 -1
  4. package/skills/vds-skill/_shared/config-check.js +0 -76
  5. package/skills/vds-skill/_shared/credentials.js +0 -139
  6. package/skills/vds-skill/create-bitbucket-pr/SKILL.md +0 -57
  7. package/skills/vds-skill/create-bitbucket-pr/scripts/create-pr.js +0 -125
  8. package/skills/vds-skill/create-jira-epic/SKILL.md +0 -55
  9. package/skills/vds-skill/create-jira-epic/scripts/create-epic.js +0 -120
  10. package/skills/vds-skill/install-deps.mjs +0 -567
  11. package/skills/vds-skill/pack.yaml +0 -24
  12. package/skills/vds-skill/pull/SKILL.md +0 -38
  13. package/skills/vds-skill/pull/scripts/pull.js +0 -59
  14. package/skills/vds-skill/push-prd/SKILL.md +0 -227
  15. package/skills/vds-skill/push-srs/SKILL.md +0 -116
  16. package/skills/vds-skill/search-confluence/SKILL.md +0 -53
  17. package/skills/vds-skill/search-confluence/scripts/search.js +0 -114
  18. package/skills/vds-skill/vds-scripts/.claude/phase7-CLOSURE.md +0 -100
  19. package/skills/vds-skill/vds-scripts/.dockerignore +0 -62
  20. package/skills/vds-skill/vds-scripts/.github/ISSUE_TEMPLATE/cli-change.md +0 -92
  21. package/skills/vds-skill/vds-scripts/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -48
  22. package/skills/vds-skill/vds-scripts/.github/workflows/chaos-smoke.yml +0 -266
  23. package/skills/vds-skill/vds-scripts/.github/workflows/confluence-sync.yml +0 -44
  24. package/skills/vds-skill/vds-scripts/.github/workflows/docs-confluence-evidence.yml +0 -170
  25. package/skills/vds-skill/vds-scripts/.github/workflows/docs-quality.yml +0 -59
  26. package/skills/vds-skill/vds-scripts/.github/workflows/lint-and-test.yml +0 -90
  27. package/skills/vds-skill/vds-scripts/.github/workflows/scheduler-load-smoke.yml +0 -104
  28. package/skills/vds-skill/vds-scripts/.github/workflows/telegram-bridge-ci.yml +0 -131
  29. package/skills/vds-skill/vds-scripts/.graphifyignore +0 -29
  30. package/skills/vds-skill/vds-scripts/.importlinter +0 -86
  31. package/skills/vds-skill/vds-scripts/.mcp.json +0 -11
  32. package/skills/vds-skill/vds-scripts/.pre-commit-config.yaml +0 -62
  33. package/skills/vds-skill/vds-scripts/.ruffignore +0 -3
  34. package/skills/vds-skill/vds-scripts/.secrets.baseline +0 -133
  35. package/skills/vds-skill/vds-scripts/AGENTS.md +0 -250
  36. package/skills/vds-skill/vds-scripts/AGENTS.vi.md +0 -92
  37. package/skills/vds-skill/vds-scripts/ECOSYSTEM-CHANGELOG.md +0 -52
  38. package/skills/vds-skill/vds-scripts/ECOSYSTEM-DOCS.md +0 -602
  39. package/skills/vds-skill/vds-scripts/ECOSYSTEM_ALIGNMENT.md +0 -133
  40. package/skills/vds-skill/vds-scripts/Makefile +0 -119
  41. package/skills/vds-skill/vds-scripts/README.md +0 -103
  42. package/skills/vds-skill/vds-scripts/bitbucket_manifest_mapping.toml +0 -34
  43. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/ARCHITECTURE_ANALYSIS.md +0 -258
  44. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/BITBUCKET_API_PRACTICES.md +0 -393
  45. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/EVALUATION_REPORT.md +0 -61
  46. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/FEATURES.md +0 -908
  47. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/README.md +0 -817
  48. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/pyproject.toml +0 -49
  49. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/__init__.py +0 -50
  50. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/async_client.py +0 -641
  51. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/cli.py +0 -2271
  52. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/client.py +0 -2693
  53. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/config.py +0 -186
  54. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/errors.py +0 -34
  55. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/factory.py +0 -185
  56. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/parsers.py +0 -113
  57. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/protocols.py +0 -244
  58. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/src/vds_bitbucket_orchestrator/repo_ops.py +0 -325
  59. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/__init__.py +0 -8
  60. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/conftest.py +0 -65
  61. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_advanced_search.py +0 -155
  62. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_async_client.py +0 -505
  63. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_branch_permissions.py +0 -172
  64. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli.py +0 -113
  65. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli_archive.py +0 -122
  66. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_cli_clone.py +0 -131
  67. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client.py +0 -207
  68. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_archive.py +0 -73
  69. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_branch_conditions.py +0 -101
  70. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_code_advanced.py +0 -180
  71. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_code_file.py +0 -33
  72. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_deployment_environments.py +0 -193
  73. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_issues.py +0 -163
  74. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_pipelines_advanced.py +0 -171
  75. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_pr_blockers.py +0 -118
  76. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_client_repository_variables.py +0 -155
  77. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code.py +0 -98
  78. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code_advanced.py +0 -279
  79. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_code_insights.py +0 -334
  80. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_conditions.py +0 -149
  81. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_config.py +0 -297
  82. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_deployment_env.py +0 -352
  83. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_errors.py +0 -67
  84. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_factory.py +0 -352
  85. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_fork_operations.py +0 -203
  86. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_issue_cli.py +0 -262
  87. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_pipeline_advanced.py +0 -265
  88. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_pr_blocker.py +0 -206
  89. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_protocols.py +0 -336
  90. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_archive.py +0 -169
  91. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_clone.py +0 -115
  92. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_ops_parsing.py +0 -149
  93. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_settings.py +0 -336
  94. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_repo_variables.py +0 -266
  95. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_webhooks.py +0 -188
  96. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/test_workspace.py +0 -234
  97. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/unit/__init__.py +0 -0
  98. package/skills/vds-skill/vds-scripts/bitbucket_orchestrator/tests/unit/test_parsers.py +0 -254
  99. package/skills/vds-skill/vds-scripts/brd_orchestrator/README.md +0 -29
  100. package/skills/vds-skill/vds-scripts/brd_orchestrator/pyproject.toml +0 -63
  101. package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/__init__.py +0 -17
  102. package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/cli.py +0 -187
  103. package/skills/vds-skill/vds-scripts/brd_orchestrator/src/vds_brd_orchestrator/validator.py +0 -121
  104. package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/__init__.py +0 -0
  105. package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/test_cli.py +0 -62
  106. package/skills/vds-skill/vds-scripts/brd_orchestrator/tests/test_validator.py +0 -33
  107. package/skills/vds-skill/vds-scripts/code/code_evidence_pack.json +0 -435
  108. package/skills/vds-skill/vds-scripts/confluence_orchestrator/Dockerfile +0 -19
  109. package/skills/vds-skill/vds-scripts/confluence_orchestrator/README.md +0 -479
  110. package/skills/vds-skill/vds-scripts/confluence_orchestrator/SYNC_SCRIPTS.md +0 -127
  111. package/skills/vds-skill/vds-scripts/confluence_orchestrator/SYNC_STANDARDIZATION.md +0 -108
  112. package/skills/vds-skill/vds-scripts/confluence_orchestrator/pyproject.toml +0 -50
  113. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/__init__.py +0 -56
  114. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/async_client.py +0 -100
  115. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/cli.py +0 -3160
  116. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/config.py +0 -215
  117. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content.py +0 -368
  118. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/content_v2.py +0 -144
  119. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/crawl_tree.py +0 -1833
  120. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/errors.py +0 -44
  121. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/eventing.py +0 -111
  122. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/http.py +0 -1850
  123. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/orchestration.py +0 -166
  124. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/protocols.py +0 -61
  125. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/reporting.py +0 -78
  126. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree.py +0 -122
  127. package/skills/vds-skill/vds-scripts/confluence_orchestrator/src/confluence_orchestrator/tree_copier.py +0 -431
  128. package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_pdfs_from_markdown.py +0 -203
  129. package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_pdfs_to_confluence.py +0 -299
  130. package/skills/vds-skill/vds-scripts/confluence_orchestrator/sync_png_attachments.py +0 -299
  131. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/conftest.py +0 -46
  132. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_advanced_content.py +0 -252
  133. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_advanced_search.py +0 -193
  134. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_async_client.py +0 -104
  135. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_cache_management.py +0 -246
  136. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_cli.py +0 -716
  137. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_config.py +0 -130
  138. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content.py +0 -192
  139. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content_flags.py +0 -27
  140. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_content_labels.py +0 -94
  141. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_crawl_tree.py +0 -2252
  142. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_degraded_write_safety.py +0 -176
  143. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_draft_management.py +0 -225
  144. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_errors.py +0 -75
  145. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing.py +0 -73
  146. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_chaos.py +0 -37
  147. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_rate_limit.py +0 -44
  148. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_eventing_timeout.py +0 -49
  149. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_export.py +0 -231
  150. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_history.py +0 -217
  151. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_http.py +0 -375
  152. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_orchestration.py +0 -93
  153. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_reporting.py +0 -24
  154. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_search_cql.py +0 -36
  155. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_space_management.py +0 -236
  156. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_space_permissions.py +0 -384
  157. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_tree_copier.py +0 -644
  158. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_tree_copier_remap.py +0 -289
  159. package/skills/vds-skill/vds-scripts/confluence_orchestrator/tests/test_user_group_management.py +0 -387
  160. package/skills/vds-skill/vds-scripts/diagram_generator/README.md +0 -663
  161. package/skills/vds-skill/vds-scripts/diagram_generator/ci_validate.sh +0 -16
  162. 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
  163. package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-component.puml +0 -23
  164. 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
  165. package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-sequence.puml +0 -21
  166. 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
  167. package/skills/vds-skill/vds-scripts/diagram_generator/docs-nttc/projects/INSURANCE/analysis/current-state/insurance-claim-business/insurance-claim-business-usecase.puml +0 -14
  168. package/skills/vds-skill/vds-scripts/diagram_generator/examples/github-actions-validate.yml +0 -39
  169. package/skills/vds-skill/vds-scripts/diagram_generator/generate_all_diagrams.py +0 -827
  170. package/skills/vds-skill/vds-scripts/diagram_generator/generate_insurance_c4_diagrams.py +0 -261
  171. package/skills/vds-skill/vds-scripts/diagram_generator/generate_insurance_c4_quick.py +0 -486
  172. package/skills/vds-skill/vds-scripts/diagram_generator/pyproject.toml +0 -28
  173. package/skills/vds-skill/vds-scripts/diagram_generator/render_png.py +0 -59
  174. package/skills/vds-skill/vds-scripts/diagram_generator/src/vds_diagram_generator/__init__.py +0 -3
  175. package/skills/vds-skill/vds-scripts/diagram_generator/src/vds_diagram_generator/cli.py +0 -50
  176. package/skills/vds-skill/vds-scripts/diagram_generator/test_c4_hierarchical.py +0 -142
  177. package/skills/vds-skill/vds-scripts/diagram_generator/test_c4_quick.py +0 -131
  178. package/skills/vds-skill/vds-scripts/diagram_generator/tests/__init__.py +0 -0
  179. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_analyzer_completeness.py +0 -260
  180. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_c4_syntax_correctness.py +0 -138
  181. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_component_coverage.py +0 -182
  182. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_mermaid_output.py +0 -80
  183. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_png_generation.py +0 -112
  184. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_scenario_templates.py +0 -15
  185. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_sequence_accuracy.py +0 -93
  186. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_structurizr_export.py +0 -177
  187. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_style_consistency.py +0 -174
  188. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_usecase_generator.py +0 -201
  189. package/skills/vds-skill/vds-scripts/diagram_generator/tests/test_usecase_integration.py +0 -124
  190. package/skills/vds-skill/vds-scripts/docker/.dockerignore +0 -38
  191. package/skills/vds-skill/vds-scripts/docker/ADR.md +0 -392
  192. package/skills/vds-skill/vds-scripts/docker/Dockerfile +0 -68
  193. package/skills/vds-skill/vds-scripts/docker/MIGRATION.md +0 -453
  194. package/skills/vds-skill/vds-scripts/docker/README.md +0 -347
  195. package/skills/vds-skill/vds-scripts/docker/ROLLBACK.md +0 -596
  196. package/skills/vds-skill/vds-scripts/docker/compose.phase2-verification.yml +0 -31
  197. package/skills/vds-skill/vds-scripts/docker/docker-compose.cli.yml +0 -206
  198. package/skills/vds-skill/vds-scripts/docker/docker-compose.infra.yml +0 -276
  199. package/skills/vds-skill/vds-scripts/docker/docker-compose.services.yml +0 -425
  200. package/skills/vds-skill/vds-scripts/docker/infrastructure/init-schemas.sql +0 -177
  201. package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/pgbouncer.ini +0 -75
  202. package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/userlist.txt +0 -50
  203. package/skills/vds-skill/vds-scripts/docker/infrastructure/pgbouncer/userlist.txt.template +0 -36
  204. package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/.gitkeep +0 -0
  205. package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/PREFLIGHT.md +0 -132
  206. package/skills/vds-skill/vds-scripts/docs/.confluence-evidence/README.md +0 -84
  207. package/skills/vds-skill/vds-scripts/docs/.confluence.yaml +0 -157
  208. package/skills/vds-skill/vds-scripts/docs/.freshness.yaml +0 -54
  209. package/skills/vds-skill/vds-scripts/docs/README.md +0 -235
  210. package/skills/vds-skill/vds-scripts/docs/agents/README.md +0 -33
  211. package/skills/vds-skill/vds-scripts/docs/agents/explanation/data-flow.md +0 -132
  212. package/skills/vds-skill/vds-scripts/docs/agents/explanation/development-roadmap.md +0 -49
  213. package/skills/vds-skill/vds-scripts/docs/agents/explanation/features-overview.md +0 -62
  214. package/skills/vds-skill/vds-scripts/docs/agents/explanation/index.md +0 -36
  215. package/skills/vds-skill/vds-scripts/docs/agents/explanation/runtime-verification-and-gap-reporting.md +0 -127
  216. package/skills/vds-skill/vds-scripts/docs/agents/explanation/system-architecture.md +0 -139
  217. package/skills/vds-skill/vds-scripts/docs/agents/explanation/whats-new.md +0 -75
  218. package/skills/vds-skill/vds-scripts/docs/agents/explanation/who-ecosystem-introduction.md +0 -65
  219. package/skills/vds-skill/vds-scripts/docs/agents/explanation/who-ecosystem-model.md +0 -41
  220. package/skills/vds-skill/vds-scripts/docs/agents/how-to/02-using-vds-ai-memory.md +0 -98
  221. package/skills/vds-skill/vds-scripts/docs/agents/how-to/03-memory-cross-agent.md +0 -241
  222. package/skills/vds-skill/vds-scripts/docs/agents/how-to/04-using-progress-reports.md +0 -240
  223. package/skills/vds-skill/vds-scripts/docs/agents/how-to/08-semantic-search.md +0 -46
  224. package/skills/vds-skill/vds-scripts/docs/agents/how-to/apply-phase3-migration.md +0 -148
  225. package/skills/vds-skill/vds-scripts/docs/agents/how-to/choose-the-right-command-or-skill.md +0 -34
  226. package/skills/vds-skill/vds-scripts/docs/agents/how-to/contribute-new-orchestrator.md +0 -149
  227. package/skills/vds-skill/vds-scripts/docs/agents/how-to/decision-tree.md +0 -63
  228. package/skills/vds-skill/vds-scripts/docs/agents/how-to/first-audit-run.md +0 -83
  229. package/skills/vds-skill/vds-scripts/docs/agents/how-to/index.md +0 -49
  230. package/skills/vds-skill/vds-scripts/docs/agents/how-to/install-and-bootstrap-who-scripts-and-skills.md +0 -314
  231. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/analytics-pipeline-workflow.md +0 -165
  232. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/code-quality-gate-workflow.md +0 -138
  233. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/confluence-bitbucket-sync-workflow.md +0 -130
  234. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/document-delivery-workflow.md +0 -142
  235. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/memory-progress-workflow.md +0 -140
  236. package/skills/vds-skill/vds-scripts/docs/agents/how-to/orchestrator-workflows/research-spec-audit-workflow.md +0 -135
  237. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-all-project-preparation.md +0 -211
  238. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-bounded-parallel-analysis.md +0 -123
  239. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase131-confluence-upload-recovery.md +0 -204
  240. package/skills/vds-skill/vds-scripts/docs/agents/how-to/phase132-department-preparation.md +0 -144
  241. package/skills/vds-skill/vds-scripts/docs/agents/how-to/run-ecosystem-daily-report.md +0 -213
  242. package/skills/vds-skill/vds-scripts/docs/agents/how-to/tips-and-tricks.md +0 -138
  243. package/skills/vds-skill/vds-scripts/docs/agents/how-to/troubleshooting-guide.md +0 -221
  244. package/skills/vds-skill/vds-scripts/docs/agents/reference/agent-operational-contract.md +0 -162
  245. package/skills/vds-skill/vds-scripts/docs/agents/reference/alignment-phase179-report.md +0 -144
  246. package/skills/vds-skill/vds-scripts/docs/agents/reference/audit-triage-playbook.md +0 -256
  247. package/skills/vds-skill/vds-scripts/docs/agents/reference/backup-restore.md +0 -132
  248. package/skills/vds-skill/vds-scripts/docs/agents/reference/bitbucket-orchestrator.md +0 -56
  249. package/skills/vds-skill/vds-scripts/docs/agents/reference/brd-orchestrator.md +0 -52
  250. package/skills/vds-skill/vds-scripts/docs/agents/reference/capability-coverage-review.md +0 -51
  251. package/skills/vds-skill/vds-scripts/docs/agents/reference/ci-workflows.md +0 -98
  252. package/skills/vds-skill/vds-scripts/docs/agents/reference/circular-dependency-orchestrator.md +0 -55
  253. package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-commands.md +0 -583
  254. package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-development-standards.md +0 -41
  255. package/skills/vds-skill/vds-scripts/docs/agents/reference/cli-help-matrix.md +0 -84
  256. package/skills/vds-skill/vds-scripts/docs/agents/reference/common-errors.md +0 -126
  257. package/skills/vds-skill/vds-scripts/docs/agents/reference/configuration-reference.md +0 -128
  258. package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-orchestrator.md +0 -56
  259. package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-sync-target.md +0 -111
  260. package/skills/vds-skill/vds-scripts/docs/agents/reference/confluence-sync.md +0 -46
  261. package/skills/vds-skill/vds-scripts/docs/agents/reference/db-query-orchestrator.md +0 -93
  262. package/skills/vds-skill/vds-scripts/docs/agents/reference/diagrams-orchestrator.md +0 -52
  263. package/skills/vds-skill/vds-scripts/docs/agents/reference/ecosystem-daily-report.md +0 -229
  264. package/skills/vds-skill/vds-scripts/docs/agents/reference/elastic-orchestrator.md +0 -57
  265. package/skills/vds-skill/vds-scripts/docs/agents/reference/env-git-helper.md +0 -216
  266. package/skills/vds-skill/vds-scripts/docs/agents/reference/evolution-orchestrator.md +0 -113
  267. package/skills/vds-skill/vds-scripts/docs/agents/reference/excel-orchestrator.md +0 -51
  268. package/skills/vds-skill/vds-scripts/docs/agents/reference/git-orchestrator.md +0 -62
  269. package/skills/vds-skill/vds-scripts/docs/agents/reference/google-sheets-orchestrator.md +0 -51
  270. package/skills/vds-skill/vds-scripts/docs/agents/reference/grafana-orchestrator.md +0 -52
  271. package/skills/vds-skill/vds-scripts/docs/agents/reference/hexagonal-orchestrator.md +0 -64
  272. package/skills/vds-skill/vds-scripts/docs/agents/reference/index.md +0 -36
  273. package/skills/vds-skill/vds-scripts/docs/agents/reference/infrastructure-v2.15.md +0 -67
  274. package/skills/vds-skill/vds-scripts/docs/agents/reference/intellij-orchestrator.md +0 -50
  275. package/skills/vds-skill/vds-scripts/docs/agents/reference/jira-orchestrator.md +0 -60
  276. package/skills/vds-skill/vds-scripts/docs/agents/reference/links-orchestrator.md +0 -57
  277. package/skills/vds-skill/vds-scripts/docs/agents/reference/lint-cli.md +0 -99
  278. package/skills/vds-skill/vds-scripts/docs/agents/reference/lsp-orchestrator.md +0 -51
  279. package/skills/vds-skill/vds-scripts/docs/agents/reference/markdown-orchestrator.md +0 -53
  280. package/skills/vds-skill/vds-scripts/docs/agents/reference/mcp-orchestrator.md +0 -88
  281. package/skills/vds-skill/vds-scripts/docs/agents/reference/memory-orchestrator.md +0 -53
  282. package/skills/vds-skill/vds-scripts/docs/agents/reference/metabase-orchestrator.md +0 -51
  283. package/skills/vds-skill/vds-scripts/docs/agents/reference/migration-playbook.md +0 -71
  284. package/skills/vds-skill/vds-scripts/docs/agents/reference/multi-agent-orchestrator.md +0 -52
  285. package/skills/vds-skill/vds-scripts/docs/agents/reference/openapi-orchestrator.md +0 -57
  286. package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-architecture.md +0 -194
  287. package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-comparison-matrix.md +0 -79
  288. package/skills/vds-skill/vds-scripts/docs/agents/reference/orchestrator-index.md +0 -73
  289. package/skills/vds-skill/vds-scripts/docs/agents/reference/pdf-orchestrator.md +0 -57
  290. package/skills/vds-skill/vds-scripts/docs/agents/reference/portable-paths-and-config.md +0 -0
  291. package/skills/vds-skill/vds-scripts/docs/agents/reference/portable-paths-validation-matrix.md +0 -129
  292. package/skills/vds-skill/vds-scripts/docs/agents/reference/progress-orchestrator.md +0 -51
  293. package/skills/vds-skill/vds-scripts/docs/agents/reference/progress-report-cli.md +0 -215
  294. package/skills/vds-skill/vds-scripts/docs/agents/reference/public-interface-orchestrator.md +0 -73
  295. package/skills/vds-skill/vds-scripts/docs/agents/reference/research-orchestrator.md +0 -53
  296. package/skills/vds-skill/vds-scripts/docs/agents/reference/schema-orchestrator.md +0 -57
  297. package/skills/vds-skill/vds-scripts/docs/agents/reference/search-tools.md +0 -34
  298. package/skills/vds-skill/vds-scripts/docs/agents/reference/skills-commands.md +0 -256
  299. package/skills/vds-skill/vds-scripts/docs/agents/reference/skills-reference.md +0 -32
  300. package/skills/vds-skill/vds-scripts/docs/agents/reference/sonarqube-orchestrator.md +0 -62
  301. package/skills/vds-skill/vds-scripts/docs/agents/reference/spec-orchestrator.md +0 -56
  302. package/skills/vds-skill/vds-scripts/docs/agents/reference/structure-orchestrator.md +0 -69
  303. package/skills/vds-skill/vds-scripts/docs/agents/reference/system-requirements.md +0 -76
  304. package/skills/vds-skill/vds-scripts/docs/agents/reference/tasks-orchestrator.md +0 -53
  305. package/skills/vds-skill/vds-scripts/docs/agents/reference/validation-and-sync-notes.md +0 -54
  306. package/skills/vds-skill/vds-scripts/docs/agents/reference/vds-ai-memory-api.md +0 -51
  307. package/skills/vds-skill/vds-scripts/docs/agents/reference/vds-cli-reference.md +0 -34
  308. package/skills/vds-skill/vds-scripts/docs/agents/reference/who-capability-inventory.md +0 -96
  309. package/skills/vds-skill/vds-scripts/docs/agents/reference/who-capability-routing-matrix.md +0 -14
  310. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/feature-progression-guide.md +0 -112
  311. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/index.md +0 -36
  312. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/quick-start.md +0 -50
  313. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/who-skills-and-scripts-onboarding.md +0 -47
  314. package/skills/vds-skill/vds-scripts/docs/agents/tutorials/zero-to-productive-developer.md +0 -339
  315. package/skills/vds-skill/vds-scripts/docs/confluence/IMPLEMENTATION-SUMMARY.md +0 -78
  316. package/skills/vds-skill/vds-scripts/docs/confluence/SYNC-GUIDE.md +0 -47
  317. package/skills/vds-skill/vds-scripts/docs/deployment/offline-docker-image-load.md +0 -59
  318. package/skills/vds-skill/vds-scripts/docs/evolution-auto-run-rollout.md +0 -325
  319. package/skills/vds-skill/vds-scripts/docs/evolution-loop-deep-integration.md +0 -496
  320. package/skills/vds-skill/vds-scripts/docs/evolution-loop-integration-guide.md +0 -359
  321. package/skills/vds-skill/vds-scripts/docs/openspace-schema-snapshot.md +0 -73
  322. package/skills/vds-skill/vds-scripts/docs/operations/sla-mttr-policy.md +0 -44
  323. package/skills/vds-skill/vds-scripts/docs/p0-closure-evidence/SUMMARY.md +0 -58
  324. package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/.gitkeep +0 -0
  325. package/skills/vds-skill/vds-scripts/docs/p4-closure-evidence/smoke-20260427T024137Z-b95b586b.json +0 -15
  326. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/alembic-and-runtime-advisory-locks.md +0 -45
  327. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/dbos-listen-notify.md +0 -54
  328. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/pgbouncer-search-path-empirical.md +0 -110
  329. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/pgvector-set-local-audit.md +0 -51
  330. package/skills/vds-skill/vds-scripts/docs/p8-preflight-evidence/topology-decision-session-mode.md +0 -57
  331. package/skills/vds-skill/vds-scripts/docs/phases/CHANGELOG.md +0 -103
  332. package/skills/vds-skill/vds-scripts/docs/phases/PHASE_125_COMPLETION_AND_MERGE.md +0 -212
  333. package/skills/vds-skill/vds-scripts/docs/phases/phase125/IMPLEMENTATION_REPORT.md +0 -227
  334. package/skills/vds-skill/vds-scripts/docs/phases/phase125/TSK-125.10-11-implementation-summary.md +0 -196
  335. package/skills/vds-skill/vds-scripts/docs/phases/phase125/profile-patch-ollama-local-anthropic.md +0 -122
  336. package/skills/vds-skill/vds-scripts/docs/phases/phase125_completion_summary.md +0 -369
  337. package/skills/vds-skill/vds-scripts/docs/phases/phase125_llm_analysis_skill.md +0 -164
  338. package/skills/vds-skill/vds-scripts/docs/phases/phase125_merge_complete.md +0 -147
  339. package/skills/vds-skill/vds-scripts/docs/phases/phase125_skill_runtime_closure_20260321.md +0 -91
  340. package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/closure-handoff-summary-2026-03-23.md +0 -290
  341. package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/remaining-risk-register-2026-03-25.md +0 -143
  342. package/skills/vds-skill/vds-scripts/docs/phases/phase2-portable-paths/verification-evidence-2026-03-23.md +0 -135
  343. package/skills/vds-skill/vds-scripts/docs/v0-sunset-known-issues.md +0 -88
  344. package/skills/vds-skill/vds-scripts/docs/vi/TRANSLATION-BACKLOG.md +0 -72
  345. package/skills/vds-skill/vds-scripts/docs/vi/agents/README.md +0 -41
  346. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/features-overview.md +0 -29
  347. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/index.md +0 -14
  348. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/runtime-verification-and-gap-reporting.md +0 -129
  349. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/whats-new.md +0 -37
  350. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/who-ecosystem-introduction.md +0 -21
  351. package/skills/vds-skill/vds-scripts/docs/vi/agents/explanation/who-ecosystem-model.md +0 -36
  352. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/02-using-vds-ai-memory.md +0 -100
  353. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/03-memory-cross-agent.md +0 -243
  354. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/04-using-progress-reports.md +0 -242
  355. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/08-semantic-search.md +0 -16
  356. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/choose-the-right-command-or-skill.md +0 -36
  357. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/decision-tree.md +0 -77
  358. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/first-audit-run.md +0 -85
  359. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/index.md +0 -21
  360. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/install-and-bootstrap-who-scripts-and-skills.md +0 -156
  361. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/analytics-pipeline-workflow.md +0 -174
  362. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/code-quality-gate-workflow.md +0 -147
  363. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/confluence-bitbucket-sync-workflow.md +0 -139
  364. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/document-delivery-workflow.md +0 -151
  365. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/memory-progress-workflow.md +0 -149
  366. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/orchestrator-workflows/research-spec-audit-workflow.md +0 -144
  367. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-all-project-preparation.md +0 -213
  368. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-bounded-parallel-analysis.md +0 -125
  369. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase131-confluence-upload-recovery.md +0 -206
  370. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/phase132-department-preparation.md +0 -146
  371. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/tips-and-tricks.md +0 -34
  372. package/skills/vds-skill/vds-scripts/docs/vi/agents/how-to/troubleshooting-guide.md +0 -36
  373. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/agent-operational-contract.md +0 -98
  374. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/audit-triage-playbook.md +0 -258
  375. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/bitbucket-orchestrator.md +0 -30
  376. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/brd-orchestrator.md +0 -29
  377. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/capability-coverage-review.md +0 -46
  378. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/circular-dependency-orchestrator.md +0 -29
  379. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-commands.md +0 -409
  380. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-development-standards.md +0 -19
  381. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/cli-help-matrix.md +0 -71
  382. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/common-errors.md +0 -133
  383. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/configuration-reference.md +0 -25
  384. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/confluence-orchestrator.md +0 -30
  385. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/db-query-orchestrator.md +0 -34
  386. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/diagrams-orchestrator.md +0 -31
  387. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/elastic-orchestrator.md +0 -30
  388. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/evolution-orchestrator.md +0 -31
  389. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/excel-orchestrator.md +0 -60
  390. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/git-orchestrator.md +0 -31
  391. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/google-sheets-orchestrator.md +0 -60
  392. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/grafana-orchestrator.md +0 -30
  393. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/hexagonal-orchestrator.md +0 -73
  394. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/index.md +0 -25
  395. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/intellij-orchestrator.md +0 -59
  396. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/jira-orchestrator.md +0 -32
  397. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/links-orchestrator.md +0 -66
  398. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/lsp-orchestrator.md +0 -60
  399. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/markdown-orchestrator.md +0 -62
  400. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/mcp-orchestrator.md +0 -34
  401. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/memory-orchestrator.md +0 -45
  402. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/metabase-orchestrator.md +0 -30
  403. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/multi-agent-orchestrator.md +0 -61
  404. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/openapi-orchestrator.md +0 -66
  405. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/orchestrator-architecture.md +0 -24
  406. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/orchestrator-index.md +0 -73
  407. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/pdf-orchestrator.md +0 -30
  408. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/portable-paths-and-config.md +0 -123
  409. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/portable-paths-validation-matrix.md +0 -131
  410. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/progress-orchestrator.md +0 -43
  411. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/progress-report-cli.md +0 -217
  412. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/public-interface-orchestrator.md +0 -82
  413. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/research-orchestrator.md +0 -45
  414. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/schema-orchestrator.md +0 -66
  415. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/search-tools.md +0 -19
  416. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/skills-reference.md +0 -27
  417. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/sonarqube-orchestrator.md +0 -71
  418. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/spec-orchestrator.md +0 -56
  419. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/structure-orchestrator.md +0 -78
  420. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/system-requirements.md +0 -30
  421. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/tasks-orchestrator.md +0 -45
  422. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/validation-and-sync-notes.md +0 -26
  423. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/vds-ai-memory-api.md +0 -53
  424. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/vds-cli-reference.md +0 -34
  425. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/who-capability-inventory.md +0 -98
  426. package/skills/vds-skill/vds-scripts/docs/vi/agents/reference/who-capability-routing-matrix.md +0 -16
  427. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/feature-progression-guide.md +0 -124
  428. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/index.md +0 -13
  429. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/quick-start.md +0 -30
  430. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/who-skills-and-scripts-onboarding.md +0 -42
  431. package/skills/vds-skill/vds-scripts/docs/vi/agents/tutorials/zero-to-productive-developer.md +0 -137
  432. package/skills/vds-skill/vds-scripts/elastic_orchestrator/README.md +0 -450
  433. package/skills/vds-skill/vds-scripts/elastic_orchestrator/pyproject.toml +0 -97
  434. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/__init__.py +0 -81
  435. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/cli.py +0 -652
  436. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/client.py +0 -743
  437. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/config.py +0 -208
  438. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/errors.py +0 -34
  439. package/skills/vds-skill/vds-scripts/elastic_orchestrator/src/vds_elastic_orchestrator/py.typed +0 -0
  440. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/__init__.py +0 -0
  441. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/conftest.py +0 -227
  442. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_client.py +0 -990
  443. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_config.py +0 -268
  444. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_e2e_verification.py +0 -272
  445. package/skills/vds-skill/vds-scripts/elastic_orchestrator/tests/test_errors.py +0 -78
  446. package/skills/vds-skill/vds-scripts/excel_orchestrator/README.md +0 -288
  447. package/skills/vds-skill/vds-scripts/excel_orchestrator/RESEARCH_BASED_UPDATES_REPORT.md +0 -261
  448. package/skills/vds-skill/vds-scripts/excel_orchestrator/add_essential_missing_effort.py +0 -255
  449. package/skills/vds-skill/vds-scripts/excel_orchestrator/adjust_effort_complexity.py +0 -184
  450. package/skills/vds-skill/vds-scripts/excel_orchestrator/brd_analysis_and_task_breakdown.py +0 -632
  451. package/skills/vds-skill/vds-scripts/excel_orchestrator/brd_analysis_comprehensive.py +0 -1029
  452. package/skills/vds-skill/vds-scripts/excel_orchestrator/check_overlaps_and_brd_coverage.py +0 -570
  453. package/skills/vds-skill/vds-scripts/excel_orchestrator/clean_remarks_column.py +0 -127
  454. package/skills/vds-skill/vds-scripts/excel_orchestrator/comprehensive_brd_check.py +0 -322
  455. package/skills/vds-skill/vds-scripts/excel_orchestrator/create_buffered_summary.py +0 -119
  456. package/skills/vds-skill/vds-scripts/excel_orchestrator/create_service_totals_sheet.py +0 -118
  457. package/skills/vds-skill/vds-scripts/excel_orchestrator/examples/basic_operations.py +0 -85
  458. package/skills/vds-skill/vds-scripts/excel_orchestrator/expand_all_tasks.py +0 -341
  459. package/skills/vds-skill/vds-scripts/excel_orchestrator/expand_tasks.py +0 -304
  460. package/skills/vds-skill/vds-scripts/excel_orchestrator/fill_brd_references.py +0 -347
  461. package/skills/vds-skill/vds-scripts/excel_orchestrator/fill_remarks_and_colors.py +0 -132
  462. package/skills/vds-skill/vds-scripts/excel_orchestrator/finalize_brd_and_cleanup.py +0 -295
  463. package/skills/vds-skill/vds-scripts/excel_orchestrator/finalize_brd_coverage.py +0 -327
  464. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_all_formulas.py +0 -99
  465. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_detail_presentation.py +0 -113
  466. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_presentation_and_effort.py +0 -116
  467. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_presentation_consistency.py +0 -231
  468. package/skills/vds-skill/vds-scripts/excel_orchestrator/fix_remarks_matching.py +0 -179
  469. package/skills/vds-skill/vds-scripts/excel_orchestrator/group_tasks_by_service_id.py +0 -210
  470. package/skills/vds-skill/vds-scripts/excel_orchestrator/increase_brd_coverage.py +0 -497
  471. package/skills/vds-skill/vds-scripts/excel_orchestrator/increase_effort_complexity.py +0 -155
  472. package/skills/vds-skill/vds-scripts/excel_orchestrator/organize_and_deduplicate.py +0 -273
  473. package/skills/vds-skill/vds-scripts/excel_orchestrator/pyproject.toml +0 -64
  474. package/skills/vds-skill/vds-scripts/excel_orchestrator/rebuild_all_formulas.py +0 -146
  475. package/skills/vds-skill/vds-scripts/excel_orchestrator/remove_base_multiplier_and_check_duplicates.py +0 -310
  476. package/skills/vds-skill/vds-scripts/excel_orchestrator/remove_duplicate_brd_tasks.py +0 -137
  477. package/skills/vds-skill/vds-scripts/excel_orchestrator/research_based_updates.py +0 -457
  478. package/skills/vds-skill/vds-scripts/excel_orchestrator/restore_e_values.py +0 -172
  479. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/__init__.py +0 -5
  480. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/cli.py +0 -746
  481. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/config.py +0 -74
  482. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/converters.py +0 -226
  483. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/errors.py +0 -88
  484. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/excel_client.py +0 -443
  485. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/formatters.py +0 -211
  486. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/logging.py +0 -57
  487. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/source_contract.py +0 -29
  488. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/target_state_status.py +0 -837
  489. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/ulnc_alignment.py +0 -1291
  490. package/skills/vds-skill/vds-scripts/excel_orchestrator/src/vds_excel_orchestrator/validators.py +0 -164
  491. package/skills/vds-skill/vds-scripts/excel_orchestrator/sync_detail_and_total_sheets.py +0 -211
  492. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/__init__.py +0 -1
  493. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/conftest.py +0 -36
  494. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_cli.py +0 -383
  495. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_excel_client.py +0 -129
  496. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_ulnc_alignment.py +0 -373
  497. package/skills/vds-skill/vds-scripts/excel_orchestrator/tests/test_validators.py +0 -64
  498. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_api_database_effort.py +0 -261
  499. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_buffers_inline.py +0 -115
  500. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_complex_services_and_add_new.py +0 -336
  501. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_responsibility_and_fix_rows.py +0 -208
  502. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_task_breakdown_vietnamese.py +0 -309
  503. package/skills/vds-skill/vds-scripts/excel_orchestrator/update_vietnamese_and_responsibility.py +0 -415
  504. package/skills/vds-skill/vds-scripts/excel_orchestrator/verify_brd_coverage_comprehensive.py +0 -401
  505. package/skills/vds-skill/vds-scripts/git_orchestrator/ENHANCEMENT_SUMMARY.md +0 -119
  506. package/skills/vds-skill/vds-scripts/git_orchestrator/README.md +0 -286
  507. package/skills/vds-skill/vds-scripts/git_orchestrator/VERIFICATION_REPORT.md +0 -152
  508. package/skills/vds-skill/vds-scripts/git_orchestrator/pyproject.toml +0 -37
  509. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__init__.py +0 -30
  510. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/__main__.py +0 -4
  511. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/branch_probe.py +0 -271
  512. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/cli.py +0 -892
  513. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/logging_config.py +0 -63
  514. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/manifest.py +0 -249
  515. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/orchestrator.py +0 -1647
  516. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/protocols.py +0 -35
  517. package/skills/vds-skill/vds-scripts/git_orchestrator/src/vds_git_orchestrator/reporting.py +0 -55
  518. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/__init__.py +0 -0
  519. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_cli_settings.py +0 -19
  520. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_integration.py +0 -79
  521. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_manifest.py +0 -79
  522. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_orchestrator.py +0 -207
  523. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_public_api.py +0 -235
  524. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/test_resilience.py +0 -343
  525. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/__init__.py +0 -0
  526. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/test_branch_probe.py +0 -327
  527. package/skills/vds-skill/vds-scripts/git_orchestrator/tests/unit/test_protocols.py +0 -132
  528. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/README.md +0 -241
  529. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/pyproject.toml +0 -45
  530. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/__init__.py +0 -69
  531. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/cli.py +0 -568
  532. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/client.py +0 -186
  533. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/config.py +0 -46
  534. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/src/vds_google_sheets_orchestrator/errors.py +0 -41
  535. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/__init__.py +0 -1
  536. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/conftest.py +0 -1
  537. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/__init__.py +0 -1
  538. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_cli.py +0 -212
  539. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_client.py +0 -24
  540. package/skills/vds-skill/vds-scripts/google_sheets_orchestrator/tests/unit/test_config.py +0 -16
  541. package/skills/vds-skill/vds-scripts/grafana_orchestrator/README.md +0 -572
  542. package/skills/vds-skill/vds-scripts/grafana_orchestrator/pyproject.toml +0 -102
  543. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/__init__.py +0 -78
  544. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/cli.py +0 -455
  545. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/client.py +0 -700
  546. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/config.py +0 -243
  547. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/errors.py +0 -34
  548. package/skills/vds-skill/vds-scripts/grafana_orchestrator/src/vds_grafana_orchestrator/py.typed +0 -1
  549. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/__init__.py +0 -1
  550. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/conftest.py +0 -308
  551. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_client.py +0 -458
  552. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_config.py +0 -203
  553. package/skills/vds-skill/vds-scripts/grafana_orchestrator/tests/test_errors.py +0 -78
  554. package/skills/vds-skill/vds-scripts/jira_orchestrator/README.md +0 -864
  555. package/skills/vds-skill/vds-scripts/jira_orchestrator/pyproject.toml +0 -43
  556. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/__init__.py +0 -65
  557. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/adapter.py +0 -1685
  558. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/cli.py +0 -2806
  559. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/config.py +0 -168
  560. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/errors.py +0 -34
  561. package/skills/vds-skill/vds-scripts/jira_orchestrator/src/vds_jira_orchestrator/reporting.py +0 -66
  562. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/__init__.py +0 -1
  563. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/conftest.py +0 -86
  564. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_agile_list_payloads.py +0 -54
  565. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_bulk_operations.py +0 -91
  566. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_components.py +0 -56
  567. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_createmeta.py +0 -45
  568. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_dashboard.py +0 -119
  569. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_issue_properties.py +0 -53
  570. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_permissions_compat.py +0 -41
  571. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_reindex.py +0 -42
  572. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_remote_links.py +0 -75
  573. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_transitions.py +0 -90
  574. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_user_management.py +0 -116
  575. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_version_management.py +0 -181
  576. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_adapter_watchers.py +0 -43
  577. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_advanced_search.py +0 -179
  578. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_agile.py +0 -304
  579. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_application_properties.py +0 -243
  580. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_backlog.py +0 -91
  581. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_bulk_operations.py +0 -403
  582. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_cli.py +0 -108
  583. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_components.py +0 -119
  584. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_config.py +0 -166
  585. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_dashboard.py +0 -122
  586. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_discover_fields.py +0 -207
  587. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_errors.py +0 -72
  588. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_filter_management.py +0 -411
  589. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_archiving.py +0 -179
  590. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_links.py +0 -257
  591. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_issue_properties.py +0 -189
  592. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_link_types.py +0 -407
  593. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_parse_set.py +0 -37
  594. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_permissions.py +0 -343
  595. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_reindex.py +0 -81
  596. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_remote_links.py +0 -269
  597. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_security_schemes.py +0 -202
  598. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_transitions_changelog.py +0 -109
  599. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_user_management.py +0 -246
  600. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_version_management.py +0 -503
  601. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_watchers.py +0 -116
  602. package/skills/vds-skill/vds-scripts/jira_orchestrator/tests/test_worklog.py +0 -243
  603. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/README.md +0 -864
  604. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/pyproject.toml +0 -43
  605. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/__init__.py +0 -65
  606. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/adapter.py +0 -1689
  607. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/cli.py +0 -2799
  608. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/config.py +0 -137
  609. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/errors.py +0 -34
  610. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/src/vds_jira_viettelmoney_orchestrator/reporting.py +0 -65
  611. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/__init__.py +0 -1
  612. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/conftest.py +0 -86
  613. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_agile_list_payloads.py +0 -54
  614. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_bulk_operations.py +0 -101
  615. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_components.py +0 -64
  616. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_createmeta.py +0 -45
  617. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_dashboard.py +0 -135
  618. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_issue_properties.py +0 -63
  619. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_permissions_compat.py +0 -42
  620. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_reindex.py +0 -42
  621. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_remote_links.py +0 -89
  622. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_transitions.py +0 -91
  623. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_user_management.py +0 -130
  624. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_version_management.py +0 -189
  625. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_adapter_watchers.py +0 -49
  626. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_advanced_search.py +0 -213
  627. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_agile.py +0 -334
  628. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_application_properties.py +0 -261
  629. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_backlog.py +0 -91
  630. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_bulk_operations.py +0 -443
  631. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_cli.py +0 -106
  632. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_components.py +0 -133
  633. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_config.py +0 -166
  634. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_dashboard.py +0 -130
  635. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_discover_fields.py +0 -207
  636. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_errors.py +0 -61
  637. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_filter_management.py +0 -478
  638. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_archiving.py +0 -181
  639. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_links.py +0 -257
  640. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_issue_properties.py +0 -203
  641. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_link_types.py +0 -426
  642. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_parse_set.py +0 -37
  643. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_permissions.py +0 -358
  644. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_reindex.py +0 -81
  645. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_remote_links.py +0 -292
  646. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_security_schemes.py +0 -218
  647. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_transitions_changelog.py +0 -121
  648. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_user_management.py +0 -283
  649. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_version_management.py +0 -561
  650. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_watchers.py +0 -128
  651. package/skills/vds-skill/vds-scripts/jira_viettelmoney_orchestrator/tests/test_worklog.py +0 -265
  652. package/skills/vds-skill/vds-scripts/llms.txt +0 -159
  653. package/skills/vds-skill/vds-scripts/markdown_orchestrator/README.md +0 -72
  654. package/skills/vds-skill/vds-scripts/markdown_orchestrator/pyproject.toml +0 -39
  655. package/skills/vds-skill/vds-scripts/markdown_orchestrator/src/vds_markdown_orchestrator/__init__.py +0 -5
  656. package/skills/vds-skill/vds-scripts/markdown_orchestrator/src/vds_markdown_orchestrator/cli.py +0 -102
  657. package/skills/vds-skill/vds-scripts/mcp_server/Dockerfile +0 -63
  658. package/skills/vds-skill/vds-scripts/mcp_server/README.md +0 -140
  659. package/skills/vds-skill/vds-scripts/mcp_server/pyproject.toml +0 -41
  660. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/__init__.py +0 -3
  661. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/config.py +0 -36
  662. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/server.py +0 -111
  663. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/__init__.py +0 -15
  664. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/bitbucket_tools.py +0 -47
  665. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/confluence_tools.py +0 -53
  666. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/git_tools.py +0 -71
  667. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/jira_tools.py +0 -63
  668. package/skills/vds-skill/vds-scripts/mcp_server/src/vds_mcp_server/tools/vidp_tools.py +0 -64
  669. package/skills/vds-skill/vds-scripts/mcp_server/tests/__init__.py +0 -1
  670. package/skills/vds-skill/vds-scripts/mcp_server/tests/conftest.py +0 -31
  671. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/__init__.py +0 -1
  672. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_bitbucket_tools.py +0 -28
  673. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_confluence_tools.py +0 -28
  674. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_git_tools.py +0 -35
  675. package/skills/vds-skill/vds-scripts/mcp_server/tests/unit/test_jira_tools.py +0 -35
  676. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/__init__.py +0 -6
  677. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/conftest.py +0 -51
  678. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_confluence_tools.py +0 -40
  679. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_jira_tools.py +0 -39
  680. package/skills/vds-skill/vds-scripts/mcp_server/tests/verification/test_mcp_tool_registration.py +0 -50
  681. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.dockerignore +0 -93
  682. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.env.example +0 -40
  683. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.ruff_rules.py +0 -350
  684. package/skills/vds-skill/vds-scripts/pdf_orchestrator/.yamllint.yml +0 -43
  685. package/skills/vds-skill/vds-scripts/pdf_orchestrator/DEVELOPMENT_PLAN.md +0 -80
  686. package/skills/vds-skill/vds-scripts/pdf_orchestrator/Dockerfile +0 -87
  687. package/skills/vds-skill/vds-scripts/pdf_orchestrator/README.md +0 -608
  688. package/skills/vds-skill/vds-scripts/pdf_orchestrator/cli_verification_test/test.md +0 -6
  689. package/skills/vds-skill/vds-scripts/pdf_orchestrator/cli_verification_test/test.pdf +0 -0
  690. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/alertmanager.yml +0 -83
  691. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/prometheus.prod.yml +0 -98
  692. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/prometheus.yml +0 -40
  693. package/skills/vds-skill/vds-scripts/pdf_orchestrator/config/redis.conf +0 -78
  694. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/COMPETITIVE_ANALYSIS_REPORT.md +0 -309
  695. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/FEATURES_GUIDE.md +0 -518
  696. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/MULTI_USER_DEPLOYMENT_GUIDE.md +0 -615
  697. package/skills/vds-skill/vds-scripts/pdf_orchestrator/docs/USER_GUIDE.md +0 -829
  698. package/skills/vds-skill/vds-scripts/pdf_orchestrator/pyproject.toml +0 -87
  699. package/skills/vds-skill/vds-scripts/pdf_orchestrator/pytest.ini +0 -71
  700. package/skills/vds-skill/vds-scripts/pdf_orchestrator/ruff.toml +0 -6
  701. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/debug_security_report.py +0 -59
  702. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/demo_library_selector.py +0 -109
  703. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/generate_project_stats.py +0 -52
  704. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/generate_styled_pdf.py +0 -95
  705. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/migrate_render_pdfs.py +0 -285
  706. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/setup_team.bat +0 -283
  707. package/skills/vds-skill/vds-scripts/pdf_orchestrator/scripts/setup_team.sh +0 -324
  708. package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/__init__.py +0 -5
  709. package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/cli.py +0 -542
  710. package/skills/vds-skill/vds-scripts/pdf_orchestrator/src/vds_pdf_orchestrator/config.py +0 -33
  711. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/README.md +0 -650
  712. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/__init__.py +0 -0
  713. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/conftest.py +0 -520
  714. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/requirements.txt +0 -51
  715. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/run_tests.py +0 -659
  716. package/skills/vds-skill/vds-scripts/pdf_orchestrator/tests/test_config.py +0 -36
  717. package/skills/vds-skill/vds-scripts/platform_core/pyproject.toml +0 -49
  718. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/__init__.py +0 -16
  719. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/alembic/__init__.py +0 -18
  720. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/alembic/runtime.py +0 -139
  721. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/config.py +0 -88
  722. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/credentials.py +0 -40
  723. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/env.py +0 -24
  724. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/errors.py +0 -127
  725. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/__init__.py +0 -18
  726. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/auth.py +0 -32
  727. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/errors.py +0 -47
  728. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/pagination.py +0 -65
  729. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/retry.py +0 -62
  730. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/http/stack.py +0 -61
  731. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/logging.py +0 -132
  732. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/protocols.py +0 -77
  733. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/serialization.py +0 -80
  734. package/skills/vds-skill/vds-scripts/platform_core/src/vds_platform_core/severity.py +0 -175
  735. package/skills/vds-skill/vds-scripts/platform_core/tests/__init__.py +0 -0
  736. package/skills/vds-skill/vds-scripts/platform_core/tests/conftest.py +0 -1
  737. package/skills/vds-skill/vds-scripts/platform_core/tests/test_alembic_runtime.py +0 -300
  738. package/skills/vds-skill/vds-scripts/platform_core/tests/test_auth.py +0 -84
  739. package/skills/vds-skill/vds-scripts/platform_core/tests/test_config.py +0 -83
  740. package/skills/vds-skill/vds-scripts/platform_core/tests/test_credentials.py +0 -73
  741. package/skills/vds-skill/vds-scripts/platform_core/tests/test_env.py +0 -56
  742. package/skills/vds-skill/vds-scripts/platform_core/tests/test_errors.py +0 -201
  743. package/skills/vds-skill/vds-scripts/platform_core/tests/test_errors_http.py +0 -74
  744. package/skills/vds-skill/vds-scripts/platform_core/tests/test_http_settings.py +0 -116
  745. package/skills/vds-skill/vds-scripts/platform_core/tests/test_logging.py +0 -148
  746. package/skills/vds-skill/vds-scripts/platform_core/tests/test_pagination.py +0 -153
  747. package/skills/vds-skill/vds-scripts/platform_core/tests/test_protocols.py +0 -132
  748. package/skills/vds-skill/vds-scripts/platform_core/tests/test_retry.py +0 -151
  749. package/skills/vds-skill/vds-scripts/platform_core/tests/test_serialization.py +0 -92
  750. package/skills/vds-skill/vds-scripts/platform_core/tests/test_severity.py +0 -178
  751. package/skills/vds-skill/vds-scripts/platform_core/tests/test_stack.py +0 -130
  752. package/skills/vds-skill/vds-scripts/platform_core/uv.lock +0 -341
  753. package/skills/vds-skill/vds-scripts/pyproject.toml +0 -145
  754. package/skills/vds-skill/vds-scripts/pyrightconfig.json +0 -82
  755. package/skills/vds-skill/vds-scripts/repo-manifest.yaml +0 -380
  756. package/skills/vds-skill/vds-scripts/repo-manifest.yaml.example +0 -25
  757. package/skills/vds-skill/vds-scripts/ruff.toml +0 -100
  758. package/skills/vds-skill/vds-scripts/scripts/BRD-Validation-API.postman_collection.json +0 -706
  759. package/skills/vds-skill/vds-scripts/scripts/BRD-Validation-README.md +0 -308
  760. package/skills/vds-skill/vds-scripts/scripts/README.md +0 -271
  761. package/skills/vds-skill/vds-scripts/scripts/_validate_alias_phase2.py +0 -137
  762. package/skills/vds-skill/vds-scripts/scripts/audit-cli-patterns.sh +0 -135
  763. package/skills/vds-skill/vds-scripts/scripts/audit-dashboard.sh +0 -525
  764. package/skills/vds-skill/vds-scripts/scripts/backup.sh +0 -123
  765. package/skills/vds-skill/vds-scripts/scripts/bootstrap_uv.sh +0 -69
  766. package/skills/vds-skill/vds-scripts/scripts/brd-validation-environment.json +0 -51
  767. package/skills/vds-skill/vds-scripts/scripts/brd-validation-test-results.json +0 -13023
  768. package/skills/vds-skill/vds-scripts/scripts/brd_coverage_report.json +0 -276
  769. package/skills/vds-skill/vds-scripts/scripts/check-future-annotations.py +0 -22
  770. package/skills/vds-skill/vds-scripts/scripts/check-invalid-symlinks.py +0 -183
  771. package/skills/vds-skill/vds-scripts/scripts/check-no-debug-markers.py +0 -21
  772. package/skills/vds-skill/vds-scripts/scripts/check-no-unittest.py +0 -21
  773. package/skills/vds-skill/vds-scripts/scripts/ci/assert_no_openspace_commits.sh +0 -37
  774. package/skills/vds-skill/vds-scripts/scripts/ci/verify_branch_protection.sh +0 -64
  775. package/skills/vds-skill/vds-scripts/scripts/closure/phase1_check.sh +0 -483
  776. package/skills/vds-skill/vds-scripts/scripts/closure/phase2_check.sh +0 -500
  777. package/skills/vds-skill/vds-scripts/scripts/create_memory_session.py +0 -36
  778. package/skills/vds-skill/vds-scripts/scripts/deploy-bootstrap.sh +0 -201
  779. package/skills/vds-skill/vds-scripts/scripts/deployment/load_docker_images_offline.sh +0 -90
  780. package/skills/vds-skill/vds-scripts/scripts/dev/cli_smoke.sh +0 -259
  781. package/skills/vds-skill/vds-scripts/scripts/final_completion_report.md +0 -139
  782. package/skills/vds-skill/vds-scripts/scripts/folder_structure_report.json +0 -321
  783. package/skills/vds-skill/vds-scripts/scripts/generate_completion_report.py +0 -132
  784. package/skills/vds-skill/vds-scripts/scripts/generate_intellij_modules.py +0 -154
  785. package/skills/vds-skill/vds-scripts/scripts/init-pgbouncer-userlist.sh +0 -154
  786. package/skills/vds-skill/vds-scripts/scripts/link_integrity_report.json +0 -807
  787. package/skills/vds-skill/vds-scripts/scripts/move_audit_artifact_pages.py +0 -252
  788. package/skills/vds-skill/vds-scripts/scripts/move_audit_artifact_pages_rest.py +0 -165
  789. package/skills/vds-skill/vds-scripts/scripts/move_wrong_dept_pages.py +0 -235
  790. package/skills/vds-skill/vds-scripts/scripts/openspace_bootstrap.sh +0 -56
  791. package/skills/vds-skill/vds-scripts/scripts/openspace_common.sh +0 -75
  792. package/skills/vds-skill/vds-scripts/scripts/openspace_doctor.sh +0 -61
  793. package/skills/vds-skill/vds-scripts/scripts/openspace_sync_shadow.sh +0 -65
  794. package/skills/vds-skill/vds-scripts/scripts/phase7-baseline.sh +0 -77
  795. package/skills/vds-skill/vds-scripts/scripts/preflight/env_check.sh +0 -102
  796. package/skills/vds-skill/vds-scripts/scripts/repair_autopay_reports.sh +0 -173
  797. package/skills/vds-skill/vds-scripts/scripts/rollback_drill.sh +0 -659
  798. package/skills/vds-skill/vds-scripts/scripts/run-audit-in-tmux.sh +0 -286
  799. package/skills/vds-skill/vds-scripts/scripts/run-department-audit.sh +0 -495
  800. package/skills/vds-skill/vds-scripts/scripts/run-project-audit.sh +0 -267
  801. package/skills/vds-skill/vds-scripts/scripts/save_intellij_memories.py +0 -112
  802. package/skills/vds-skill/vds-scripts/scripts/save_memories_to_vds_ai.py +0 -81
  803. package/skills/vds-skill/vds-scripts/scripts/save_memories_vds_style.py +0 -133
  804. package/skills/vds-skill/vds-scripts/scripts/search_intellij_memories.py +0 -48
  805. package/skills/vds-skill/vds-scripts/scripts/setup_intellij_workspace.py +0 -71
  806. package/skills/vds-skill/vds-scripts/scripts/smoke-test-deploy.sh +0 -137
  807. package/skills/vds-skill/vds-scripts/scripts/smoke_deploy_lib.py +0 -205
  808. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/README.md +0 -89
  809. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/confluence_sync_coordinator.sh +0 -27
  810. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/coordination.sh +0 -114
  811. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/diagram_coordinator.sh +0 -25
  812. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/docs_root.sh +0 -22
  813. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/generate_diagrams.sh +0 -22
  814. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/markdown_coordinator.sh +0 -25
  815. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/progress_dashboard.sh +0 -17
  816. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/schema_coordinator.sh +0 -25
  817. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/sync_confluence.sh +0 -30
  818. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/update_dependencies.sh +0 -19
  819. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_links.sh +0 -86
  820. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_markdown.sh +0 -52
  821. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_schemas.sh +0 -26
  822. package/skills/vds-skill/vds-scripts/scripts/target-state-automation/validate_structure.sh +0 -98
  823. package/skills/vds-skill/vds-scripts/scripts/tests/__init__.py +0 -1
  824. package/skills/vds-skill/vds-scripts/scripts/tests/test_dockerfile_correctness.py +0 -815
  825. package/skills/vds-skill/vds-scripts/scripts/tests/test_makefile_loadouts.py +0 -560
  826. package/skills/vds-skill/vds-scripts/scripts/tests/test_smoke_deploy.py +0 -313
  827. package/skills/vds-skill/vds-scripts/scripts/tests/test_verify_alembic.py +0 -581
  828. package/skills/vds-skill/vds-scripts/scripts/tests/test_verify_infra_topology.py +0 -254
  829. package/skills/vds-skill/vds-scripts/scripts/update_modules_xml.py +0 -194
  830. package/skills/vds-skill/vds-scripts/scripts/uv-workspace-alignment-verification-2026-03-25.md +0 -128
  831. package/skills/vds-skill/vds-scripts/scripts/uv-workspace-alignment-verification-2026-04-18.md +0 -100
  832. package/skills/vds-skill/vds-scripts/scripts/validate-cli-standardization.sh +0 -188
  833. package/skills/vds-skill/vds-scripts/scripts/validate_brd_coverage.py +0 -197
  834. package/skills/vds-skill/vds-scripts/scripts/validate_folder_structure.py +0 -234
  835. package/skills/vds-skill/vds-scripts/scripts/validate_link_integrity.py +0 -274
  836. package/skills/vds-skill/vds-scripts/scripts/vami017-caller-compat-report.md +0 -62
  837. package/skills/vds-skill/vds-scripts/scripts/vami017-phase-b-scaffold-notes.md +0 -79
  838. package/skills/vds-skill/vds-scripts/scripts/vds_sh_helpers.sh +0 -180
  839. package/skills/vds-skill/vds-scripts/scripts/verification/phase2_portable_paths_ubuntu_docker.sh +0 -26
  840. package/skills/vds-skill/vds-scripts/scripts/verify-infra-topology.py +0 -868
  841. package/skills/vds-skill/vds-scripts/scripts/verify-memory-cli-e2e.sh +0 -598
  842. package/skills/vds-skill/vds-scripts/scripts/verify-worktree-features.sh +0 -306
  843. package/skills/vds-skill/vds-scripts/scripts/worktree-add.sh +0 -128
  844. package/skills/vds-skill/vds-scripts/scripts/worktree-remove.sh +0 -112
  845. package/skills/vds-skill/vds-scripts/scripts/worktree_compose.sh +0 -269
  846. package/skills/vds-skill/vds-scripts/scripts/worktree_uv.sh +0 -77
  847. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/IMPLEMENTATION_AUDIT.md +0 -376
  848. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/README.md +0 -507
  849. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/pyproject.toml +0 -106
  850. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/scripts/ensure_symlink.sh +0 -38
  851. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/__init__.py +0 -164
  852. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/batch.py +0 -212
  853. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/cli.py +0 -1407
  854. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/client.py +0 -608
  855. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/config.py +0 -260
  856. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/diff.py +0 -220
  857. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/errors.py +0 -34
  858. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/external_sca.py +0 -932
  859. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/portfolio.py +0 -225
  860. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/pr.py +0 -505
  861. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/reports.py +0 -342
  862. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/scanner.py +0 -351
  863. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/src/vds_sonarqube_orchestrator/webhooks.py +0 -269
  864. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/__init__.py +0 -0
  865. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/conftest.py +0 -134
  866. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_batch.py +0 -419
  867. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_config.py +0 -145
  868. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_errors.py +0 -78
  869. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_external_sca.py +0 -466
  870. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_pr.py +0 -471
  871. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_reports.py +0 -511
  872. package/skills/vds-skill/vds-scripts/sonarqube_orchestrator/tests/test_webhooks.py +0 -660
  873. package/skills/vds-skill/vds-scripts/uv.lock +0 -5046
  874. package/skills/vds-skill/vds-scripts/vds_agent_core/CHANGELOG.md +0 -36
  875. package/skills/vds-skill/vds-scripts/vds_agent_core/README.md +0 -453
  876. package/skills/vds-skill/vds-scripts/vds_agent_core/docs/PHASE9A_ASSESSMENT.md +0 -50
  877. package/skills/vds-skill/vds-scripts/vds_agent_core/docs/embedding.md +0 -468
  878. package/skills/vds-skill/vds-scripts/vds_agent_core/pyproject.toml +0 -51
  879. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/__init__.py +0 -29
  880. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/__init__.py +0 -26
  881. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/hooks.py +0 -119
  882. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/loop.py +0 -864
  883. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/agents/tools.py +0 -41
  884. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/config.py +0 -252
  885. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/__init__.py +0 -55
  886. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/_cascade.py +0 -143
  887. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/budget.py +0 -353
  888. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/cache.py +0 -373
  889. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/embedding.py +0 -815
  890. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/provider.py +0 -173
  891. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/llm/schemas.py +0 -45
  892. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/__init__.py +0 -77
  893. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/decorators.py +0 -258
  894. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/jsonl_exporter.py +0 -236
  895. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/observability/tracer.py +0 -497
  896. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/profiles.py +0 -2015
  897. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/runtime/__init__.py +0 -0
  898. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/runtime/agent_id.py +0 -60
  899. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/security/__init__.py +0 -13
  900. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/security/credentials.py +0 -106
  901. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/__init__.py +0 -1
  902. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/executor.py +0 -238
  903. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/manager.py +0 -381
  904. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/skills/policy.py +0 -568
  905. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/__init__.py +0 -19
  906. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/langgraph_runner.py +0 -102
  907. package/skills/vds-skill/vds-scripts/vds_agent_core/src/vds_agent_core/workflows/protocols.py +0 -81
  908. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/__init__.py +0 -0
  909. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/conftest.py +0 -62
  910. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/__init__.py +0 -0
  911. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_audit_loop_hooks_integration.py +0 -135
  912. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_audit_observability_integration.py +0 -246
  913. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/integration/test_public_api_stability.py +0 -91
  914. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/__init__.py +0 -0
  915. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/__init__.py +0 -0
  916. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_call_site_parallelism.py +0 -30
  917. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_dimension_guardrail.py +0 -25
  918. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_drop_in_provider_extensibility.py +0 -76
  919. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding.py +0 -393
  920. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_cache.py +0 -302
  921. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_extra.py +0 -696
  922. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_embedding_subclass.py +0 -49
  923. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_no_provider_leakage_in_env.py +0 -34
  924. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_provider_auto_route.py +0 -48
  925. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_runtime_log_clean.py +0 -111
  926. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/llm/test_w7_logic_fixes.py +0 -219
  927. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/__init__.py +0 -0
  928. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_embedding_block_parser.py +0 -194
  929. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_env_resolver_allowlist.py +0 -141
  930. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_profile_authorization.py +0 -158
  931. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_profiles_w3_extra.py +0 -547
  932. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/profiles/test_real_audit_profile_compat.py +0 -129
  933. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/__init__.py +0 -0
  934. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/test_for_agent.py +0 -322
  935. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/runtime/test_w9_cascade_edges.py +0 -369
  936. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/security/__init__.py +0 -0
  937. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/security/test_credentials.py +0 -132
  938. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agent_loop.py +0 -663
  939. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agent_loop_coverage.py +0 -429
  940. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_agents_hooks_defaults.py +0 -22
  941. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget.py +0 -155
  942. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget_coverage.py +0 -264
  943. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_budget_tracking_only.py +0 -71
  944. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_cache.py +0 -251
  945. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_cache_context.py +0 -62
  946. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_config.py +0 -155
  947. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_langgraph_runner.py +0 -45
  948. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_langgraph_runner_coverage.py +0 -98
  949. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_llm_cache_deep.py +0 -113
  950. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_decorators.py +0 -697
  951. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_hooks.py +0 -217
  952. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_jsonl_exporter.py +0 -542
  953. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_jsonl_wiring.py +0 -313
  954. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_observability_tracer.py +0 -896
  955. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_profiles.py +0 -1571
  956. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_profiles_coverage.py +0 -444
  957. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_provider.py +0 -316
  958. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_schemas.py +0 -63
  959. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_executor.py +0 -297
  960. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_manager.py +0 -370
  961. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_manager_coverage.py +0 -364
  962. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_policy.py +0 -402
  963. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_skill_rubric.py +0 -47
  964. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_tools.py +0 -51
  965. package/skills/vds-skill/vds-scripts/vds_agent_core/tests/unit/test_workflow_protocols.py +0 -136
  966. package/skills/vds-skill/vds-scripts/vds_cli/README.md +0 -201
  967. package/skills/vds-skill/vds-scripts/vds_cli/VERIFICATION_REPORT.md +0 -41
  968. package/skills/vds-skill/vds-scripts/vds_cli/pyproject.toml +0 -50
  969. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/__init__.py +0 -3
  970. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/assets/git-credential-helper.py +0 -235
  971. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/cli.py +0 -1158
  972. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/commands/__init__.py +0 -1
  973. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/commands/lint_cli.py +0 -389
  974. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/confluence_sync.py +0 -846
  975. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/__init__.py +0 -7
  976. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/funnel.py +0 -105
  977. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/consumption/scanner.py +0 -211
  978. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/freshness/report.py +0 -90
  979. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs/types.py +0 -27
  980. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_cmd.py +0 -672
  981. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_metrics.py +0 -75
  982. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/docs_sync.py +0 -1171
  983. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem/__init__.py +0 -39
  984. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem/report.py +0 -439
  985. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/ecosystem_docs.py +0 -164
  986. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/env.py +0 -111
  987. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/env_git_helper.py +0 -281
  988. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/__init__.py +0 -3
  989. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/google_sheets_orchestrator/google_sheets_orchestrator.py +0 -173
  990. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/router.py +0 -232
  991. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/skills_cmd.py +0 -274
  992. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/sync_api.py +0 -613
  993. package/skills/vds-skill/vds-scripts/vds_cli/src/vds_cli/sync_service.py +0 -283
  994. package/skills/vds-skill/vds-scripts/vds_cli/tests/conftest.py +0 -62
  995. package/skills/vds-skill/vds-scripts/vds_cli/tests/test_env_git_helper_lifecycle.py +0 -261
  996. package/skills/vds-skill/vds-scripts/vds_cli/tests/test_git_credential_helper.py +0 -240
  997. package/skills/vds-skill/vds-scripts/vds_cli/tests/test_router_help_proxy.py +0 -43
  998. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_cli.py +0 -264
  999. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_cli_DOC004.py +0 -110
  1000. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_confluence_sync.py +0 -315
  1001. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_confluence_sync_wave7.py +0 -375
  1002. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_consumption_funnel.py +0 -106
  1003. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_consumption_scanner.py +0 -144
  1004. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_cmd.py +0 -89
  1005. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_cmd_wave8.py +0 -161
  1006. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_metrics.py +0 -16
  1007. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_quality_score.py +0 -61
  1008. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_docs_sync.py +0 -417
  1009. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_cli_dashboard.py +0 -667
  1010. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_cli_dashboard_rendering.py +0 -143
  1011. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_ecosystem_docs.py +0 -63
  1012. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_env.py +0 -85
  1013. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_freshness_report.py +0 -125
  1014. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_lint_cli.py +0 -224
  1015. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_router.py +0 -101
  1016. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_skills_cmd.py +0 -419
  1017. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_sync_api.py +0 -357
  1018. package/skills/vds-skill/vds-scripts/vds_cli/tests/unit/test_sync_service.py +0 -170
  1019. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/conftest.py +0 -51
  1020. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_bitbucket_real.py +0 -32
  1021. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_confluence_real.py +0 -32
  1022. package/skills/vds-skill/vds-scripts/vds_cli/tests/verification/test_jira_real.py +0 -40
  1023. package/skills/vds-skill/vds-scripts/vds_cli_common/README.md +0 -190
  1024. package/skills/vds-skill/vds-scripts/vds_cli_common/pyproject.toml +0 -96
  1025. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/__init__.py +0 -36
  1026. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/app.py +0 -55
  1027. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/completers.py +0 -139
  1028. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/context.py +0 -201
  1029. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/env.py +0 -163
  1030. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/errors.py +0 -440
  1031. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/migrate_sdlc_config.py +0 -210
  1032. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/output.py +0 -284
  1033. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/paths.py +0 -78
  1034. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/testing.py +0 -211
  1035. package/skills/vds-skill/vds-scripts/vds_cli_common/src/vds_cli_common/version.py +0 -85
  1036. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/__init__.py +0 -0
  1037. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_app.py +0 -126
  1038. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_completers.py +0 -148
  1039. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_context.py +0 -192
  1040. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_env.py +0 -235
  1041. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_errors.py +0 -275
  1042. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_migrate_sdlc_config.py +0 -257
  1043. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_output.py +0 -229
  1044. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_paths.py +0 -61
  1045. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_testing.py +0 -138
  1046. package/skills/vds-skill/vds-scripts/vds_cli_common/tests/test_version.py +0 -64
  1047. package/skills/vds-skill/vds-scripts/vidp_orchestrator/README.md +0 -31
  1048. package/skills/vds-skill/vds-scripts/vidp_orchestrator/pyproject.toml +0 -50
  1049. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/__init__.py +0 -26
  1050. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/cli.py +0 -246
  1051. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/client.py +0 -104
  1052. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/config.py +0 -82
  1053. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/workflows.json +0 -3
  1054. package/skills/vds-skill/vds-scripts/vidp_orchestrator/src/vds_vidp_orchestrator/workflows.py +0 -130
  1055. package/skills/vds-skill/vds-scripts-skill/.openskills.json +0 -6
  1056. package/skills/vds-skill/vds-scripts-skill/QUALITY.md +0 -44
  1057. package/skills/vds-skill/vds-scripts-skill/SKILL.md +0 -132
  1058. package/skills/vds-skill/vds-scripts-skill/references/audit-commands.md +0 -171
  1059. package/skills/vds-skill/vds-scripts-skill/references/capability-index.md +0 -34
  1060. package/skills/vds-skill/vds-scripts-skill/references/development-commands.md +0 -12
  1061. package/skills/vds-skill/vds-scripts-skill/references/google-sheets.md +0 -71
  1062. package/skills/vds-skill/vds-scripts-skill/references/integration-commands.md +0 -17
  1063. package/skills/vds-skill/vds-scripts-skill/references/platform-bootstrap.md +0 -31
  1064. package/skills/vds-skill/vds-scripts-skill/references/specialist-routing.md +0 -14
  1065. package/skills/vds-skill/vds-scripts-skill/references/validation-commands.md +0 -15
@@ -1,1571 +0,0 @@
1
- """Tests for vds_agent_core.profiles — Wave 2 full extraction."""
2
-
3
- from __future__ import annotations
4
-
5
- import os
6
- import textwrap
7
- from pathlib import Path
8
- from typing import Any
9
- from unittest.mock import patch
10
-
11
- import pytest
12
-
13
-
14
- class TestCodexCredentialResolverProtocol:
15
- """ConfigHooks Protocol structural conformance."""
16
-
17
- def test_protocol_importable(self) -> None:
18
- from vds_agent_core.profiles import CodexCredentialResolver
19
-
20
- assert hasattr(CodexCredentialResolver, "resolve")
21
-
22
- def test_protocol_is_runtime_checkable(self) -> None:
23
- from vds_agent_core.profiles import CodexCredentialResolver
24
-
25
- class _Good:
26
- def resolve(self, field: str) -> str:
27
- return field
28
-
29
- class _Bad:
30
- pass
31
-
32
- assert isinstance(_Good(), CodexCredentialResolver)
33
- assert not isinstance(_Bad(), CodexCredentialResolver)
34
-
35
- def test_protocol_structural_match(self) -> None:
36
- """A class with the right method satisfies the protocol without inheriting."""
37
- from vds_agent_core.profiles import CodexCredentialResolver
38
-
39
- class MyResolver:
40
- def resolve(self, field: str) -> str:
41
- return f"resolved:{field}"
42
-
43
- resolver = MyResolver()
44
- assert isinstance(resolver, CodexCredentialResolver)
45
- assert resolver.resolve("access_token") == "resolved:access_token"
46
-
47
-
48
- class TestDefaultRuntimeProfilesFileExport:
49
- def test_exported_from_package_root(self) -> None:
50
- from vds_agent_core import DEFAULT_RUNTIME_PROFILES_FILE
51
-
52
- assert isinstance(DEFAULT_RUNTIME_PROFILES_FILE, Path)
53
- assert DEFAULT_RUNTIME_PROFILES_FILE.name == "audit.profiles.yaml"
54
-
55
-
56
- class TestRuntimeProfileActivation:
57
- """RuntimeProfileActivation dataclass."""
58
-
59
- def test_importable(self) -> None:
60
- from vds_agent_core.profiles import RuntimeProfileActivation
61
-
62
- activation = RuntimeProfileActivation(
63
- profile_name="test",
64
- source="cli",
65
- profile_path=Path("/tmp/test.yaml"),
66
- applied_env_keys=("KEY_A", "KEY_B"),
67
- )
68
- assert activation.profile_name == "test"
69
- assert activation.source == "cli"
70
- assert activation.applied_env_keys == ("KEY_A", "KEY_B")
71
-
72
- def test_none_profile(self) -> None:
73
- from vds_agent_core.profiles import RuntimeProfileActivation
74
-
75
- activation = RuntimeProfileActivation(
76
- profile_name=None,
77
- source="none",
78
- profile_path=Path("/tmp/test.yaml"),
79
- applied_env_keys=(),
80
- )
81
- assert activation.profile_name is None
82
- assert activation.source == "none"
83
-
84
-
85
- class TestApplyRuntimeProfile:
86
- """apply_runtime_profile with full extraction mechanics."""
87
-
88
- def test_importable(self) -> None:
89
- from vds_agent_core.profiles import apply_runtime_profile
90
-
91
- assert callable(apply_runtime_profile)
92
-
93
- def test_none_profile_no_yaml(self, tmp_path: Path) -> None:
94
- """None profile with no YAML file returns source=none."""
95
- from vds_agent_core.profiles import apply_runtime_profile
96
-
97
- fake_yaml = tmp_path / "profiles.yaml"
98
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(fake_yaml)}, clear=False):
99
- result = apply_runtime_profile(None)
100
- assert result.profile_name is None
101
- assert result.source == "none"
102
- assert result.applied_env_keys == ()
103
-
104
- def test_default_profile_from_yaml(self, tmp_path: Path) -> None:
105
- """Default profile is loaded when no explicit profile is requested."""
106
- from vds_agent_core.profiles import apply_runtime_profile
107
-
108
- yaml_content = textwrap.dedent(""" default_profile: my-default
109
- profiles:
110
- my-default:
111
- env:
112
- MY_CUSTOM_KEY: hello
113
- """)
114
- yaml_file = tmp_path / "profiles.yaml"
115
- yaml_file.write_text(yaml_content, encoding="utf-8")
116
-
117
- env_patch = {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}
118
- with patch.dict(os.environ, env_patch, clear=False):
119
- os.environ.pop("MY_CUSTOM_KEY", None)
120
- result = apply_runtime_profile(None)
121
- assert result.profile_name == "my-default"
122
- assert result.source == "default"
123
- assert "MY_CUSTOM_KEY" in result.applied_env_keys
124
- assert os.environ.get("MY_CUSTOM_KEY") == "hello"
125
-
126
- def test_explicit_profile_from_yaml(self, tmp_path: Path) -> None:
127
- """Explicit profile name overrides default."""
128
- from vds_agent_core.profiles import apply_runtime_profile
129
-
130
- yaml_content = textwrap.dedent(""" default_profile: default-one
131
- profiles:
132
- default-one:
133
- env:
134
- TEST_KEY_A: from-default
135
- explicit-one:
136
- env:
137
- TEST_KEY_B: from-explicit
138
- """)
139
- yaml_file = tmp_path / "profiles.yaml"
140
- yaml_file.write_text(yaml_content, encoding="utf-8")
141
-
142
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
143
- os.environ.pop("TEST_KEY_A", None)
144
- os.environ.pop("TEST_KEY_B", None)
145
- result = apply_runtime_profile("explicit-one")
146
- assert result.profile_name == "explicit-one"
147
- assert result.source == "cli"
148
- assert "TEST_KEY_B" in result.applied_env_keys
149
- assert os.environ.get("TEST_KEY_B") == "from-explicit"
150
-
151
- def test_missing_profile_raises(self, tmp_path: Path) -> None:
152
- """Requesting a non-existent profile raises ValueError."""
153
- from vds_agent_core.profiles import apply_runtime_profile
154
-
155
- yaml_content = textwrap.dedent(""" profiles:
156
- existing:
157
- env:
158
- X: Y
159
- """)
160
- yaml_file = tmp_path / "profiles.yaml"
161
- yaml_file.write_text(yaml_content, encoding="utf-8")
162
-
163
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
164
- with pytest.raises(ValueError, match="was not found"):
165
- apply_runtime_profile("nonexistent")
166
-
167
- def test_custom_env_prefix(self, tmp_path: Path) -> None:
168
- """Custom env_prefix replaces VDS_AUDIT_ in env key mapping."""
169
- from vds_agent_core.profiles import apply_runtime_profile
170
-
171
- yaml_content = textwrap.dedent(""" profiles:
172
- test-profile:
173
- retry_policy:
174
- agent_retries: 3
175
- """)
176
- yaml_file = tmp_path / "profiles.yaml"
177
- yaml_file.write_text(yaml_content, encoding="utf-8")
178
-
179
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
180
- # Clear any pre-existing keys
181
- for k in list(os.environ):
182
- if k.startswith("VDS_PROGRESS_"):
183
- os.environ.pop(k, None)
184
- result = apply_runtime_profile(
185
- "test-profile",
186
- env_prefix="VDS_PROGRESS_",
187
- )
188
- assert result.profile_name == "test-profile"
189
- assert "VDS_PROGRESS_LLM__AGENT_RETRIES" in result.applied_env_keys
190
- assert os.environ.get("VDS_PROGRESS_LLM__AGENT_RETRIES") == "3"
191
-
192
- def test_config_hooks_accepted(self, tmp_path: Path) -> None:
193
- """config_hooks parameter is accepted and functional."""
194
- from vds_agent_core.profiles import ConfigHooks, apply_runtime_profile
195
-
196
- class _TrackingHooks:
197
- def __init__(self) -> None:
198
- self.calls: list[str] = []
199
-
200
- def get_config(self) -> Any:
201
- self.calls.append("get")
202
- return {}
203
-
204
- def set_config(self, cfg: Any) -> None:
205
- self.calls.append("set")
206
-
207
- def reset_config(self) -> None:
208
- self.calls.append("reset")
209
-
210
- hooks = _TrackingHooks()
211
- assert isinstance(hooks, ConfigHooks)
212
-
213
- yaml_content = textwrap.dedent(""" profiles:
214
- hook-test:
215
- env:
216
- HOOK_TEST_KEY: value
217
- """)
218
- yaml_file = tmp_path / "profiles.yaml"
219
- yaml_file.write_text(yaml_content, encoding="utf-8")
220
-
221
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
222
- os.environ.pop("HOOK_TEST_KEY", None)
223
- result = apply_runtime_profile("hook-test", _config_hooks=hooks)
224
- assert result.profile_name == "hook-test"
225
-
226
- def test_force_override(self, tmp_path: Path) -> None:
227
- """force_override=True overwrites existing env vars."""
228
- from vds_agent_core.profiles import apply_runtime_profile
229
-
230
- yaml_content = textwrap.dedent(""" profiles:
231
- override-test:
232
- env:
233
- OVERRIDE_KEY: new-value
234
- """)
235
- yaml_file = tmp_path / "profiles.yaml"
236
- yaml_file.write_text(yaml_content, encoding="utf-8")
237
-
238
- with patch.dict(
239
- os.environ,
240
- {
241
- "VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file),
242
- "OVERRIDE_KEY": "old-value",
243
- },
244
- clear=False,
245
- ):
246
- result = apply_runtime_profile("override-test", force_override=True)
247
- assert os.environ.get("OVERRIDE_KEY") == "new-value"
248
- assert "OVERRIDE_KEY" in result.applied_env_keys
249
-
250
-
251
- class TestBuildLlmSettingsForProfile:
252
- """build_llm_settings_for_profile with config_hooks."""
253
-
254
- def test_with_config_hooks_and_factory(self, tmp_path: Path) -> None:
255
- """Config hooks are called during build, factory produces settings."""
256
- from vds_agent_core.profiles import build_llm_settings_for_profile
257
-
258
- yaml_content = textwrap.dedent(""" profiles:
259
- build-test:
260
- env:
261
- BUILD_TEST_MARKER: active
262
- """)
263
- yaml_file = tmp_path / "profiles.yaml"
264
- yaml_file.write_text(yaml_content, encoding="utf-8")
265
-
266
- class _MockHooks:
267
- def __init__(self) -> None:
268
- self.calls: list[str] = []
269
-
270
- def get_config(self) -> Any:
271
- self.calls.append("get")
272
- return {"original": True}
273
-
274
- def set_config(self, cfg: Any) -> None:
275
- self.calls.append(f"set:{cfg}")
276
-
277
- def reset_config(self) -> None:
278
- self.calls.append("reset")
279
-
280
- hooks = _MockHooks()
281
-
282
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
283
- result = build_llm_settings_for_profile(
284
- "build-test",
285
- config_hooks=hooks,
286
- settings_factory=lambda: {"built": True},
287
- )
288
-
289
- assert result == {"built": True}
290
- assert "get" in hooks.calls
291
- assert "reset" in hooks.calls
292
- assert any(c.startswith("set:") for c in hooks.calls)
293
-
294
- def test_without_factory_returns_none(self, tmp_path: Path) -> None:
295
- """Without settings_factory, returns None."""
296
- from vds_agent_core.profiles import build_llm_settings_for_profile
297
-
298
- yaml_content = textwrap.dedent(""" profiles:
299
- no-factory:
300
- env:
301
- NF_KEY: val
302
- """)
303
- yaml_file = tmp_path / "profiles.yaml"
304
- yaml_file.write_text(yaml_content, encoding="utf-8")
305
-
306
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
307
- result = build_llm_settings_for_profile("no-factory")
308
-
309
- assert result is None
310
-
311
-
312
- class TestEnvMaps:
313
- """_EnvMaps prefix substitution."""
314
-
315
- def test_default_prefix(self) -> None:
316
- from vds_agent_core.profiles import _EnvMaps
317
-
318
- maps = _EnvMaps("VDS_AUDIT_")
319
- assert maps.retry["agent_retries"] == "VDS_AUDIT_LLM__AGENT_RETRIES"
320
- assert maps.active_profile_env == "VDS_AUDIT_ACTIVE_PROFILE"
321
-
322
- def test_custom_prefix(self) -> None:
323
- from vds_agent_core.profiles import _EnvMaps
324
-
325
- maps = _EnvMaps("VDS_PROGRESS_")
326
- assert maps.retry["agent_retries"] == "VDS_PROGRESS_LLM__AGENT_RETRIES"
327
- assert maps.active_profile_env == "VDS_PROGRESS_ACTIVE_PROFILE"
328
- assert maps.model_llm["type"] == "VDS_PROGRESS_LLM_PROTOCOL"
329
- assert maps.model_dspy["model"] == "VDS_PROGRESS_DSPY_MODEL"
330
-
331
-
332
- class TestProfileProtectedEnvKeys:
333
- """profile_protected_env_keys with prefix."""
334
-
335
- def test_default_prefix(self) -> None:
336
- from vds_agent_core.profiles import profile_protected_env_keys
337
-
338
- keys = profile_protected_env_keys()
339
- assert "VDS_AUDIT_LLM_PROTOCOL" in keys
340
- assert "VDS_AUDIT_LLM__API_KEY" in keys
341
-
342
- def test_custom_prefix(self) -> None:
343
- from vds_agent_core.profiles import profile_protected_env_keys
344
-
345
- keys = profile_protected_env_keys(env_prefix="VDS_PROGRESS_")
346
- assert "VDS_PROGRESS_LLM_PROTOCOL" in keys
347
- assert "VDS_PROGRESS_LLM__API_KEY" in keys
348
- assert "VDS_AUDIT_LLM_PROTOCOL" not in keys
349
-
350
-
351
- class TestResolveAgenticToolFirstScalar:
352
- """resolve_agentic_tool_first_scalar with custom prefix."""
353
-
354
- def test_default_returns_default(self) -> None:
355
- from vds_agent_core.profiles import resolve_agentic_tool_first_scalar
356
-
357
- os.environ.pop("VDS_AUDIT_AGENTIC_TOOL_FIRST_MAX_STEPS", None)
358
- result = resolve_agentic_tool_first_scalar("tool_first_max_steps", default=10)
359
- assert result == 10
360
-
361
- def test_custom_prefix(self) -> None:
362
- from vds_agent_core.profiles import resolve_agentic_tool_first_scalar
363
-
364
- os.environ["VDS_PROGRESS_AGENTIC_TOOL_FIRST_MAX_STEPS"] = "25"
365
- try:
366
- result = resolve_agentic_tool_first_scalar(
367
- "tool_first_max_steps",
368
- default=10,
369
- env_prefix="VDS_PROGRESS_",
370
- )
371
- assert result == 25
372
- finally:
373
- os.environ.pop("VDS_PROGRESS_AGENTIC_TOOL_FIRST_MAX_STEPS", None)
374
-
375
-
376
- class TestRealProfileIntegration:
377
- """Integration tests using the real ~/.vds/audit.profiles.yaml file.
378
-
379
- These tests exercise the actual YAML loading and env mutation paths
380
- that unit tests with mocks cannot cover.
381
- """
382
-
383
- def test_resolve_runtime_profiles_path_finds_real_file(self) -> None:
384
- from vds_agent_core.profiles import resolve_runtime_profiles_path
385
-
386
- path = resolve_runtime_profiles_path()
387
- assert path is not None
388
- assert path.exists(), f"Profile file not found at {path}"
389
- assert path.suffix == ".yaml"
390
-
391
- def test_list_runtime_profile_names_returns_profiles(self) -> None:
392
- from vds_agent_core.profiles import list_runtime_profile_names
393
-
394
- names = list_runtime_profile_names()
395
- assert isinstance(names, list)
396
- assert len(names) > 0, "Expected at least one profile"
397
-
398
- def test_apply_runtime_profile_none_is_noop(self) -> None:
399
- """Applying None profile should not raise and return activation."""
400
- from vds_agent_core.profiles import RuntimeProfileActivation, apply_runtime_profile
401
-
402
- result = apply_runtime_profile(None)
403
- assert result is not None
404
- assert isinstance(result, RuntimeProfileActivation)
405
-
406
- def test_apply_runtime_profile_default_profile(self) -> None:
407
- """Apply the default profile from the real YAML file."""
408
- import os
409
-
410
- from vds_agent_core.profiles import RuntimeProfileActivation, apply_runtime_profile
411
-
412
- # Save and restore env state
413
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
414
- try:
415
- result = apply_runtime_profile("omniroute-dlg1-gpt-openai")
416
- assert result is not None
417
- assert isinstance(result, RuntimeProfileActivation)
418
- finally:
419
- # Restore env
420
- for k in list(os.environ.keys()):
421
- if k.startswith("VDS_AUDIT_") and k not in saved:
422
- del os.environ[k]
423
- for k, v in saved.items():
424
- os.environ[k] = v
425
-
426
- def test_apply_runtime_profile_unknown_profile_raises(self) -> None:
427
- """Applying an unknown profile name should raise ValueError."""
428
- import pytest
429
- from vds_agent_core.profiles import apply_runtime_profile
430
-
431
- with pytest.raises((ValueError, KeyError, Exception)):
432
- apply_runtime_profile("nonexistent-profile-xyz-12345")
433
-
434
- def test_profile_sets_env_vars(self) -> None:
435
- """Applying a real profile should set VDS_AUDIT_* env vars."""
436
- import os
437
-
438
- from vds_agent_core.profiles import apply_runtime_profile
439
-
440
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
441
- try:
442
- apply_runtime_profile("omniroute-dlg1-gpt-openai")
443
- # After applying, at least the active profile env var should be set
444
- active = os.environ.get("VDS_AUDIT_ACTIVE_PROFILE")
445
- assert active == "omniroute-dlg1-gpt-openai", f"Expected active profile, got {active}"
446
- finally:
447
- for k in list(os.environ.keys()):
448
- if k.startswith("VDS_AUDIT_") and k not in saved:
449
- del os.environ[k]
450
- for k, v in saved.items():
451
- os.environ[k] = v
452
-
453
- def test_apply_runtime_profile_custom_env_prefix(self) -> None:
454
- """env_prefix parameter should be accepted without error."""
455
- from vds_agent_core.profiles import apply_runtime_profile
456
-
457
- # Just verify it accepts the parameter — don't check env mutation
458
- # since VDS_PROGRESS_ prefix won't match the YAML profile keys
459
- result = apply_runtime_profile(None, env_prefix="VDS_PROGRESS_")
460
- assert result is not None
461
-
462
-
463
- class TestRealProfilePolicyApplication:
464
- """Tests that verify policy application helpers are exercised via real profiles."""
465
-
466
- def _apply_and_restore(self, profile_name: str) -> dict:
467
- """Apply profile, capture env changes, restore env."""
468
- import os
469
-
470
- from vds_agent_core.profiles import apply_runtime_profile
471
-
472
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
473
- try:
474
- apply_runtime_profile(profile_name)
475
- applied = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
476
- return applied
477
- finally:
478
- for k in list(os.environ.keys()):
479
- if k.startswith("VDS_AUDIT_") and k not in saved:
480
- del os.environ[k]
481
- for k, v in saved.items():
482
- os.environ[k] = v
483
-
484
- def test_model_policy_sets_llm_enabled(self) -> None:
485
- """Profile with env.VDS_AUDIT_LLM_ENABLED should set it."""
486
- applied = self._apply_and_restore("omniroute-dlg1-gpt-openai")
487
- assert applied.get("VDS_AUDIT_LLM_ENABLED") == "true"
488
-
489
- def test_model_policy_sets_api_key_env(self) -> None:
490
- """Profile with env.VDS_AUDIT_LLM__API_KEY should set it."""
491
- applied = self._apply_and_restore("omniroute-dlg1-gpt-openai")
492
- # Key may be set to the literal ${OMNIROUTE_API_KEY} or resolved value
493
- assert "VDS_AUDIT_LLM__API_KEY" in applied or "VDS_AUDIT_LLM_ENABLED" in applied
494
-
495
- def test_model_policy_sets_max_tokens(self) -> None:
496
- """Profile env.VDS_AUDIT_LLM__MAX_TOKENS_PER_REQUEST should be applied."""
497
- applied = self._apply_and_restore("omniroute-dlg1-gpt-openai")
498
- assert applied.get("VDS_AUDIT_LLM__MAX_TOKENS_PER_REQUEST") == "24000"
499
-
500
- def test_model_policy_sets_agent_retries(self) -> None:
501
- """Profile env.VDS_AUDIT_LLM__AGENT_RETRIES should be applied."""
502
- applied = self._apply_and_restore("omniroute-dlg1-gpt-openai")
503
- assert applied.get("VDS_AUDIT_LLM__AGENT_RETRIES") == "2"
504
-
505
- def test_model_policy_sets_skills_toolset(self) -> None:
506
- """Profile env.VDS_AUDIT_LLM__SKILLS_TOOLSET_ENABLED should be applied."""
507
- applied = self._apply_and_restore("omniroute-dlg1-gpt-openai")
508
- assert applied.get("VDS_AUDIT_LLM__SKILLS_TOOLSET_ENABLED") == "true"
509
-
510
- def test_active_profile_env_var_set(self) -> None:
511
- """VDS_AUDIT_ACTIVE_PROFILE should be set to the applied profile name."""
512
- applied = self._apply_and_restore("omniroute-dlg1-gpt-openai")
513
- assert applied.get("VDS_AUDIT_ACTIVE_PROFILE") == "omniroute-dlg1-gpt-openai"
514
-
515
- def test_build_llm_settings_for_profile(self) -> None:
516
- """build_llm_settings_for_profile should not raise for a valid profile."""
517
- from vds_agent_core.profiles import build_llm_settings_for_profile
518
-
519
- # May return None if no settings_factory is provided — just verify no exception
520
- try:
521
- build_llm_settings_for_profile("omniroute-dlg1-gpt-openai")
522
- except Exception as e:
523
- # Only fail if it's not a missing-factory type error
524
- if "settings_factory" not in str(e) and "factory" not in str(e).lower():
525
- raise
526
-
527
- def test_inherit_runtime_llm_policy(self) -> None:
528
- """inherit_runtime_llm_policy should not raise for a valid profile."""
529
- import os
530
-
531
- from vds_agent_core.profiles import inherit_runtime_llm_policy
532
-
533
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
534
- try:
535
- # inherit_runtime_llm_policy requires profile_name as first arg
536
- try:
537
- inherit_runtime_llm_policy("omniroute-dlg1-gpt-openai")
538
- except Exception as e:
539
- # Only fail if it is not a missing-factory type error
540
- if "settings_factory" not in str(e) and "factory" not in str(e).lower():
541
- raise
542
- finally:
543
- for k in list(os.environ.keys()):
544
- if k.startswith("VDS_AUDIT_") and k not in saved:
545
- del os.environ[k]
546
- for k, v in saved.items():
547
- os.environ[k] = v
548
-
549
-
550
- class TestResolveDefaultFailoverProfiles:
551
- """resolve_default_failover_profiles returns other profiles excluding active."""
552
-
553
- def test_excludes_active_profile(self) -> None:
554
- from vds_agent_core.profiles import resolve_default_failover_profiles
555
-
556
- all_profiles = ["profile-a", "profile-b", "profile-c"]
557
- result = resolve_default_failover_profiles("profile-a", all_profiles=all_profiles)
558
- assert "profile-a" not in result
559
- assert "profile-b" in result
560
- assert "profile-c" in result
561
-
562
- def test_none_active_returns_all(self) -> None:
563
- from vds_agent_core.profiles import resolve_default_failover_profiles
564
-
565
- all_profiles = ["profile-a", "profile-b"]
566
- result = resolve_default_failover_profiles(None, all_profiles=all_profiles)
567
- assert result == ["profile-a", "profile-b"]
568
-
569
- def test_empty_all_profiles_returns_empty(self) -> None:
570
- from vds_agent_core.profiles import resolve_default_failover_profiles
571
-
572
- result = resolve_default_failover_profiles("profile-a", all_profiles=[])
573
- assert result == []
574
-
575
- def test_deduplicates_profiles(self) -> None:
576
- from vds_agent_core.profiles import resolve_default_failover_profiles
577
-
578
- all_profiles = ["profile-a", "profile-b", "profile-b", "profile-c"]
579
- result = resolve_default_failover_profiles("profile-a", all_profiles=all_profiles)
580
- assert result.count("profile-b") == 1
581
-
582
-
583
- class TestListRuntimeProfileNames:
584
- """list_runtime_profile_names returns names from YAML."""
585
-
586
- def test_returns_list_from_yaml(self, tmp_path: Path) -> None:
587
- import textwrap
588
- from unittest.mock import patch
589
-
590
- from vds_agent_core.profiles import list_runtime_profile_names
591
-
592
- yaml_content = textwrap.dedent("""
593
- profiles:
594
- alpha:
595
- env:
596
- KEY_A: val
597
- beta:
598
- env:
599
- KEY_B: val
600
- """)
601
- yaml_file = tmp_path / "profiles.yaml"
602
- yaml_file.write_text(yaml_content, encoding="utf-8")
603
-
604
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
605
- names = list_runtime_profile_names()
606
-
607
- assert "alpha" in names
608
- assert "beta" in names
609
-
610
- def test_missing_file_returns_empty(self, tmp_path: Path) -> None:
611
- from unittest.mock import patch
612
-
613
- from vds_agent_core.profiles import list_runtime_profile_names
614
-
615
- missing = tmp_path / "nonexistent.yaml"
616
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(missing)}, clear=False):
617
- names = list_runtime_profile_names()
618
-
619
- assert names == []
620
-
621
-
622
- class TestEnvMapsCustomPrefix:
623
- """_EnvMaps with non-default prefix replaces VDS_AUDIT_ correctly."""
624
-
625
- def test_model_dspy_prefix_replaced(self) -> None:
626
- from vds_agent_core.profiles import _EnvMaps
627
-
628
- maps = _EnvMaps("VDS_PROGRESS_")
629
- assert maps.model_dspy["model"] == "VDS_PROGRESS_DSPY_MODEL"
630
- assert maps.model_dspy["api_key"] == "VDS_PROGRESS_DSPY_API_KEY"
631
-
632
- def test_timeout_prefix_replaced(self) -> None:
633
- from vds_agent_core.profiles import _EnvMaps
634
-
635
- maps = _EnvMaps("VDS_PROGRESS_")
636
- assert maps.timeout["agent_timeout_seconds"] == "VDS_PROGRESS_LLM__AGENT_TIMEOUT_SECONDS"
637
-
638
- def test_agentic_tool_first_prefix_replaced(self) -> None:
639
- from vds_agent_core.profiles import _EnvMaps
640
-
641
- maps = _EnvMaps("VDS_PROGRESS_")
642
- assert maps.agentic_tool_first["tool_first_max_steps"] == "VDS_PROGRESS_AGENTIC_TOOL_FIRST_MAX_STEPS"
643
-
644
-
645
- class TestModelPolicyViaYaml:
646
- """Tests for model policy helpers exercised via apply_runtime_profile with crafted YAML."""
647
-
648
- def _apply(self, tmp_path: Path, yaml_content: str, profile: str = "test-profile", **kwargs: Any) -> Any:
649
- from vds_agent_core.profiles import apply_runtime_profile
650
-
651
- yaml_file = tmp_path / "profiles.yaml"
652
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
653
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
654
- # Clear any pre-existing VDS_AUDIT_ keys that might interfere
655
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
656
- for k in list(saved):
657
- if k != "VDS_AUDIT_RUNTIME_PROFILES_FILE":
658
- os.environ.pop(k, None)
659
- try:
660
- return apply_runtime_profile(profile, force_override=True, **kwargs)
661
- finally:
662
- for k in list(os.environ.keys()):
663
- if k.startswith("VDS_AUDIT_") and k not in saved:
664
- os.environ.pop(k, None)
665
- for k, v in saved.items():
666
- os.environ[k] = v
667
-
668
- def test_model_llm_type_applied(self, tmp_path: Path) -> None:
669
- """model.llm.type sets VDS_AUDIT_LLM_PROTOCOL."""
670
- result = self._apply(
671
- tmp_path,
672
- """
673
- profiles:
674
- test-profile:
675
- model:
676
- llm:
677
- type: openai
678
- base_url: http://localhost:4000
679
- api_key: sk-test
680
- """,
681
- )
682
- assert result.profile_name == "test-profile"
683
- assert "VDS_AUDIT_LLM_PROTOCOL" in result.applied_env_keys
684
-
685
- def test_model_llm_stream_applied(self, tmp_path: Path) -> None:
686
- """model.llm.stream sets VDS_AUDIT_LLM__STREAM."""
687
- result = self._apply(
688
- tmp_path,
689
- """
690
- profiles:
691
- test-profile:
692
- model:
693
- llm:
694
- type: openai
695
- base_url: http://localhost:4000
696
- api_key: sk-test
697
- stream: true
698
- """,
699
- )
700
- assert "VDS_AUDIT_LLM__STREAM" in result.applied_env_keys
701
-
702
- def test_model_llm_invalid_type_raises(self, tmp_path: Path) -> None:
703
- """model.llm.type with unsupported protocol raises ValueError."""
704
- from vds_agent_core.profiles import apply_runtime_profile
705
-
706
- yaml_content = textwrap.dedent("""
707
- profiles:
708
- test-profile:
709
- model:
710
- llm:
711
- type: unsupported-protocol
712
- base_url: http://localhost:4000
713
- api_key: sk-test
714
- """)
715
- yaml_file = tmp_path / "profiles.yaml"
716
- yaml_file.write_text(yaml_content, encoding="utf-8")
717
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
718
- with pytest.raises(ValueError, match=r"invalid model\.llm\.type"):
719
- apply_runtime_profile("test-profile", force_override=True)
720
-
721
- def test_model_llm_reasoning_effort_applied(self, tmp_path: Path) -> None:
722
- """model.llm.reasoning_effort sets VDS_AUDIT_LLM__REASONING_EFFORT."""
723
- result = self._apply(
724
- tmp_path,
725
- """
726
- profiles:
727
- test-profile:
728
- model:
729
- llm:
730
- type: openai
731
- base_url: http://localhost:4000
732
- api_key: sk-test
733
- reasoning_effort: high
734
- """,
735
- )
736
- assert "VDS_AUDIT_LLM__REASONING_EFFORT" in result.applied_env_keys
737
-
738
- def test_model_llm_invalid_reasoning_effort_raises(self, tmp_path: Path) -> None:
739
- """model.llm.reasoning_effort with invalid value raises ValueError."""
740
- from vds_agent_core.profiles import apply_runtime_profile
741
-
742
- yaml_content = textwrap.dedent("""
743
- profiles:
744
- test-profile:
745
- model:
746
- llm:
747
- type: openai
748
- base_url: http://localhost:4000
749
- api_key: sk-test
750
- reasoning_effort: ultra
751
- """)
752
- yaml_file = tmp_path / "profiles.yaml"
753
- yaml_file.write_text(yaml_content, encoding="utf-8")
754
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
755
- with pytest.raises(ValueError, match="reasoning_effort"):
756
- apply_runtime_profile("test-profile", force_override=True)
757
-
758
- def test_model_llm_row_failover_profiles_string(self, tmp_path: Path) -> None:
759
- """model.llm.row_failover_profiles as comma-string sets env var."""
760
- # Note: list form is not used here because the generic tier loop in
761
- # _apply_profile_model_policy also processes row_failover_profiles as a
762
- # string field — using a string value avoids the conflict.
763
- result = self._apply(
764
- tmp_path,
765
- """
766
- profiles:
767
- test-profile:
768
- model:
769
- llm:
770
- type: openai
771
- base_url: http://localhost:4000
772
- api_key: sk-test
773
- row_failover_profiles: "profile-b,profile-c"
774
- """,
775
- )
776
- assert "VDS_AUDIT_LLM__ROW_FAILOVER_PROFILES" in result.applied_env_keys
777
-
778
- def test_model_llm_model_shorthand_sets_all_tiers(self, tmp_path: Path) -> None:
779
- """model.llm.model shorthand sets simple/standard/complex tiers."""
780
- result = self._apply(
781
- tmp_path,
782
- """
783
- profiles:
784
- test-profile:
785
- model:
786
- llm:
787
- type: openai
788
- base_url: http://localhost:4000
789
- api_key: sk-test
790
- model: gpt-4o
791
- """,
792
- )
793
- assert "VDS_AUDIT_LLM__MODEL_STANDARD" in result.applied_env_keys
794
- assert "VDS_AUDIT_LLM__MODEL_SIMPLE" in result.applied_env_keys
795
- assert "VDS_AUDIT_LLM__MODEL_COMPLEX" in result.applied_env_keys
796
-
797
- def test_model_dspy_type_and_model_applied(self, tmp_path: Path) -> None:
798
- """model.dspy.type and model set DSPy env vars."""
799
- result = self._apply(
800
- tmp_path,
801
- """
802
- profiles:
803
- test-profile:
804
- model:
805
- llm:
806
- type: openai
807
- base_url: http://localhost:4000
808
- api_key: sk-test
809
- dspy:
810
- type: openai
811
- model: openai/gpt-4o
812
- api_key: sk-dspy
813
- """,
814
- )
815
- assert "VDS_AUDIT_DSPY_PROTOCOL" in result.applied_env_keys
816
- assert "VDS_AUDIT_DSPY_MODEL" in result.applied_env_keys
817
-
818
- def test_model_dspy_invalid_type_raises(self, tmp_path: Path) -> None:
819
- """model.dspy.type with unsupported protocol raises ValueError."""
820
- from vds_agent_core.profiles import apply_runtime_profile
821
-
822
- yaml_content = textwrap.dedent("""
823
- profiles:
824
- test-profile:
825
- model:
826
- dspy:
827
- type: bad-protocol
828
- model: gpt-4o
829
- """)
830
- yaml_file = tmp_path / "profiles.yaml"
831
- yaml_file.write_text(yaml_content, encoding="utf-8")
832
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
833
- with pytest.raises(ValueError, match=r"invalid model\.dspy\.type"):
834
- apply_runtime_profile("test-profile", force_override=True)
835
-
836
- def test_model_embedding_applied(self, tmp_path: Path) -> None:
837
- """model.embedding fields set embedding env vars."""
838
- result = self._apply(
839
- tmp_path,
840
- """
841
- profiles:
842
- test-profile:
843
- model:
844
- embedding:
845
- base_url: http://localhost:11434
846
- model: bge-m3
847
- api_key: sk-embed
848
- """,
849
- )
850
- assert "VDS_AUDIT_EMBEDDING__BASE_URL" in result.applied_env_keys
851
- assert "VDS_AUDIT_EMBEDDING__MODEL" in result.applied_env_keys
852
-
853
- def test_model_llm_unknown_key_raises(self, tmp_path: Path) -> None:
854
- """model.llm with unknown key raises ValueError."""
855
- from vds_agent_core.profiles import apply_runtime_profile
856
-
857
- yaml_content = textwrap.dedent("""
858
- profiles:
859
- test-profile:
860
- model:
861
- llm:
862
- type: openai
863
- unknown_field: bad
864
- """)
865
- yaml_file = tmp_path / "profiles.yaml"
866
- yaml_file.write_text(yaml_content, encoding="utf-8")
867
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
868
- with pytest.raises(ValueError, match=r"invalid model\.llm keys"):
869
- apply_runtime_profile("test-profile", force_override=True)
870
-
871
-
872
- class TestSkillPolicyViaYaml:
873
- """Tests for skill_policy helpers exercised via apply_runtime_profile."""
874
-
875
- def _apply(self, tmp_path: Path, yaml_content: str) -> Any:
876
- from vds_agent_core.profiles import apply_runtime_profile
877
-
878
- yaml_file = tmp_path / "profiles.yaml"
879
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
880
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
881
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
882
- for k in list(saved):
883
- if k != "VDS_AUDIT_RUNTIME_PROFILES_FILE":
884
- os.environ.pop(k, None)
885
- try:
886
- return apply_runtime_profile("test-profile", force_override=True)
887
- finally:
888
- for k in list(os.environ.keys()):
889
- if k.startswith("VDS_AUDIT_") and k not in saved:
890
- os.environ.pop(k, None)
891
- for k, v in saved.items():
892
- os.environ[k] = v
893
-
894
- def test_skill_policy_enabled_applied(self, tmp_path: Path) -> None:
895
- """skill_policy.enabled sets VDS_AUDIT_LLM__SKILLS_TOOLSET_ENABLED."""
896
- result = self._apply(
897
- tmp_path,
898
- """
899
- profiles:
900
- test-profile:
901
- skill_policy:
902
- enabled: true
903
- """,
904
- )
905
- assert "VDS_AUDIT_LLM__SKILLS_TOOLSET_ENABLED" in result.applied_env_keys
906
-
907
- def test_skill_policy_allow_script_execution(self, tmp_path: Path) -> None:
908
- """skill_policy.allow_script_execution sets env var."""
909
- result = self._apply(
910
- tmp_path,
911
- """
912
- profiles:
913
- test-profile:
914
- skill_policy:
915
- allow_script_execution: false
916
- """,
917
- )
918
- assert "VDS_AUDIT_LLM__SKILLS_ALLOW_SCRIPT_EXECUTION" in result.applied_env_keys
919
-
920
- def test_skill_policy_default_trust_tier(self, tmp_path: Path) -> None:
921
- """skill_policy.default_trust_tier sets env var."""
922
- result = self._apply(
923
- tmp_path,
924
- """
925
- profiles:
926
- test-profile:
927
- skill_policy:
928
- default_trust_tier: internal
929
- """,
930
- )
931
- assert "VDS_AUDIT_LLM__SKILLS_DEFAULT_TRUST_TIER" in result.applied_env_keys
932
-
933
- def test_skill_policy_invalid_trust_tier_raises(self, tmp_path: Path) -> None:
934
- """skill_policy.default_trust_tier with invalid value raises ValueError."""
935
- from vds_agent_core.profiles import apply_runtime_profile
936
-
937
- yaml_content = textwrap.dedent("""
938
- profiles:
939
- test-profile:
940
- skill_policy:
941
- default_trust_tier: super-trusted
942
- """)
943
- yaml_file = tmp_path / "profiles.yaml"
944
- yaml_file.write_text(yaml_content, encoding="utf-8")
945
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
946
- with pytest.raises(ValueError):
947
- apply_runtime_profile("test-profile", force_override=True)
948
-
949
- def test_skill_policy_allowlist_applied(self, tmp_path: Path) -> None:
950
- """skill_policy.allowlist sets VDS_AUDIT_LLM__SKILLS_ALLOWLIST."""
951
- result = self._apply(
952
- tmp_path,
953
- """
954
- profiles:
955
- test-profile:
956
- skill_policy:
957
- allowlist:
958
- - research-skill
959
- - grepai-skill
960
- """,
961
- )
962
- assert "VDS_AUDIT_LLM__SKILLS_ALLOWLIST" in result.applied_env_keys
963
-
964
- def test_skill_policy_allowed_trust_tiers_applied(self, tmp_path: Path) -> None:
965
- """skill_policy.allowed_trust_tiers sets env var."""
966
- result = self._apply(
967
- tmp_path,
968
- """
969
- profiles:
970
- test-profile:
971
- skill_policy:
972
- allowed_trust_tiers:
973
- - internal
974
- - external-verified
975
- """,
976
- )
977
- assert "VDS_AUDIT_LLM__SKILLS_ALLOWED_TRUST_TIERS" in result.applied_env_keys
978
-
979
- def test_skill_policy_trust_tiers_map_applied(self, tmp_path: Path) -> None:
980
- """skill_policy.trust_tiers map sets env var."""
981
- result = self._apply(
982
- tmp_path,
983
- """
984
- profiles:
985
- test-profile:
986
- skill_policy:
987
- trust_tiers:
988
- research-skill: internal
989
- grepai-skill: external-verified
990
- """,
991
- )
992
- assert "VDS_AUDIT_LLM__SKILLS_TRUST_TIERS" in result.applied_env_keys
993
-
994
- def test_skill_policy_strict_require_effective_skill(self, tmp_path: Path) -> None:
995
- """skill_policy.strict_require_effective_skill sets env var."""
996
- result = self._apply(
997
- tmp_path,
998
- """
999
- profiles:
1000
- test-profile:
1001
- skill_policy:
1002
- strict_require_effective_skill: true
1003
- """,
1004
- )
1005
- assert "VDS_AUDIT_AGENTIC_STRICT_REQUIRE_EFFECTIVE_SKILL" in result.applied_env_keys
1006
-
1007
-
1008
- class TestBackendPolicyViaYaml:
1009
- """Tests for backend_policy helpers exercised via apply_runtime_profile."""
1010
-
1011
- def _apply(self, tmp_path: Path, yaml_content: str, extra_env: dict | None = None) -> Any:
1012
- from vds_agent_core.profiles import apply_runtime_profile
1013
-
1014
- yaml_file = tmp_path / "profiles.yaml"
1015
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
1016
- env_patch = {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}
1017
- if extra_env:
1018
- env_patch.update(extra_env)
1019
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
1020
- with patch.dict(os.environ, env_patch, clear=False):
1021
- for k in list(saved):
1022
- if k not in ("VDS_AUDIT_RUNTIME_PROFILES_FILE",) and k not in (extra_env or {}):
1023
- os.environ.pop(k, None)
1024
- try:
1025
- return apply_runtime_profile("test-profile", force_override=True)
1026
- finally:
1027
- for k in list(os.environ.keys()):
1028
- if k.startswith("VDS_AUDIT_") and k not in saved:
1029
- os.environ.pop(k, None)
1030
- for k, v in saved.items():
1031
- os.environ[k] = v
1032
-
1033
- def test_backend_policy_prompt_evaluator(self, tmp_path: Path) -> None:
1034
- """backend_policy.backend=prompt_evaluator sets env var."""
1035
- result = self._apply(
1036
- tmp_path,
1037
- """
1038
- profiles:
1039
- test-profile:
1040
- backend_policy:
1041
- backend: prompt_evaluator
1042
- """,
1043
- )
1044
- assert "VDS_AUDIT_LLM__ROW_EVALUATION_BACKEND" in result.applied_env_keys
1045
-
1046
- def test_backend_policy_dspy(self, tmp_path: Path) -> None:
1047
- """backend_policy.backend=dspy sets env var."""
1048
- result = self._apply(
1049
- tmp_path,
1050
- """
1051
- profiles:
1052
- test-profile:
1053
- backend_policy:
1054
- backend: dspy
1055
- """,
1056
- )
1057
- assert "VDS_AUDIT_LLM__ROW_EVALUATION_BACKEND" in result.applied_env_keys
1058
-
1059
- def test_backend_policy_invalid_backend_raises(self, tmp_path: Path) -> None:
1060
- """backend_policy.backend with invalid value raises ValueError."""
1061
- from vds_agent_core.profiles import apply_runtime_profile
1062
-
1063
- yaml_content = textwrap.dedent("""
1064
- profiles:
1065
- test-profile:
1066
- backend_policy:
1067
- backend: unknown-backend
1068
- """)
1069
- yaml_file = tmp_path / "profiles.yaml"
1070
- yaml_file.write_text(yaml_content, encoding="utf-8")
1071
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1072
- with pytest.raises(ValueError):
1073
- apply_runtime_profile("test-profile", force_override=True)
1074
-
1075
- def test_backend_policy_locked_and_allow_override_raises(self, tmp_path: Path) -> None:
1076
- """backend_policy locked=true + allow_override=true raises ValueError."""
1077
- from vds_agent_core.profiles import apply_runtime_profile
1078
-
1079
- yaml_content = textwrap.dedent("""
1080
- profiles:
1081
- test-profile:
1082
- backend_policy:
1083
- backend: prompt_evaluator
1084
- locked: true
1085
- allow_override: true
1086
- """)
1087
- yaml_file = tmp_path / "profiles.yaml"
1088
- yaml_file.write_text(yaml_content, encoding="utf-8")
1089
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1090
- with pytest.raises(ValueError, match="locked=true cannot be combined"):
1091
- apply_runtime_profile("test-profile", force_override=True)
1092
-
1093
-
1094
- class TestAgenticPolicyViaYaml:
1095
- """Tests for agentic policy helpers exercised via apply_runtime_profile."""
1096
-
1097
- def _apply(self, tmp_path: Path, yaml_content: str) -> Any:
1098
- from vds_agent_core.profiles import apply_runtime_profile
1099
-
1100
- yaml_file = tmp_path / "profiles.yaml"
1101
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
1102
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
1103
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1104
- for k in list(saved):
1105
- if k != "VDS_AUDIT_RUNTIME_PROFILES_FILE":
1106
- os.environ.pop(k, None)
1107
- try:
1108
- return apply_runtime_profile("test-profile", force_override=True)
1109
- finally:
1110
- for k in list(os.environ.keys()):
1111
- if k.startswith("VDS_AUDIT_") and k not in saved:
1112
- os.environ.pop(k, None)
1113
- for k, v in saved.items():
1114
- os.environ[k] = v
1115
-
1116
- def test_agentic_non_progress_preset_applied(self, tmp_path: Path) -> None:
1117
- """agentic.non_progress_preset sets env var."""
1118
- result = self._apply(
1119
- tmp_path,
1120
- """
1121
- profiles:
1122
- test-profile:
1123
- agentic:
1124
- non_progress_preset: strict
1125
- """,
1126
- )
1127
- assert "VDS_AUDIT_AGENTIC_NON_PROGRESS_PRESET" in result.applied_env_keys
1128
-
1129
- def test_agentic_invalid_preset_raises(self, tmp_path: Path) -> None:
1130
- """agentic.non_progress_preset with invalid value raises ValueError."""
1131
- from vds_agent_core.profiles import apply_runtime_profile
1132
-
1133
- yaml_content = textwrap.dedent("""
1134
- profiles:
1135
- test-profile:
1136
- agentic:
1137
- non_progress_preset: invalid-preset
1138
- """)
1139
- yaml_file = tmp_path / "profiles.yaml"
1140
- yaml_file.write_text(yaml_content, encoding="utf-8")
1141
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1142
- with pytest.raises(ValueError):
1143
- apply_runtime_profile("test-profile", force_override=True)
1144
-
1145
- def test_agentic_strict_no_fallback_applied(self, tmp_path: Path) -> None:
1146
- """agentic.strict_no_fallback sets env var."""
1147
- result = self._apply(
1148
- tmp_path,
1149
- """
1150
- profiles:
1151
- test-profile:
1152
- agentic:
1153
- strict_no_fallback: true
1154
- """,
1155
- )
1156
- assert "VDS_AUDIT_AGENTIC_STRICT_NO_FALLBACK" in result.applied_env_keys
1157
-
1158
- def test_agentic_tool_first_max_steps_applied(self, tmp_path: Path) -> None:
1159
- """agentic.tool_first_max_steps sets env var."""
1160
- result = self._apply(
1161
- tmp_path,
1162
- """
1163
- profiles:
1164
- test-profile:
1165
- agentic:
1166
- tool_first_max_steps: 10
1167
- """,
1168
- )
1169
- assert "VDS_AUDIT_AGENTIC_TOOL_FIRST_MAX_STEPS" in result.applied_env_keys
1170
-
1171
-
1172
- class TestEnvReferenceResolution:
1173
- """Tests for ${ENV_VAR} and ${codex:...} reference resolution."""
1174
-
1175
- def test_env_ref_resolved_when_set(self, tmp_path: Path) -> None:
1176
- """${ENV_VAR} in profile value is resolved from environment."""
1177
- from vds_agent_core.profiles import apply_runtime_profile
1178
-
1179
- yaml_content = textwrap.dedent("""
1180
- profiles:
1181
- test-profile:
1182
- env:
1183
- MY_RESOLVED_KEY: "${MY_SOURCE_VAR}"
1184
- """)
1185
- yaml_file = tmp_path / "profiles.yaml"
1186
- yaml_file.write_text(yaml_content, encoding="utf-8")
1187
- with patch.dict(
1188
- os.environ,
1189
- {
1190
- "VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file),
1191
- "MY_SOURCE_VAR": "resolved-value",
1192
- },
1193
- clear=False,
1194
- ):
1195
- os.environ.pop("MY_RESOLVED_KEY", None)
1196
- _result = apply_runtime_profile("test-profile", force_override=True)
1197
- assert os.environ.get("MY_RESOLVED_KEY") == "resolved-value"
1198
-
1199
- def test_env_ref_raises_when_not_set(self, tmp_path: Path) -> None:
1200
- """${ENV_VAR} raises ValueError when the referenced var is not set."""
1201
- from vds_agent_core.profiles import apply_runtime_profile
1202
-
1203
- yaml_content = textwrap.dedent("""
1204
- profiles:
1205
- test-profile:
1206
- env:
1207
- MY_KEY: "${NONEXISTENT_VAR_XYZ_12345}"
1208
- """)
1209
- yaml_file = tmp_path / "profiles.yaml"
1210
- yaml_file.write_text(yaml_content, encoding="utf-8")
1211
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1212
- os.environ.pop("NONEXISTENT_VAR_XYZ_12345", None)
1213
- with pytest.raises(ValueError, match="NONEXISTENT_VAR_XYZ_12345"):
1214
- apply_runtime_profile("test-profile", force_override=True)
1215
-
1216
- def test_codex_ref_raises_when_module_unavailable(self, tmp_path: Path) -> None:
1217
- """${codex:access_token} raises ValueError when codex_oauth not available."""
1218
- import sys
1219
-
1220
- from vds_agent_core.profiles import apply_runtime_profile
1221
-
1222
- yaml_content = textwrap.dedent("""
1223
- profiles:
1224
- test-profile:
1225
- env:
1226
- MY_KEY: "${codex:access_token}"
1227
- """)
1228
- yaml_file = tmp_path / "profiles.yaml"
1229
- yaml_file.write_text(yaml_content, encoding="utf-8")
1230
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1231
- with patch.dict(sys.modules, {"vds_audit_orchestrator.llm.codex_oauth": None}):
1232
- with pytest.raises(ValueError, match="codex"):
1233
- apply_runtime_profile("test-profile", force_override=True)
1234
-
1235
- def test_malformed_codex_ref_raises(self, tmp_path: Path) -> None:
1236
- """Malformed ${codex:...} reference raises ValueError."""
1237
- from vds_agent_core.profiles import apply_runtime_profile
1238
-
1239
- yaml_content = textwrap.dedent("""
1240
- profiles:
1241
- test-profile:
1242
- env:
1243
- MY_KEY: "${codex:bad field name!}"
1244
- """)
1245
- yaml_file = tmp_path / "profiles.yaml"
1246
- yaml_file.write_text(yaml_content, encoding="utf-8")
1247
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1248
- with pytest.raises(ValueError):
1249
- apply_runtime_profile("test-profile", force_override=True)
1250
-
1251
-
1252
- class TestResolveSkillDirectoryPath:
1253
- """resolve_skill_directory_path with absolute and relative paths."""
1254
-
1255
- def test_absolute_path_returned_as_is(self, tmp_path: Path) -> None:
1256
- from vds_agent_core.profiles import resolve_skill_directory_path
1257
-
1258
- result = resolve_skill_directory_path(str(tmp_path))
1259
- assert result == tmp_path.resolve()
1260
-
1261
- def test_tilde_expanded(self) -> None:
1262
- from vds_agent_core.profiles import resolve_skill_directory_path
1263
-
1264
- result = resolve_skill_directory_path("~")
1265
- assert result == Path.home().resolve()
1266
-
1267
- def test_relative_path_resolved_against_cwd(self, tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
1268
- from vds_agent_core.profiles import resolve_skill_directory_path
1269
-
1270
- monkeypatch.chdir(tmp_path)
1271
- monkeypatch.delenv("VDS_PROJECT_DIR", raising=False)
1272
- monkeypatch.delenv("CLAUDE_PROJECT_DIR", raising=False)
1273
- subdir = tmp_path / "skills"
1274
- subdir.mkdir()
1275
- result = resolve_skill_directory_path("skills")
1276
- assert result == subdir.resolve()
1277
-
1278
-
1279
- class TestInheritRuntimeLlmPolicy:
1280
- """inherit_runtime_llm_policy copies policy fields from source_llm."""
1281
-
1282
- def test_source_llm_none_returns_settings(self, tmp_path: Path) -> None:
1283
- """When source_llm is None, returns the built settings directly."""
1284
- from vds_agent_core.profiles import inherit_runtime_llm_policy
1285
-
1286
- yaml_content = textwrap.dedent("""
1287
- profiles:
1288
- test-profile:
1289
- env:
1290
- INHERIT_TEST_KEY: value
1291
- """)
1292
- yaml_file = tmp_path / "profiles.yaml"
1293
- yaml_file.write_text(yaml_content, encoding="utf-8")
1294
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1295
- result = inherit_runtime_llm_policy("test-profile", source_llm=None)
1296
- # Returns None because no settings_factory provided
1297
- assert result is None
1298
-
1299
- def test_source_llm_fields_copied(self, tmp_path: Path) -> None:
1300
- """When source_llm provided, policy fields are copied to settings."""
1301
- from vds_agent_core.profiles import inherit_runtime_llm_policy
1302
-
1303
- yaml_content = textwrap.dedent("""
1304
- profiles:
1305
- test-profile:
1306
- env:
1307
- INHERIT_TEST_KEY: value
1308
- """)
1309
- yaml_file = tmp_path / "profiles.yaml"
1310
- yaml_file.write_text(yaml_content, encoding="utf-8")
1311
-
1312
- class _FakeSettings:
1313
- stream = False
1314
- agent_stream = False
1315
-
1316
- class _SourceLlm:
1317
- stream = True
1318
- agent_stream = True
1319
-
1320
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1321
- result = inherit_runtime_llm_policy(
1322
- "test-profile",
1323
- source_llm=_SourceLlm(),
1324
- settings_factory=_FakeSettings,
1325
- )
1326
- # stream should be copied from source_llm
1327
- assert result.stream is True
1328
-
1329
-
1330
- class TestAgentRuntimePolicyViaYaml:
1331
- """Tests for agent_runtime_policy helpers exercised via apply_runtime_profile."""
1332
-
1333
- def _apply(self, tmp_path: Path, yaml_content: str) -> Any:
1334
- from vds_agent_core.profiles import apply_runtime_profile
1335
-
1336
- yaml_file = tmp_path / "profiles.yaml"
1337
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
1338
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
1339
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1340
- for k in list(saved):
1341
- if k != "VDS_AUDIT_RUNTIME_PROFILES_FILE":
1342
- os.environ.pop(k, None)
1343
- try:
1344
- return apply_runtime_profile("test-profile", force_override=True)
1345
- finally:
1346
- for k in list(os.environ.keys()):
1347
- if k.startswith("VDS_AUDIT_") and k not in saved:
1348
- os.environ.pop(k, None)
1349
- for k, v in saved.items():
1350
- os.environ[k] = v
1351
-
1352
- def test_agent_runtime_policy_mode_applied(self, tmp_path: Path) -> None:
1353
- """agent_runtime_policy.mode=pydanticai sets env var."""
1354
- result = self._apply(
1355
- tmp_path,
1356
- """
1357
- profiles:
1358
- test-profile:
1359
- agent_runtime_policy:
1360
- mode: pydanticai
1361
- """,
1362
- )
1363
- assert "VDS_AUDIT_LLM__AGENT_RUNTIME_MODE" in result.applied_env_keys
1364
-
1365
- def test_agent_runtime_policy_invalid_mode_raises(self, tmp_path: Path) -> None:
1366
- """agent_runtime_policy.mode with invalid value raises ValueError."""
1367
- from vds_agent_core.profiles import apply_runtime_profile
1368
-
1369
- yaml_content = textwrap.dedent("""
1370
- profiles:
1371
- test-profile:
1372
- agent_runtime_policy:
1373
- mode: invalid-mode
1374
- """)
1375
- yaml_file = tmp_path / "profiles.yaml"
1376
- yaml_file.write_text(yaml_content, encoding="utf-8")
1377
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1378
- with pytest.raises(ValueError):
1379
- apply_runtime_profile("test-profile", force_override=True)
1380
-
1381
- def test_agent_runtime_policy_tool_allowlists_applied(self, tmp_path: Path) -> None:
1382
- """agent_runtime_policy.tool_allowlists sets env var."""
1383
- result = self._apply(
1384
- tmp_path,
1385
- """
1386
- profiles:
1387
- test-profile:
1388
- agent_runtime_policy:
1389
- mode: pydanticai
1390
- tool_allowlists:
1391
- evaluator:
1392
- - read_file
1393
- - search_code
1394
- """,
1395
- )
1396
- assert "VDS_AUDIT_AGENTIC_TOOL_ALLOWLISTS" in result.applied_env_keys
1397
-
1398
- def test_agent_runtime_policy_non_progress_policy_applied(self, tmp_path: Path) -> None:
1399
- """agent_runtime_policy.non_progress_policy sets env var."""
1400
- result = self._apply(
1401
- tmp_path,
1402
- """
1403
- profiles:
1404
- test-profile:
1405
- agent_runtime_policy:
1406
- mode: pydanticai
1407
- non_progress_policy:
1408
- max_retries: 3
1409
- """,
1410
- )
1411
- assert "VDS_AUDIT_AGENTIC_NON_PROGRESS_POLICY" in result.applied_env_keys
1412
-
1413
-
1414
- class TestTimeoutPolicyViaYaml:
1415
- """Tests for timeout_policy helpers exercised via apply_runtime_profile."""
1416
-
1417
- def _apply(self, tmp_path: Path, yaml_content: str) -> Any:
1418
- from vds_agent_core.profiles import apply_runtime_profile
1419
-
1420
- yaml_file = tmp_path / "profiles.yaml"
1421
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
1422
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
1423
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1424
- for k in list(saved):
1425
- if k != "VDS_AUDIT_RUNTIME_PROFILES_FILE":
1426
- os.environ.pop(k, None)
1427
- try:
1428
- return apply_runtime_profile("test-profile", force_override=True)
1429
- finally:
1430
- for k in list(os.environ.keys()):
1431
- if k.startswith("VDS_AUDIT_") and k not in saved:
1432
- os.environ.pop(k, None)
1433
- for k, v in saved.items():
1434
- os.environ[k] = v
1435
-
1436
- def test_timeout_policy_agent_timeout_applied(self, tmp_path: Path) -> None:
1437
- """timeout_policy.agent_timeout_seconds sets env var."""
1438
- result = self._apply(
1439
- tmp_path,
1440
- """
1441
- profiles:
1442
- test-profile:
1443
- timeout_policy:
1444
- agent_timeout_seconds: 120
1445
- """,
1446
- )
1447
- assert "VDS_AUDIT_LLM__AGENT_TIMEOUT_SECONDS" in result.applied_env_keys
1448
-
1449
- def test_timeout_policy_row_timeout_applied(self, tmp_path: Path) -> None:
1450
- """timeout_policy.row_timeout_ms sets env var."""
1451
- result = self._apply(
1452
- tmp_path,
1453
- """
1454
- profiles:
1455
- test-profile:
1456
- timeout_policy:
1457
- row_timeout_ms: 60000
1458
- """,
1459
- )
1460
- assert "VDS_AUDIT_ROW_TIMEOUT_MS" in result.applied_env_keys
1461
-
1462
-
1463
- class TestDspyAutoDerivation:
1464
- """Tests for DSPy auto-derivation and coherence validation."""
1465
-
1466
- def _apply(self, tmp_path: Path, yaml_content: str) -> Any:
1467
- from vds_agent_core.profiles import apply_runtime_profile
1468
-
1469
- yaml_file = tmp_path / "profiles.yaml"
1470
- yaml_file.write_text(textwrap.dedent(yaml_content), encoding="utf-8")
1471
- saved = {k: v for k, v in os.environ.items() if k.startswith("VDS_AUDIT_")}
1472
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1473
- for k in list(saved):
1474
- if k != "VDS_AUDIT_RUNTIME_PROFILES_FILE":
1475
- os.environ.pop(k, None)
1476
- try:
1477
- return apply_runtime_profile("test-profile", force_override=True)
1478
- finally:
1479
- for k in list(os.environ.keys()):
1480
- if k.startswith("VDS_AUDIT_") and k not in saved:
1481
- os.environ.pop(k, None)
1482
- for k, v in saved.items():
1483
- os.environ[k] = v
1484
-
1485
- def test_dspy_model_auto_derived_from_llm(self, tmp_path: Path) -> None:
1486
- """DSPy model is auto-derived from LLM standard model when not explicit."""
1487
- result = self._apply(
1488
- tmp_path,
1489
- """
1490
- profiles:
1491
- test-profile:
1492
- model:
1493
- llm:
1494
- type: openai
1495
- base_url: http://localhost:4000
1496
- api_key: sk-test
1497
- standard: openai/gpt-4o
1498
- """,
1499
- )
1500
- # VDS_AUDIT_DSPY_MODEL should be auto-derived
1501
- assert "VDS_AUDIT_DSPY_MODEL" in result.applied_env_keys
1502
-
1503
- def test_dspy_coherence_incoherent_raises(self, tmp_path: Path) -> None:
1504
- """Incoherent DSPy model/protocol pairing raises ValueError."""
1505
- from vds_agent_core.profiles import apply_runtime_profile
1506
-
1507
- yaml_content = textwrap.dedent("""
1508
- profiles:
1509
- test-profile:
1510
- model:
1511
- llm:
1512
- type: openai
1513
- base_url: http://localhost:4000
1514
- api_key: sk-test
1515
- dspy:
1516
- type: anthropic
1517
- model: openai/gpt-4o
1518
- """)
1519
- yaml_file = tmp_path / "profiles.yaml"
1520
- yaml_file.write_text(yaml_content, encoding="utf-8")
1521
- with patch.dict(os.environ, {"VDS_AUDIT_RUNTIME_PROFILES_FILE": str(yaml_file)}, clear=False):
1522
- with pytest.raises(ValueError, match="incoherent"):
1523
- apply_runtime_profile("test-profile", force_override=True)
1524
-
1525
- def test_dspy_temperature_applied(self, tmp_path: Path) -> None:
1526
- """model.dspy.temperature sets DSPy temperature env var."""
1527
- result = self._apply(
1528
- tmp_path,
1529
- """
1530
- profiles:
1531
- test-profile:
1532
- model:
1533
- dspy:
1534
- type: openai
1535
- model: openai/gpt-4o
1536
- temperature: 0.5
1537
- """,
1538
- )
1539
- assert "VDS_AUDIT_DSPY_TEMPERATURE" in result.applied_env_keys
1540
-
1541
- def test_dspy_max_tokens_applied(self, tmp_path: Path) -> None:
1542
- """model.dspy.max_tokens sets DSPy max_tokens env var."""
1543
- result = self._apply(
1544
- tmp_path,
1545
- """
1546
- profiles:
1547
- test-profile:
1548
- model:
1549
- dspy:
1550
- type: openai
1551
- model: openai/gpt-4o
1552
- max_tokens: 4096
1553
- """,
1554
- )
1555
- assert "VDS_AUDIT_DSPY_MAX_TOKENS" in result.applied_env_keys
1556
-
1557
- def test_dspy_system_role_compat_applied(self, tmp_path: Path) -> None:
1558
- """model.dspy.system_role_compat sets DSPy system_role_compat env var."""
1559
- result = self._apply(
1560
- tmp_path,
1561
- """
1562
- profiles:
1563
- test-profile:
1564
- model:
1565
- dspy:
1566
- type: openai
1567
- model: openai/gpt-4o
1568
- system_role_compat: true
1569
- """,
1570
- )
1571
- assert "VDS_AUDIT_DSPY_SYSTEM_ROLE_COMPAT" in result.applied_env_keys