Skip to content

Commit 86a8ec8

Browse files
fix: test isolation anti-pattern + tk create double-dash parsing (w21-ni6d, w21-wlhw, dso-3e30) (merge worktree-20260320-130729)
2 parents 8f25d4c + a583a40 commit 86a8ec8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1839
-120
lines changed

.tickets/.index.json

Lines changed: 88 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"dso-094a": {
2828
"deps": [],
2929
"priority": 2,
30-
"status": "open",
30+
"status": "closed",
3131
"title": "fix: agent-batch-lifecycle.sh cleanup-discoveries crashes \u2014 get_artifacts_dir not found when CLAUDE_PLUGIN_ROOT points to main repo instead of plugin dir",
3232
"type": "bug"
3333
},
@@ -107,7 +107,7 @@
107107
"dso-2xqd": {
108108
"deps": [],
109109
"priority": 2,
110-
"status": "open",
110+
"status": "closed",
111111
"title": "fix: sprint skill Phase 4 references scripts/worktree-sync-from-main.sh instead of plugins/dso/scripts/worktree-sync-from-main.sh",
112112
"type": "bug"
113113
},
@@ -121,7 +121,7 @@
121121
"dso-3e30": {
122122
"deps": [],
123123
"priority": 2,
124-
"status": "open",
124+
"status": "in_progress",
125125
"title": "Bug: tk create -d interprets double-dash in description text as option flags",
126126
"type": "bug"
127127
},
@@ -221,14 +221,14 @@
221221
"dso-5syi": {
222222
"deps": [],
223223
"priority": 2,
224-
"status": "open",
224+
"status": "closed",
225225
"title": "Fix: dso shim resolves scripts from stale /scripts/ path \u2014 skip-review-check.sh and capture-review-diff.sh not found during commit workflow",
226226
"type": "bug"
227227
},
228228
"dso-62u0": {
229229
"deps": [],
230230
"priority": 2,
231-
"status": "open",
231+
"status": "closed",
232232
"title": "fix: merge-to-main.sh sync phase fails when .tickets/.index.json has uncommitted local changes",
233233
"type": "bug"
234234
},
@@ -284,6 +284,13 @@
284284
"title": "Incorporate the brainstorm tell me more loop into using lockpicks",
285285
"type": "epic"
286286
},
287+
"dso-9xnr": {
288+
"deps": [],
289+
"priority": 1,
290+
"status": "open",
291+
"title": "Project Health Restoration (2026-03-20)",
292+
"type": "epic"
293+
},
287294
"dso-9zsh": {
288295
"deps": [],
289296
"priority": 2,
@@ -447,7 +454,7 @@
447454
"dso-fqxu": {
448455
"deps": [],
449456
"priority": 2,
450-
"status": "open",
457+
"status": "closed",
451458
"title": "fix: compute-diff-hash.sh hash mismatch when untracked temp test fixtures exist during review",
452459
"type": "bug"
453460
},
@@ -482,7 +489,7 @@
482489
"dso-g8cz": {
483490
"deps": [],
484491
"priority": 2,
485-
"status": "open",
492+
"status": "closed",
486493
"title": "fix: compute-diff-hash.sh is not staging-invariant for new (untracked\u2192staged) files",
487494
"type": "bug"
488495
},
@@ -510,17 +517,31 @@
510517
"title": "Fix: qualify-skill-refs.sh multi-segment URL lookbehind gap \u2014 checker strips full URLs but fixer only checks :// prefix",
511518
"type": "bug"
512519
},
520+
"dso-gjww": {
521+
"deps": [],
522+
"priority": 4,
523+
"status": "open",
524+
"title": "validate.sh: _test_state_already_passed accepts state files with missing command_hash",
525+
"type": "bug"
526+
},
513527
"dso-gkct": {
514528
"deps": [],
515529
"priority": 2,
516530
"status": "open",
517531
"title": "Implementation planning tradeoffs",
518532
"type": "epic"
519533
},
534+
"dso-go0x": {
535+
"deps": [],
536+
"priority": 4,
537+
"status": "open",
538+
"title": "validate.sh: sha256sum fallback chain uses inconsistent output post-processing",
539+
"type": "bug"
540+
},
520541
"dso-h04l": {
521542
"deps": [],
522543
"priority": 0,
523-
"status": "closed",
544+
"status": "in_progress",
524545
"title": "[LOCK] debug-everything",
525546
"type": "task"
526547
},
@@ -571,7 +592,7 @@
571592
"dso-jauq": {
572593
"deps": [],
573594
"priority": 2,
574-
"status": "open",
595+
"status": "closed",
575596
"title": "fix: agent-batch-lifecycle.sh cleanup-discoveries crashes \u2014 get_artifacts_dir not found when CLAUDE_PLUGIN_ROOT points to main repo instead of plugin dir",
576597
"type": "bug"
577598
},
@@ -613,7 +634,7 @@
613634
"dso-kv4p": {
614635
"deps": [],
615636
"priority": 2,
616-
"status": "open",
637+
"status": "closed",
617638
"title": "fix: merge-to-main.sh push phase fails with retry_with_backoff: command not found",
618639
"type": "bug"
619640
},
@@ -651,6 +672,13 @@
651672
"title": "Bug: tk sync windowed pull uses UTC but Jira reads JQL datetimes as user-local timezone",
652673
"type": "bug"
653674
},
675+
"dso-lm92": {
676+
"deps": [],
677+
"priority": 3,
678+
"status": "open",
679+
"title": "record-review.sh CHANGED_FILES overlap check includes untracked files that may not be reviewed",
680+
"type": "bug"
681+
},
654682
"dso-lqyw": {
655683
"deps": [],
656684
"priority": 2,
@@ -695,6 +723,13 @@
695723
"title": "RED: Write failing tests for ci.workflow_name fallback in merge-to-main.sh",
696724
"type": "task"
697725
},
726+
"dso-ogh7": {
727+
"deps": [],
728+
"priority": 4,
729+
"status": "open",
730+
"title": "Fix: deduplicate FN_BODY_9 extraction in test-merge-to-main-qt4u.sh test 9",
731+
"type": "bug"
732+
},
698733
"dso-opue": {
699734
"deps": [
700735
"dso-s6kt"
@@ -704,6 +739,13 @@
704739
"title": "Update read-config.sh to resolve from .claude/dso-config.conf + move config file",
705740
"type": "task"
706741
},
742+
"dso-or3g": {
743+
"deps": [],
744+
"priority": 2,
745+
"status": "open",
746+
"title": "Bug: collect-discoveries.sh crashes with get_artifacts_dir not found when CLAUDE_PLUGIN_ROOT is wrong",
747+
"type": "bug"
748+
},
707749
"dso-ozsx": {
708750
"deps": [
709751
"dso-o24g",
@@ -773,6 +815,13 @@
773815
"title": "As a developer setting up DSO, the setup creates .claude/dso-config.conf",
774816
"type": "story"
775817
},
818+
"dso-qlgq": {
819+
"deps": [],
820+
"priority": 2,
821+
"status": "open",
822+
"title": "validate-phase.sh runs tests directly without test-batched.sh \u2014 same timeout anti-pattern as w21-ae0s",
823+
"type": "bug"
824+
},
776825
"dso-qo0x": {
777826
"deps": [],
778827
"priority": 2,
@@ -783,7 +832,7 @@
783832
"dso-qt4u": {
784833
"deps": [],
785834
"priority": 1,
786-
"status": "open",
835+
"status": "closed",
787836
"title": "Bug: merge-to-main.sh fails on archive rename/delete conflicts and doesn't support agent-driven conflict resolution",
788837
"type": "bug"
789838
},
@@ -861,6 +910,13 @@
861910
"title": "Research and investigation in pre-planning or brainstorm",
862911
"type": "epic"
863912
},
913+
"dso-t2wb": {
914+
"deps": [],
915+
"priority": 4,
916+
"status": "open",
917+
"title": "test-merge-to-main: sed sentinel range fragile to future refactoring",
918+
"type": "bug"
919+
},
864920
"dso-t4k8": {
865921
"deps": [],
866922
"priority": 1,
@@ -975,6 +1031,20 @@
9751031
"title": "Untitled",
9761032
"type": "task"
9771033
},
1034+
"dso-w20r": {
1035+
"deps": [],
1036+
"priority": 4,
1037+
"status": "open",
1038+
"title": "validate.sh: comment says do NOT use run_with_timeout but code does use it",
1039+
"type": "bug"
1040+
},
1041+
"dso-w7bs": {
1042+
"deps": [],
1043+
"priority": 4,
1044+
"status": "open",
1045+
"title": "Fix: assert pending state file content in test_validate_exits_2_on_partial_tests integration test",
1046+
"type": "bug"
1047+
},
9781048
"dso-wmjr": {
9791049
"deps": [],
9801050
"priority": 2,
@@ -1234,7 +1304,7 @@
12341304
"w21-9k4z": {
12351305
"deps": [],
12361306
"priority": 2,
1237-
"status": "open",
1307+
"status": "closed",
12381308
"title": "Recurring tool error: command_exit_nonzero (56 occurrences)",
12391309
"type": "bug"
12401310
},
@@ -1248,7 +1318,7 @@
12481318
"w21-ae0s": {
12491319
"deps": [],
12501320
"priority": 1,
1251-
"status": "open",
1321+
"status": "closed",
12521322
"title": "Validation gate times out on projects with >50s test suites \u2014 incorporate test-batched or split validate.sh",
12531323
"type": "bug"
12541324
},
@@ -1457,9 +1527,9 @@
14571527
"w21-ni6d": {
14581528
"deps": [],
14591529
"priority": 2,
1460-
"status": "open",
1530+
"status": "closed",
14611531
"title": "test-jq-to-parse-json-field.sh uses real REPO_ROOT for cascade STATE_DIR \u2014 same isolation anti-pattern as dso-b934",
1462-
"type": "task"
1532+
"type": "bug"
14631533
},
14641534
"w21-njch": {
14651535
"deps": [
@@ -1628,9 +1698,9 @@
16281698
"w21-wlhw": {
16291699
"deps": [],
16301700
"priority": 2,
1631-
"status": "open",
1701+
"status": "closed",
16321702
"title": "test-pre-edit-write-dispatcher.sh uses real REPO_ROOT for cascade STATE_DIR \u2014 same isolation anti-pattern as dso-b934",
1633-
"type": "task"
1703+
"type": "bug"
16341704
},
16351705
"w21-xlaw": {
16361706
"deps": [
@@ -1644,7 +1714,7 @@
16441714
"w21-yzln": {
16451715
"deps": [],
16461716
"priority": 2,
1647-
"status": "open",
1717+
"status": "closed",
16481718
"title": "Recurring tool error: command_exit_nonzero (64 occurrences)",
16491719
"type": "bug"
16501720
},

.tickets/archive/dso-h04l.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-h04l
3-
status: closed
3+
status: in_progress
44
deps: []
55
links: []
66
created: 2026-03-19T23:32:11Z
@@ -47,3 +47,10 @@ Closed: All diagnostics passing, all bugs resolved
4747
<!-- sync: unsynced -->
4848

4949
CLOSE REASON: Fixed: session complete, all diagnostics passing
50+
51+
<!-- note-id: yi9jzx4d -->
52+
<!-- timestamp: 2026-03-20T22:07:35Z -->
53+
<!-- origin: agent -->
54+
<!-- sync: unsynced -->
55+
56+
Session: 2026-03-20T22:07:35+0000 | Worktree: /Users/joeoakhart/digital-service-orchestra-worktrees/worktree-20260320-130729

.tickets/dso-094a.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,37 @@
11
---
22
id: dso-094a
3-
status: open
3+
status: closed
44
deps: []
55
links: []
66
created: 2026-03-19T18:21:58Z
77
type: bug
88
priority: 2
99
assignee: Joe Oakhart
1010
jira_key: DIG-65
11+
parent: dso-9xnr
1112
---
1213
# fix: agent-batch-lifecycle.sh cleanup-discoveries crashes — get_artifacts_dir not found when CLAUDE_PLUGIN_ROOT points to main repo instead of plugin dir
1314

15+
16+
## Notes
17+
18+
<!-- note-id: nq3xsv04 -->
19+
<!-- timestamp: 2026-03-20T23:50:08Z -->
20+
<!-- origin: agent -->
21+
<!-- sync: unsynced -->
22+
23+
CLOSE REASON: Fixed: applied defensive plugin.json validation guard to cmd_cleanup_discoveries in plugins/dso/scripts/agent-batch-lifecycle.sh; added regression test in tests/scripts/test-lifecycle-portability.sh
24+
25+
<!-- note-id: r6yaatwq -->
26+
<!-- timestamp: 2026-03-21T00:11:08Z -->
27+
<!-- origin: agent -->
28+
<!-- sync: unsynced -->
29+
30+
Fixed: defensive plugin.json sentinel guard for CLAUDE_PLUGIN_ROOT. Test: test-lifecycle-portability.sh.
31+
32+
<!-- note-id: mzwah33m -->
33+
<!-- timestamp: 2026-03-21T00:11:09Z -->
34+
<!-- origin: agent -->
35+
<!-- sync: unsynced -->
36+
37+
CLOSE REASON: Fixed: agent-batch-lifecycle.sh plugin root resolution (commit 0ab58e5)

.tickets/dso-1aaa.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ type: bug
88
priority: 3
99
assignee: Joe Oakhart
1010
jira_key: DIG-52
11+
parent: dso-9xnr
1112
---
1213
# Bug: tk create rejects --parent=id flag (only --parent id works)
1314

.tickets/dso-2da0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ type: bug
88
priority: 2
99
assignee: Joe Oakhart
1010
jira_key: DIG-62
11+
parent: dso-9xnr
1112
---
1213
# Recurring tool error: command_exit_nonzero (56 occurrences)
1314

.tickets/dso-2xqd.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
---
22
id: dso-2xqd
3-
status: open
3+
status: closed
44
deps: []
55
links: []
66
created: 2026-03-19T16:58:24Z
77
type: bug
88
priority: 2
99
assignee: Joe Oakhart
1010
jira_key: DIG-64
11+
parent: dso-9xnr
1112
---
1213
# fix: sprint skill Phase 4 references scripts/worktree-sync-from-main.sh instead of plugins/dso/scripts/worktree-sync-from-main.sh
1314

15+
16+
## Notes
17+
18+
<!-- note-id: wanmk1ql -->
19+
<!-- timestamp: 2026-03-21T00:16:51Z -->
20+
<!-- origin: agent -->
21+
<!-- sync: unsynced -->
22+
23+
CLOSE REASON: Fixed: commit 3c13efc fixed 32 stale $REPO_ROOT/scripts/ refs across sprint skill and others; test-stale-script-path-refs.sh passes

0 commit comments

Comments
 (0)