Skip to content

Commit 39da3d7

Browse files
Merge branch 'worktree-20260318-154530'
2 parents 568064e + e683162 commit 39da3d7

File tree

4 files changed

+58
-17
lines changed

4 files changed

+58
-17
lines changed

.tickets/.index.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@
657657
"dso-jqin": {
658658
"deps": [],
659659
"priority": 0,
660-
"status": "in_progress",
660+
"status": "closed",
661661
"title": "Remove Step 1.75 (Plugin Tests) from COMMIT-WORKFLOW.md and flip test assertion",
662662
"type": "task"
663663
},
@@ -666,7 +666,7 @@
666666
"dso-bkqa"
667667
],
668668
"priority": 0,
669-
"status": "open",
669+
"status": "in_progress",
670670
"title": "Remove plugin check from validate.sh (CMD_TEST_PLUGIN, TIMEOUT_PLUGIN, run_check, report_check, tally_check, LAUNCHED_CHECKS, --help)",
671671
"type": "task"
672672
},

.tickets/dso-kexc.md

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-kexc
3-
status: open
3+
status: in_progress
44
deps: [dso-bkqa]
55
links: []
66
created: 2026-03-18T23:14:16Z
@@ -50,3 +50,47 @@ Files: plugins/dso/scripts/validate.sh, tests/scripts/test-validate-config-drive
5050
Verify: bash $(git rev-parse --show-toplevel)/plugins/dso/scripts/validate.sh --help 2>&1 | ! grep -q 'plugin:'
5151
- [ ] New test_validate_sh_no_cmd_test_plugin test exists in test-validate-config-driven.sh
5252
Verify: grep -q 'test_validate_sh_no_cmd_test_plugin' $(git rev-parse --show-toplevel)/tests/scripts/test-validate-config-driven.sh
53+
54+
## Notes
55+
56+
<!-- note-id: oezuttuq -->
57+
<!-- timestamp: 2026-03-19T00:12:53Z -->
58+
<!-- origin: agent -->
59+
<!-- sync: unsynced -->
60+
61+
CHECKPOINT 1/6: Task context loaded ✓
62+
63+
<!-- note-id: hw794m86 -->
64+
<!-- timestamp: 2026-03-19T00:13:06Z -->
65+
<!-- origin: agent -->
66+
<!-- sync: unsynced -->
67+
68+
CHECKPOINT 2/6: Code patterns understood ✓
69+
70+
<!-- note-id: 6yxmqgye -->
71+
<!-- timestamp: 2026-03-19T00:13:23Z -->
72+
<!-- origin: agent -->
73+
<!-- sync: unsynced -->
74+
75+
CHECKPOINT 3/6: Tests written ✓
76+
77+
<!-- note-id: vu9e27ad -->
78+
<!-- timestamp: 2026-03-19T00:14:14Z -->
79+
<!-- origin: agent -->
80+
<!-- sync: unsynced -->
81+
82+
CHECKPOINT 4/6: Implementation complete ✓
83+
84+
<!-- note-id: m695umn4 -->
85+
<!-- timestamp: 2026-03-19T00:30:22Z -->
86+
<!-- origin: agent -->
87+
<!-- sync: unsynced -->
88+
89+
CHECKPOINT 5/6: Validation passed ✓
90+
91+
<!-- note-id: 0l5v467c -->
92+
<!-- timestamp: 2026-03-19T00:30:34Z -->
93+
<!-- origin: agent -->
94+
<!-- sync: unsynced -->
95+
96+
CHECKPOINT 6/6: Done ✓

plugins/dso/scripts/validate.sh

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ set -uo pipefail
5050
# Ruff lint (60s): cd app && make lint-ruff
5151
# MyPy check (120s): cd app && make lint-mypy
5252
# Tests (600s/10min): cd app && make test-unit-only
53-
# Plugin/hook tests (120s): make test-plugin (from repo root)
5453
# E2E tests (600s): cd app && make test-e2e
5554
# CI status (30s): gh run list --workflow=CI --limit 1 --json status,conclusion
5655
#
@@ -61,7 +60,6 @@ set -uo pipefail
6160
# VALIDATE_TIMEOUT_RUFF - Ruff lint timeout (default: 60)
6261
# VALIDATE_TIMEOUT_MYPY - MyPy type check timeout (default: 120)
6362
# VALIDATE_TIMEOUT_TESTS - Test suite timeout (default: 600)
64-
# VALIDATE_TIMEOUT_PLUGIN - Plugin/hook test suite timeout (default: 300)
6563
# VALIDATE_TIMEOUT_E2E - E2E test timeout (default: 900)
6664
# VALIDATE_TIMEOUT_CI - CI status check timeout (default: 60)
6765
# VALIDATE_TIMEOUT_LOG - Path to timeout log (default: /tmp/lockpick-test-artifacts-<worktree>/validation-timeouts.log)
@@ -110,11 +108,6 @@ CMD_FORMAT_CHECK=$(_cfg "commands.format_check" "make format-check")
110108
CMD_LINT_RUFF=$(_cfg "commands.lint_ruff" "make lint-ruff")
111109
CMD_LINT_MYPY=$(_cfg "commands.lint_mypy" "make lint-mypy")
112110
CMD_TEST_UNIT=$(_cfg "commands.test_unit" "make test-unit-only")
113-
# REVIEW-DEFENSE: commands.test_plugin key was removed from workflow-config.conf in dso-bkqa.
114-
# This consumer line (and the KNOWN_KEYS entry in validate-config.sh:65) are cleaned up in
115-
# companion story dso-kexc. Until then, validate.sh falls back to the hard-coded default
116-
# "make test-plugin", which is the pre-existing behavior and introduces no regression.
117-
CMD_TEST_PLUGIN=$(_cfg "commands.test_plugin" "make test-plugin")
118111
SCRIPT_WRITE_SCAN_DIR=$(_cfg "checks.script_write_scan_dir" "")
119112
PLUGIN_SCRIPTS="$SCRIPT_DIR"
120113
CMD_TEST_E2E=$(_cfg "commands.test_e2e" "make test-e2e")
@@ -157,7 +150,6 @@ TIMEOUT_FORMAT="${VALIDATE_TIMEOUT_FORMAT:-30}"
157150
TIMEOUT_RUFF="${VALIDATE_TIMEOUT_RUFF:-60}"
158151
TIMEOUT_MYPY="${VALIDATE_TIMEOUT_MYPY:-120}"
159152
TIMEOUT_TESTS="${VALIDATE_TIMEOUT_TESTS:-600}" # 10 minutes default - test suite is large
160-
TIMEOUT_PLUGIN="${VALIDATE_TIMEOUT_PLUGIN:-300}" # plugin/hook shell test suite (safety buffer for slow tests)
161153
TIMEOUT_E2E="${VALIDATE_TIMEOUT_E2E:-900}" # 15 minutes for E2E tests (local is ~2-3x slower than CI ~180s)
162154
TIMEOUT_CI="${VALIDATE_TIMEOUT_CI:-60}" # GitHub API call — 60s headroom for rate limiting/slow network
163155

@@ -310,7 +302,7 @@ for arg in "$@"; do
310302
echo ""
311303
echo "Timeouts (in seconds):"
312304
echo " syntax: $TIMEOUT_SYNTAX, format: $TIMEOUT_FORMAT, ruff: $TIMEOUT_RUFF, mypy: $TIMEOUT_MYPY"
313-
echo " tests: $TIMEOUT_TESTS, plugin: $TIMEOUT_PLUGIN"
305+
echo " tests: $TIMEOUT_TESTS"
314306
echo " e2e: $TIMEOUT_E2E, ci: $TIMEOUT_CI"
315307
echo ""
316308
echo "Timeout log: $TIMEOUT_LOG"
@@ -622,7 +614,7 @@ fi
622614
# Track launched checks for crash detection (missing .rc file = process crash)
623615
# REVIEW-DEFENSE: Keep this list in sync with the run_check/check_* calls below.
624616
# Each name must match the first argument passed to run_check or check_*.
625-
LAUNCHED_CHECKS="syntax format ruff mypy tests plugin migrate skill-refs"
617+
LAUNCHED_CHECKS="syntax format ruff mypy tests migrate skill-refs"
626618
[ -n "$SCRIPT_WRITE_SCAN_DIR" ] && LAUNCHED_CHECKS="$LAUNCHED_CHECKS script-writes"
627619
# REVIEW-DEFENSE: CMD_* variables are intentionally unquoted to allow word splitting.
628620
# Commands like "make format-check" must split into ["make", "format-check"] for run_check.
@@ -637,8 +629,6 @@ run_check "ruff" "$TIMEOUT_RUFF" $CMD_LINT_RUFF &
637629
run_check "mypy" "$TIMEOUT_MYPY" $CMD_LINT_MYPY &
638630
# shellcheck disable=SC2086
639631
run_check "tests" "$TIMEOUT_TESTS" $CMD_TEST_UNIT &
640-
# shellcheck disable=SC2086
641-
(cd "$REPO_ROOT" && run_check "plugin" "$TIMEOUT_PLUGIN" $CMD_TEST_PLUGIN) &
642632
check_migrations &
643633
if [ -n "$SCRIPT_WRITE_SCAN_DIR" ]; then
644634
(cd "$REPO_ROOT" && run_check "script-writes" "$TIMEOUT_SYNTAX" python3 "$PLUGIN_SCRIPTS/check-script-writes.py" --scan-dir="$SCRIPT_WRITE_SCAN_DIR") &
@@ -764,7 +754,6 @@ if [ "$VERBOSE" = "0" ]; then
764754
report_check "ruff" "ruff" "$TIMEOUT_RUFF"
765755
report_check "mypy" "mypy" "$TIMEOUT_MYPY"
766756
report_check "tests" "tests" "$TIMEOUT_TESTS"
767-
report_check "plugin" "plugin" "$TIMEOUT_PLUGIN" "make -C $REPO_ROOT test-plugin"
768757
[ -n "$SCRIPT_WRITE_SCAN_DIR" ] && report_check "script-writes" "script-writes" "$TIMEOUT_SYNTAX" "python3 $PLUGIN_SCRIPTS/check-script-writes.py --scan-dir=$SCRIPT_WRITE_SCAN_DIR"
769758
report_check "skill-refs" "skill-refs" "$TIMEOUT_SYNTAX" "bash $PLUGIN_SCRIPTS/check-skill-refs.sh"
770759
else
@@ -773,7 +762,6 @@ else
773762
tally_check "ruff" "ruff"
774763
tally_check "mypy" "mypy"
775764
tally_check "tests" "tests"
776-
tally_check "plugin" "plugin"
777765
[ -n "$SCRIPT_WRITE_SCAN_DIR" ] && tally_check "script-writes" "script-writes"
778766
tally_check "skill-refs" "skill-refs"
779767
fi

tests/scripts/test-validate-config-driven.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,4 +136,13 @@ assert_eq "commands.test_plugin absent from workflow-config.conf" "0" "$test_plu
136136

137137
assert_pass_if_clean "test_no_test_plugin_in_config"
138138

139+
# ── test_validate_sh_no_cmd_test_plugin ──────────────────────────────────
140+
# CMD_TEST_PLUGIN must NOT appear in validate.sh (plugin check infrastructure removed)
141+
_snapshot_fail
142+
143+
cmd_test_plugin_count=$(grep -c 'CMD_TEST_PLUGIN' "$VALIDATE_SH" || true)
144+
assert_eq "CMD_TEST_PLUGIN absent from validate.sh" "0" "$cmd_test_plugin_count"
145+
146+
assert_pass_if_clean "test_validate_sh_no_cmd_test_plugin"
147+
139148
print_summary

0 commit comments

Comments
 (0)