dew-method 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "dew-method",
4
- "version": "0.1.0",
4
+ "version": "1.0.0",
5
5
  "description": "Data Engineering Workflow skills packaged as a BMAD-style installable module",
6
6
  "keywords": [
7
7
  "data-engineering",
@@ -23,7 +23,10 @@ You may recommend, but you must not decide.
23
23
 
24
24
  - Do not write a final brief before project scope is clear.
25
25
  - Do not treat KPI/source assumptions as facts.
26
- - If the project has no clear consumer or decision, trigger `HALT-01 — Business Decision Unclear`.
26
+ - Do not ask a long questionnaire when guided interview mode is enabled.
27
+ - Ask one primary question at a time when `guided_interview_mode=true` or `question_batch_size=1`.
28
+ - Every question must include short context, examples/options, and permission to answer `chưa rõ` / `not sure`.
29
+ - If the project has no clear consumer or decision, do guided discovery first; trigger `HALT-01 — Business Decision Unclear` only if the user asks to finalize or proceed past the required gate anyway.
27
30
  - Record project-shaping decisions in `.decision-log.md`.
28
31
  - If learning mode is enabled, explain the relevant data engineering concepts.
29
32
 
@@ -39,7 +42,7 @@ You may recommend, but you must not decide.
39
42
 
40
43
  3. Load persistent facts from `{workflow.persistent_facts}`.
41
44
 
42
- 4. Load `{project-root}/_dew/dew/config.yaml` if present and resolve:
45
+ 4. Load `{project-root}/_dew/config.yaml` if present and resolve:
43
46
  - `{user_name}`
44
47
  - `{project_name}`
45
48
  - `{communication_language}`
@@ -47,10 +50,14 @@ You may recommend, but you must not decide.
47
50
  - `{planning_artifacts}`
48
51
  - `{learning_artifacts}`
49
52
  - `{learning_mode}`
53
+ - `{guided_interview_mode}`
54
+ - `{question_batch_size}`
55
+ - `{beginner_prompt_style}`
50
56
 
51
57
  5. Load:
52
58
  - `{workflow.brief_template}`
53
59
  - `{workflow.validation_rubric}`
60
+ - `{workflow.guided_interview_policy}` if present
54
61
 
55
62
  6. Greet user in `{communication_language}`.
56
63
 
@@ -85,11 +92,99 @@ Critique an existing project brief against the validation rubric.
85
92
 
86
93
  Do not modify the brief unless the user asks.
87
94
 
88
- ## Discovery
95
+ ## Guided Discovery
89
96
 
90
- Start with a broad project dump.
97
+ When creating a brief, do not start with a broad project dump unless the user explicitly asks for expert mode.
98
+
99
+ Start with the minimum viable sequence below. Ask exactly one question at a time in guided mode.
100
+
101
+ ### Question 1 — Project idea
102
+
103
+ Ask:
104
+
105
+ What data engineering project do you want to build?
106
+
107
+ Explain that this can be rough. Provide examples:
108
+
109
+ A. Weather/agriculture advisory data product
110
+ B. Sales KPI dashboard pipeline
111
+ C. Public API to Bronze/Silver/Gold demo
112
+ D. Data quality monitoring project
113
+ E. Not sure yet
114
+
115
+ After the user answers, summarize the answer in one sentence and continue.
116
+
117
+ ### Question 2 — Target user / consumer
118
+
119
+ Ask who will use the data product.
120
+
121
+ Options:
122
+
123
+ A. Data analyst
124
+ B. Business/internal decision-maker
125
+ C. Farmer/end user/customer
126
+ D. Data engineer/learning portfolio reviewer
127
+ E. Not sure yet
128
+
129
+ If unclear, help narrow it before continuing.
130
+
131
+ ### Question 3 — Decision or question supported
132
+
133
+ Ask what decision, action, or question the data product should support.
134
+
135
+ Options:
136
+
137
+ A. Monitor performance
138
+ B. Detect risk/anomaly
139
+ C. Compare regions/products/time periods
140
+ D. Recommend an action
141
+ E. Learn/portfolio only for now
142
+ F. Not sure yet
143
+
144
+ Do not finalize the brief if this remains unclear.
145
+
146
+ ### Question 4 — Data product type
147
+
148
+ Ask what the expected output is.
149
+
150
+ Options:
151
+
152
+ A. Dashboard
153
+ B. Gold data mart
154
+ C. API
155
+ D. Report/notebook
156
+ E. Web app feature
157
+ F. ML/feature table
158
+ G. Not sure yet
159
+
160
+ Recommend a simple option when the user is a beginner.
161
+
162
+ ### Question 5 — Project type gate
163
+
164
+ Ask the user to choose:
165
+
166
+ A. Learning / exploration
167
+ B. Portfolio project
168
+ C. Internal decision-support
169
+ D. Production-grade
170
+
171
+ Explain the trade-off briefly. Do not continue until the user chooses or asks for guidance.
172
+
173
+ ### Optional Follow-up Questions
174
+
175
+ After the five required questions, ask follow-ups one at a time only when needed:
176
+
177
+ - domain
178
+ - known sources
179
+ - known KPIs
180
+ - constraints
181
+ - intended platform/tools
182
+ - learning objectives
183
+
184
+ ## Expert Discovery
185
+
186
+ If `question_batch_size=all` or the user asks for expert mode, it is acceptable to ask for:
91
187
 
92
- Ask for:
93
188
  - project idea
94
189
  - target user
95
190
  - business or learning goal
@@ -98,16 +193,8 @@ Ask for:
98
193
  - known sources
99
194
  - known KPIs
100
195
  - constraints
101
- - intended platform/tools, if any
102
-
103
- Then classify the project:
104
-
105
- A. Learning / exploration
106
- B. Portfolio project
107
- C. Internal decision-support
108
- D. Production-grade
109
-
110
- This is a decision gate. Do not continue until the user chooses.
196
+ - intended platform/tools
197
+ - project type
111
198
 
112
199
  ## Required Brief Sections
113
200
 
@@ -127,6 +214,21 @@ The brief must include:
127
214
  - evidence required before architecture
128
215
  - next workflow recommendation
129
216
 
217
+ ## Draft Behavior
218
+
219
+ If required information is incomplete, create `brief.md` with `status: draft`, not final.
220
+
221
+ Use frontmatter like:
222
+
223
+ ```yaml
224
+ status: draft
225
+ gate:
226
+ GATE-00-project-scope: pending
227
+ missing:
228
+ - target user
229
+ - business decision
230
+ ```
231
+
130
232
  ## Finalize
131
233
 
132
234
  Before marking the brief as final:
@@ -8,6 +8,7 @@ activation_steps_prepend = []
8
8
  activation_steps_append = []
9
9
 
10
10
  persistent_facts = [
11
+ "file:{project-root}/_dew/guided-interview-policy.md",
11
12
  "file:{project-root}/**/project-context.md",
12
13
  "file:{project-root}/**/.decision-log.md",
13
14
  "file:{project-root}/**/.learning-log.md",
@@ -17,10 +18,11 @@ on_complete = ""
17
18
 
18
19
  brief_template = "assets/project-brief-template.md"
19
20
  validation_rubric = "assets/project-brief-validation-rubric.md"
21
+ guided_interview_policy = "../../shared/guided-interview-policy.md"
20
22
  checklist = "checklist.md"
21
23
 
22
24
  brief_output_path = "{planning_artifacts}/project-briefs"
23
25
  run_folder_pattern = "project-brief-{project_name}-{date}"
24
26
 
25
27
  decision_log_path = "{planning_artifacts}/.decision-log.md"
26
- learning_log_path = "{learning_artifacts}/.learning-log.md"
28
+ learning_log_path = "{learning_artifacts}/.learning-log.md"
@@ -35,6 +35,35 @@ learning_mode:
35
35
  default: "true"
36
36
  result: "{value}"
37
37
 
38
+ guided_interview_mode:
39
+ prompt:
40
+ - "Should DEW ask questions one at a time with examples and suggestions?"
41
+ - "Recommended for beginners and for early planning skills."
42
+ scope: user
43
+ default: "true"
44
+ result: "{value}"
45
+
46
+ question_batch_size:
47
+ prompt:
48
+ - "How many questions should DEW ask at once during discovery?"
49
+ scope: user
50
+ default: "1"
51
+ result: "{value}"
52
+ single-select:
53
+ - value: "1"
54
+ label: "One question at a time - beginner friendly"
55
+ - value: "3"
56
+ label: "Small batch - faster but still guided"
57
+ - value: "all"
58
+ label: "Full checklist - expert mode"
59
+
60
+ beginner_prompt_style:
61
+ prompt:
62
+ - "Should DEW include examples, choices, and a recommended option when asking questions?"
63
+ scope: user
64
+ default: "true"
65
+ result: "{value}"
66
+
38
67
  planning_artifacts:
39
68
  prompt: "Where should planning artifacts be stored?"
40
69
  default: "{output_folder}/planning-artifacts"
@@ -115,4 +144,4 @@ agents:
115
144
  title: Technical Writer
116
145
  icon: "📚"
117
146
  team: data-engineering
118
- description: "Creates clear documentation, diagrams, learning notes, and reusable patterns."
147
+ description: "Creates clear documentation, diagrams, learning notes, and reusable patterns."
@@ -0,0 +1,98 @@
1
+ # DEW Guided Interview Policy
2
+
3
+ ## Purpose
4
+
5
+ Make every DEW skill beginner-friendly by default. Skills must guide users step by step instead of asking for a large form all at once.
6
+
7
+ ## Global Rule
8
+
9
+ When `guided_interview_mode` is true or `question_batch_size` is `1`, ask exactly one primary question at a time.
10
+
11
+ Do not ask a 5-10 item questionnaire in a single response unless the user explicitly chooses expert mode.
12
+
13
+ ## Question Format
14
+
15
+ Every question should include:
16
+
17
+ 1. A short explanation of why the question matters.
18
+ 2. 2-5 concrete answer options when possible.
19
+ 3. One recommended/default option when reasonable.
20
+ 4. Permission to answer `chưa rõ` / `not sure`.
21
+ 5. A clear next step after the user answers.
22
+
23
+ Recommended format:
24
+
25
+ ```markdown
26
+ We need to decide **<concept>** because <reason>.
27
+
28
+ Question 1/<n>: <single question>
29
+
30
+ You can answer with:
31
+ A. <option>
32
+ B. <option>
33
+ C. <option>
34
+ D. Not sure yet
35
+
36
+ Recommended for your case: <option> because <reason>.
37
+ ```
38
+
39
+ ## Beginner Mode Behavior
40
+
41
+ If `user_skill_level` is `beginner`:
42
+
43
+ - Explain jargon before using it.
44
+ - Prefer examples over abstract definitions.
45
+ - Ask one question at a time.
46
+ - Avoid HALT language unless risk is serious.
47
+ - Use `guided discovery` before declaring a hard halt.
48
+ - Produce draft artifacts with missing fields instead of blocking immediately.
49
+
50
+ ## HALT Behavior
51
+
52
+ Do not trigger a hard HALT just because the user is unsure.
53
+
54
+ Use this sequence:
55
+
56
+ 1. Ask one clarifying question.
57
+ 2. Offer examples/options.
58
+ 3. If still unclear, create a draft artifact with `status: draft` and `missing:` fields.
59
+ 4. Trigger HALT only when the user asks to finalize or proceed past a required gate without required evidence.
60
+
61
+ ## Artifact Behavior
62
+
63
+ When information is incomplete, create a draft artifact instead of a final artifact.
64
+
65
+ Draft frontmatter example:
66
+
67
+ ```yaml
68
+ status: draft
69
+ gate:
70
+ GATE-00-project-scope: pending
71
+ missing:
72
+ - target user
73
+ - business decision
74
+ ```
75
+
76
+ ## Expert Mode
77
+
78
+ If `question_batch_size` is `all` or the user asks for expert mode:
79
+
80
+ - It is acceptable to ask a full checklist.
81
+ - Still avoid inventing answers.
82
+ - Clearly label assumptions and missing evidence.
83
+
84
+ ## Applies To
85
+
86
+ This policy applies to all DEW skills, especially:
87
+
88
+ - dew-project-brief
89
+ - dew-business-discovery
90
+ - dew-kpi-discovery
91
+ - dew-data-product-prd
92
+ - dew-kpi-feasibility
93
+ - dew-source-discovery
94
+ - dew-source-assessment
95
+ - dew-source-validation
96
+ - dew-requirement-gate
97
+ - dew-data-architecture
98
+ - dew-create-data-story