원클릭으로
syngen-test-selection
Use for selecting the correct test, lint, CI, or packaging command for a given Syngen change.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use for selecting the correct test, lint, CI, or packaging command for a given Syngen change.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | syngen-test-selection |
| description | Use for selecting the correct test, lint, CI, or packaging command for a given Syngen change. |
If you have not run syngen-bootstrap yet in this session, do so first. The structural pytest-collection break that historically affected this repo is fixed (2026-05-27) but runtime imports (exrex, reportportal_client, etc.) may still be missing locally and would show up as conftest-level collection failures.
All commands assume you are at the repo root (cd "$(git rev-parse --show-toplevel)") and use ${PY} resolved as in syngen-bootstrap (project venv if present, else system Python).
| Change type | Command |
|---|---|
| Documentation only | No runtime tests required |
| [[validation schema]] only | ${PY} -m pytest src/tests/unit/validation_schema/ -q |
| Python utility change | ${PY} -m pytest src/tests/unit/<path> -q + ${PY} -m flake8 --max-line-length 99 src/syngen/<path> |
| [[CLI entry points]] / [[SDK]] change | Targeted unit tests + downstream impact check on [[tdm_syngen]] before merge |
| File I/O change | Fixture-based unit tests; integration tests if connector behavior changes |
| Packaging change | ${PY} -m build --no-isolation --wheel . + ${PY} -m twine check dist/*.whl (both gated by syngen-bootstrap confirming build and twine are installed) |
| Runtime generation change | Targeted unit tests first; [[smoke run]] only when justified |
src/syngen/VERSION bump | Confirm semver matches commit type per syngen-implement-feature step 7 |
# Fatal errors only (fast)
${PY} -m flake8 --max-line-length 99 src/syngen --count --select=E9,F63,F7,F82 --show-source --statistics
# Project-config style check (uses .flake8 in repo root)
${PY} -m flake8 --max-line-length 99 src/syngen --count --statistics
Notes:
--max-line-length and --max-complexity are intentionally NOT passed on the command line. The repo's .flake8 file (and setup.cfg) is the source of truth for those values; passing flags would diverge from CI.src/syngen/<subpath>), not the whole repo, to keep feedback fast.Run the full unit-test suite (${PY} -m pytest src/tests/unit/ -q) before final handoff for broad or cross-module changes. Flag any [[public API]] / [[CLI entry points]] / [[validation schema]] change for downstream [[tdm_syngen]] review per CLAUDE.md "Approval contract".
Use to verify or set up the local Syngen development environment — creates a `.venv` if missing, installs `requirements.txt`, probes runtime imports, and confirms pytest collection works. Invoke this on a fresh checkout, when pytest reports `ModuleNotFoundError`, or when `python -m build / twine / mypy` says the tool is not installed.
Use for implementing production-grade Syngen features or non-trivial code changes.
Use when a coding or testing session reveals that a harness file (rule, skill, agent, or doc) is inaccurate, incomplete, or blocking correct work. Requires human approval before any harness file is changed.
Use for marshmallow validation errors, metadata schema failures, and CLI argument validation issues in Syngen.