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
|
@@ -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
|
-
-
|
|
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/
|
|
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
|
-
|
|
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
|
|
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
|