scitex-dev 0.35.0__tar.gz → 0.37.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1685) hide show
  1. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/ci/build-in-sif.sh +37 -0
  2. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/CHANGELOG.md +243 -0
  3. {scitex_dev-0.35.0/src/scitex_dev.egg-info → scitex_dev-0.37.0}/PKG-INFO +1 -1
  4. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/adr/0004-execution-fabric-unified-jobspec.md +13 -1
  5. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/__init__.py +57 -1
  6. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_config/__init__.py +8 -0
  7. scitex_dev-0.37.0/src/scitex_dev/_cli/audit/_config/_enforce_logging.py +166 -0
  8. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_config/_loader.py +31 -23
  9. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_django/_audit.py +36 -11
  10. scitex_dev-0.37.0/src/scitex_dev/_cli/audit/_emit.py +155 -0
  11. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_audit.py +50 -9
  12. scitex_dev-0.37.0/src/scitex_dev/_cli/audit/_project/_check_config_layout.py +458 -0
  13. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_no_print.py +114 -125
  14. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_registry.py +11 -0
  15. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_run_checks.py +9 -0
  16. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_crontab.py +66 -14
  17. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_task_harvest.py +6 -11
  18. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/list.py +32 -3
  19. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/status.py +32 -4
  20. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_list.py +139 -1
  21. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_test_remote.py +36 -8
  22. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/quality/_check.py +5 -3
  23. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/dispatch/_docs_argparse.py +7 -3
  24. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/dispatch/_skills_argparse.py +14 -8
  25. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/test_execution.py +86 -1
  26. scitex_dev-0.37.0/src/scitex_dev/_ecosystem/_enumerate.py +464 -0
  27. scitex_dev-0.37.0/src/scitex_dev/_release/entrypoint_imports.py +421 -0
  28. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/06_dot_scitex_directory.md +1 -0
  29. scitex_dev-0.37.0/src/scitex_dev/_skills/general/01_ecosystem/17_config-layout-enforcement.md +137 -0
  30. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/SKILL.md +1 -0
  31. scitex_dev-0.37.0/src/scitex_dev/_skills/general/09_quality/03_verification-doctrine.md +209 -0
  32. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/09_quality/SKILL.md +2 -1
  33. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_completion.py +6 -3
  34. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_format.py +6 -2
  35. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_health.py +13 -11
  36. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/trace_env/trace.py +6 -3
  37. {scitex_dev-0.35.0 → scitex_dev-0.37.0/src/scitex_dev.egg-info}/PKG-INFO +1 -1
  38. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/SOURCES.txt +14 -0
  39. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/scm_file_list.json +150 -136
  40. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/scm_version.json +2 -2
  41. scitex_dev-0.37.0/tests/scitex_dev/_cli/audit/_config/test__enforce_logging.py +233 -0
  42. scitex_dev-0.37.0/tests/scitex_dev/_cli/audit/_django/test__audit_summary_counts.py +333 -0
  43. scitex_dev-0.37.0/tests/scitex_dev/_cli/audit/_project/test__audit_summary_counts.py +376 -0
  44. scitex_dev-0.37.0/tests/scitex_dev/_cli/audit/_project/test__check_config_layout.py +403 -0
  45. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_no_print.py +169 -51
  46. scitex_dev-0.37.0/tests/scitex_dev/_cli/audit/_project/test__check_no_print_exit_code.py +257 -0
  47. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__registry_severity_overrides.py +20 -6
  48. scitex_dev-0.37.0/tests/scitex_dev/_cli/audit/test__emit_logger_race.py +417 -0
  49. scitex_dev-0.37.0/tests/scitex_dev/_cli/cron/test_list_status_unknown_vs_zero.py +274 -0
  50. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test___init__.py +70 -1
  51. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/dispatch/test__docs_argparse.py +37 -0
  52. scitex_dev-0.37.0/tests/scitex_dev/_core/dispatch/test__skills_argparse.py +118 -0
  53. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_test_execution.py +173 -0
  54. scitex_dev-0.37.0/tests/scitex_dev/_ecosystem/test__enumerate.py +584 -0
  55. scitex_dev-0.37.0/tests/scitex_dev/_release/test_entrypoint_imports.py +696 -0
  56. scitex_dev-0.35.0/src/scitex_dev/_cli/audit/_emit.py +0 -60
  57. scitex_dev-0.35.0/tests/scitex_dev/_cli/audit/_project/test__check_no_print_exit_code.py +0 -170
  58. scitex_dev-0.35.0/tests/scitex_dev/_core/dispatch/test__skills_argparse.py +0 -47
  59. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.env.example +0 -0
  60. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.envrc +0 -0
  61. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.gitattributes +0 -0
  62. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/ci/exec-in-sif.sh +0 -0
  63. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/ci/publish-in-sif.sh +0 -0
  64. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/ci/run-in-sif.sh +0 -0
  65. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/auto-merge-to-develop.yaml +0 -0
  66. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/cla.yml +0 -0
  67. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/import-smoke-on-ubuntu-py3-12.yml +0 -0
  68. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/newb-docs-quality-on-ubuntu-latest.yml +0 -0
  69. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/pypi-publish-and-github-release-on-tag.yml +0 -0
  70. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/pytest-matrix-on-ubuntu-py3-11-3-12-3-13.yml +0 -0
  71. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/rtd-sphinx-build-on-ubuntu-latest.yml +0 -0
  72. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.github/workflows/scitex-dev-quality-audit-on-ubuntu-latest.yml +0 -0
  73. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.gitignore +0 -0
  74. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.readthedocs.yaml +0 -0
  75. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.scitex/dev/cli-audit-dict.yaml +0 -0
  76. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/.scitex/dev/config.yaml +0 -0
  77. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/CLA.md +0 -0
  78. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/CONTRIBUTING.md +0 -0
  79. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/LICENSE +0 -0
  80. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/README.md +0 -0
  81. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/codecov.yml +0 -0
  82. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/MASTER/00_SCITEX_UPSTREAM_AND_DOWNSTREAM_RULES.md +0 -0
  83. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/MASTER/skills/01-package-architecture.md +0 -0
  84. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/MASTER/skills/02-io-cascade.md +0 -0
  85. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/MASTER/skills/03-testing-scope.md +0 -0
  86. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/MASTER/skills/04-shared-ui.md +0 -0
  87. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/MASTER/skills/SKILL.md +0 -0
  88. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/adr/0001-absorb-scitex-security-into-scitex-audit.md +0 -0
  89. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/adr/0002-reverse-absorption-direction-scitex-audit-into-scitex-security.md +0 -0
  90. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/adr/0003-ecosystem-boundary-ports-and-producers.md +0 -0
  91. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/audits/plugin-audit-2026-06-15.md +0 -0
  92. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/audits/pypi-publish-investigation-2026-06-14.md +0 -0
  93. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/ci-runner-ensure.md +0 -0
  94. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/design/execution-fabric-phase1.md +0 -0
  95. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/handoffs/2026-06-08-ci-runner-phase6.md +0 -0
  96. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/scitex-icon-navy-inverted.png +0 -0
  97. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/scitex-logo-blue-cropped.png +0 -0
  98. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/_static/.gitkeep +0 -0
  99. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/api.rst +0 -0
  100. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/cli.rst +0 -0
  101. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/conf.py +0 -0
  102. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/index.rst +0 -0
  103. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/quickstart.rst +0 -0
  104. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/requirements.txt +0 -0
  105. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/sphinx/search.rst +0 -0
  106. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/submission-gate.md +0 -0
  107. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/cld_usage_web.py +0 -0
  108. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/check_parens.sh +0 -0
  109. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/elisp-ci/README.md +0 -0
  110. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/elisp-ci/elisp-ci +0 -0
  111. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/elisp-ci/elisp-ci-simple +0 -0
  112. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/find_incorrect_require_provide_statements.sh +0 -0
  113. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/run_tests_elisp.sh +0 -0
  114. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/run_tests_elisp_v02.sh +0 -0
  115. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/elisp/sync_elisp_tdd.sh +0 -0
  116. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/claude_emacs_server.sh +0 -0
  117. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/create_github_release.sh +0 -0
  118. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/find_errors.sh +0 -0
  119. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/render_mermaid.sh +0 -0
  120. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/safe_rm.sh +0 -0
  121. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/view_repo.sh +0 -0
  122. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/general/wsl2-buzzer.sh +0 -0
  123. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/python/black_all.sh +0 -0
  124. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/python/run_tests_python_pip_package.sh +0 -0
  125. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/safe_rm.sh +0 -0
  126. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/slurm/README.md +0 -0
  127. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/slurm/login.sh +0 -0
  128. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/slurm/request.sh +0 -0
  129. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/bin/slurm/run.sh +0 -0
  130. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/README.md +0 -0
  131. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/ELISP-TEST-REPORT-20250513-012234-48-PASSED-49-TOTAL-97-PERCENT.org +0 -0
  132. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/LATEST-ELISP-REPORT.org +0 -0
  133. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/README.md +0 -0
  134. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/run_tests.sh +0 -0
  135. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-core/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-4-TOTAL-0-PERCENT.org +0 -0
  136. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-friends/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-34-TOTAL-0-PERCENT.org +0 -0
  137. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-prep/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-5-TOTAL-0-PERCENT.org +0 -0
  138. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-utils/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-4-TOTAL-0-PERCENT.org +0 -0
  139. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/.gitignore +0 -0
  140. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/README.md +0 -0
  141. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/config/MNIST.yaml +0 -0
  142. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/data/.gitkeep +0 -0
  143. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/clf_svm.py +0 -0
  144. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/download.py +0 -0
  145. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/main.sh +0 -0
  146. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_conf_mat.py +0 -0
  147. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_digits.py +0 -0
  148. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_umap_space.py +0 -0
  149. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/.github/workflows/notification.yml +0 -0
  150. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/.github/workflows/validation.yml +0 -0
  151. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/.gitignore +0 -0
  152. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/.pre-commit-config.yaml +0 -0
  153. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/LICENSE +0 -0
  154. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/Makefile +0 -0
  155. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/README.md +0 -0
  156. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/config/mcp_config.json +0 -0
  157. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/examples/cli_workflows.ipynb +0 -0
  158. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/examples/getting_started.ipynb +0 -0
  159. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/00_PROJECT_DESCRIPTION.org +0 -0
  160. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/01_ARCHITECTURE.org +0 -0
  161. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/99_BULLETIN_BOARD.org +0 -0
  162. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/ArchitectAgent.md +0 -0
  163. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/BulletinBoardOrganizerAgent.md +0 -0
  164. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/DebuggerAgent.md +0 -0
  165. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/GitHandlerAgent.md +0 -0
  166. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/SourceDeveloperAgent.md +0 -0
  167. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/TestDeveloperAgent.md +0 -0
  168. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/TestResultsReportAgent.md +0 -0
  169. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/AGENTS/TestRunnerAgent.md +0 -0
  170. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/00_PROJECT_DESCRIPTION_EXAMPLE.org +0 -0
  171. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/01_DEVELOPMENT_CYCLE.org +0 -0
  172. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/02_NAMING_CONVENSIONS.org +0 -0
  173. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/03_ARCHITECTUAL_AGREEMENT_PROCESS.org +0 -0
  174. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/03_ARCHITECTURE_EXAMPLE.org +0 -0
  175. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/04_ARCHITECTURE_PREDEFINED.org +0 -0
  176. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/05_PRIORITY_CONFIG.org +0 -0
  177. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/06_MULTIPLE_SPECIAL_AGENTS.org +0 -0
  178. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/mgmt/USER_PHILOSOPHY/99_BULLETIN_BOARD_EXAMPLE.org +0 -0
  179. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/pyproject.toml +0 -0
  180. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/__init__.py +0 -0
  181. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/__main__.py +0 -0
  182. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/cli/_GlobalArgumentParser.py +0 -0
  183. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/cli/__init__.py +0 -0
  184. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/cli/calculate.py +0 -0
  185. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/cli/info.py +0 -0
  186. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/cli/serve01.py +0 -0
  187. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/cli/serve02.py +0 -0
  188. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/core/_Calculator.py +0 -0
  189. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/core/__init__.py +0 -0
  190. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/mcp_servers/McpServer01.py +0 -0
  191. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/mcp_servers/McpServer02.py +0 -0
  192. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/types/_DataContainer.py +0 -0
  193. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/types/__init__.py +0 -0
  194. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/utils/__init__.py +0 -0
  195. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/utils/_add.py +0 -0
  196. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/src/pip_project_template/utils/_multiply.py +0 -0
  197. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/custom/test_mcp_config.py +0 -0
  198. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/custom/test_pip_install.py +0 -0
  199. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/custom/test_src_test_agreement.py +0 -0
  200. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/custom/test_status.py +0 -0
  201. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/README.md +0 -0
  202. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/SETUP.md +0 -0
  203. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/install_act.sh +0 -0
  204. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/run_ci_act_and_container.sh +0 -0
  205. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/run_ci_container.sh +0 -0
  206. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/run_ci_local.sh +0 -0
  207. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/github_actions/setup_global_cache.sh +0 -0
  208. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/cli/test__GlobalArgumentParser.py +0 -0
  209. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/cli/test___init__.py +0 -0
  210. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/cli/test_calculate.py +0 -0
  211. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/cli/test_info.py +0 -0
  212. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/cli/test_serve01.py +0 -0
  213. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/cli/test_serve02.py +0 -0
  214. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/core/test__Calculator.py +0 -0
  215. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/core/test_core_init.py +0 -0
  216. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/mcp_servers/test_McpServer01.py +0 -0
  217. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/mcp_servers/test_McpServer02.py +0 -0
  218. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/test___main__.py +0 -0
  219. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/test_package_init.py +0 -0
  220. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/types/test__DataContainer.py +0 -0
  221. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/types/test_types_init.py +0 -0
  222. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/utils/test__add.py +0 -0
  223. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/utils/test__multiply.py +0 -0
  224. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/pip_project_template/utils/test_utils_init.py +0 -0
  225. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/reports/ci_container_report.json +0 -0
  226. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/reports/setup_symlinks.sh +0 -0
  227. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/examples/pip-project-template/tests/reports/test_report.json +0 -0
  228. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/README.md +0 -0
  229. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/01_DEVELOPMENT_CYCLE.md +0 -0
  230. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/02_NAMING_CONVENSIONS.md +0 -0
  231. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/03_ARCHITECTUAL_AGREEMENT_PROCESS.md +0 -0
  232. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/04_ARCHITECTURE_PREDEFINED.md +0 -0
  233. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/05_PRIORITY_CONFIG.md +0 -0
  234. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/06_MULTIPLE_SPECIAL_AGENTS.md +0 -0
  235. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/USER_PHILOSOPHY/07_DEBUGGING_TECHNIQUES.md +0 -0
  236. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/command/IMPORTANT-rm.md +0 -0
  237. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/command/IMPORTANT-tree.md +0 -0
  238. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-01-basic.md +0 -0
  239. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-02-project-structure.md +0 -0
  240. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-03-file-template.md +0 -0
  241. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-04-coding-style.md +0 -0
  242. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-05-testing-guide.md +0 -0
  243. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-99-example-project.md +0 -0
  244. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/ci.md +0 -0
  245. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/elisp/testing-with-docker.md +0 -0
  246. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/examples/mgmt/ARCHITECTURE_EXAMPLE.md +0 -0
  247. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/examples/mgmt/BULLETIN_BOARD_EXAMPLE.md +0 -0
  248. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/examples/mgmt/PROJECT_DESCRIPTION_EXAMPLE.md +0 -0
  249. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/EXAMPLE-README-MODULE-ROOT.md +0 -0
  250. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/EXAMPLE-README-REPOSITORY-ROOT.md +0 -0
  251. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-art-of-readable-code.md +0 -0
  252. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-art-of-testing.md +0 -0
  253. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-cleanliness.md +0 -0
  254. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-documentation-performance-claims.md +0 -0
  255. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-general.md +0 -0
  256. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-refactoring.md +0 -0
  257. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-regression-prevention.md +0 -0
  258. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-slurm.md +0 -0
  259. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-start-from-small.md +0 -0
  260. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-test-driven-workflow.md +0 -0
  261. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/IMPORTANT-version-control.md +0 -0
  262. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/clean-code.md +0 -0
  263. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/debugging-message.md +0 -0
  264. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/do-not-repeat-yourself.md +0 -0
  265. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/emacs-server.md +0 -0
  266. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/keep-it-simple-stupid.md +0 -0
  267. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/renaming-and-cleaning-workflow.md +0 -0
  268. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/programming_common/screen.md +0 -0
  269. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-CLAUDE_ID.md +0 -0
  270. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-beyond-control.md +0 -0
  271. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-bug-report.md +0 -0
  272. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-cleanliness.md +0 -0
  273. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-communication.md +0 -0
  274. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-do-not-create-any-new-file-nor-directory-in-project-root.md +0 -0
  275. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-documentation.md +0 -0
  276. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-feature-request.md +0 -0
  277. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-general-multi-agent-coordination.md +0 -0
  278. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-multi-agent-protocol.md +0 -0
  279. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-project-management-bulletin-board.md +0 -0
  280. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-project-management-markdown.md +0 -0
  281. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-project-management-org.org +0 -0
  282. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-tools.md +0 -0
  283. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/IMPORTANT-understand-message-in-filename.md +0 -0
  284. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/general.md +0 -0
  285. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/report.md +0 -0
  286. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/project/timeline-gantt-chart.md +0 -0
  287. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/CHECKLIST.md +0 -0
  288. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/HOW-TO-DEBUG-with-MULTIPLE_AGENTS.md +0 -0
  289. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/Machine-Learning.md +0 -0
  290. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/NOT-FULL-PYTEST-BUT-PARTIAL-PYTEST.md +0 -0
  291. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/django.md +0 -0
  292. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/env.md +0 -0
  293. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/general.md +0 -0
  294. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/official/cipdb-README.md +0 -0
  295. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/official/fastmcp-README.md +0 -0
  296. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/official/fastmcp-TESTING.md +0 -0
  297. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/official/icecream-README.md +0 -0
  298. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/official/priority_config-README.md +0 -0
  299. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/01-basic.md +0 -0
  300. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/02-file-template.md +0 -0
  301. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/03-configuration.md +0 -0
  302. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/04-coding-style.md +0 -0
  303. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/05-testing-guide.md +0 -0
  304. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/06-examples-guide.md +0 -0
  305. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/11-gen-module.md +0 -0
  306. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/11-session-module.md +0 -0
  307. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/12-io-module.md +0 -0
  308. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/13-plt-module.md +0 -0
  309. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/14-dsp-module.md +0 -0
  310. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/15-pd-module.md +0 -0
  311. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/16-stats-module.md +0 -0
  312. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/17-other-modules.md +0 -0
  313. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/17-str-module.md +0 -0
  314. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/18-directory-structure-for-scientific-work.md +0 -0
  315. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/19-directory-structure-for-pip-package.md +0 -0
  316. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/scitex/99-example-project.md +0 -0
  317. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/python/zen_of_python.md +0 -0
  318. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/IMPORTANT-general.md +0 -0
  319. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/IMPORTANT-scientific-attitude.md +0 -0
  320. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/scientific-writing-abstract.md +0 -0
  321. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/scientific-writing-discussion.md +0 -0
  322. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/scientific-writing-general-1.md +0 -0
  323. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/scientific-writing-general-2.md +0 -0
  324. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/scientific-writing-introduction.md +0 -0
  325. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/science/scientific-writing-methods.md +0 -0
  326. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/guidelines/shell/IMPORTANT-general.md +0 -0
  327. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/.gitignore +0 -0
  328. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/HOOK_SWITCH_README.md +0 -0
  329. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/README.md +0 -0
  330. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/hook_switch_helper.sh +0 -0
  331. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/notification/notify_email.sh +0 -0
  332. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/notification/notify_voice.sh +0 -0
  333. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/post-tool-use/auto_compact.sh +0 -0
  334. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/post-tool-use/ensure_executable.sh +0 -0
  335. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/post-tool-use/format_code.sh +0 -0
  336. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/post-tool-use/format_code_prettier.sh +0 -0
  337. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/post-tool-use/run_lint.sh +0 -0
  338. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/post-tool-use/run_tests.sh +0 -0
  339. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/deny_direct_scitex_skills_update.sh +0 -0
  340. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/deny_inline_script_in_html.sh +0 -0
  341. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/deny_inline_style_in_html.sh +0 -0
  342. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/enforce_delegation.sh +0 -0
  343. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/enforce_force_flag.sh +0 -0
  344. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/enforce_git_dash_C.sh +0 -0
  345. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/enforce_pytest_fullpath.sh +0 -0
  346. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/inhibit_project_root_pollution.sh +0 -0
  347. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/limit_line_numbers.sh +0 -0
  348. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/log_pre_tool_use.sh +0 -0
  349. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/pipe-stage-permissions.sh +0 -0
  350. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/pre-tool-use/warn_orchestrator_delegation.sh +0 -0
  351. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/project-switch/hook_switch_helper.sh +0 -0
  352. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/project-switch/project-root-pollution-criteria-example.yaml +0 -0
  353. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/project-switch/switch-example.yaml +0 -0
  354. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/session-start/hello_world.sh +0 -0
  355. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/settings.json.example +0 -0
  356. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/stop/ON_STOP.md +0 -0
  357. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/hooks/stop/check_local_rules.sh +0 -0
  358. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/SKILL.md +0 -0
  359. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/.playwright-cli/page-2026-03-18T00-06-06-843Z.yml +0 -0
  360. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/.playwright-cli/page-2026-03-18T00-11-50-735Z.yml +0 -0
  361. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/SKILL.md +0 -0
  362. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/request-mocking.md +0 -0
  363. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/running-code.md +0 -0
  364. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/session-management.md +0 -0
  365. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/storage-state.md +0 -0
  366. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/test-generation.md +0 -0
  367. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/tracing.md +0 -0
  368. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/playwright-cli/references/video-recording.md +0 -0
  369. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/LICENSE.txt +0 -0
  370. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/SKILL.md +0 -0
  371. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/editing.md +0 -0
  372. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/pptxgenjs.md +0 -0
  373. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/__init__.py +0 -0
  374. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/add_slide.py +0 -0
  375. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/clean.py +0 -0
  376. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  377. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/helpers/merge_runs.py +0 -0
  378. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -0
  379. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/pack.py +0 -0
  380. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  381. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  382. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  383. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  384. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  385. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  386. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  387. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  388. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  389. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  390. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  391. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  392. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  393. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  394. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  395. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  396. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  397. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  398. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  399. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  400. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  401. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  402. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  403. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  404. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  405. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  406. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  407. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  408. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  409. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  410. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  411. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -0
  412. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  413. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  414. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  415. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  416. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  417. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  418. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  419. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/soffice.py +0 -0
  420. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/unpack.py +0 -0
  421. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/validate.py +0 -0
  422. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/validators/__init__.py +0 -0
  423. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/validators/base.py +0 -0
  424. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/validators/docx.py +0 -0
  425. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/validators/pptx.py +0 -0
  426. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/office/validators/redlining.py +0 -0
  427. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/pptx/scripts/thumbnail.py +0 -0
  428. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/LICENSE.txt +0 -0
  429. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/SKILL.md +0 -0
  430. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/agents/analyzer.md +0 -0
  431. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/agents/comparator.md +0 -0
  432. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/agents/grader.md +0 -0
  433. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/assets/eval_review.html +0 -0
  434. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/eval-viewer/generate_review.py +0 -0
  435. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/eval-viewer/viewer.html +0 -0
  436. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/references/schemas.md +0 -0
  437. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/__init__.py +0 -0
  438. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/aggregate_benchmark.py +0 -0
  439. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/generate_report.py +0 -0
  440. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/improve_description.py +0 -0
  441. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/package_skill.py +0 -0
  442. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/quick_validate.py +0 -0
  443. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/run_eval.py +0 -0
  444. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/run_loop.py +0 -0
  445. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/skill-creator/scripts/utils.py +0 -0
  446. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/LICENSE.txt +0 -0
  447. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/SKILL.md +0 -0
  448. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  449. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/helpers/merge_runs.py +0 -0
  450. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -0
  451. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/pack.py +0 -0
  452. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  453. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  454. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  455. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  456. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  457. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  458. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  459. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  460. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  461. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  462. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  463. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  464. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  465. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  466. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  467. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  468. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  469. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  470. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  471. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  472. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  473. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  474. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  475. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  476. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  477. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  478. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  479. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  480. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  481. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  482. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  483. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -0
  484. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  485. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  486. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  487. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  488. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  489. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  490. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  491. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/soffice.py +0 -0
  492. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/unpack.py +0 -0
  493. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/validate.py +0 -0
  494. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/validators/__init__.py +0 -0
  495. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/validators/base.py +0 -0
  496. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/validators/docx.py +0 -0
  497. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/validators/pptx.py +0 -0
  498. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/office/validators/redlining.py +0 -0
  499. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/docs/to_claude/skills/xlsx/scripts/recalc.py +0 -0
  500. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/00_run_all.sh +0 -0
  501. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search.py +0 -0
  502. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/FINISHED_ERROR/2026Y-05M-01D-10h29m24s_P0Pq-main/CONFIGS/CONFIG.pkl +0 -0
  503. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/FINISHED_ERROR/2026Y-05M-01D-10h29m24s_P0Pq-main/CONFIGS/CONFIG.yaml +0 -0
  504. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/FINISHED_ERROR/2026Y-05M-01D-10h30m20s_C1l4-main/CONFIGS/CONFIG.pkl +0 -0
  505. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/FINISHED_ERROR/2026Y-05M-01D-10h30m20s_C1l4-main/CONFIGS/CONFIG.yaml +0 -0
  506. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/FINISHED_SUCCESS/2026Y-05M-08D-14h39m44s_W8kW-main/api_search_results.json +0 -0
  507. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/FINISHED_SUCCESS/2026Y-05M-08D-14h39m44s_W8kW-main/search_results.json +0 -0
  508. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/01_unified_search_out/search_results.json +0 -0
  509. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/02_version_management.py +0 -0
  510. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/02_version_management_out/FINISHED_SUCCESS/2026Y-05M-08D-14h40m31s_WywJ-main/mismatches.json +0 -0
  511. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/02_version_management_out/FINISHED_SUCCESS/2026Y-05M-08D-14h40m31s_WywJ-main/versions.json +0 -0
  512. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/02_version_management_out/mismatches.json +0 -0
  513. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/02_version_management_out/versions.json +0 -0
  514. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/03_docs_aggregation.py +0 -0
  515. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/03_docs_aggregation_out/FINISHED_SUCCESS/2026Y-05M-08D-14h41m13s_FBgH-main/docs_overview.json +0 -0
  516. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/03_docs_aggregation_out/FINISHED_SUCCESS/2026Y-05M-08D-14h41m13s_FBgH-main/search_hits.json +0 -0
  517. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/03_docs_aggregation_out/docs_overview.json +0 -0
  518. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/03_docs_aggregation_out/docs_search.json +0 -0
  519. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/examples/README.md +0 -0
  520. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/pyproject.toml +0 -0
  521. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/_commit-msg-no-claude-trailer.sh +0 -0
  522. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/_dev-scripts/analyze_code_flow.py +0 -0
  523. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/ci-runner-prototype/ci-runner.yaml.example +0 -0
  524. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/ci-runner-prototype/ci.yml.template +0 -0
  525. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/ci-runner-prototype/ci_lease_renew.py +0 -0
  526. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/ci-runner-prototype/launcher.sh +0 -0
  527. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/ci-runner-prototype/ssh_launch.sh +0 -0
  528. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/install-commit-hooks.sh +0 -0
  529. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/plt-mpl/get_dir_ax.py +0 -0
  530. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/plt-mpl/get_signatures.py +0 -0
  531. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/plt-mpl/get_signatures_details.py +0 -0
  532. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/README.md +0 -0
  533. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/__init__.py +0 -0
  534. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/audit_doc_examples.py +0 -0
  535. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/audit_ecosystem.py +0 -0
  536. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/audit_license.py +0 -0
  537. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/audit_line_limits.py +0 -0
  538. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/audit_test_scope.py +0 -0
  539. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/ecosystem_list.py +0 -0
  540. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/fix_license.py +0 -0
  541. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/scripts/quality/line_limits_allowlist.txt +0 -0
  542. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/setup.cfg +0 -0
  543. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/__init__.py +0 -0
  544. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/__main__.py +0 -0
  545. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_audit_disclaimer.py +0 -0
  546. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_branding/__init__.py +0 -0
  547. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_branding/_audit.py +0 -0
  548. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_branding/_helpers.py +0 -0
  549. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_branding/registry.yaml +0 -0
  550. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_completion.py +0 -0
  551. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_doctor.py +0 -0
  552. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_hooks_cli/__init__.py +0 -0
  553. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_hooks_cli/_inspect.py +0 -0
  554. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_hooks_cli/_install.py +0 -0
  555. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_hooks_cli/_pre_push.py +0 -0
  556. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_hooks_cli/_registry.py +0 -0
  557. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_hosts.py +0 -0
  558. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_icons.py +0 -0
  559. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_integrations.py +0 -0
  560. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_knob_commands.py +0 -0
  561. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_list_apis.py +0 -0
  562. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_mcp_cmds.py +0 -0
  563. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_registry_normalize.py +0 -0
  564. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_rename.py +0 -0
  565. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_root.py +0 -0
  566. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_root_help.py +0 -0
  567. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_stats.py +0 -0
  568. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_trace_env.py +0 -0
  569. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/_utils.py +0 -0
  570. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/__init__.py +0 -0
  571. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/__init__.py +0 -0
  572. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_audit.py +0 -0
  573. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/__init__.py +0 -0
  574. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_discovery.py +0 -0
  575. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_init_surface.py +0 -0
  576. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_model.py +0 -0
  577. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_no_mocks.py +0 -0
  578. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_playwright.py +0 -0
  579. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_test_quality.py +0 -0
  580. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/_checks/_umbrella.py +0 -0
  581. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_api/test_config_skip.py +0 -0
  582. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_cache.py +0 -0
  583. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_config/_skip_rules.py +0 -0
  584. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_diff.py +0 -0
  585. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_django/__init__.py +0 -0
  586. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_django/_checks.py +0 -0
  587. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_fd.py +0 -0
  588. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/__init__.py +0 -0
  589. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_adr.py +0 -0
  590. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_audit_pin.py +0 -0
  591. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_clew_claims.py +0 -0
  592. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_console_script_core_deps.py +0 -0
  593. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_dev_extras_complete.py +0 -0
  594. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_doctor_health_naming.py +0 -0
  595. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_ecosystem_boundary.py +0 -0
  596. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_empty_extras.py +0 -0
  597. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_env_example.py +0 -0
  598. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_examples.py +0 -0
  599. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_extras_all_closure.py +0 -0
  600. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_flat_layout.py +0 -0
  601. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_hard_dep_overreach.py +0 -0
  602. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_hosted_runners.py +0 -0
  603. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_install_remedy_strings.py +0 -0
  604. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_license.py +0 -0
  605. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_local_state.py +0 -0
  606. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_no_url_deps.py +0 -0
  607. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_optional_deps_guarded.py +0 -0
  608. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_orphan_hint.py +0 -0
  609. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_path_resolver.py +0 -0
  610. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_path_yaml.py +0 -0
  611. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_precommit_hooks.py +0 -0
  612. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_readme_badge_labels.py +0 -0
  613. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_readme_badge_layout.py +0 -0
  614. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_readme_badge_position.py +0 -0
  615. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_readme_badges.py +0 -0
  616. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_readme_sections.py +0 -0
  617. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_readme_structure.py +0 -0
  618. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_registry_layout.py +0 -0
  619. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_research_mirror.py +0 -0
  620. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_runtime_separation.py +0 -0
  621. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_secret_env_prefix.py +0 -0
  622. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_skills_federation.py +0 -0
  623. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_smoke_e2e_layers.py +0 -0
  624. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_sphinx_html.py +0 -0
  625. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_umbrella_dep_and_integration.py +0 -0
  626. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_version_flag.py +0 -0
  627. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_workflow_presence.py +0 -0
  628. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_check_workflows_naming.py +0 -0
  629. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_checks.py +0 -0
  630. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_constants.py +0 -0
  631. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_discovery.py +0 -0
  632. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_extra_rules.py +0 -0
  633. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_new_vs_baseline.py +0 -0
  634. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_print_discriminator.py +0 -0
  635. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_readme_structure_badges.py +0 -0
  636. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_readme_structure_captions.py +0 -0
  637. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_readme_structure_content.py +0 -0
  638. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_readme_structure_sections.py +0 -0
  639. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_readme_structure_shared.py +0 -0
  640. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_resolved_tree.py +0 -0
  641. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_root_whitelist.py +0 -0
  642. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_project/_violation.py +0 -0
  643. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/__init__.py +0 -0
  644. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/_audit.py +0 -0
  645. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/_audit_v2.py +0 -0
  646. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/_checks.py +0 -0
  647. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/_discovery.py +0 -0
  648. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/_registry.py +0 -0
  649. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_skills/_violation.py +0 -0
  650. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/__init__.py +0 -0
  651. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_audit.py +0 -0
  652. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_baseline.py +0 -0
  653. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_behavioral.py +0 -0
  654. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_dev_group.py +0 -0
  655. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_env_allowlist.py +0 -0
  656. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_gui_group.py +0 -0
  657. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_mcp_audit.py +0 -0
  658. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_mcp_bridge.py +0 -0
  659. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_mcp_names.py +0 -0
  660. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_mcp_parity.py +0 -0
  661. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_mcp_repo_root.py +0 -0
  662. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_mcp_tool_naming.py +0 -0
  663. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_run.py +0 -0
  664. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/_std_rules.py +0 -0
  665. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_summary/data/mobypos.txt.gz +0 -0
  666. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_target_tree.py +0 -0
  667. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_umbrella_pins.py +0 -0
  668. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/audit/_version_check.py +0 -0
  669. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/creds/__init__.py +0 -0
  670. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/creds/_cmd.py +0 -0
  671. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/__init__.py +0 -0
  672. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_ci_watch.py +0 -0
  673. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_cmd.py +0 -0
  674. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_cred_distribute.py +0 -0
  675. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_job_commands.py +0 -0
  676. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_jobs.py +0 -0
  677. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_quota_keepalive.py +0 -0
  678. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_spartan_conn_monitor.py +0 -0
  679. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/_worktree_gc.py +0 -0
  680. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/install.py +0 -0
  681. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/remove.py +0 -0
  682. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/cron/run.py +0 -0
  683. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/__init__.py +0 -0
  684. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_audit_brand_cmd.py +0 -0
  685. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_bulk.py +0 -0
  686. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_categories.py +0 -0
  687. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/__init__.py +0 -0
  688. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_all.py +0 -0
  689. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_local_state.py +0 -0
  690. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_masking.py +0 -0
  691. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/__init__.py +0 -0
  692. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_cli_cmd.py +0 -0
  693. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_django_cmd.py +0 -0
  694. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_init_config_cmd.py +0 -0
  695. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_mcp_tools_cmd.py +0 -0
  696. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_project_cmd.py +0 -0
  697. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_python_apis_cmd.py +0 -0
  698. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/_skills_cmd.py +0 -0
  699. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_registry_layout.py +0 -0
  700. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_audit_summary.py +0 -0
  701. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_branch_protection/__init__.py +0 -0
  702. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_branch_protection/_helpers.py +0 -0
  703. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_branch_protection/_unset_cmd.py +0 -0
  704. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_branch_protection/_update_cmd.py +0 -0
  705. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_ci_template.py +0 -0
  706. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_clean.py +0 -0
  707. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_drift_report.py +0 -0
  708. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_git.py +0 -0
  709. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_gui.py +0 -0
  710. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_install_gate.py +0 -0
  711. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_jobs_cron.py +0 -0
  712. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_jobs_systemd.py +0 -0
  713. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_pr.py +0 -0
  714. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_prune_merged.py +0 -0
  715. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_regen_umbrella.py +0 -0
  716. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_run.py +0 -0
  717. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_status.py +0 -0
  718. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_sync.py +0 -0
  719. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_sync_helpers.py +0 -0
  720. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_sync_status.py +0 -0
  721. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_system_deps.py +0 -0
  722. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_up.py +0 -0
  723. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_up_supervisor_unit.py +0 -0
  724. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_up_timer_lowering.py +0 -0
  725. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_cmds/_versions.py +0 -0
  726. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_dashboard/__init__.py +0 -0
  727. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_dashboard/_coverage_cache.py +0 -0
  728. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_dashboard/_export.py +0 -0
  729. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_dashboard/_render.py +0 -0
  730. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_dashboard/_state.py +0 -0
  731. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_dashboard/_tui.py +0 -0
  732. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/ecosystem/_registry.py +0 -0
  733. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gate/__init__.py +0 -0
  734. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gate/_cmd.py +0 -0
  735. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/__init__.py +0 -0
  736. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/_aliases.py +0 -0
  737. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/_export.py +0 -0
  738. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/_lifecycle.py +0 -0
  739. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/_list.py +0 -0
  740. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/_shared.py +0 -0
  741. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/gui/_terminal.py +0 -0
  742. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/quality/__init__.py +0 -0
  743. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/quality/_frontmatter.py +0 -0
  744. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/service/__init__.py +0 -0
  745. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/service/_cmd.py +0 -0
  746. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/__init__.py +0 -0
  747. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/__init__.py +0 -0
  748. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_expand_tags_cmd.py +0 -0
  749. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_explain_self_cmd.py +0 -0
  750. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_get_cmd.py +0 -0
  751. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_helpers.py +0 -0
  752. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_init_cmd.py +0 -0
  753. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_install_cmd.py +0 -0
  754. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_knob_cmd.py +0 -0
  755. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_manage/_list_cmd.py +0 -0
  756. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_self_explain.py +0 -0
  757. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_cli/skills/_tags.py +0 -0
  758. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_commands/general/check-quality.md +0 -0
  759. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_commands/general/fix-quality.md +0 -0
  760. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/__init__.py +0 -0
  761. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/_default_config.py +0 -0
  762. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/_knobs.py +0 -0
  763. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/_test_execution_plugin.py +0 -0
  764. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/audit_argparse_adapter.py +0 -0
  765. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/builder.py +0 -0
  766. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/cli_utils.py +0 -0
  767. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/config.py +0 -0
  768. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/decorators.py +0 -0
  769. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/decorators_out/deep/data.npy +0 -0
  770. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/decorators_out/lib.npy +0 -0
  771. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/decorators_out/rt.npy +0 -0
  772. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/decorators_out/scriptcase.npy +0 -0
  773. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/decorators_out/sym.npy +0 -0
  774. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/discovery.py +0 -0
  775. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/dispatch/__init__.py +0 -0
  776. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/dispatch/_docs_click.py +0 -0
  777. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/dispatch/_skills_click.py +0 -0
  778. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/dist_info.py +0 -0
  779. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/errors.py +0 -0
  780. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/imports.py +0 -0
  781. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/introspect.py +0 -0
  782. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/manifest.py +0 -0
  783. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/side_effects.py +0 -0
  784. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_core/types.py +0 -0
  785. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_creds/__init__.py +0 -0
  786. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_creds/_cron.py +0 -0
  787. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_creds/_rotate.py +0 -0
  788. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_docs/__init__.py +0 -0
  789. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_docs/docs.py +0 -0
  790. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_docs/search.py +0 -0
  791. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/__init__.py +0 -0
  792. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_core.py +0 -0
  793. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/__init__.py +0 -0
  794. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/_build.py +0 -0
  795. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/_collect.py +0 -0
  796. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/_model.py +0 -0
  797. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/_package_watch.py +0 -0
  798. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/_sac.py +0 -0
  799. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_drift_report/_untrustworthy_installs.py +0 -0
  800. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_git_ops.py +0 -0
  801. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_graph.py +0 -0
  802. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_mcp/__init__.py +0 -0
  803. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_mcp/_compat.py +0 -0
  804. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_mcp/_core.py +0 -0
  805. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_mcp/_utils.py +0 -0
  806. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_packages.py +0 -0
  807. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_registry.py +0 -0
  808. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_registry_data_1.py +0 -0
  809. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_registry_data_2.py +0 -0
  810. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_release/__init__.py +0 -0
  811. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_release/pyproject_lint.py +0 -0
  812. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_release_gate.py +0 -0
  813. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/__init__.py +0 -0
  814. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/_frontmatter.py +0 -0
  815. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/_scaffold.py +0 -0
  816. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills.py +0 -0
  817. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_audit_core.py +0 -0
  818. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_categories.py +0 -0
  819. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_drift.py +0 -0
  820. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_pypi.py +0 -0
  821. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_quality.py +0 -0
  822. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_quality_pytest.py +0 -0
  823. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_skills/skills_verify.py +0 -0
  824. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_umbrella.py +0 -0
  825. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/_umbrella_write.py +0 -0
  826. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/ci_template/__init__.py +0 -0
  827. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/ci_template/_apply.py +0 -0
  828. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/ci_template/templates/ci.yml.tmpl +0 -0
  829. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/click_compat.py +0 -0
  830. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/click_helpers.py +0 -0
  831. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/gui_registry.py +0 -0
  832. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/help_spec.py +0 -0
  833. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem/pr_expire.py +0 -0
  834. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem_jobs/__init__.py +0 -0
  835. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem_jobs/_deploy_freshness.py +0 -0
  836. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_ecosystem_jobs/_provider.py +0 -0
  837. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_hooks/__init__.py +0 -0
  838. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_hooks/pre-push.sh +0 -0
  839. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_hooks/run_lint.sh +0 -0
  840. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_hooks/run_testmon.sh +0 -0
  841. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_hooks/run_testmon_cli.py +0 -0
  842. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_icons/__init__.py +0 -0
  843. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_icons/_colors.py +0 -0
  844. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_icons/_label.py +0 -0
  845. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_icons/_png.py +0 -0
  846. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_icons/_svg.py +0 -0
  847. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_mcp/__init__.py +0 -0
  848. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_mcp/_server.py +0 -0
  849. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/__init__.py +0 -0
  850. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/_install_probe.py +0 -0
  851. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/check_editable_drift.py +0 -0
  852. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/ci.py +0 -0
  853. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/deploy.py +0 -0
  854. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/fix.py +0 -0
  855. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/github.py +0 -0
  856. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/publisher.py +0 -0
  857. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/pypi_package_data.py +0 -0
  858. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/rtd.py +0 -0
  859. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/rtd_onboard.py +0 -0
  860. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/version_fixer.py +0 -0
  861. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_release/versions.py +0 -0
  862. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_reload.py +0 -0
  863. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/01_upstream-and-downstream.md +0 -0
  864. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/02_dependency-and-version-pinning.md +0 -0
  865. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/03_modules-and-standalone-packages.md +0 -0
  866. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/04_environment-variables.md +0 -0
  867. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/05_re-export.md +0 -0
  868. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/07_license-and-cla.md +0 -0
  869. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/08_linter-plugins.md +0 -0
  870. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/09_package-categories.md +0 -0
  871. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/10_research-project-type.md +0 -0
  872. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/11_model-serving-vs-consumption.md +0 -0
  873. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/12_local-state-resolution.md +0 -0
  874. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/13_runtime-state-db-layout.md +0 -0
  875. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/14_credential-rotation-two-tier.md +0 -0
  876. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/15_credential-rotation-spartan-pull.md +0 -0
  877. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/01_ecosystem/16_boundary-ports-and-producers.md +0 -0
  878. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/01_project-structure-root.md +0 -0
  879. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/02_project-structure-src.md +0 -0
  880. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/03_project-structure-scripts.md +0 -0
  881. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/04_project-structure-makefile.md +0 -0
  882. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/05_project-structure-examples.md +0 -0
  883. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/06_project-structure-tests.md +0 -0
  884. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/07_github-actions.md +0 -0
  885. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/07b_workflow-presence.md +0 -0
  886. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/08_quality.md +0 -0
  887. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/09_browser-automation-debugging.md +0 -0
  888. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/10_dev-venv-isolation.md +0 -0
  889. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/11_ci-and-codecov.md +0 -0
  890. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/12_no-mocks.md +0 -0
  891. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/12_workflows-naming.md +0 -0
  892. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/13_test-quality.md +0 -0
  893. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/14_workflow-secret-env-prefix.md +0 -0
  894. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/15_cron-management.md +0 -0
  895. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/02_package/SKILL.md +0 -0
  896. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/00_overview.md +0 -0
  897. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/01_overview.md +0 -0
  898. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/02_naming-and-visibility.md +0 -0
  899. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/03_version-strategy.md +0 -0
  900. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/04_lazy-imports-and-optional-deps.md +0 -0
  901. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/05_docstring-standards.md +0 -0
  902. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/06_type-hints.md +0 -0
  903. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/07_decorators-post-import.md +0 -0
  904. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/08_submodule-exposure.md +0 -0
  905. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/09_error-handling.md +0 -0
  906. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/10_introspection-commands.md +0 -0
  907. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/11_import-conventions.md +0 -0
  908. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/12_audit-checklist.md +0 -0
  909. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/13_imports-and-shadowing.md +0 -0
  910. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/14_numeric-literals.md +0 -0
  911. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/SKILL.md +0 -0
  912. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/01_python-api/TODO.md +0 -0
  913. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/01_overview.md +0 -0
  914. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/02_subcommand-structure-noun-verb.md +0 -0
  915. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/03_required-introspection-commands.md +0 -0
  916. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/04_exceptions.md +0 -0
  917. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/05_pass-through.md +0 -0
  918. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/05a_umbrella-passthrough.md +0 -0
  919. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/06_noun-verb-catalog.md +0 -0
  920. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/07_audit-cli.md +0 -0
  921. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/08_universal-flags.md +0 -0
  922. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/09_exit-codes.md +0 -0
  923. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/10_help-format.md +0 -0
  924. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/10a_command-categories.md +0 -0
  925. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/11_deprecation.md +0 -0
  926. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/12_config-and-env.md +0 -0
  927. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/13_mcp-parity.md +0 -0
  928. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/14_stdout-stderr.md +0 -0
  929. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/15_audit-checklist.md +0 -0
  930. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/16_example.md +0 -0
  931. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/17_option-positional-ordering.md +0 -0
  932. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/18_dev-subgroup-and-ecosystem-placement.md +0 -0
  933. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/19_gui-commands.md +0 -0
  934. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/20_dev-commands.md +0 -0
  935. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/SKILL.md +0 -0
  936. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/02_cli/TODO.md +0 -0
  937. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/01_overview.md +0 -0
  938. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/02_server-registration.md +0 -0
  939. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/03_tool-naming.md +0 -0
  940. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/04_required-subcommands.md +0 -0
  941. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/05_list-tools-ladder.md +0 -0
  942. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/06_skills-integration.md +0 -0
  943. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/07_python-api-parity.md +0 -0
  944. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/08_audit-mcp-tools.md +0 -0
  945. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/09_lessons-and-pitfalls.md +0 -0
  946. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/10_audit-checklist.md +0 -0
  947. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/SKILL.md +0 -0
  948. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/03_mcp/TODO.md +0 -0
  949. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/01_overview.md +0 -0
  950. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/02_directory-layout.md +0 -0
  951. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/03_skill-md-as-index.md +0 -0
  952. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/04_numbered-prefix-convention.md +0 -0
  953. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/05_frontmatter-metadata.md +0 -0
  954. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/06_public-vs-private.md +0 -0
  955. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/07_registration.md +0 -0
  956. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/08_editable-installation.md +0 -0
  957. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/09_export-commands.md +0 -0
  958. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/10_how-to-update.md +0 -0
  959. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/11_troubleshooting.md +0 -0
  960. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/12_quality-checklist.md +0 -0
  961. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/13_standard-template.md +0 -0
  962. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/14_general-skills-inheritance.md +0 -0
  963. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/SKILL.md +0 -0
  964. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/04_skills/TODO.md +0 -0
  965. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/01_overview.md +0 -0
  966. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/02_framework-choice.md +0 -0
  967. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/03_endpoint-conventions.md +0 -0
  968. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/04_error-envelope.md +0 -0
  969. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/05_health-and-ops.md +0 -0
  970. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/06_auth.md +0 -0
  971. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/07_cli-integration.md +0 -0
  972. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/08_a2a-pattern.md +0 -0
  973. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/09_audit-checklist.md +0 -0
  974. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/SKILL.md +0 -0
  975. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/05_http-api/TODO.md +0 -0
  976. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/06_choosing-the-surface.md +0 -0
  977. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/03_interface/SKILL.md +0 -0
  978. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/01_readme.md +0 -0
  979. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/01_readme_template.md +0 -0
  980. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/02_sphinx.md +0 -0
  981. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/03_env-vars-and-state.md +0 -0
  982. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/03_rtd.md +0 -0
  983. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/04_robust-ci.md +0 -0
  984. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/05_adr.md +0 -0
  985. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/04_docs/SKILL.md +0 -0
  986. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/01_version-control.md +0 -0
  987. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/02_periodic-audits.md +0 -0
  988. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/03_release-automation.md +0 -0
  989. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/04_skills-self-explain.md +0 -0
  990. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/05_doc-surfaces.md +0 -0
  991. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/06_subprocess-coverage.md +0 -0
  992. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/07_demo-smoke-tests.md +0 -0
  993. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/08_coverage-push-playbook.md +0 -0
  994. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/09_ecosystem-tq-migration.md +0 -0
  995. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/10_package-maintenance-prompt.md +0 -0
  996. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/11_dependency-tiers.md +0 -0
  997. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/12_ci-feedback-decoupled-pollers.md +0 -0
  998. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/13_version-drift-management.md +0 -0
  999. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/14_release-and-pin-doctrine.md +0 -0
  1000. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/15_pre-commit-policy.md +0 -0
  1001. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/05_development/SKILL.md +0 -0
  1002. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/09_quality/00_crash-early-crash-loud.md +0 -0
  1003. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/09_quality/01_failure-playbook.md +0 -0
  1004. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/09_quality/02_checklist.md +0 -0
  1005. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/40_playground.md +0 -0
  1006. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/general/SKILL.md +0 -0
  1007. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/00_planning_01_hypotheses-agreement.md +0 -0
  1008. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/00_planning_02_paper-structure.md +0 -0
  1009. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/01_figures_01_standards.md +0 -0
  1010. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/01_figures_02_provenance-and-verification.md +0 -0
  1011. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/01_figures_03_no-synthetic-data-policy.md +0 -0
  1012. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_01_project-structure-root.md +0 -0
  1013. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_02_project-structure-scripts.md +0 -0
  1014. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_03_project-structure-config-and-data.md +0 -0
  1015. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_04_project-structure-makefile.md +0 -0
  1016. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_05_project-structure-examples.md +0 -0
  1017. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_06_project-structure-tests.md +0 -0
  1018. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_07_config-and-parameters.md +0 -0
  1019. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_08_cohort-datasets.md +0 -0
  1020. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_09_id-readability-and-data-immutability.md +0 -0
  1021. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/02_research-project_10_naming-and-numbering.md +0 -0
  1022. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/03_reporting_01_pdf-reports.md +0 -0
  1023. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/03_reporting_02_statistics-completeness.md +0 -0
  1024. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/04_clew_01_dag-as-map-and-evidence.md +0 -0
  1025. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/04_clew_02_translation-playbook.md +0 -0
  1026. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/04_clew_03_translation-template.md +0 -0
  1027. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/04_clew_04_translation-notebook-delta.md +0 -0
  1028. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/05_private-skills_01_consumer-project.md +0 -0
  1029. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/00_playbook.md +0 -0
  1030. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/01_io-patterns.md +0 -0
  1031. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/02_session-config.md +0 -0
  1032. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/03_plt-patterns.md +0 -0
  1033. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/04_repro-clew.md +0 -0
  1034. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/05_naming-and-numbering.md +0 -0
  1035. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/06_scitexification/SKILL.md +0 -0
  1036. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/99_lessons-learned.md +0 -0
  1037. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scientific/SKILL.md +0 -0
  1038. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/01_installation.md +0 -0
  1039. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/02_quick-start.md +0 -0
  1040. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/03_python-api.md +0 -0
  1041. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/04_cli-reference.md +0 -0
  1042. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/10_result-types.md +0 -0
  1043. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/11_cli-mcp-utils.md +0 -0
  1044. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/12_config.md +0 -0
  1045. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/13_versions.md +0 -0
  1046. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/14_ecosystem.md +0 -0
  1047. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/15_rename.md +0 -0
  1048. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/16_docs-search.md +0 -0
  1049. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/17_test-runner.md +0 -0
  1050. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/18_full-update.md +0 -0
  1051. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/19_release-deploy.md +0 -0
  1052. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/20_env-vars.md +0 -0
  1053. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/21_dynamic-audit.md +0 -0
  1054. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/22_figure-prep-pointer.md +0 -0
  1055. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/23_drift-report.md +0 -0
  1056. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/24_host-registry.md +0 -0
  1057. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/30_agentic-test-overview.md +0 -0
  1058. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/31_agentic-test-skills.md +0 -0
  1059. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/32_agentic-test-mcp.md +0 -0
  1060. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/40_distribution.md +0 -0
  1061. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/SKILL.md +0 -0
  1062. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills/scitex-dev/examples/skill_eval_example.json +0 -0
  1063. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills_quality.py +0 -0
  1064. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_skills_quality_pytest.py +0 -0
  1065. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/.buildinfo +0 -0
  1066. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/.nojekyll +0 -0
  1067. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/index.html +0 -0
  1068. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/_branding/_helpers.html +0 -0
  1069. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/_cli/_utils.html +0 -0
  1070. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/_core/dispatch.html +0 -0
  1071. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/_creds/_rotate.html +0 -0
  1072. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/_docs/search.html +0 -0
  1073. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/_ecosystem/_core.html +0 -0
  1074. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/dashboard/app.html +0 -0
  1075. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/linter.html +0 -0
  1076. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_modules/scitex_dev/testing/_audit_conformance.html +0 -0
  1077. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_sources/api.rst.txt +0 -0
  1078. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_sources/cli.rst.txt +0 -0
  1079. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_sources/index.rst.txt +0 -0
  1080. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_sources/quickstart.rst.txt +0 -0
  1081. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_sources/search.rst.txt +0 -0
  1082. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  1083. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/base-stemmer.js +0 -0
  1084. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/basic.css +0 -0
  1085. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/check-solid.svg +0 -0
  1086. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/clipboard.min.js +0 -0
  1087. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/copy-button.svg +0 -0
  1088. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/copybutton.css +0 -0
  1089. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/copybutton.js +0 -0
  1090. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/copybutton_funcs.js +0 -0
  1091. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/badge_only.css +0 -0
  1092. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  1093. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  1094. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  1095. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  1096. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  1097. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/fontawesome-webfont.svg +0 -0
  1098. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  1099. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  1100. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  1101. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-bold-italic.woff +0 -0
  1102. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  1103. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-bold.woff +0 -0
  1104. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-bold.woff2 +0 -0
  1105. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-normal-italic.woff +0 -0
  1106. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  1107. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-normal.woff +0 -0
  1108. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/fonts/lato-normal.woff2 +0 -0
  1109. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/css/theme.css +0 -0
  1110. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/doctools.js +0 -0
  1111. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/documentation_options.js +0 -0
  1112. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/english-stemmer.js +0 -0
  1113. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/file.png +0 -0
  1114. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bold.eot +0 -0
  1115. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bold.ttf +0 -0
  1116. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bold.woff +0 -0
  1117. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  1118. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  1119. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  1120. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  1121. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  1122. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-italic.eot +0 -0
  1123. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-italic.ttf +0 -0
  1124. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-italic.woff +0 -0
  1125. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  1126. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-regular.eot +0 -0
  1127. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-regular.ttf +0 -0
  1128. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-regular.woff +0 -0
  1129. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  1130. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  1131. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  1132. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  1133. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  1134. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  1135. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  1136. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  1137. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  1138. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/jquery.js +0 -0
  1139. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/js/badge_only.js +0 -0
  1140. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/js/theme.js +0 -0
  1141. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/js/versions.js +0 -0
  1142. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/language_data.js +0 -0
  1143. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/minus.png +0 -0
  1144. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/plus.png +0 -0
  1145. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/pygments.css +0 -0
  1146. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/searchtools.js +0 -0
  1147. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/_static/sphinx_highlight.js +0 -0
  1148. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/api.html +0 -0
  1149. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/cli.html +0 -0
  1150. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/genindex.html +0 -0
  1151. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/index.html +0 -0
  1152. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/objects.inv +0 -0
  1153. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/py-modindex.html +0 -0
  1154. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/quickstart.html +0 -0
  1155. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/search.html +0 -0
  1156. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sphinx_html/searchindex.js +0 -0
  1157. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_supervisor/__init__.py +0 -0
  1158. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_supervisor/_child.py +0 -0
  1159. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_supervisor/_runtime.py +0 -0
  1160. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_supervisor/_state.py +0 -0
  1161. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sync/__init__.py +0 -0
  1162. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sync/_editable.py +0 -0
  1163. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sync/_local.py +0 -0
  1164. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sync/_remote.py +0 -0
  1165. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_sync/_tags.py +0 -0
  1166. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/_system_deps.py +0 -0
  1167. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/__init__.py +0 -0
  1168. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/__init__.py +0 -0
  1169. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_down.py +0 -0
  1170. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_ensure.py +0 -0
  1171. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_ensure_cmd.py +0 -0
  1172. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_fleet.py +0 -0
  1173. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_preflight.py +0 -0
  1174. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_register.py +0 -0
  1175. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_renew.py +0 -0
  1176. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_reservation.py +0 -0
  1177. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_runner_group.py +0 -0
  1178. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_status.py +0 -0
  1179. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_up.py +0 -0
  1180. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_use.py +0 -0
  1181. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/_watchdog.py +0 -0
  1182. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/config.py +0 -0
  1183. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/containers/ci-cpu.def +0 -0
  1184. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/launcher.sh +0 -0
  1185. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ci/runner/templates/pre-push.hook +0 -0
  1186. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/cli.py +0 -0
  1187. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/__init__.py +0 -0
  1188. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_app.py +0 -0
  1189. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_routes.py +0 -0
  1190. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts/__init__.py +0 -0
  1191. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts/_cards.py +0 -0
  1192. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts/_core.py +0 -0
  1193. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts/_filters.py +0 -0
  1194. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts/_render.py +0 -0
  1195. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts/_utils.py +0 -0
  1196. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_scripts.py +0 -0
  1197. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_styles.py +0 -0
  1198. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/_templates.py +0 -0
  1199. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/app.py +0 -0
  1200. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/routes.py +0 -0
  1201. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts/__init__.py +0 -0
  1202. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts/cards.py +0 -0
  1203. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts/core.py +0 -0
  1204. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts/filters.py +0 -0
  1205. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts/render.py +0 -0
  1206. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts/utils.py +0 -0
  1207. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/scripts.py +0 -0
  1208. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/static/version-dashboard-favicon.svg +0 -0
  1209. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/styles.py +0 -0
  1210. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dashboard/templates.py +0 -0
  1211. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/decorators.py +0 -0
  1212. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dev_mcp/__init__.py +0 -0
  1213. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/dev_mcp/handlers.py +0 -0
  1214. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ecosystem.py +0 -0
  1215. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gate/__init__.py +0 -0
  1216. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gate/_builtin.py +0 -0
  1217. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gate/_config.py +0 -0
  1218. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gate/_discover.py +0 -0
  1219. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gate/_run.py +0 -0
  1220. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gate/_spec.py +0 -0
  1221. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gui_runtime/__init__.py +0 -0
  1222. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/gui_runtime/_runtime.py +0 -0
  1223. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/hosts/__init__.py +0 -0
  1224. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/hosts/_registry.py +0 -0
  1225. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/jobs/__init__.py +0 -0
  1226. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/jobs/_cron_block.py +0 -0
  1227. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/jobs/_ensure.py +0 -0
  1228. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/jobs/_logsink.py +0 -0
  1229. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/jobs/_respawn.py +0 -0
  1230. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/jobs/_systemd.py +0 -0
  1231. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/__init__.py +0 -0
  1232. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/__main__.py +0 -0
  1233. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_checks/__init__.py +0 -0
  1234. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_checks/_calls.py +0 -0
  1235. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_checks/_eh.py +0 -0
  1236. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_checks/_imports.py +0 -0
  1237. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_checks/_test_quality.py +0 -0
  1238. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_api.py +0 -0
  1239. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_check.py +0 -0
  1240. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_completion_cmds.py +0 -0
  1241. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_mcp.py +0 -0
  1242. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmd_rules.py +0 -0
  1243. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmds/__init__.py +0 -0
  1244. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmds/_apis.py +0 -0
  1245. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmds/_format.py +0 -0
  1246. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmds/_rules.py +0 -0
  1247. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_cmds/_run.py +0 -0
  1248. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_collect.py +0 -0
  1249. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_dispatch.py +0 -0
  1250. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_ecosystem_sweep.py +0 -0
  1251. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_fm_checker.py +0 -0
  1252. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_format_runner.py +0 -0
  1253. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_ipynb.py +0 -0
  1254. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_mcp/__init__.py +0 -0
  1255. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_mcp/tools/__init__.py +0 -0
  1256. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_mcp/tools/lint.py +0 -0
  1257. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_md.py +0 -0
  1258. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_naming_checker.py +0 -0
  1259. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_new_only.py +0 -0
  1260. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_packages.py +0 -0
  1261. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_path_checker.py +0 -0
  1262. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_plugin_loader.py +0 -0
  1263. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_project_type.py +0 -0
  1264. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rst.py +0 -0
  1265. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rule_tables.py +0 -0
  1266. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/__init__.py +0 -0
  1267. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_base.py +0 -0
  1268. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_cross_pkg_imports.py +0 -0
  1269. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_error_handling.py +0 -0
  1270. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_hpc_ssh.py +0 -0
  1271. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_import_hygiene.py +0 -0
  1272. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_lookup.py +0 -0
  1273. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_network_timeout.py +0 -0
  1274. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_no_mocks.py +0 -0
  1275. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_numeric_literals.py +0 -0
  1276. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_script_organization.py +0 -0
  1277. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_session_figure.py +0 -0
  1278. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_session_structure.py +0 -0
  1279. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_test_quality.py +0 -0
  1280. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_rules/_verb_lexicon.txt +0 -0
  1281. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_server.py +0 -0
  1282. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_severity_promotion.py +0 -0
  1283. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/01_installation.md +0 -0
  1284. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/02_quick-start.md +0 -0
  1285. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/03_python-api.md +0 -0
  1286. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/04_cli-reference.md +0 -0
  1287. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/06_quick-start.md +0 -0
  1288. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/07_rule-catalog.md +0 -0
  1289. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/10_cli-reference.md +0 -0
  1290. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/11_mcp-tools.md +0 -0
  1291. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/20_env-vars.md +0 -0
  1292. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_skills/scitex-dev-linter/SKILL.md +0 -0
  1293. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_source_helpers.py +0 -0
  1294. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_style_fixer.py +0 -0
  1295. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/_sweep_cli.py +0 -0
  1296. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/checker.py +0 -0
  1297. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/cli.py +0 -0
  1298. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/config.py +0 -0
  1299. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/fixer.py +0 -0
  1300. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/flake8_plugin.py +0 -0
  1301. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/formatter.py +0 -0
  1302. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/rules.py +0 -0
  1303. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/runner.py +0 -0
  1304. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/linter/spi.py +0 -0
  1305. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/registry_normalize/__init__.py +0 -0
  1306. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/registry_normalize/normalize.py +0 -0
  1307. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/registry_normalize/scan.py +0 -0
  1308. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/__init__.py +0 -0
  1309. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/config.py +0 -0
  1310. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/core.py +0 -0
  1311. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/filters.py +0 -0
  1312. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/io.py +0 -0
  1313. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/safety.py +0 -0
  1314. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/rename/steps.py +0 -0
  1315. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/runtime/__init__.py +0 -0
  1316. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/runtime/_periodic.py +0 -0
  1317. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/ssh.py +0 -0
  1318. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/staleness.py +0 -0
  1319. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/system_deps.py +0 -0
  1320. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/test_runner.py +0 -0
  1321. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/testing/__init__.py +0 -0
  1322. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/testing/_audit_conformance.py +0 -0
  1323. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/trace_env/__init__.py +0 -0
  1324. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/trace_env/config.py +0 -0
  1325. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/trace_env/report.py +0 -0
  1326. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/trace_env/scan.py +0 -0
  1327. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/__init__.py +0 -0
  1328. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_cache.py +0 -0
  1329. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_checks.py +0 -0
  1330. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_config.py +0 -0
  1331. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_editable.py +0 -0
  1332. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_fastpath.py +0 -0
  1333. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_model.py +0 -0
  1334. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_ship_checks.py +0 -0
  1335. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_sources.py +0 -0
  1336. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_symbols.py +0 -0
  1337. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_version.py +0 -0
  1338. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev/versioning/_warn.py +0 -0
  1339. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/dependency_links.txt +0 -0
  1340. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/entry_points.txt +0 -0
  1341. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/requires.txt +0 -0
  1342. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/src/scitex_dev.egg-info/top_level.txt +0 -0
  1343. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/__init__.py +0 -0
  1344. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/conftest.py +0 -0
  1345. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/develop/__init__.py +0 -0
  1346. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/develop/test_audit.py +0 -0
  1347. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/develop/test_live_store_shield.py +0 -0
  1348. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/examples/test_01_unified_search.py +0 -0
  1349. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/examples/test_02_version_management.py +0 -0
  1350. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/examples/test_03_docs_aggregation.py +0 -0
  1351. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/from_umbrella.tar.gz +0 -0
  1352. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/integration/__init__.py +0 -0
  1353. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/integration/test_cross_package_imports.py +0 -0
  1354. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/__init__.py +0 -0
  1355. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_branding/__init__.py +0 -0
  1356. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_branding/test___init__.py +0 -0
  1357. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_branding/test__audit.py +0 -0
  1358. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_branding/test__helpers.py +0 -0
  1359. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/__init__.py +0 -0
  1360. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/_hooks_cli/__init__.py +0 -0
  1361. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/_hooks_cli/test___init__.py +0 -0
  1362. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/_hooks_cli/test__pre_push.py +0 -0
  1363. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/__init__.py +0 -0
  1364. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/__init__.py +0 -0
  1365. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/__init__.py +0 -0
  1366. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__discovery.py +0 -0
  1367. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__init_surface.py +0 -0
  1368. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__model.py +0 -0
  1369. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__no_mocks.py +0 -0
  1370. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__playwright.py +0 -0
  1371. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__test_quality.py +0 -0
  1372. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/_checks/test__umbrella.py +0 -0
  1373. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_api/test__audit.py +0 -0
  1374. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_config/__init__.py +0 -0
  1375. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_config/test__loader.py +0 -0
  1376. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_config/test__skip_rules.py +0 -0
  1377. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_django/__init__.py +0 -0
  1378. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_django/test__audit.py +0 -0
  1379. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/__init__.py +0 -0
  1380. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__audit.py +0 -0
  1381. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_adr.py +0 -0
  1382. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_clew_claims.py +0 -0
  1383. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_console_script_core_deps.py +0 -0
  1384. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_doctor_health_naming.py +0 -0
  1385. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_ecosystem_boundary.py +0 -0
  1386. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_empty_extras.py +0 -0
  1387. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_empty_extras_severity.py +0 -0
  1388. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_extras_all_closure.py +0 -0
  1389. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_hard_dep_overreach.py +0 -0
  1390. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_hosted_runners.py +0 -0
  1391. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_install_remedy_strings.py +0 -0
  1392. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_install_remedy_strings_severity.py +0 -0
  1393. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_license.py +0 -0
  1394. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_no_url_deps.py +0 -0
  1395. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_optional_deps_guarded.py +0 -0
  1396. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_orphan_hint.py +0 -0
  1397. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_path_resolver.py +0 -0
  1398. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_path_yaml.py +0 -0
  1399. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_precommit_hooks.py +0 -0
  1400. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_readme_structure.py +0 -0
  1401. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_registry_layout.py +0 -0
  1402. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_research_mirror.py +0 -0
  1403. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_runtime_separation.py +0 -0
  1404. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_secret_env_prefix.py +0 -0
  1405. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_skills_federation.py +0 -0
  1406. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_sphinx_html.py +0 -0
  1407. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_umbrella_dep_and_integration.py +0 -0
  1408. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__check_version_flag.py +0 -0
  1409. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__discovery.py +0 -0
  1410. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__new_vs_baseline.py +0 -0
  1411. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__print_discriminator.py +0 -0
  1412. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_project/test__resolved_tree.py +0 -0
  1413. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_skills/__init__.py +0 -0
  1414. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_skills/test__audit.py +0 -0
  1415. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/__init__.py +0 -0
  1416. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__audit.py +0 -0
  1417. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__audit_noun_verb_homonym.py +0 -0
  1418. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__baseline.py +0 -0
  1419. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__dev_group.py +0 -0
  1420. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__env_allowlist.py +0 -0
  1421. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__gui_group.py +0 -0
  1422. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__mcp_audit.py +0 -0
  1423. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__mcp_parity.py +0 -0
  1424. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__std_rules.py +0 -0
  1425. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/_summary/test__std_rules_deprecation.py +0 -0
  1426. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/test__diff.py +0 -0
  1427. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/test__emit.py +0 -0
  1428. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/test__fd.py +0 -0
  1429. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/test__target_tree.py +0 -0
  1430. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/test__umbrella_pins.py +0 -0
  1431. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/audit/test__version_check.py +0 -0
  1432. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/creds/__init__.py +0 -0
  1433. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/creds/test__cmd.py +0 -0
  1434. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/__init__.py +0 -0
  1435. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__ci_watch.py +0 -0
  1436. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__cred_distribute.py +0 -0
  1437. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__crontab.py +0 -0
  1438. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__job_commands.py +0 -0
  1439. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__jobs.py +0 -0
  1440. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__quota_keepalive.py +0 -0
  1441. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__spartan_conn_monitor.py +0 -0
  1442. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test__worktree_gc.py +0 -0
  1443. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test_install.py +0 -0
  1444. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/cron/test_run.py +0 -0
  1445. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/__init__.py +0 -0
  1446. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/__init__.py +0 -0
  1447. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/__init__.py +0 -0
  1448. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__cli_cmd.py +0 -0
  1449. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__django_cmd.py +0 -0
  1450. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__init_config_cmd.py +0 -0
  1451. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__mcp_tools_cmd.py +0 -0
  1452. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__project_cmd.py +0 -0
  1453. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__python_apis_cmd.py +0 -0
  1454. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_audit_per_target/test__skills_cmd.py +0 -0
  1455. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_branch_protection/__init__.py +0 -0
  1456. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/_branch_protection/test__helpers.py +0 -0
  1457. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__audit_all.py +0 -0
  1458. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__audit_all_path.py +0 -0
  1459. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__audit_all_skip_rules.py +0 -0
  1460. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__audit_masking.py +0 -0
  1461. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__drift_report.py +0 -0
  1462. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__gui.py +0 -0
  1463. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__jobs_cron.py +0 -0
  1464. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__jobs_systemd.py +0 -0
  1465. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__pr.py +0 -0
  1466. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__prune_merged.py +0 -0
  1467. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__sync.py +0 -0
  1468. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__sync_status.py +0 -0
  1469. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__up.py +0 -0
  1470. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__up_supervisor_unit.py +0 -0
  1471. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_cmds/test__up_timer_lowering.py +0 -0
  1472. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_dashboard/__init__.py +0 -0
  1473. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_dashboard/test__export.py +0 -0
  1474. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_dashboard/test__render.py +0 -0
  1475. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/_dashboard/test__state.py +0 -0
  1476. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/test__bulk.py +0 -0
  1477. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/test__categories.py +0 -0
  1478. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/ecosystem/test__registry.py +0 -0
  1479. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/gate/__init__.py +0 -0
  1480. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/gate/test__cmd.py +0 -0
  1481. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/gui/__init__.py +0 -0
  1482. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/gui/test__aliases.py +0 -0
  1483. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/gui/test__lifecycle.py +0 -0
  1484. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/quality/__init__.py +0 -0
  1485. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/quality/test__check.py +0 -0
  1486. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/quality/test__frontmatter.py +0 -0
  1487. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/service/__init__.py +0 -0
  1488. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/service/test__cmd.py +0 -0
  1489. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/__init__.py +0 -0
  1490. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/__init__.py +0 -0
  1491. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__expand_tags_cmd.py +0 -0
  1492. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__explain_self_cmd.py +0 -0
  1493. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__get_cmd.py +0 -0
  1494. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__helpers.py +0 -0
  1495. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__init_cmd.py +0 -0
  1496. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__install_cmd.py +0 -0
  1497. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/_manage/test__list_cmd.py +0 -0
  1498. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/skills/test__self_explain.py +0 -0
  1499. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__hosts.py +0 -0
  1500. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__icons.py +0 -0
  1501. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__knob_commands.py +0 -0
  1502. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__registry_normalize.py +0 -0
  1503. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__rename.py +0 -0
  1504. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__trace_env.py +0 -0
  1505. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_cli/test__utils.py +0 -0
  1506. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/__init__.py +0 -0
  1507. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/dispatch/__init__.py +0 -0
  1508. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/dispatch/test__docs_click.py +0 -0
  1509. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/dispatch/test__skills_click.py +0 -0
  1510. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test__test_execution_plugin.py +0 -0
  1511. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_config_knob_persistence.py +0 -0
  1512. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_config_knobs.py +0 -0
  1513. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_config_test_execution_knob.py +0 -0
  1514. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_decorators.py +0 -0
  1515. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_discovery.py +0 -0
  1516. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_errors.py +0 -0
  1517. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_imports.py +0 -0
  1518. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_manifest.py +0 -0
  1519. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_side_effects.py +0 -0
  1520. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_core/test_types.py +0 -0
  1521. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_creds/__init__.py +0 -0
  1522. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_creds/test__cron.py +0 -0
  1523. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_creds/test__rotate.py +0 -0
  1524. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_docs/__init__.py +0 -0
  1525. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_docs/test_docs.py +0 -0
  1526. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_docs/test_search.py +0 -0
  1527. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/__init__.py +0 -0
  1528. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_drift_report/__init__.py +0 -0
  1529. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_drift_report/test__build.py +0 -0
  1530. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_drift_report/test__model.py +0 -0
  1531. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_drift_report/test__package_watch.py +0 -0
  1532. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_drift_report/test__sac.py +0 -0
  1533. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_drift_report/test__untrustworthy_installs.py +0 -0
  1534. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_mcp/__init__.py +0 -0
  1535. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_mcp/test__utils.py +0 -0
  1536. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_release/__init__.py +0 -0
  1537. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_release/test_pyproject_lint.py +0 -0
  1538. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_skills/__init__.py +0 -0
  1539. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_skills/test_skills.py +0 -0
  1540. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/_skills/test_skills_quality.py +0 -0
  1541. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/ci_template/__init__.py +0 -0
  1542. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/ci_template/test__apply.py +0 -0
  1543. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test__core.py +0 -0
  1544. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test__packages.py +0 -0
  1545. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test__registry.py +0 -0
  1546. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test__release_gate.py +0 -0
  1547. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test_click_compat.py +0 -0
  1548. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test_gui_registry.py +0 -0
  1549. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test_help_spec.py +0 -0
  1550. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem/test_pr_expire.py +0 -0
  1551. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem_jobs/__init__.py +0 -0
  1552. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem_jobs/test__deploy_freshness.py +0 -0
  1553. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_ecosystem_jobs/test__provider.py +0 -0
  1554. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_hooks/__init__.py +0 -0
  1555. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_hooks/test___init__.py +0 -0
  1556. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_hooks/test___init___pre_push.py +0 -0
  1557. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_hooks/test_run_testmon_cli.py +0 -0
  1558. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_icons/__init__.py +0 -0
  1559. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_icons/test___init__.py +0 -0
  1560. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_icons/test__colors.py +0 -0
  1561. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_icons/test__label.py +0 -0
  1562. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_icons/test__png.py +0 -0
  1563. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_icons/test__svg.py +0 -0
  1564. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_mcp/__init__.py +0 -0
  1565. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_mcp/test__server.py +0 -0
  1566. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/__init__.py +0 -0
  1567. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/test_check_editable_drift.py +0 -0
  1568. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/test_publisher.py +0 -0
  1569. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/test_pypi_package_data.py +0 -0
  1570. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/test_rtd_onboard.py +0 -0
  1571. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/test_version_fixer.py +0 -0
  1572. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_release/test_versions.py +0 -0
  1573. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_supervisor/__init__.py +0 -0
  1574. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_supervisor/test__child.py +0 -0
  1575. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_supervisor/test__runtime.py +0 -0
  1576. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_supervisor/test__state.py +0 -0
  1577. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_sync/__init__.py +0 -0
  1578. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_sync/test__editable.py +0 -0
  1579. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/_sync/test__local.py +0 -0
  1580. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/__init__.py +0 -0
  1581. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__ensure.py +0 -0
  1582. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__fleet.py +0 -0
  1583. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__register.py +0 -0
  1584. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__reservation.py +0 -0
  1585. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__status.py +0 -0
  1586. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__up.py +0 -0
  1587. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test__watchdog.py +0 -0
  1588. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/ci/runner/test_config.py +0 -0
  1589. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/conftest.py +0 -0
  1590. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/__init__.py +0 -0
  1591. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/_scripts/__init__.py +0 -0
  1592. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/_scripts/test__cards.py +0 -0
  1593. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/_scripts/test__core.py +0 -0
  1594. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/_scripts/test__filters.py +0 -0
  1595. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/_scripts/test__render.py +0 -0
  1596. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/_scripts/test__utils.py +0 -0
  1597. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/scripts/__init__.py +0 -0
  1598. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/scripts/test_cards.py +0 -0
  1599. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/scripts/test_core.py +0 -0
  1600. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/scripts/test_filters.py +0 -0
  1601. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/scripts/test_render.py +0 -0
  1602. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/scripts/test_utils.py +0 -0
  1603. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/test__app.py +0 -0
  1604. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/test__routes.py +0 -0
  1605. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/test__scripts.py +0 -0
  1606. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/test_app.py +0 -0
  1607. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/test_routes.py +0 -0
  1608. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dashboard/test_scripts.py +0 -0
  1609. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dev_mcp/__init__.py +0 -0
  1610. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/dev_mcp/test_handlers.py +0 -0
  1611. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gate/__init__.py +0 -0
  1612. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gate/test__builtin.py +0 -0
  1613. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gate/test__config.py +0 -0
  1614. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gate/test__discover.py +0 -0
  1615. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gate/test__run.py +0 -0
  1616. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gate/test__spec.py +0 -0
  1617. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gui_runtime/__init__.py +0 -0
  1618. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/gui_runtime/test__runtime.py +0 -0
  1619. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/hosts/__init__.py +0 -0
  1620. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/hosts/test__registry.py +0 -0
  1621. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/__init__.py +0 -0
  1622. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/test___init__.py +0 -0
  1623. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/test__cron_block.py +0 -0
  1624. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/test__ensure.py +0 -0
  1625. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/test__logsink.py +0 -0
  1626. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/test__respawn.py +0 -0
  1627. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/jobs/test__systemd.py +0 -0
  1628. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/__init__.py +0 -0
  1629. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_checks/__init__.py +0 -0
  1630. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_checks/test__imports.py +0 -0
  1631. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_cmds/__init__.py +0 -0
  1632. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_cmds/test___init__.py +0 -0
  1633. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_mcp/__init__.py +0 -0
  1634. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_mcp/tools/__init__.py +0 -0
  1635. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_mcp/tools/test_lint.py +0 -0
  1636. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/__init__.py +0 -0
  1637. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test___init__.py +0 -0
  1638. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__base.py +0 -0
  1639. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__cross_pkg_imports.py +0 -0
  1640. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__hpc_ssh.py +0 -0
  1641. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__import_hygiene.py +0 -0
  1642. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__network_timeout.py +0 -0
  1643. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__script_organization.py +0 -0
  1644. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__session_figure.py +0 -0
  1645. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__session_structure.py +0 -0
  1646. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/_rules/test__test_quality.py +0 -0
  1647. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/conftest.py +0 -0
  1648. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test__health.py +0 -0
  1649. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test__new_only.py +0 -0
  1650. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test__plugin_loader.py +0 -0
  1651. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test__project_type.py +0 -0
  1652. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test__severity_promotion.py +0 -0
  1653. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test__style_fixer.py +0 -0
  1654. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/linter/test_config_import_severity_promotion.py +0 -0
  1655. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/registry_normalize/__init__.py +0 -0
  1656. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/registry_normalize/test_normalize.py +0 -0
  1657. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/registry_normalize/test_scan.py +0 -0
  1658. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/rename/__init__.py +0 -0
  1659. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/rename/test_core.py +0 -0
  1660. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/runtime/__init__.py +0 -0
  1661. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/runtime/test__periodic.py +0 -0
  1662. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/test__audit_disclaimer.py +0 -0
  1663. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/test__system_deps.py +0 -0
  1664. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/test_staleness.py +0 -0
  1665. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/test_system_deps.py +0 -0
  1666. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/testing/__init__.py +0 -0
  1667. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/testing/test__audit_conformance.py +0 -0
  1668. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/trace_env/__init__.py +0 -0
  1669. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/trace_env/test_config.py +0 -0
  1670. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/trace_env/test_scan.py +0 -0
  1671. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/trace_env/test_trace.py +0 -0
  1672. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/__init__.py +0 -0
  1673. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/_incident_data.py +0 -0
  1674. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/conftest.py +0 -0
  1675. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test___init__.py +0 -0
  1676. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__cache.py +0 -0
  1677. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__checks.py +0 -0
  1678. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__config.py +0 -0
  1679. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__editable.py +0 -0
  1680. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__fastpath.py +0 -0
  1681. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__model.py +0 -0
  1682. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__ship_checks.py +0 -0
  1683. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__symbols.py +0 -0
  1684. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__version.py +0 -0
  1685. {scitex_dev-0.35.0 → scitex_dev-0.37.0}/tests/scitex_dev/versioning/test__warn.py +0 -0
@@ -67,3 +67,40 @@ test -n "$(ls -A dist 2>/dev/null)" || {
67
67
  echo "::error::python -m build produced no artifacts in dist/"
68
68
  exit 1
69
69
  }
70
+
71
+ # --- Release gate: every declared entry point must IMPORT from the WHEEL ---
72
+ #
73
+ # A dangling entry point does not fail the build on its own: the wheel
74
+ # uploads, `pip install` succeeds, and the breakage lands in the USER's
75
+ # tooling. `pytest11` is imported by pytest at startup, so a dangling target
76
+ # aborts EVERY pytest run in the installed environment before collection.
77
+ # This step moves that failure back into the build.
78
+ #
79
+ # The audit runs against the freshly built WHEEL (unpacked to a temp dir),
80
+ # not against pyproject.toml — a correct declaration can still point at a
81
+ # module the build dropped, which is exactly the bug a source-only check
82
+ # would miss. The SIF has scitex-dev's runtime deps installed, so a genuine
83
+ # import failure means the ARTIFACT is broken, not the environment.
84
+ echo "=== entry-point import gate (built wheel) ==="
85
+ WHEEL="$(ls dist/*.whl | head -n 1)"
86
+ test -n "$WHEEL" || {
87
+ echo "::error::no wheel in dist/ to audit"
88
+ exit 1
89
+ }
90
+ PYTHONPATH="$PWD/src${PYTHONPATH:+:$PYTHONPATH}" "$PY" - "$WHEEL" <<'PYGATE'
91
+ import sys
92
+
93
+ from scitex_dev._release.entrypoint_imports import (
94
+ audit_wheel_entry_point_imports,
95
+ )
96
+
97
+ report = audit_wheel_entry_point_imports(sys.argv[1], "scitex-dev")
98
+ sys.stdout.write(report.report() + "\n")
99
+ if not report.is_clean:
100
+ sys.stdout.write(
101
+ "::error::the built wheel declares entry points that do NOT import; "
102
+ "publishing it would break `pytest` (and console scripts) for every "
103
+ "user who installs it\n"
104
+ )
105
+ raise SystemExit(1)
106
+ PYGATE
@@ -7,6 +7,249 @@ versions follow [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.37.0] - 2026-07-23
11
+
12
+ ### Added
13
+ - **Release gate: a declared entry point that does not import now fails the
14
+ BUILD (#421).** A dangling entry point does not fail the build on its own —
15
+ the wheel uploads, `pip install` succeeds, and the breakage lands in the
16
+ USER's tooling. `pytest11` is imported by pytest at startup, so a dangling
17
+ target aborts EVERY pytest run in the installed environment before
18
+ collection. `scitex_dev._release.entrypoint_imports` reads
19
+ `entry_points.txt` from the BUILT artifact's `.dist-info` and imports each
20
+ target in a subprocess with the artifact prepended to `PYTHONPATH`. It
21
+ probes the artifact, not `pyproject.toml`: a correct declaration can still
22
+ point at a module the build dropped, which is exactly the bug a source-only
23
+ check would miss. `missing` (target absent — packaging bug) is classified
24
+ apart from `broken` (target present, import raised — dependency/code bug);
25
+ the two present identically at pytest startup and route to different fixes.
26
+ Wired into `.github/ci/build-in-sif.sh`, before upload.
27
+
28
+ - **PS-222 — the `.scitex/<pkg-short>/` config-layout convention (#416).**
29
+ New rule plus auditor covering where a package's own config tree lives,
30
+ with a `runtime/` control arm in the test suite.
31
+
32
+ - **`ecosystem list --distributions` — enumeration keyed by origin remote
33
+ (#419).** New `_ecosystem/_enumerate.py` resolves checkout DIRECTORIES into
34
+ DISTRIBUTIONS by their origin remote rather than by directory name,
35
+ collapsing duplicate checkouts and linked worktrees into reported aliases
36
+ and labelling which tree was actually measured. `--org` cross-references a
37
+ GitHub org listing to surface repos with no local checkout; `--scan-root`
38
+ enumerates a directory tree, the input shape brand-wide sweeps use and
39
+ where duplicate checkouts appear. Unreadable paths are recorded as errors,
40
+ never silently dropped, and an orphaned linked worktree is now diagnosed by
41
+ name instead of as a generic unreadable path. The flag is OPT-IN: the
42
+ default `ecosystem list` output shape is unchanged, so existing callers
43
+ keep working.
44
+
45
+ ### Changed
46
+ - **PS-220 self-migration: scitex-dev's own stderr prints moved to
47
+ scitex-logging, 132 → 118 findings (#415).** scitex-dev authored the
48
+ no-bare-print mandate while carrying 132 findings against it. This migrates
49
+ the STDERR bucket — 14 sites across `trace_env`, the linter
50
+ (`_cmd_format` / `_health` / `_cmd_completion`), the argparse dispatch
51
+ modules, `quality/_check.py` and `cron/_task_harvest.py` — where
52
+ scitex-logging provably cannot move the output, because it already writes
53
+ every level to `sys.stderr`. Hand-rolled ANSI in `_health` is dropped now
54
+ that scitex-logging owns the colouring. Stdout prints are deliberately
55
+ untouched: they need the console API still being designed.
56
+
57
+ ### Fixed
58
+ - **`skills list` and `skills get` were broken and now work again (#423).**
59
+ The symptom: running `skills list` or `skills get` raised
60
+ `ModuleNotFoundError: No module named 'scitex_dev._core._ecosystem'` (and
61
+ the `._docs` equivalent). This hit BOTH front-ends — argparse and Click —
62
+ in every downstream package using the shared
63
+ `register_skills_subcommand` / `skills_click_group` surface, because
64
+ `_skills_click.py` imports `_skills_get` / `_skills_list` FROM
65
+ `_skills_argparse` and so inherited the fault.
66
+
67
+ Cause: the `dispatch.py` → `dispatch/` package split (2026-07-11,
68
+ CLI-standardization audit pass 4b) added one nesting level. The Click
69
+ flavors were corrected to `...`, but both argparse flavors kept the
70
+ flat-module `..` depth, which resolves to the non-existent
71
+ `scitex_dev._core._ecosystem` / `._docs`. 7 sites: 5 in
72
+ `_skills_argparse`, 2 in `_docs_argparse`.
73
+
74
+ The imports are function-local, so the modules imported cleanly and only
75
+ exploded when a command actually RAN — which is why import-smoke and the
76
+ split's own tests stayed green: they asserted argv PARSING and never
77
+ called `args.func`. The new tests dispatch through `args.func` against the
78
+ real entry points, plus `find_spec` assertions pinning that the backing
79
+ modules live under the package root and NOT under `scitex_dev._core`.
80
+
81
+ - **`audit-project` never prints SUCC over live warning findings (#417).**
82
+ The success banner was decided from the severity-FLOOR-filtered finding
83
+ list, so at the default `--severity error` a tree carrying live W findings
84
+ printed output byte-identical to a genuinely clean tree — measured on
85
+ scitex-agent-container: 53 live PS-220 findings, `SUCC`, exit 0.
86
+
87
+ The consequence is not cosmetic. A mutation proof driven through the CLI
88
+ could not fail for ANY W-severity rule: planting a bare `print()` did not
89
+ change one byte of output, so the check meant to detect it was
90
+ structurally incapable of doing so. Every "mutation-proved" green produced
91
+ that way was unearned. It also broke the premise PS-220's E→W restage
92
+ (0.36.0) was granted on — that findings stay FULLY VISIBLE and only stop
93
+ blocking.
94
+
95
+ Reporting only; exit codes untouched:
96
+ - `SUCC` iff zero findings at ANY severity (was: zero at the floor)
97
+ - the clean line names the audited tree, as the failure line does
98
+ - the headline always carries both counts: `N error(s), M warning(s)`
99
+ - counts are taken over all surviving findings, not the floor-filtered view
100
+ - `--json` gains `warnings` / `infos` alongside the existing `errors`
101
+ - below-floor findings get a line naming how to list them
102
+
103
+ `exit_code` stays `1 if n_errors > 0 else 0`. W/I still never fail CI —
104
+ changing that would silently re-break every repo the 0.36.0 restage just
105
+ unblocked.
106
+
107
+ - **`audit-django` never prints SUCC over live warning findings (#420).**
108
+ The same defect, reproduced in the Django auditor and fixed the same way.
109
+ Measured pre-fix on a fixture tree with one live DJ-107 (W) finding: the
110
+ dirty and clean trees produced path-normalised output comparing EQUAL, and
111
+ `--json` masked it identically (`"violations": []`, `"errors": 0` on a tree
112
+ holding one warning).
113
+
114
+ - **`scitex_dev.audit` survives the logger-class name race (#422).**
115
+ `scitex_logging.getLogger` IS `logging.getLogger`; the logger class is
116
+ fixed by `setLoggerClass` state at first creation of the NAME and cached
117
+ forever. Anything creating `scitex_dev.audit` through the stdlib first
118
+ handed `_emit` a plain `Logger` with no `.success`, crashing every auditor
119
+ (`_project` / `_django` / `_api` / `_summary`) — a hard `AttributeError`
120
+ reachable purely by import ordering. The eager method table dereferenced
121
+ `.success` on every call, so even `emit('info', ...)` crashed. The level
122
+ method is now resolved per call via `getattr`; on a poisoned logger the
123
+ emit goes through `Logger.log(levelno)` — scitex-logging registers level
124
+ NUMBERS globally (SUCCESS=31 → `SUCC`), so `levelno`/`levelname` are
125
+ unchanged, not degraded. The degrade is announced once at WARNING and
126
+ recorded in `degraded_reason()`, so it cannot pass for a healthy run.
127
+
128
+ - **`cron list` distinguishes "crontab unreadable" from "zero installed"
129
+ (#413).** `scitex-dev cron list` printed `installed (0): (none)` when it
130
+ could not read the crontab AT ALL — cannot-look rendered as
131
+ looked-and-found-zero. Reads failed soft (`read_crontab` returned `""` on a
132
+ missing binary) while writes failed loud, and only the read path reported.
133
+ This nearly caused a false fleet-wide automation-outage escalation: a peer
134
+ agent ran `cron list` in a container with no `crontab` binary, read "13
135
+ jobs registered, NONE installed", and was one step from escalating. The
136
+ jobs were running fine on the host; only the container could not look.
137
+
138
+ A third state (`CrontabRead` / `read_crontab_state`) is added at the source
139
+ and plumbed through both reporting surfaces. Human output:
140
+ `installed: UNKNOWN ('crontab' not found on PATH)` plus an explicit "this
141
+ is NOT zero jobs installed" note; `cron status` gains a banner and per-job
142
+ `installed: unknown` instead of a fabricated `no`. JSON: `cron list`
143
+ reports `installed: null` — NOT `[]`, so a consumer calling `len()` cannot
144
+ silently read zero — alongside `installed_state` and
145
+ `installed_unavailable_reason`; `cron status` gains `crontab_state` and
146
+ `crontab_unavailable_reason`. A non-zero `crontab -l` whose message is
147
+ `no crontab for <user>` stays READABLE-and-empty: that is an ordinary empty
148
+ crontab, not a failure to look. The write path is untouched —
149
+ `write_crontab` still raises, which is correct.
150
+
151
+ - **`ecosystem test-remote` derives the xdist worker count from the CPU
152
+ ALLOCATION, not the node (#412).** `pytest -n auto` over-subscribed an
153
+ allocated node. The cause is narrower than "auto reads the machine's core
154
+ count": xdist's `pytest_xdist_auto_num_workers` consults psutil FIRST and
155
+ returns its count immediately, and psutil ignores cgroup/cpuset
156
+ confinement; only if psutil is absent does it fall through to the correct
157
+ `sched_getaffinity`. Measured on spartan-bm155 inside a 48-CPU lease
158
+ cgroup: `sched_getaffinity` 48, `os.cpu_count()` 128,
159
+ `psutil.cpu_count()` 128 — i.e. ~128 workers into a 48-CPU allocation, a
160
+ 2.7x continuous over-subscription (corroborated by worker ids reaching
161
+ gw121 in a scitex-hub run). New `allocated_cpus()` in
162
+ `_core/test_execution.py` resolves `SLURM_CPUS_PER_TASK`, then
163
+ `SLURM_JOB_CPUS_PER_NODE` (including the `48(x2)` form), then
164
+ `sched_getaffinity`, then `os.cpu_count()` — no magic cap and no hardcoded
165
+ core count, so an unconstrained laptop still gets all its cores.
166
+ `ecosystem test-remote` keeps `-n auto` and corrects it at its source by
167
+ exporting `PYTEST_XDIST_AUTO_NUM_WORKERS`, which xdist consults ahead of
168
+ psutil.
169
+
170
+ ### Documentation
171
+ - **Verification doctrine added to `general/09_quality` (#414).** Every
172
+ verification failure recorded across the fleet on 2026-07-22/23 is one
173
+ shape: a failed measurement rendered as a confident value. The leaf states
174
+ that once and organises the defences by claim type — absence claims need a
175
+ positive control, causal claims need one varied variable and a hunted
176
+ counter-example, content claims need a second independent reader, artifact
177
+ claims need the artifact actually in use, peer claims need corroboration
178
+ independent in kind. Carries the six-state search-failure taxonomy, the
179
+ vacuous / inert / layer-blind / sampling control failures, the both-arms
180
+ rule for fixing a masking bug, and the status words that fuse a failed
181
+ measurement into a clean one (`skipped`, `declared-masked`, `0`).
182
+
183
+ - **A degrade branch is where a hard failure hides (#418).** Doctrine on
184
+ masking: degrade paths swallow hard failures, and a mispositioned probe
185
+ cannot fail.
186
+
187
+ ## [0.36.0] - 2026-07-23
188
+
189
+ ### Changed
190
+ - **PS-220 restaged: WARNING by default, error per-package opt-in.** 0.35.0
191
+ (#406) promoted PS-220 to ERROR ecosystem-wide. The measured blast radius
192
+ — 44 repos newly FAILING on 1856 findings, top-5 repos carrying 64 % of
193
+ them — led the operator to restage the rollout (Telegram 1691/1692):
194
+ 「とりあえず warning で、移行できたものから red で」. The rule now
195
+ reports at `W` for every project type, and a package opts IN to an
196
+ error-level gate when its migration lands:
197
+
198
+ ```yaml
199
+ audit:
200
+ enforce-logging:
201
+ level: error
202
+ reason: "print migration complete (PR #412)"
203
+ ```
204
+
205
+ This is staging, not retreat: every finding stays visible on every audit
206
+ run, and nothing about what the rule DETECTS changed.
207
+
208
+ - **`audit.enforce-logging` now demands a written reason.** `error` and
209
+ `off` deviate from the default and so carry a MANDATORY `reason`;
210
+ `warning` is accepted bare because it IS the default and changes
211
+ nothing. A missing or whitespace-only reason is a HARD CONFIG ERROR, not
212
+ a silent default: the declaration does NOT take effect (the project
213
+ falls back to `W`) AND the rejection is reported at `E`, so a package
214
+ can never believe it is gated — or silenced — when it is not. The old
215
+ bare shorthands `enforce-logging: error` / `enforce-logging: off` (and
216
+ their YAML 1.1 boolean spellings `on` / `off`) are rejected for exactly
217
+ this reason. Unrecognised values are now rejected loudly instead of
218
+ falling back silently. Parsing lives in
219
+ `_cli/audit/_config/_enforce_logging.py`.
220
+
221
+ Config errors are NOT staged: a rejected exemption entry and a rejected
222
+ enforce-logging declaration are both reported at `E` regardless of the
223
+ project's PS-220 severity. Staging covers migration debt; a malformed
224
+ override is not debt.
225
+
226
+ ### Removed
227
+ - **The blanket `# noqa` hatch for PS-220, and its `PS-220-noqa-deprecated`
228
+ notice.** Deprecated in 0.35.0 for one release. A sweep of all 118 repos
229
+ under `~/proj` (8956 `src/**.py` files, 4448 flagged sites) found ZERO
230
+ sites using it, with a planted-user control confirming the sweep could
231
+ detect one. `audit.exemptions` — pinned to one rule at one file:line,
232
+ with a mandatory reason — is now the only per-site opt-out.
233
+
234
+ ### Fixed
235
+ - **`--version` no longer answers for another package (#409).** `scitex-ui
236
+ --version` and `scitex-app --version` printed `scitex-dev <scitex-dev's
237
+ version>`; 36 downstream packages reported another package's identity.
238
+ `scitex_dev/_cli/__init__.py` fast-paths a bare `--version` to skip the
239
+ expensive `._root` import, but the predicate matched on `sys.argv[1:]`
240
+ alone and never checked WHO was asking. Because `scitex_dev._cli` is a
241
+ shared primitive that downstream CLIs import (`._completion`, `._root`),
242
+ the block fired during `import` in any process launched as `<other-cli>
243
+ --version`: it printed scitex-dev's name and version and raised
244
+ `SystemExit(0)` before the downstream CLI's own `main()` ran. Exit code 0,
245
+ so nothing looked broken — and the downstream packages' own `--version`
246
+ wiring was correct all along. The fast path now additionally requires
247
+ `sys.argv[0]` to identify scitex-dev's own console script (or `python -m
248
+ scitex_dev`); an unrecognised `argv[0]` declines the optimisation and
249
+ falls through to the real Click group — correct, just slower. No path
250
+ falls back to printing `scitex-dev`; that fallback WAS the defect.
251
+ A library must never read `sys.argv` or exit at import time.
252
+
10
253
  ## [0.35.0] - 2026-07-22
11
254
 
12
255
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scitex-dev
3
- Version: 0.35.0
3
+ Version: 0.37.0
4
4
  Summary: Shared developer utilities for the SciTeX ecosystem
5
5
  Author-email: Yusuke Watanabe <ywatanabe@scitex.ai>
6
6
  License-Expression: AGPL-3.0-only
@@ -196,7 +196,19 @@ skipped must never count as clean.
196
196
 
197
197
  | Phase | Scope | Status | Exit criteria |
198
198
  | --- | --- | --- | --- |
199
- | **P1** | **Tests** | Shipped (#385, v0.33.0; design locked by #388) | (a) recipe + `test_execution` knob + auto-loaded `pytest11` guard live (done); (b) literal `-n auto` replaced by allocated-cpus per backend (`$SLURM_CPUS_PER_TASK` / `ResourceSpec.cpu`); (c) at least one `remote-required` package runs end-to-end through the scitex-hpc `slurm` backend and every run emits a conformant `JobReceipt`. |
199
+ | **P1** | **Tests** | Shipped (#385, v0.33.0; design locked by #388) | (a) recipe + `test_execution` knob + auto-loaded `pytest11` guard live (done); (b) literal `-n auto` resolved from allocated-cpus per backend via `scitex_dev._core.test_execution.allocated_cpus` (done for `ecosystem test-remote`); (c) at least one `remote-required` package runs end-to-end through the scitex-hpc `slurm` backend and every run emits a conformant `JobReceipt`. |
200
+
201
+ > **P1(b) correction (measured 2026-07-23).** An earlier draft of this row
202
+ > named `$SLURM_CPUS_PER_TASK` as *the* source. It is not sufficient: on the
203
+ > Spartan CI runner that variable is **empty**. The runner is reached by ssh
204
+ > and adopted into the lease cgroup (`job_27144058/step_extern`), so it
205
+ > inherits the **cpuset** but not the step's Slurm environment. Measured on
206
+ > spartan-bm155 inside the 48-CPU lease: `sched_getaffinity`=48,
207
+ > `os.cpu_count()`=128, `psutil.cpu_count()`=128, both `SLURM_*` vars unset.
208
+ > `sched_getaffinity` is therefore the authoritative fallback, and the reason
209
+ > `-n auto` misbehaves at all is that pytest-xdist consults **psutil before**
210
+ > `sched_getaffinity` (`xdist/plugin.py` 3.8.0 L26-34) — not, as first
211
+ > assumed, that `auto` is inherently allocation-blind.
200
212
  | **P2** | **CI** | Wave 1 in flight (#400 canonical caller; drift inventory 2026-07-21) | (a) every scitex repo carries the thin org-reusable `ci.yml` caller and nothing else (six generations → one); (b) runner labels unified to ONE vocabulary selected via `vars.CI_RUNS_ON`; (c) zero `ubuntu-latest` / GitHub-hosted jobs in scitex repos (PS-169 at ERROR); (d) auditor rule ERRORs on non-canonical workflow files, so drift cannot silently return. |
201
213
  | **P3** | **Agent/fleet jobs** | Design open (federation contract 2026-07-20; this ADR fixes the taxonomy) | (a) `scitex_dev.jobs.JobSpec` carries the intent/mechanism split (intents accepted; mechanism chosen at lowering; back-compat mapping for `service`/`timer`/`cron`); (b) zero leaf-local or hand-rolled host crons — every repetitive job discoverable via `scitex-dev ecosystem` from an entry-point provider; (c) sac's daemon/restart passes declared through the federation (sac keeps the logic, scitex-dev installs the schedule); (d) periodic fleet jobs eligible for pool placement (Spartan backfill) where they don't need host-locality. |
202
214
 
@@ -19,6 +19,7 @@ must remain importable.
19
19
 
20
20
  from __future__ import annotations
21
21
 
22
+ import os as _os
22
23
  import sys as _sys
23
24
 
24
25
 
@@ -29,10 +30,62 @@ def _is_bare_version_invocation(argv: list[str]) -> bool:
29
30
  without spawning a subprocess. Deliberately narrow — any other
30
31
  combination (extra flags, a subcommand, ``--version --json``)
31
32
  returns False and falls through to the real Click group unchanged.
33
+
34
+ NOTE: this predicate inspects ``argv[1:]`` ONLY. It says nothing
35
+ about WHICH program is running, so it is NOT sufficient on its own
36
+ to authorise printing scitex-dev's identity — see
37
+ :func:`_should_fast_path_version`.
32
38
  """
33
39
  return argv in (["--version"], ["-V"])
34
40
 
35
41
 
42
+ #: Basenames the `scitex-dev` console script can legitimately appear as
43
+ #: in ``sys.argv[0]``. Anything else is some OTHER program that merely
44
+ #: imported us.
45
+ _ENTRY_POINT_BASENAMES = frozenset({"scitex-dev", "scitex-dev.exe"})
46
+
47
+
48
+ def _is_scitex_dev_entry_point(argv0: str) -> bool:
49
+ """True iff ``argv0`` identifies THIS package's own console script.
50
+
51
+ Pure predicate over ``sys.argv[0]``. Recognises the installed
52
+ console script (``.../bin/scitex-dev``) and ``python -m scitex_dev``
53
+ (whose ``argv[0]`` is the package's own ``__main__.py``).
54
+
55
+ Deliberately CONSERVATIVE: anything unrecognised returns False, and
56
+ a False merely declines the optimisation — the caller then falls
57
+ through to the real Click group, which is the correct (just slower)
58
+ behaviour. Declining is always safe; asserting wrongly is not.
59
+ """
60
+ if not argv0:
61
+ return False
62
+ tail = argv0.replace("\\", "/")
63
+ if _os.path.basename(tail) in _ENTRY_POINT_BASENAMES:
64
+ return True
65
+ return tail.endswith("/scitex_dev/__main__.py")
66
+
67
+
68
+ def _should_fast_path_version(argv: list[str]) -> bool:
69
+ """True iff this process is scitex-dev's OWN CLI asked for its version.
70
+
71
+ BOTH conditions are required, and the second one is the whole point:
72
+
73
+ * ``argv[1:]`` is a bare ``--version``/``-V`` (nothing else to do), and
74
+ * ``argv[0]`` is scitex-dev's own console script.
75
+
76
+ The ``argv[0]`` gate exists because this module is a SHARED
77
+ primitive: scitex-ui, scitex-app and friends import
78
+ ``scitex_dev._cli._completion`` / ``._root`` to build THEIR CLIs.
79
+ Without the gate, `scitex-ui --version` imported this package,
80
+ matched on ``argv[1:]`` alone, printed *scitex-dev's* name and
81
+ version, and killed the process with ``SystemExit(0)`` — so every
82
+ downstream CLI confidently reported another package's identity.
83
+ """
84
+ if not argv:
85
+ return False
86
+ return _is_bare_version_invocation(argv[1:]) and _is_scitex_dev_entry_point(argv[0])
87
+
88
+
36
89
  # Fast-path a bare `--version`/`-V` invocation BEFORE importing `._root`.
37
90
  # `_root`'s module-level code eagerly registers the ENTIRE subcommand
38
91
  # tree (ecosystem, linter, gate, ci-runner, docs, skills, …) as a side
@@ -40,7 +93,10 @@ def _is_bare_version_invocation(argv: list[str]) -> bool:
40
93
  # needs none of it. `CliRunner.invoke` in tests bypasses `sys.argv`
41
94
  # entirely, so this never affects test behavior — only the real
42
95
  # console-script invocation (`scitex-dev --version`) sees it.
43
- if _is_bare_version_invocation(_sys.argv[1:]):
96
+ #
97
+ # This block is an OPTIMISATION, never an identity oracle: it may fire
98
+ # only when `sys.argv` proves the running program IS `scitex-dev`.
99
+ if _should_fast_path_version(_sys.argv):
44
100
  from importlib.metadata import PackageNotFoundError
45
101
  from importlib.metadata import version as _version
46
102
 
@@ -12,6 +12,11 @@ legitimately use test doubles for external services (HTTP/browser/telegram/
12
12
  ssh); PA-307 (test-quality) still applies at full severity.
13
13
  """
14
14
 
15
+ from ._enforce_logging import (
16
+ ENFORCE_LOGGING_REASONED_LEVELS,
17
+ ENFORCE_LOGGING_VALUES,
18
+ parse_enforce_logging,
19
+ )
15
20
  from ._loader import (
16
21
  CAPABILITY_RULES,
17
22
  KNOWN_CAPABILITIES,
@@ -26,6 +31,8 @@ from ._loader import (
26
31
 
27
32
  __all__ = [
28
33
  "CAPABILITY_RULES",
34
+ "ENFORCE_LOGGING_REASONED_LEVELS",
35
+ "ENFORCE_LOGGING_VALUES",
29
36
  "KNOWN_CAPABILITIES",
30
37
  "PROJECT_TYPES",
31
38
  "Exemption",
@@ -33,5 +40,6 @@ __all__ = [
33
40
  "capability_for_rule",
34
41
  "detect_project_types",
35
42
  "load_config",
43
+ "parse_enforce_logging",
36
44
  "write_config",
37
45
  ]
@@ -0,0 +1,166 @@
1
+ # -*- coding: utf-8 -*-
2
+ """`audit.enforce-logging` — PS-220's per-package severity declaration.
3
+
4
+ PS-220 (no bare `print` in package source) is a STAGED rollout, not a
5
+ flag-day. Operator directive 2026-07-23 (Telegram 1691/1692)::
6
+
7
+ 「print に関しては順次やっていきましょうか。
8
+ とりあえず warning で、移行できたものから red で」
9
+ 「red というか、エラー判定ってことですね」
10
+
11
+ i.e. the rule defaults to **warning** for every package, and each package
12
+ opts IN to **error** as it finishes migrating its prints to scitex-logging.
13
+ The measured blast radius is why: promoting to error ecosystem-wide would
14
+ newly fail 44 repos on 1856 findings (`GITIGNORED/ps220-blast-radius-
15
+ 20260722.md`), so enforcement has to arrive per-package, on the schedule of
16
+ whoever does the migrating.
17
+
18
+ The declaration lives in `.scitex/dev/config.yaml`::
19
+
20
+ audit:
21
+ enforce-logging:
22
+ level: error
23
+ reason: "print migration complete (PR #412); all sites on scitex-logging"
24
+
25
+ A REASON IS MANDATORY on any level that deviates from the `warning` default
26
+ — `error` (opt in to being gated) and `off` (hide the findings entirely).
27
+ This follows the same doctrine as `audit.exemptions` and
28
+ `audit.capabilities` in `._loader`: an override is a written decision with a
29
+ named rationale, never a bare flag. A missing or whitespace-only reason is a
30
+ HARD CONFIG ERROR, not a silent default: the declaration does NOT take
31
+ effect (the project falls back to the staged default) AND the rejection is
32
+ surfaced as a violation, so a package cannot believe it is gated when it is
33
+ not — nor believe it is silenced when it is not.
34
+
35
+ `warning` needs no reason, because writing it changes nothing: it IS the
36
+ default. It is accepted in bare-scalar form for exactly that reason.
37
+ """
38
+
39
+ from __future__ import annotations
40
+
41
+ # Accepted `level` values.
42
+ ENFORCE_LOGGING_VALUES = frozenset({"error", "warning", "off"})
43
+
44
+ # Levels that DEVIATE from the staged `warning` default and therefore demand
45
+ # a written reason. See the module docstring.
46
+ ENFORCE_LOGGING_REASONED_LEVELS = frozenset({"error", "off"})
47
+
48
+ _MAPPING_HINT = (
49
+ "To deviate from the `warning` default, write the mapping form: "
50
+ "`audit: {{enforce-logging: {{level: {level}, "
51
+ 'reason: "<why this package is at {level}>"}}}}`'
52
+ )
53
+
54
+
55
+ def _coerce_level(value: object) -> str | None:
56
+ """Normalise one `level` scalar to a lowercase string (or None).
57
+
58
+ YAML 1.1 parses bare ``off``/``no`` as boolean False and ``on``/``yes``
59
+ as boolean True, so the level can arrive as a bool rather than a string.
60
+ Reading it as a string only would make the knob silently no-op and fall
61
+ back to the default — the exact class of silent-suppression bug this
62
+ surface exists to prevent. Map the booleans explicitly.
63
+ """
64
+ if value is False:
65
+ return "off"
66
+ if value is True:
67
+ return "error"
68
+ if value is None:
69
+ return None
70
+ return str(value).strip().lower() or None
71
+
72
+
73
+ def _unknown_level(level: str, *, where: str) -> tuple[None, None, tuple[str, ...]]:
74
+ """Reject an unrecognised level loudly rather than defaulting silently."""
75
+ return (
76
+ None,
77
+ None,
78
+ (
79
+ f"PS-220: `{where}: {level}` is not a recognised level "
80
+ f"(expected one of {sorted(ENFORCE_LOGGING_VALUES)}). The "
81
+ f"declaration does NOT take effect.",
82
+ ),
83
+ )
84
+
85
+
86
+ def parse_enforce_logging(
87
+ raw: object,
88
+ ) -> tuple[str | None, str | None, tuple[str, ...]]:
89
+ """Split `audit.enforce-logging` into ``(level, reason, rejections)``.
90
+
91
+ ``level`` is None when nothing was declared OR when what was declared was
92
+ REJECTED — in both cases the caller falls back to PS-220's staged default.
93
+ ``rejections`` holds human-readable notices for every rejected form; an
94
+ empty tuple means the block was clean.
95
+
96
+ Accepted forms:
97
+
98
+ * a mapping ``{level: <error|warning|off>, reason: <non-blank>}`` — the
99
+ canonical form. ``reason`` is mandatory for ``error`` and ``off``.
100
+ * a bare scalar ``warning`` — accepted reasonlessly because it is the
101
+ default and therefore changes nothing.
102
+
103
+ Rejected forms (each returns ``level=None`` plus a notice):
104
+
105
+ * a bare scalar ``error`` / ``off`` (including the YAML 1.1 booleans
106
+ ``on`` / ``true`` / ``off`` / ``no``) — carries no reason.
107
+ * a mapping whose ``level`` is missing or unrecognised.
108
+ * a mapping declaring ``error`` / ``off`` with a missing, empty, or
109
+ whitespace-only ``reason``.
110
+ """
111
+ if raw is None:
112
+ return None, None, ()
113
+
114
+ if isinstance(raw, dict):
115
+ level = _coerce_level(raw.get("level"))
116
+ reason = str(raw.get("reason") or "").strip()
117
+ if level is None:
118
+ return (
119
+ None,
120
+ None,
121
+ (
122
+ "PS-220: `audit.enforce-logging` mapping is missing `level` "
123
+ f"(one of {sorted(ENFORCE_LOGGING_VALUES)}). The "
124
+ f"declaration does NOT take effect.",
125
+ ),
126
+ )
127
+ if level not in ENFORCE_LOGGING_VALUES:
128
+ return _unknown_level(level, where="audit.enforce-logging.level")
129
+ if level in ENFORCE_LOGGING_REASONED_LEVELS and not reason:
130
+ return (
131
+ None,
132
+ None,
133
+ (
134
+ f"PS-220: `audit.enforce-logging.level: {level}` REJECTED "
135
+ f"— `reason` is empty. Declaring `{level}` deviates from "
136
+ f"the staged `warning` default and must state WHY. The "
137
+ f"declaration does NOT take effect.",
138
+ ),
139
+ )
140
+ return level, (reason or None), ()
141
+
142
+ level = _coerce_level(raw)
143
+ if level is None:
144
+ return None, None, ()
145
+ if level not in ENFORCE_LOGGING_VALUES:
146
+ return _unknown_level(level, where="audit.enforce-logging")
147
+ if level in ENFORCE_LOGGING_REASONED_LEVELS:
148
+ return (
149
+ None,
150
+ None,
151
+ (
152
+ f"PS-220: `audit.enforce-logging: {level}` REJECTED — the bare "
153
+ f"shorthand carries no reason. " + _MAPPING_HINT.format(level=level)
154
+ + " The declaration does NOT take effect.",
155
+ ),
156
+ )
157
+ return level, None, ()
158
+
159
+
160
+ __all__ = [
161
+ "ENFORCE_LOGGING_VALUES",
162
+ "ENFORCE_LOGGING_REASONED_LEVELS",
163
+ "parse_enforce_logging",
164
+ ]
165
+
166
+ # EOF