T-8DQQ-start-task-tests-in-quality-checks
Status: closed/obsoleted · Impact: medium · Complexity: small
Auto-generated from a /sdlc:task-work post-mortem. Review and
promote to open/ready before picking up.
plugin/skills/task-work/test_start_task.py covers the script that
landed in T-VFGF-extract-start-task-script (the extracted
Step 5b orchestration). It is not currently part of sdlc.yaml’s
quality_checks: list, which means a regression in
start_task.py will not surface in the standard pre-PR quality-
checks gate — only a contributor invoking the test directly will
catch it. The other co-located skill test runners
(plugin/skills/<skill>/tests/run_evals.py) are listed; this one
should be too.
“
plugin/skills/task-work/test_start_task.pyis not currently listed insdlc.yaml’squality_checks:— it only runs if a contributor invokes it directly. The other co-located skill tests (plugin/skills/*/tests/run_evals.py) are listed.”
sdlc.yaml declares (as of 2026-05-21):
quality_checks: - plugin/scripts/audit_entities.py - plugin/skills/entities-audit/tests/run_evals.py - plugin/skills/entities-migrate/tests/run_evals.py - plugin/skills/import-planning/tests/run_evals.py - plugin/skills/orchestrate/tests/run_evals.py - plugin/skills/task-ensure-ready/tests/run_evals.pyplugin/skills/task-work/test_start_task.py is absent. The
existing entries point at tests/run_evals.py files — single entry
points for each skill’s full eval/test suite — which
test_start_task.py does not match. Either promote the test into a
tests/run_evals.py shape or add test_start_task.py directly to
the list.
Proposed
Section titled “Proposed”sdlc.yaml’s quality_checks: list contains an entry that runs
plugin/skills/task-work/test_start_task.py on every quality-check
invocation. A regression in start_task.py fails the gate and
blocks PRs.
Approach
Section titled “Approach”- Decide on layout — direct entry (cheapest, one line) vs.
restructure into
plugin/skills/task-work/tests/run_evals.py(matches the existing convention). Direct entry is the minimum change; restructure is a style call. - Edit
sdlc.yamlto add the entry. - Run
plugin/scripts/run_quality_checks.py --config sdlc.yaml --lineand confirm the new entry passes.
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
sdlc.yaml | modify | add one quality_checks: entry. |
Optionally: plugin/skills/task-work/tests/run_evals.py“ | new | <migrated from v2 — no note recorded> |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
sdlc.yaml’squality_checks:list includes an entry that, when run, executesplugin/skills/task-work/test_start_task.py(directly or via arun_evals.pywrapper). - AC-2:
plugin/scripts/run_quality_checks.py --config sdlc.yaml --linereportsOK N/Nwith the new entry present. - AC-3: Deliberately breaking
start_task.py(e.g. raising instart_task.main) causes the executor to printFAILand exit non-zero, confirming the gate actually wires the test.
Out of scope
Section titled “Out of scope”- Promoting
start_task.pyinto a shared script underplugin/scripts/— co-location withtask-workis correct perplugin/skills/CLAUDE.mduntil a second skill needs it.
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”Spawned by /sdlc:task-work post-mortem of T-VFGF-extract-start-task-script on 2026-05-21.