You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: mini-lsm-book/src/agent-fast-forward-overview.md
+7-20Lines changed: 7 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@
4
4
5
5
# Agent Fast Forward in 3 Days (WIP)
6
6
7
-
This is an alternative course track for students who intend to use a coding agent. Instead of spending seven chapters on each original course week, you will use one focused day to specify, generate, review, and challenge that week's system.
7
+
This is an alternative course track for students who intend to use a coding agent. Instead of following seven chapters for each course phase, you will use one focused day to specify, generate, review, and challenge a complete system.
8
8
9
9
The agent may write most of the code. Your job is to define what correct means, constrain the work, inspect the result, and leave with a mental model you can use without the agent.
10
10
11
11
| Fast-forward day | Original course material | Outcome |
12
12
| --- | --- | --- |
13
-
|[Day 1](./week1-fast-forward.md)|Week 1: Mini-LSM | A working storage engine with memtables, SSTs, reads, writes, and flushes. |
14
-
| Day 2 |Week 2: Compaction and persistence | Coming later. |
15
-
| Day 3 |Week 3: MVCC | Coming later. |
13
+
|[Day 1](./week1-fast-forward.md)| Mini-LSM | A working storage engine with memtables, SSTs, reads, writes, and flushes. |
14
+
| Day 2 | Compaction and persistence | Coming later. |
15
+
| Day 3 | MVCC | Coming later. |
16
16
17
17
The original chapters remain a reference library. This track changes the pacing and the student's role; it does not remove the need to understand ordering, representation, concurrency, and failure modes.
18
18
@@ -34,20 +34,7 @@ The repository pins its Rust toolchain in `rust-toolchain.toml`, so Cargo will s
34
34
35
35
If you already have the repository and tools, update your checkout as appropriate and begin from the repository root.
36
36
37
-
### 2. Copy the Complete Week 1 Test Suite
38
-
39
-
The normal course reveals tests one chapter at a time. Day 1 of the fast-forward track starts with the complete Week 1 acceptance suite:
40
-
41
-
```shell
42
-
fordayin 1 2 3 4 5 6 7;do
43
-
cargo x copy-test --week 1 --day "$day"
44
-
done
45
-
cargo x scheck
46
-
```
47
-
48
-
The initial check should fail because the starter contains unfinished code. Record the first failure; it gives you a reproducible baseline. Do not ask the agent to make this failure disappear by changing the tests.
49
-
50
-
### 3. Start the Agent from `mini-lsm-starter`
37
+
### 2. Start the Agent from `mini-lsm-starter`
51
38
52
39
Change into the starter directory before launching your coding agent:
53
40
@@ -66,7 +53,7 @@ Starting in this directory is not a security sandbox: an agent can still travers
66
53
67
54
Do not open the whole repository as the agent's workspace if your tool lets you choose a directory. Open `mini-lsm-starter`. The agent may consult the copied tests, starter interfaces, Rust documentation, and course chapters under `../mini-lsm-book/src/`.
68
55
69
-
### 4. Verify the Instructions Before Coding
56
+
### 3. Verify the Instructions Before Coding
70
57
71
58
Do not assume the tool discovered `AGENTS.md`. Make the first prompt a handshake that performs no implementation:
72
59
@@ -106,6 +93,6 @@ Do not let “all tests pass” end the review. Conversely, do not ask the agent
106
93
107
94
Repeat Prompts 2 and 3 for each checkpoint. The checkpoint stops are where you catch a locally reasonable decision before it spreads across the system.
108
95
109
-
When the workspace is prepared and the instruction handshake succeeds, continue to [Day 1: Week 1 — Mini-LSM](./week1-fast-forward.md).
96
+
When the workspace is prepared and the instruction handshake succeeds, continue to [Day 1 - Mini-LSM](./week1-fast-forward.md).
This is the first day of [Agent Fast Forward in 3 Days](./agent-fast-forward-overview.md). You will use a coding agent to build and defend one working storage engine from the original Week 1 material:
7
+
This is the first day of [Agent Fast Forward in 3 Days](./agent-fast-forward-overview.md). You will use a coding agent to build and defend one working storage engine from the original Mini-LSM material:
Use the existing Week 1 chapters as a reference library when you need a deeper explanation. You do not need to follow them one chapter at a time.
14
+
Use the existing Mini-LSM chapters as a reference library when you need a deeper explanation. You do not need to follow them one chapter at a time.
15
15
16
16
## The Completion Contract
17
17
@@ -20,16 +20,27 @@ At the end of this path:
20
20
-`put`, `delete`, `get`, and bounded `scan` work across memory and disk;
21
21
- a frozen memtable can be flushed into an L0 SST;
22
22
- Bloom filters and prefix encoding improve the implementation without changing its results;
23
-
- the complete Week 1 test suite passes; and
23
+
- the complete supplied test suite passes; and
24
24
- you can trace a key through the engine, explain why the newest value wins, and design a test for a plausible bug.
25
25
26
26
The tests are evidence, not the specification. Generated code remains untrusted until you can connect it to an invariant and try to falsify it.
27
27
28
+
## Copy the Complete Test Suite
29
+
30
+
Complete the repository and agent preparation in the [track overview](./agent-fast-forward-overview.md#prepare-the-repository-and-the-agent). Leave the agent at the instruction-handshake stop, then run these commands from the repository root. The original course reveals tests one chapter at a time; Day 1 starts with the complete acceptance suite:
31
+
32
+
```shell
33
+
cargo x copy-test --week 1
34
+
cargo x scheck
35
+
```
36
+
37
+
The initial check should fail because the starter contains unfinished code. Record the first failure; it gives you a reproducible baseline. Do not ask the agent to make this failure disappear by changing the tests.
38
+
28
39
## Start Day 1
29
40
30
-
Complete the repository and agent preparation in the [track overview](./agent-fast-forward-overview.md#prepare-the-repository-and-the-agent). With the agent running from `mini-lsm-starter` and the instruction handshake complete, send this kickoff prompt:
41
+
With the agent running from `mini-lsm-starter`, the instruction handshake complete, and the test suite copied, send this kickoff prompt:
31
42
32
-
> We are completing Week 1 of Mini-LSM in this starter directory. Use the starter interfaces, copied Week 1 tests, and Week 1 book chapters, but never access `../mini-lsm`. Do not edit yet.
43
+
> We are completing Mini-LSM in this starter directory. Use the starter interfaces, copied acceptance tests, and Mini-LSM book chapters, but never access `../mini-lsm`. Do not edit yet.
33
44
>
34
45
> Return:
35
46
>
@@ -140,7 +151,7 @@ Finally, introduce one small, deliberate fault—for example, reverse equal-key
140
151
141
152
## Day 1 Completion Checkpoint
142
153
143
-
You are ready for Week 2 when you can do these without delegating the answer back to the agent:
154
+
You are ready for Day 2 when you can do these without delegating the answer back to the agent:
144
155
145
156
- draw the write, read, and flush paths from memory;
146
157
- explain the ordering rule that selects one value from duplicate keys;
@@ -150,6 +161,6 @@ You are ready for Week 2 when you can do these without delegating the answer bac
150
161
- describe an unsafe flush interleaving and how the implementation prevents it; and
151
162
- turn a suspected invariant violation into a minimal test.
152
163
153
-
If you cannot yet do one of these, use the corresponding Week 1 chapter and ask the agent to quiz you with concrete states or byte layouts. The measure of success is not whether you typed the implementation. It is whether you can specify, inspect, test, and change the system with confidence.
164
+
If you cannot yet do one of these, use the corresponding Mini-LSM chapter and ask the agent to quiz you with concrete states or byte layouts. The measure of success is not whether you typed the implementation. It is whether you can specify, inspect, test, and change the system with confidence.
Copy file name to clipboardExpand all lines: mini-lsm-starter/AGENTS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ The student owns the specification and the proof of correctness. Treat your code
17
17
- Keep changes inside `mini-lsm-starter` unless the student explicitly asks for a change elsewhere.
18
18
- Do not commit, push, rewrite Git history, or discard existing work unless the student explicitly asks.
19
19
20
-
You may consult the Week 1 chapters in `../mini-lsm-book/src/`, Rust and dependency documentation, and the starter code's existing interfaces. External documentation is for understanding APIs and concepts, not for locating another Mini-LSM solution.
20
+
You may consult the Mini-LSM chapters in `../mini-lsm-book/src/`, Rust and dependency documentation, and the starter code's existing interfaces. External documentation is for understanding APIs and concepts, not for locating another Mini-LSM solution.
21
21
22
22
## Working Agreement
23
23
@@ -46,7 +46,7 @@ A request that names one checkpoint authorizes work only on that checkpoint. Bef
46
46
47
47
## Validation
48
48
49
-
Run focused tests while working. Before declaring Week 1 complete, run from the repository root:
49
+
Run focused tests while working. Before declaring Day 1 complete, run from the repository root:
0 commit comments