@mriekki/lean 0.4.3 → 0.4.4
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/assets/components.json +2 -2
- package/assets/core/distribution.json +3 -0
- package/assets/generated/ASSEMBLY.json +28 -13
- package/assets/generated/core/core/learning/DIAGRAM_GUIDE.md +46 -6
- package/assets/generated/core/core/learning/ENGINEERING_LEARNING_WORKBOOK.md +29 -6
- package/assets/generated/core/core/learning/LEARNING_MAP.md +37 -2
- package/assets/generated/core/core/learning/LEARNING_PROGRESS.md +15 -7
- package/assets/generated/core/core/learning/SYSTEM_DESIGN_DRILLS.md +299 -19
- package/assets/generated/core/core/process/COACHING_GUIDE.md +35 -2
- package/assets/generated/core/core/process/DATABASE_LEARNING_WORKBENCH.md +153 -102
- package/assets/generated/core/core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md +520 -0
- package/assets/generated/core/core/skills/coach/SKILL.md +31 -4
- package/assets/generated/core/core/skills/db-lab/SKILL.md +59 -16
- package/assets/generated/core/core/skills/deliver/SKILL.md +77 -5
- package/assets/generated/core/core/skills/next-step/SKILL.md +13 -3
- package/assets/generated/core/core/skills/system-lab/SKILL.md +333 -0
- package/assets/generated/core/tools/system_lab/system_workbench.py +243 -0
- package/package.json +1 -1
package/assets/components.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": "@mriekki/lean",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.4",
|
|
5
5
|
"defaultProfile": "greenfield-poc",
|
|
6
6
|
"profiles": {
|
|
7
7
|
"greenfield-poc": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"components": {
|
|
15
15
|
"core": {
|
|
16
16
|
"repository": "mriekki/lean-agentic-core",
|
|
17
|
-
"commit": "
|
|
17
|
+
"commit": "c2d9538cdbb5ddb46527133fefae698e25a6e603",
|
|
18
18
|
"version": "1.13.0",
|
|
19
19
|
"distribution": "greenfield-workspace",
|
|
20
20
|
"descriptor": "assets/core/distribution.json",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
{"source":"core/skills/tear-down/SKILL.md","destination":".github/skills/tear-down/SKILL.md"},
|
|
26
26
|
{"source":"core/skills/coach/SKILL.md","destination":".github/skills/coach/SKILL.md"},
|
|
27
27
|
{"source":"core/skills/db-lab/SKILL.md","destination":".github/skills/db-lab/SKILL.md"},
|
|
28
|
+
{"source":"core/skills/system-lab/SKILL.md","destination":".github/skills/system-lab/SKILL.md"},
|
|
28
29
|
{"source":"core/skills/code-walkthrough/SKILL.md","destination":".github/skills/code-walkthrough/SKILL.md"},
|
|
29
30
|
{"source":"core/skills/learning-review/SKILL.md","destination":".github/skills/learning-review/SKILL.md"},
|
|
30
31
|
{"source":"core/process/WORK_ITEM_MODEL.md","destination":"docs/process/WORK_ITEM_MODEL.md"},
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
{"source":"core/process/INTERACTIVE_SESSION_GUIDE.md","destination":"docs/process/INTERACTIVE_SESSION_GUIDE.md"},
|
|
36
37
|
{"source":"core/process/COACHING_GUIDE.md","destination":"docs/process/COACHING_GUIDE.md"},
|
|
37
38
|
{"source":"core/process/DATABASE_LEARNING_WORKBENCH.md","destination":"docs/process/DATABASE_LEARNING_WORKBENCH.md"},
|
|
39
|
+
{"source":"core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md","destination":"docs/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md"},
|
|
38
40
|
{"source":"core/process/SETUP_ACCEPTANCE_CHECKLIST.md","destination":"docs/process/SETUP_ACCEPTANCE_CHECKLIST.md"},
|
|
39
41
|
{"source":"core/templates/PULL_REQUEST_TEMPLATE.md","destination":".github/PULL_REQUEST_TEMPLATE.md"},
|
|
40
42
|
{"source":"core/templates/PRODUCT_BRIEF_TEMPLATE.md","destination":"docs/templates/PRODUCT_BRIEF_TEMPLATE.md"},
|
|
@@ -49,6 +51,7 @@
|
|
|
49
51
|
{"source":"core/learning/DIAGRAM_GUIDE.md","destination":"learning/DIAGRAM_GUIDE.md"},
|
|
50
52
|
{"source":"core/learning/RESOURCE_CATALOG.md","destination":"learning/RESOURCE_CATALOG.md"},
|
|
51
53
|
{"source":"tools/db_lab/sqlite_workbench.py","destination":"tools/lean-db-lab/sqlite-workbench.py"},
|
|
54
|
+
{"source":"tools/system_lab/system_workbench.py","destination":"tools/lean-system-lab/system-workbench.py"},
|
|
52
55
|
{"source":"tools/package/check_baseline.py","destination":"tools/lean-core/check-core-baseline.py"},
|
|
53
56
|
{"source":"tools/package/check_upstream.py","destination":"tools/lean-core/check-core-upstream.py"}
|
|
54
57
|
]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": "@mriekki/lean",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.4",
|
|
5
5
|
"components": {
|
|
6
6
|
"core": {
|
|
7
7
|
"repository": "mriekki/lean-agentic-core",
|
|
8
|
-
"commit": "
|
|
8
|
+
"commit": "c2d9538cdbb5ddb46527133fefae698e25a6e603",
|
|
9
9
|
"version": "1.13.0",
|
|
10
10
|
"distribution": "greenfield-workspace",
|
|
11
11
|
"files": [
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
{
|
|
63
63
|
"source": "core/skills/next-step/SKILL.md",
|
|
64
64
|
"destination": ".github/skills/next-step/SKILL.md",
|
|
65
|
-
"sha256": "
|
|
65
|
+
"sha256": "833b015a795dee2fa8eaefd8b7ea7dda42951390846cf3bc8c2c2eb2ea3451bf"
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
68
|
"source": "core/skills/deliver/SKILL.md",
|
|
69
69
|
"destination": ".github/skills/deliver/SKILL.md",
|
|
70
|
-
"sha256": "
|
|
70
|
+
"sha256": "5fe9875fb32a1e63a181342556f975522bf3a1e29d399567d905c51a83fa2750"
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
"source": "core/skills/cleanup-branches/SKILL.md",
|
|
@@ -117,12 +117,17 @@
|
|
|
117
117
|
{
|
|
118
118
|
"source": "core/skills/coach/SKILL.md",
|
|
119
119
|
"destination": ".github/skills/coach/SKILL.md",
|
|
120
|
-
"sha256": "
|
|
120
|
+
"sha256": "68c28d5b9a55eedbf4261d12f1cd06f86b905e973b7ed7973fa4c49cf5338091"
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
123
|
"source": "core/skills/db-lab/SKILL.md",
|
|
124
124
|
"destination": ".github/skills/db-lab/SKILL.md",
|
|
125
|
-
"sha256": "
|
|
125
|
+
"sha256": "1ad8ec01411abcd576f9486a9a1aab83c844d27eaa8f70d1001676d2047e2c67"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"source": "core/skills/system-lab/SKILL.md",
|
|
129
|
+
"destination": ".github/skills/system-lab/SKILL.md",
|
|
130
|
+
"sha256": "1ec8c3f46cca6e2e72be1a85aae1adad0c32872e531d80baf12b1e49f2b780fc"
|
|
126
131
|
},
|
|
127
132
|
{
|
|
128
133
|
"source": "core/skills/code-walkthrough/SKILL.md",
|
|
@@ -167,12 +172,17 @@
|
|
|
167
172
|
{
|
|
168
173
|
"source": "core/process/COACHING_GUIDE.md",
|
|
169
174
|
"destination": "docs/process/COACHING_GUIDE.md",
|
|
170
|
-
"sha256": "
|
|
175
|
+
"sha256": "cf141525e71467b189b18283ba8616859c665bba632f92de80e94f2de2e8f7b4"
|
|
171
176
|
},
|
|
172
177
|
{
|
|
173
178
|
"source": "core/process/DATABASE_LEARNING_WORKBENCH.md",
|
|
174
179
|
"destination": "docs/process/DATABASE_LEARNING_WORKBENCH.md",
|
|
175
|
-
"sha256": "
|
|
180
|
+
"sha256": "282566eca21d777614810d37403c0093efff4cee7f561874e5b0482ebd27d4fb"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"source": "core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md",
|
|
184
|
+
"destination": "docs/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md",
|
|
185
|
+
"sha256": "eb0f613717d6bfdaecbb9d3a8ecb6323fa27331e429f5c5781c5c5a0289a8091"
|
|
176
186
|
},
|
|
177
187
|
{
|
|
178
188
|
"source": "core/process/SETUP_ACCEPTANCE_CHECKLIST.md",
|
|
@@ -202,17 +212,17 @@
|
|
|
202
212
|
{
|
|
203
213
|
"source": "core/learning/ENGINEERING_LEARNING_WORKBOOK.md",
|
|
204
214
|
"destination": "learning/ENGINEERING_LEARNING_WORKBOOK.md",
|
|
205
|
-
"sha256": "
|
|
215
|
+
"sha256": "e065342b6a5fb8a5f39ec616c1f59b7417cf3cba4238d01b0fee6d23ba881af6"
|
|
206
216
|
},
|
|
207
217
|
{
|
|
208
218
|
"source": "core/learning/LEARNING_MAP.md",
|
|
209
219
|
"destination": "learning/LEARNING_MAP.md",
|
|
210
|
-
"sha256": "
|
|
220
|
+
"sha256": "c1e3b565b57fa0cced6a0a1abe66cbbe67c7cd4960ff9c0307564cf1e2c76470"
|
|
211
221
|
},
|
|
212
222
|
{
|
|
213
223
|
"source": "core/learning/LEARNING_PROGRESS.md",
|
|
214
224
|
"destination": "learning/LEARNING_PROGRESS.md",
|
|
215
|
-
"sha256": "
|
|
225
|
+
"sha256": "50a19d3d3c7da4c2082ab7f5832c1ed5f90b54495db6c4aced3cb3a07ad78f89"
|
|
216
226
|
},
|
|
217
227
|
{
|
|
218
228
|
"source": "core/learning/CODING_DRILLS.md",
|
|
@@ -227,12 +237,12 @@
|
|
|
227
237
|
{
|
|
228
238
|
"source": "core/learning/SYSTEM_DESIGN_DRILLS.md",
|
|
229
239
|
"destination": "learning/SYSTEM_DESIGN_DRILLS.md",
|
|
230
|
-
"sha256": "
|
|
240
|
+
"sha256": "1fbcd5b0cebfb1fa0ba3051cb019ef110790190b06e034075a37109711963154"
|
|
231
241
|
},
|
|
232
242
|
{
|
|
233
243
|
"source": "core/learning/DIAGRAM_GUIDE.md",
|
|
234
244
|
"destination": "learning/DIAGRAM_GUIDE.md",
|
|
235
|
-
"sha256": "
|
|
245
|
+
"sha256": "a2c9a3475dca76f2192b0ad2250ae20731c6ab213204b364e2305e37bf867e84"
|
|
236
246
|
},
|
|
237
247
|
{
|
|
238
248
|
"source": "core/learning/RESOURCE_CATALOG.md",
|
|
@@ -244,6 +254,11 @@
|
|
|
244
254
|
"destination": "tools/lean-db-lab/sqlite-workbench.py",
|
|
245
255
|
"sha256": "a5bb99a3f67f88f00b99c10b2c0698710b6b2fa302becc6ff3435c4321cdd4d3"
|
|
246
256
|
},
|
|
257
|
+
{
|
|
258
|
+
"source": "tools/system_lab/system_workbench.py",
|
|
259
|
+
"destination": "tools/lean-system-lab/system-workbench.py",
|
|
260
|
+
"sha256": "25b507bacb05b938bee299bcb44a5476a6fc5ecb9143f5561773adc7ff987fcc"
|
|
261
|
+
},
|
|
247
262
|
{
|
|
248
263
|
"source": "tools/package/check_baseline.py",
|
|
249
264
|
"destination": "tools/lean-core/check-core-baseline.py",
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Diagram Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Diagrams are learning views, not architecture authorities.
|
|
4
|
+
|
|
5
|
+
Use current repository/runtime/database evidence first. Generated diagrams are disposable projections and should normally be regenerated from current evidence when the relevant lab is invoked rather than manually maintained.
|
|
6
|
+
|
|
7
|
+
## Lightweight diagrams
|
|
8
|
+
|
|
9
|
+
Coach may use ephemeral Mermaid/text diagrams in chat for:
|
|
4
10
|
|
|
5
11
|
- architecture,
|
|
6
12
|
- request flow,
|
|
@@ -9,11 +15,45 @@ Coach may use Mermaid diagrams in chat for:
|
|
|
9
15
|
- ER/data relationships,
|
|
10
16
|
- CI/CD,
|
|
11
17
|
- deployment,
|
|
12
|
-
- concurrency
|
|
18
|
+
- concurrency,
|
|
19
|
+
- messaging timelines,
|
|
20
|
+
- failure propagation.
|
|
21
|
+
|
|
22
|
+
Only save them as durable project artifacts when explicitly requested.
|
|
23
|
+
|
|
24
|
+
## Interactive diagrams
|
|
25
|
+
|
|
26
|
+
Prefer `/db-lab` when the learning question needs schema/query/index/ORM/plan evidence. Prefer `/system-lab` when it needs architecture/runtime/API/dependency/failure/scale/observability/security/deployment evidence.
|
|
27
|
+
|
|
28
|
+
Interactive views should support learning, not merely look attractive. Useful interactions include:
|
|
29
|
+
|
|
30
|
+
- select a scenario and highlight participating nodes/edges;
|
|
31
|
+
- click a component/table/dependency for evidence and responsibilities;
|
|
32
|
+
- show query/index/plan relationships;
|
|
33
|
+
- show work-item change overlays;
|
|
34
|
+
- show failure or scale perturbations;
|
|
35
|
+
- link system database nodes to `/db-lab` depth;
|
|
36
|
+
- distinguish current evidence from inferred topology.
|
|
37
|
+
|
|
38
|
+
## Evidence provenance
|
|
39
|
+
|
|
40
|
+
Use explicit labels where ambiguity matters:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
CONFIRMED BY CODE
|
|
44
|
+
CONFIRMED BY RUNTIME
|
|
45
|
+
DOCUMENTED INTENT
|
|
46
|
+
INFERRED
|
|
47
|
+
UNKNOWN
|
|
48
|
+
LEARNER ASSUMPTION
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
A static dependency edge is not automatically proof that the call occurred at runtime. A generated ERD is not more authoritative than the physical database metadata from which it was generated.
|
|
52
|
+
|
|
53
|
+
## Learning behavior
|
|
13
54
|
|
|
14
|
-
|
|
55
|
+
After a diagram, ask the developer to explain the relevant flow, state, failure path, boundary, scaling concern, or tradeoff.
|
|
15
56
|
|
|
16
|
-
|
|
57
|
+
For advanced exercises, ask the learner to predict a failure/plan/scale consequence before revealing the overlay when useful.
|
|
17
58
|
|
|
18
|
-
|
|
19
|
-
and tradeoff.
|
|
59
|
+
Never require the human to "refresh" or "rebuild" a learning diagram as routine maintenance. Running the lab means inspect current evidence and create/show the current view.
|
|
@@ -12,12 +12,13 @@ Use the learning tools for different purposes:
|
|
|
12
12
|
/code-walkthrough — instructional walkthrough of actual implementation changes
|
|
13
13
|
/learning-review — assessment of whether the developer can explain and defend the implementation
|
|
14
14
|
/coach — targeted concept learning, debugging practice, design discussion, drills, and deeper follow-up
|
|
15
|
-
/db-lab — evidence-backed database/schema/ORM/query-plan exploration and database interview practice
|
|
15
|
+
/db-lab — evidence-backed database/schema/ORM/query-plan/change exploration and database interview practice
|
|
16
|
+
/system-lab — evidence-backed architecture/runtime/failure/scale/change exploration and system-design interview practice
|
|
16
17
|
```
|
|
17
18
|
|
|
18
19
|
All learning activity is optional and never an engineering delivery gate.
|
|
19
20
|
|
|
20
|
-
For database usage examples, see `docs/process/DATABASE_LEARNING_WORKBENCH.md` in a greenfield consumer.
|
|
21
|
+
For database usage examples, see `docs/process/DATABASE_LEARNING_WORKBENCH.md` in a greenfield consumer. For advanced system-design usage, see `docs/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md`.
|
|
21
22
|
|
|
22
23
|
## Preferred project-first sequence
|
|
23
24
|
|
|
@@ -27,9 +28,11 @@ When an implementation is stable enough to study, a useful optional sequence is:
|
|
|
27
28
|
implementation
|
|
28
29
|
→ /code-walkthrough
|
|
29
30
|
→ /learning-review
|
|
30
|
-
→ targeted /coach
|
|
31
|
+
→ targeted /coach, /db-lab, or /system-lab where gaps remain
|
|
31
32
|
```
|
|
32
33
|
|
|
34
|
+
After successful delivery, the workflow may surface the relevant evidence labs again while the change is fresh. A work item that changed persistence may make `/db-lab changes <work-item>` especially useful; one that changed APIs, dependencies, messaging, runtime topology, security, observability, performance or failure behavior may make `/system-lab changes <work-item>` especially useful. These are recommendations, not gates.
|
|
35
|
+
|
|
33
36
|
A code walkthrough should connect two views of every meaningful change:
|
|
34
37
|
|
|
35
38
|
```text
|
|
@@ -42,7 +45,26 @@ Which files, classes, functions, data structures, framework mechanisms, tests, a
|
|
|
42
45
|
|
|
43
46
|
Then connect the files into an end-to-end flow such as request, data, state, event, persistence, UI, or operational behavior. Use the repository's actual architecture rather than forcing a generic sequence.
|
|
44
47
|
|
|
45
|
-
During a walkthrough, deeper learning can branch into tracing, diagrams, debugging discussion, design tradeoffs, quizzes, or interview-style explanation. The walkthrough
|
|
48
|
+
During a walkthrough, deeper learning can branch into tracing, interactive diagrams, debugging discussion, design tradeoffs, quizzes, capacity/failure reasoning, or interview-style explanation. The walkthrough and labs remain read-only; discovered implementation issues return to the normal engineering workflow rather than being silently fixed inside learning mode.
|
|
49
|
+
|
|
50
|
+
## Advanced learning pattern
|
|
51
|
+
|
|
52
|
+
Evidence labs should favor active reasoning:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
current evidence
|
|
56
|
+
→ learner prediction/assumption
|
|
57
|
+
→ reveal strongest available evidence
|
|
58
|
+
→ explain discrepancy
|
|
59
|
+
→ trace/apply/debug
|
|
60
|
+
→ defend tradeoff
|
|
61
|
+
→ change one constraint
|
|
62
|
+
→ reason again
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Use explanation-first when the human asks for it. Do not turn every learning interaction into a quiz.
|
|
66
|
+
|
|
67
|
+
Generated workbench diagrams are disposable projections. The repository/database/runtime evidence remains authoritative, and invoking a lab should rebuild its view from current evidence automatically.
|
|
46
68
|
|
|
47
69
|
## Suggested practice loop
|
|
48
70
|
|
|
@@ -67,9 +89,10 @@ concept or changed code
|
|
|
67
89
|
- CI/CD/deployment/operations,
|
|
68
90
|
- security and data protection,
|
|
69
91
|
- architecture/system design,
|
|
92
|
+
- capacity/performance/reliability,
|
|
70
93
|
- coding/DSA interview patterns.
|
|
71
94
|
|
|
72
|
-
Use `LEARNING_MAP.md` to choose a small number of high-value topics and the drill files for focused practice. Learning progress is optional and never an engineering gate.
|
|
95
|
+
Use `LEARNING_MAP.md` to choose a small number of high-value topics and the drill files for focused practice. Database and system-design depth should be tracked by independent competencies rather than one broad score. Learning progress is optional and never an engineering gate.
|
|
73
96
|
|
|
74
97
|
## Experience credibility
|
|
75
98
|
|
|
@@ -82,4 +105,4 @@ studied/practiced
|
|
|
82
105
|
not yet understood
|
|
83
106
|
```
|
|
84
107
|
|
|
85
|
-
A code walkthrough can help move AI-assisted implementation toward reviewed/understood code, but it does not by itself prove mastery or professional experience.
|
|
108
|
+
A code walkthrough or lab can help move AI-assisted implementation toward reviewed/understood code, but it does not by itself prove mastery or professional experience. Generated diagrams and completed exercises must not become false claims of professional experience.
|
|
@@ -46,7 +46,38 @@ database debugging
|
|
|
46
46
|
design defense / interview communication
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Use `/db-lab` for evidence-backed exploration of the current project's schema, queries, ORM translation, query plans, migrations, and query-to-ERD relationships. Use `/coach` for adaptive teaching and reinforcement.
|
|
49
|
+
Use `/db-lab` for evidence-backed exploration of the current project's schema, queries, ORM translation, query plans, migrations, change impact, and query-to-ERD relationships. Invoking the lab means inspect current evidence; generated views are disposable rather than manually maintained diagrams. Use `/coach` for adaptive teaching and reinforcement.
|
|
50
|
+
|
|
51
|
+
## System-design learning is multi-dimensional
|
|
52
|
+
|
|
53
|
+
Do not reduce system design to one generic architecture score. Assess the relevant areas independently:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
requirements + scope framing
|
|
57
|
+
capacity estimation + workload modeling
|
|
58
|
+
API + contract design
|
|
59
|
+
service/module decomposition
|
|
60
|
+
data/storage selection
|
|
61
|
+
caching
|
|
62
|
+
messaging + asynchronous workflows
|
|
63
|
+
consistency + distributed coordination
|
|
64
|
+
scaling + partitioning
|
|
65
|
+
availability + fault tolerance
|
|
66
|
+
latency + performance
|
|
67
|
+
runtime/deployment topology
|
|
68
|
+
observability + SLO reasoning
|
|
69
|
+
security + abuse resistance
|
|
70
|
+
cost/complexity awareness
|
|
71
|
+
architecture evolution
|
|
72
|
+
incident/debug reasoning
|
|
73
|
+
testing/verification strategy
|
|
74
|
+
tradeoff defense
|
|
75
|
+
interview communication
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Use `/system-lab` for evidence-backed exploration of the current project's architecture, runtime/data/event flows, dependencies, failure behavior, capacity/performance, observability, security, messaging, deployment, testing, work-item architecture impact, evolution, and interview practice. Generated interactive diagrams are disposable projections of current evidence; they are not a second architecture authority and should be regenerated from current evidence when the lab is invoked.
|
|
79
|
+
|
|
80
|
+
Use `/coach system design` for conceptual teaching, adaptive questions, and transfer practice. Prefer prediction-before-reveal for plans, failures, scale changes, consistency situations, and design perturbations when that improves learning.
|
|
50
81
|
|
|
51
82
|
## How real-code learning maps to the levels
|
|
52
83
|
|
|
@@ -68,6 +99,10 @@ L6 Interview Ready — explain the implementation clearly under follow-up questi
|
|
|
68
99
|
|
|
69
100
|
For database work, L4-L6 should include evidence-based reasoning about schema choices, constraints, access patterns, indexes/plans, transactions, ORM behavior, migration safety, and credible alternatives where relevant.
|
|
70
101
|
|
|
71
|
-
|
|
102
|
+
For system-design work, L4-L6 should include evidence-based reasoning about workload assumptions, boundaries, APIs/data flows, failure propagation, consistency, latency, scaling, reliability, observability, security, deployment, testing, cost/complexity, architecture evolution, and credible simpler alternatives.
|
|
103
|
+
|
|
104
|
+
A learner can be L5 in API design and L2 in distributed consistency, or strong in SQL construction and weak in indexing. Preserve that shape instead of averaging it away.
|
|
105
|
+
|
|
106
|
+
Use `/learning-review` to assess understanding after a walkthrough. Use `/coach` for targeted reinforcement, practice, or deeper exploration. Use `/db-lab` and `/system-lab` when concrete project evidence is the learning material. These activities are optional and do not affect engineering delivery state.
|
|
72
107
|
|
|
73
108
|
Coach should recommend only a small number of next topics based on the actual repository/work item.
|
|
@@ -18,14 +18,22 @@ This file is optional and never an engineering gate.
|
|
|
18
18
|
|
|
19
19
|
Record evidence only when the human explicitly chooses to update learning progress. Useful evidence can include:
|
|
20
20
|
|
|
21
|
-
- completed `/code-walkthrough` of a real implementation change set
|
|
22
|
-
- explained the functional and technical purpose of important changed files
|
|
23
|
-
- traced a request/data/state/event path across the implementation
|
|
24
|
-
- explained a design choice and a credible alternative
|
|
25
|
-
- reasoned through a failure mode or debugging approach
|
|
26
|
-
-
|
|
21
|
+
- completed `/code-walkthrough` of a real implementation change set;
|
|
22
|
+
- explained the functional and technical purpose of important changed files;
|
|
23
|
+
- traced a request/data/state/event path across the implementation;
|
|
24
|
+
- explained a design choice and a credible alternative;
|
|
25
|
+
- reasoned through a failure mode or debugging approach;
|
|
26
|
+
- predicted then explained query-plan/index behavior using `/db-lab` evidence;
|
|
27
|
+
- explained schema/ORM/migration consequences from `/db-lab changes <work-item>`;
|
|
28
|
+
- traced an evidence-backed runtime/dependency path using `/system-lab`;
|
|
29
|
+
- predicted failure propagation, bottlenecks, consistency behavior, or latency consequences and reconciled the prediction with evidence;
|
|
30
|
+
- defended an architecture choice against a simpler credible alternative;
|
|
31
|
+
- adapted a design after an interview-style scale/reliability/security constraint changed;
|
|
32
|
+
- passed a `/learning-review` question at a demonstrated level;
|
|
27
33
|
- completed a focused `/coach` exercise or drill.
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
For database and system-design depth, prefer recording the demonstrated competency rather than one broad level. For example, capacity estimation, distributed consistency, API design, relational modeling and query-plan reasoning can legitimately be at different levels.
|
|
36
|
+
|
|
37
|
+
A walkthrough, generated workbench, or completed lab invocation is evidence of learning/review activity, not automatic proof of mastery. Record demonstrated understanding conservatively.
|
|
30
38
|
|
|
31
39
|
Do not update automatically.
|