Skip to content

Commit 6b2b392

Browse files
feat(w21-24kl): batch 16 — shared ticket helpers + CI test fixes
Add ticket_read_status() and ticket_find_open_children() to ticket-lib.sh for CLI-native health guards (dso-sroj). Add --parent flag parsing to ticket-create.sh. Fix 10 test files with path migration from old ticket storage to v3, resolve CLAUDE_PLUGIN_ROOT unbound variable errors, fix ShellCheck violations, and add RED .test-index markers for pending guard implementation tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 7366630 commit 6b2b392

22 files changed

+282
-113
lines changed

.test-index

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ plugins/dso/scripts/ticket-lib.sh:tests/scripts/test_revert_event.py,tests/scrip
3838
plugins/dso/scripts/ticket-list.sh:tests/scripts/test-ticket-list.sh,tests/scripts/test_bridge_alert_display.py
3939
plugins/dso/scripts/ticket-revert.sh:tests/scripts/test_revert_event.py
4040
plugins/dso/scripts/ticket-show.sh:tests/scripts/test-ticket-show.sh,tests/scripts/test_bridge_alert_display.py
41+
plugins/dso/scripts/ticket-create.sh:tests/scripts/test-ticket-create.sh [test_create_with_closed_parent_blocked]
42+
plugins/dso/scripts/ticket-link.sh:tests/scripts/test-ticket-link.sh [test_link_depends_on_closed_target_blocked]
43+
plugins/dso/scripts/ticket-transition.sh:tests/scripts/test-ticket-transition.sh [test_transition_bug_close_requires_reason]
4144
plugins/dso/scripts/validate-phase.sh:tests/test-validate-phase-portability.sh
4245
plugins/dso/scripts/validate.sh:tests/plugin/test-validate-work-portability.sh,tests/hooks/test-validate-review-output.sh,tests/hooks/test-validate-crash-detection.sh,tests/scripts/test-validate-test-batched-integration.sh,tests/scripts/test-validate-flock-timeout.sh,tests/scripts/test-validate-background.sh,tests/scripts/test-validate-skip-ci-flag.sh,tests/scripts/test-validate-issues.sh,tests/scripts/test-validate-config.sh,tests/scripts/test-validate-script-writes-integration.sh,tests/scripts/test-validate-config-driven.sh,tests/scripts/test-validate-state-lifecycle.sh,tests/test-validate-phase-portability.sh
4346
plugins/dso/scripts/worktree-cleanup.sh:tests/scripts/test_worktree_cleanup_startup_config.py

.tickets/.index.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@
4242
"title": "As a developer, Jira bridge environment variables are configured with guided prompts",
4343
"type": "story"
4444
},
45+
"dso-1pwb": {
46+
"deps": [],
47+
"priority": 1,
48+
"status": "open",
49+
"title": "Fix CI failures from allowlist path migration",
50+
"type": "bug"
51+
},
4552
"dso-1s1t": {
4653
"deps": [
4754
"dso-ncv2"

.tickets/.sync-state.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,8 @@
449449
"last_synced": "2026-03-19T18:38:35Z",
450450
"local_hash": "14c516947a151a3db8bdec4010e2fd6e"
451451
},
452-
"last_pull_timestamp": "2026-03-23T18:21:21Z",
453-
"last_sync_commit": "60ca86de64edef8ef759878b2471445152fe6145",
452+
"last_pull_timestamp": "2026-03-23T19:37:02Z",
453+
"last_sync_commit": "7366630886dc2984a7fbe149b2d867e78a18668f",
454454
"w21-5cqr": {
455455
"jira_hash": "bce29d76f01c58613ee99cb1dd03920d",
456456
"jira_key": "DIG-61",

.tickets/dso-1pwb.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
id: dso-1pwb
3+
status: open
4+
deps: []
5+
links: []
6+
created: 2026-03-23T18:32:09Z
7+
type: bug
8+
priority: 1
9+
assignee: Joe Oakhart
10+
---
11+
# Fix CI failures from allowlist path migration
12+

.tickets/dso-bdk5.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-bdk5
3-
status: in_progress
3+
status: closed
44
deps: []
55
links: []
66
created: 2026-03-23T17:34:42Z

.tickets/dso-hu14.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-hu14
3-
status: in_progress
3+
status: closed
44
deps: [dso-1cje, dso-yv90]
55
links: []
66
created: 2026-03-23T15:20:45Z

.tickets/dso-sroj.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-sroj
3-
status: open
3+
status: in_progress
44
deps: [dso-bdk5]
55
links: []
66
created: 2026-03-23T17:34:49Z
@@ -25,3 +25,38 @@ Add two shared helper functions to plugins/dso/scripts/ticket-lib.sh:
2525

2626
Both functions follow existing ticket-lib.sh patterns. Use git rev-parse for TRACKER_DIR and BASH_SOURCE for REDUCER path.
2727

28+
## ACCEPTANCE CRITERIA
29+
30+
- [ ] ticket_read_status function exists in ticket-lib.sh
31+
Verify: grep -q "ticket_read_status()" plugins/dso/scripts/ticket-lib.sh
32+
- [ ] ticket_find_open_children function exists in ticket-lib.sh
33+
Verify: grep -q "ticket_find_open_children()" plugins/dso/scripts/ticket-lib.sh
34+
- [ ] ticket-lib.sh passes bash syntax check
35+
Verify: bash -n plugins/dso/scripts/ticket-lib.sh
36+
- [ ] RED tests from dso-bdk5 for helpers now pass (GREEN)
37+
Verify: bash tests/scripts/test-ticket-health-guards.sh 2>&1 | grep -qi "passed"
38+
39+
40+
**2026-03-23T18:28:02Z**
41+
42+
CHECKPOINT 1/6: Task context loaded ✓
43+
44+
**2026-03-23T18:28:14Z**
45+
46+
CHECKPOINT 2/6: Code patterns understood ✓
47+
48+
**2026-03-23T18:28:15Z**
49+
50+
CHECKPOINT 3/6: Tests written (none required — RED tests exist) ✓
51+
52+
**2026-03-23T18:29:38Z**
53+
54+
CHECKPOINT 4/6: Implementation complete ✓
55+
56+
**2026-03-23T18:29:46Z**
57+
58+
CHECKPOINT 5/6: Validation passed ✓
59+
60+
**2026-03-23T18:29:59Z**
61+
62+
CHECKPOINT 6/6: Done ✓

.tickets/dso-w0fc.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
id: dso-w0fc
3+
status: open
4+
deps: []
5+
links: []
6+
created: 2026-03-23T18:30:05Z
7+
type: task
8+
priority: 3
9+
assignee: Joe Oakhart
10+
---
11+
# ticket-create.sh: update usage docs to reflect --parent flag syntax
12+

plugins/dso/docs/workflows/REVIEW-WORKFLOW.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ The diff hash is captured here — AFTER Step 1's format/lint/type-check pass
109109

110110
```bash
111111
# Run complexity classifier to determine review tier
112-
CLASSIFIER="${CLAUDE_PLUGIN_ROOT}/scripts/review-complexity-classifier.sh"
113-
CLASSIFIER_OUTPUT=$(bash "$CLASSIFIER" < "$DIFF_FILE" 2>/dev/null) || CLASSIFIER_EXIT=$?
112+
CLASSIFIER_OUTPUT=$(".claude/scripts/dso review-complexity-classifier.sh" < "$DIFF_FILE" 2>/dev/null) || CLASSIFIER_EXIT=$?
114113
if [[ "${CLASSIFIER_EXIT:-0}" -ne 0 ]] || ! echo "$CLASSIFIER_OUTPUT" | python3 -c 'import json,sys; json.load(sys.stdin)' 2>/dev/null; then
115114
# Classifier failed — default to standard tier per contract (classifier-tier-output.md)
116115
REVIEW_TIER="standard"
@@ -144,12 +143,12 @@ DIFF_SIZE_LINES=$(echo "$CLASSIFIER_OUTPUT" | python3 -c 'import json,sys; d=jso
144143
REVIEW_PASS_NUM="${REVIEW_PASS_NUM:-1}"
145144

146145
# Merge commits bypass size limits entirely (contract: is_merge_commit always checked first)
147-
# Re-review passes (REVIEW_PASS_NUM >= 2) bypass size limits (re-review exemption rule)
146+
# re-review passes (REVIEW_PASS_NUM >= 2) bypass size limits (re-review exemption rule)
148147
if [[ "$IS_MERGE" != "true" ]] && [[ "$REVIEW_PASS_NUM" -le 1 ]]; then
149148
# Size action branching (initial review, non-merge only)
150149
if [[ "$SIZE_ACTION" == "upgrade" ]]; then
151-
# Upgrade model to opus at current tier's checklist scope
152-
REVIEW_AGENT_OVERRIDE="dso:code-reviewer-deep-arch" # opus model
150+
# Upgrade: size_action=upgrade triggers a model_override — use opus reviewer
151+
REVIEW_AGENT_OVERRIDE="dso:code-reviewer-deep-arch" # model_override: opus
153152
echo "SIZE_UPGRADE: diff has ${DIFF_SIZE_LINES} scorable lines — upgrading to opus reviewer at ${REVIEW_TIER} tier scope"
154153
fi
155154

plugins/dso/scripts/review-complexity-classifier.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,6 @@ is_critical_path_file() {
134134
local file="$1"
135135
case "$file" in
136136
*/db/*|*/database/*|*/auth/*|*/security/*|*/routes/*|*/handlers/*|*/request/*|*/middleware/*|*/persistence/*) return 0 ;;
137-
src/auth/*|src/security/*|src/db/*|src/routes/*|src/handlers/*) return 0 ;;
138137
esac
139138
return 1
140139
}
@@ -152,7 +151,7 @@ is_test_file() {
152151
is_generated_file() {
153152
local file="$1"
154153
case "$file" in
155-
*/migrations/*|*.lock|*package-lock.json|*yarn.lock|*poetry.lock|*.generated.*|*/generated/*) return 0 ;;
154+
*/migrations/*|*.lock|*package-lock.json|*.generated.*|*/generated/*) return 0 ;;
156155
esac
157156
return 1
158157
}

0 commit comments

Comments
 (0)