@@ -20,10 +20,12 @@ detect_workflow_config() {
2020 fi
2121
2222 # Extract mode (look for line: **Workflow Mode**: build|spec)
23- local mode_line=$( grep " ^\*\*Workflow Mode\*\*:" " $spec_file " | head -1)
24- if [[ -n " $mode_line " ]]; then
25- mode=$( echo " $mode_line " | sed ' s/.*: *\([^ ]*\).*/\1/' | tr -d ' [:space:]' )
26- fi
23+ local mode_line
24+ mode_line=$( grep " ^\*\*Workflow Mode\*\*:" " $spec_file " | head -1)
25+ local mode=" spec"
26+ if [[ -n " $mode_line " ]]; then
27+ mode=$( echo " $mode_line " | sed ' s/.*: *\(.*\)/\1/' | tr -d ' [:space:]' )
28+ fi
2729
2830 # Validate mode (must be build or spec)
2931 if [[ ! " $mode " =~ ^(build| spec)$ ]]; then
@@ -40,21 +42,19 @@ detect_workflow_config() {
4042
4143 # Extract and override with explicit options
4244 # Look for line: **Framework Options**: tdd=true, contracts=false, ...
43- local options_line=$( grep " ^\*\*Framework Options\*\*:" " $spec_file " | head -1 | sed ' s/.*: *\(.*\)/\1/' )
44-
45- if [[ -n " $options_line " ]]; then
46- # Parse: tdd=true, contracts=false, data_models=true, risk_tests=true
47- local tdd_val=$( echo " $options_line " | grep -o " tdd=[^,]*" | cut -d= -f2 | tr -d ' [:space:]' )
48- local contracts_val=$( echo " $options_line " | grep -o " contracts=[^,]*" | cut -d= -f2 | tr -d ' [:space:]' )
49- local data_models_val=$( echo " $options_line " | grep -o " data_models=[^,]*" | cut -d= -f2 | tr -d ' [:space:]' )
50- local risk_tests_val=$( echo " $options_line " | grep -o " risk_tests=[^,]*" | cut -d= -f2 | tr -d ' [:space:]' )
45+ local options_line
46+ options_line=$( grep " ^\*\*Framework Options\*\*:" " $spec_file " | head -1 | sed ' s/.*: *\(.*\)/\1/' )
47+ local tdd_val=" true"
48+ local contracts_val=" true"
49+ local data_models_val=" true"
50+ local risk_tests_val=" true"
5151
52- # Override defaults if explicitly set
53- [[ -n " $tdd_val " ]] && tdd=" $tdd_val "
54- [[ -n " $contracts_val " ]] && contracts=" $contracts_val "
55- [[ -n " $data_models_val " ]] && data_models=" $data_models_val "
56- [[ -n " $risk_tests_val " ]] && risk_tests=" $risk_tests_val "
57- fi
52+ if [[ -n " $options_line " ]] ; then
53+ tdd_val= $( echo " $options_line " | grep -o " tdd=[^,]* " | cut -d= -f2 | tr -d ' [:space:] ' )
54+ contracts_val= $( echo " $options_line " | grep -o " contracts=[^,]* " | cut -d= -f2 | tr -d ' [:space:] ' )
55+ data_models_val= $( echo " $options_line " | grep -o " data_models=[^,]* " | cut -d= -f2 | tr -d ' [:space:] ' )
56+ risk_tests_val= $( echo " $options_line " | grep -o " risk_tests=[^,]* " | cut -d= -f2 | tr -d ' [:space:] ' )
57+ fi
5858
5959 # Return as JSON
6060 echo " {\" mode\" :\" $mode \" ,\" tdd\" :$tdd ,\" contracts\" :$contracts ,\" data_models\" :$data_models ,\" risk_tests\" :$risk_tests }"
0 commit comments