Skip to content

Commit e0183be

Browse files
feat(dso-kknz): batch 6 — update all runtime scripts to .claude/dso-config.conf
Update 6 runtime scripts (validate.sh, validate-phase.sh, sprint-next-batch.sh, check-persistence-coverage.sh, reset-tickets.sh, auto-format.sh) to construct config paths using .claude/dso-config.conf instead of workflow-config.conf. RED tests from dso-3v44 now pass GREEN (10/10 in test-config-callers-updated.sh). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8db56fb commit e0183be

File tree

9 files changed

+49
-21
lines changed

9 files changed

+49
-21
lines changed

.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-20T04:52:22Z",
453-
"last_sync_commit": "0116829068c17de6db9c6bc40a6e9543b584053b",
452+
"last_pull_timestamp": "2026-03-20T05:03:35Z",
453+
"last_sync_commit": "8db56fb4b1da1563beac66bd0875948f5ecaf9ed",
454454
"w21-5cqr": {
455455
"jira_hash": "bce29d76f01c58613ee99cb1dd03920d",
456456
"jira_key": "DIG-61",

.tickets/dso-2vwl.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-2vwl
3-
status: open
3+
status: in_progress
44
deps: [dso-3v44, dso-opue]
55
links: []
66
created: 2026-03-20T03:33:33Z
@@ -74,3 +74,29 @@ Update all runtime scripts that hardcode 'workflow-config.conf' in config path c
7474
Verify: grep -q '\.claude/dso-config\.conf' $(git rev-parse --show-toplevel)/plugins/dso/scripts/sprint-next-batch.sh
7575
- [ ] No active lines in plugins/dso/scripts/*.sh construct REPO_ROOT/workflow-config.conf path (excluding dso-setup.sh, read-config.sh, validate-config.sh)
7676
Verify: grep -r 'REPO_ROOT.*workflow-config\.conf' $(git rev-parse --show-toplevel)/plugins/dso/scripts/ --include='*.sh' | grep -v 'read-config\.sh\|validate-config\.sh\|dso-setup\.sh\|submit-to-schemastore\.sh' | grep -c . | awk '{exit ($1 > 0)}'
77+
78+
## Notes
79+
80+
**2026-03-20T04:55:30Z**
81+
82+
CHECKPOINT 1/6: Task context loaded ✓
83+
84+
**2026-03-20T04:56:18Z**
85+
86+
CHECKPOINT 2/6: Code patterns understood ✓
87+
88+
**2026-03-20T04:56:24Z**
89+
90+
CHECKPOINT 3/6: Tests written (RED tests exist from dso-3v44) ✓
91+
92+
**2026-03-20T04:58:10Z**
93+
94+
CHECKPOINT 4/6: Implementation complete ✓
95+
96+
**2026-03-20T05:10:10Z**
97+
98+
CHECKPOINT 5/6: Tests GREEN - test-config-callers-updated.sh: 10 passed, 0 failed ✓
99+
100+
**2026-03-20T05:10:28Z**
101+
102+
CHECKPOINT 6/6: Done ✓ — All 10 tests GREEN, all 6 AC verify commands pass, no new test regressions

.tickets/dso-opue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: dso-opue
3-
status: in_progress
3+
status: closed
44
deps: [dso-s6kt]
55
links: []
66
created: 2026-03-20T03:32:16Z

plugins/dso/hooks/auto-format.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# PostToolUse hook: auto-format source files after Edit/Write tool calls.
44
#
55
# By default, processes .py files under app/src/ and app/tests/.
6-
# When CLAUDE_PLUGIN_ROOT is set and workflow-config.conf is present, reads:
6+
# When WORKFLOW_CONFIG_FILE is set or CLAUDE_PLUGIN_ROOT is set and .claude/dso-config.conf is present, reads:
77
# format.extensions — list of file extensions to process (default: ['.py'])
88
# format.source_dirs — directories to restrict processing to (default: app/src, app/tests)
99
# commands.format — project-wide format command (used to derive single-file command)
@@ -53,9 +53,11 @@ APP_DIR="$REPO_ROOT/app"
5353
# commands.format — project-wide format command (used to derive single-file command)
5454

5555
CONFIG_FILE=""
56-
if [[ -n "${CLAUDE_PLUGIN_ROOT}" ]]; then
57-
if [[ -f "${CLAUDE_PLUGIN_ROOT}/workflow-config.conf" ]]; then
58-
CONFIG_FILE="${CLAUDE_PLUGIN_ROOT}/workflow-config.conf"
56+
if [[ -n "${WORKFLOW_CONFIG_FILE:-}" && -f "${WORKFLOW_CONFIG_FILE}" ]]; then
57+
CONFIG_FILE="${WORKFLOW_CONFIG_FILE}"
58+
elif [[ -n "${CLAUDE_PLUGIN_ROOT}" ]]; then
59+
if [[ -f "${CLAUDE_PLUGIN_ROOT}/.claude/dso-config.conf" ]]; then
60+
CONFIG_FILE="${CLAUDE_PLUGIN_ROOT}/.claude/dso-config.conf"
5961
fi
6062
fi
6163

plugins/dso/scripts/check-persistence-coverage.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ REPO_ROOT="$(git rev-parse --show-toplevel)"
3333
# test_patterns: extended regex patterns (grep -E)
3434

3535
# CONFIG_FILE may be overridden via environment variable for test isolation.
36-
# In production, defaults to the repo-level workflow-config.conf.
37-
CONFIG_FILE="${CONFIG_FILE:-$REPO_ROOT/workflow-config.conf}"
36+
# In production, defaults to the repo-level .claude/dso-config.conf.
37+
CONFIG_FILE="${CONFIG_FILE:-$REPO_ROOT/.claude/dso-config.conf}"
3838

3939
# If the config file does not exist at all, treat as no-op with a warning.
4040
if [[ ! -f "$CONFIG_FILE" ]]; then

plugins/dso/scripts/reset-tickets.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ fi
7070
# ── Resolve Jira project ────────────────────────────────────────────────────
7171

7272
if [[ -z "$JIRA_PROJECT" ]]; then
73-
# Read from env var first, then workflow-config.conf
73+
# Read from env var first, then .claude/dso-config.conf
7474
if [[ -n "${JIRA_PROJECT_OVERRIDE:-}" ]]; then
7575
JIRA_PROJECT="$JIRA_PROJECT_OVERRIDE"
7676
else
77-
JIRA_PROJECT=$("${CLAUDE_PLUGIN_ROOT}/scripts/read-config.sh" jira.project "$REPO_ROOT/workflow-config.conf" 2>/dev/null) || true
77+
JIRA_PROJECT=$("${CLAUDE_PLUGIN_ROOT}/scripts/read-config.sh" jira.project "$REPO_ROOT/.claude/dso-config.conf" 2>/dev/null) || true
7878
fi
7979
fi
8080

plugins/dso/scripts/sprint-next-batch.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ ANALYZE_IMPACT="${CLAUDE_PLUGIN_ROOT}/scripts/analyze-file-impact.py"
6161
READ_CONFIG="${CLAUDE_PLUGIN_ROOT}/scripts/read-config.sh" # reads workflow-config.conf
6262
_config_python=""
6363
if [ -x "$READ_CONFIG" ]; then
64-
_config_python=$("$READ_CONFIG" interpreter.python_venv "$REPO_ROOT/workflow-config.conf" 2>/dev/null || true) # read-config.sh interpreter
64+
_config_python=$("$READ_CONFIG" interpreter.python_venv "$REPO_ROOT/.claude/dso-config.conf" 2>/dev/null || true) # read-config.sh interpreter
6565
if [ -n "$_config_python" ] && [ -x "$REPO_ROOT/$_config_python" ]; then
6666
_config_python="$REPO_ROOT/$_config_python"
6767
else
@@ -76,9 +76,9 @@ CFG_SRC_DIR=""
7676
CFG_TEST_DIR=""
7777
CFG_TEST_UNIT_DIR=""
7878
if [ -x "$READ_CONFIG" ]; then
79-
CFG_SRC_DIR=$("$READ_CONFIG" paths.src_dir "$REPO_ROOT/workflow-config.conf" 2>/dev/null || true)
80-
CFG_TEST_DIR=$("$READ_CONFIG" paths.test_dir "$REPO_ROOT/workflow-config.conf" 2>/dev/null || true)
81-
CFG_TEST_UNIT_DIR=$("$READ_CONFIG" paths.test_unit_dir "$REPO_ROOT/workflow-config.conf" 2>/dev/null || true)
79+
CFG_SRC_DIR=$("$READ_CONFIG" paths.src_dir "$REPO_ROOT/.claude/dso-config.conf" 2>/dev/null || true)
80+
CFG_TEST_DIR=$("$READ_CONFIG" paths.test_dir "$REPO_ROOT/.claude/dso-config.conf" 2>/dev/null || true)
81+
CFG_TEST_UNIT_DIR=$("$READ_CONFIG" paths.test_unit_dir "$REPO_ROOT/.claude/dso-config.conf" 2>/dev/null || true)
8282
fi
8383
# Defaults for when config is unavailable
8484
CFG_SRC_DIR="${CFG_SRC_DIR:-src}"

plugins/dso/scripts/validate-phase.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ if [ -z "$phase" ]; then
4242
fi
4343

4444
# --- Config-driven command resolution ---
45-
# All commands are read once from workflow-config.conf via read-config.sh.
45+
# All commands are read once from .claude/dso-config.conf via read-config.sh.
4646
# This makes the script portable across projects with different toolchains.
4747
# Missing required keys fail fast with a clear error message.
4848

4949
READ_CONFIG="$SCRIPT_DIR/read-config.sh"
50-
CONFIG_FILE="$REPO_ROOT/workflow-config.conf"
50+
CONFIG_FILE="$REPO_ROOT/.claude/dso-config.conf"
5151

5252
_cfg() {
5353
local key="$1"
@@ -61,7 +61,7 @@ _cfg_required() {
6161
local val
6262
val=$(_cfg "$key")
6363
if [ -z "$val" ]; then
64-
echo "ERROR: $key not configured in workflow-config.conf" >&2
64+
echo "ERROR: $key not configured in .claude/dso-config.conf" >&2
6565
exit 2
6666
fi
6767
echo "$val"

plugins/dso/scripts/validate.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,10 @@ else
8282
fi
8383

8484
# --- Config-driven command and path resolution ---
85-
# All commands are read from workflow-config.conf via read-config.sh.
85+
# All commands are read from .claude/dso-config.conf via read-config.sh.
8686
# Fallback defaults preserve backward compatibility when config keys are absent.
8787
READ_CONFIG="$SCRIPT_DIR/read-config.sh"
88-
CONFIG_FILE="${CONFIG_FILE:-$REPO_ROOT/workflow-config.conf}"
88+
CONFIG_FILE="${CONFIG_FILE:-$REPO_ROOT/.claude/dso-config.conf}"
8989

9090
_cfg() {
9191
local key="$1" default="${2:-}"

0 commit comments

Comments
 (0)