forked from rohitg00/ai-engineering-from-scratch
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquiz.json
More file actions
90 lines (90 loc) · 3.47 KB
/
Copy pathquiz.json
File metadata and controls
90 lines (90 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"lesson": "33-instructions-as-executable-constraints",
"title": "Agent Instructions as Executable Constraints",
"questions": [
{
"stage": "pre",
"question": "What is the difference between an aspirational rule and an operational rule?",
"options": [
"Aspirational rules are paid; operational rules are free",
"Aspirational rules have no check ('be careful'); operational rules carry a machine-checkable function the workbench can run",
"Operational rules are longer",
"Aspirational rules require a manager"
],
"correct": 1,
"explanation": "Operational rules are testable; aspirational rules are wishes."
},
{
"stage": "pre",
"question": "What five categories does the lesson cover most rules with?",
"options": [
"Startup, forbidden, definition of done, uncertainty, approval",
"Read, write, exec, fork, exit",
"Plan, act, reflect, refine, ship",
"Low, medium, high, critical, fatal"
],
"correct": 0,
"explanation": "Startup, forbidden, definition of done, uncertainty handling, approval boundaries are the five."
},
{
"stage": "check",
"question": "Which severity tag stops execution and requires an operator override?",
"options": [
"info",
"warn",
"block",
"soft"
],
"correct": 2,
"explanation": "block is the hard fail; warn annotates; info reports."
},
{
"stage": "check",
"question": "Why does the lesson recommend tagging severity at write time?",
"options": [
"It looks prettier in markdown",
"Teams overstate severity early and weaken it under deadline pressure; writing severity up front forces the calibration",
"Linters require it",
"It saves tokens"
],
"correct": 1,
"explanation": "Severity calibration must be deliberate, not retrofitted under pressure."
},
{
"stage": "check",
"question": "What does the markdown-as-source, JSON-as-cache pattern do?",
"options": [
"Replaces markdown",
"agent-rules.md is the authored file; agent-rules.lock.json is a hot-path cache regenerated by a pre-commit hook (same shape as package.json + lock)",
"Encrypts the rules",
"Disables review"
],
"correct": 1,
"explanation": "Markdown stays reviewable; JSON parsing stays out of the hot path."
},
{
"stage": "post",
"question": "What is rule expiry as a forcing function?",
"options": [
"Rules over 24 hours fail closed",
"Each rule carries an expires_at (default 90 days); unfired rules trigger a quarterly review to justify, weaken, or delete them",
"Rules expire when the cache is full",
"Rules expire automatically; no review needed"
],
"correct": 1,
"explanation": "Cloudflare's data showed sets with expiry stayed under 30 rules; sets without grew to 80+ unused."
},
{
"stage": "post",
"question": "How do rules relate to framework guardrails?",
"options": [
"Rules replace guardrails",
"Guardrails enforce rules at runtime; the rule set is the human-readable contract those guardrails implement",
"Guardrails are an alternative to rules",
"Only one of them is required"
],
"correct": 1,
"explanation": "Both are needed: runtime catches violations; rule set proves the runtime is doing the right thing."
}
]
}