M3b plan: every task's git add includes Cargo.lock

Task 04 added dependencies to toolkit and its git add line left out the lock
file, so the driver stopped on an unclean tree. The lock change is folded into
task 04's commit.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 00:00:12 -07:00
co-authored by Claude Opus 5.5
parent 0d444dd5bf
commit 5e55fe4c66
14 changed files with 20 additions and 13 deletions
+1 -1
View File
@@ -81,7 +81,7 @@ it if the compiler says it is unused.
must show only `crates/proto/src/`. must show only `crates/proto/src/`.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** Add your row to `docs/implementer-log.md`, then - [ ] **7. Log and commit.** Add your row to `docs/implementer-log.md`, then
`git add crates/proto crates/brokerd docs/implementer-log.md && git commit` `git add crates/proto crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -92,7 +92,7 @@ Search for any other: `grep -rn "HttpFetch {" crates/` must show nothing when yo
- [ ] **5. Check the seal.** `grep -rn "FetchUrl {" crates/brokerd/src/` shows the struct - [ ] **5. Check the seal.** `grep -rn "FetchUrl {" crates/brokerd/src/` shows the struct
definition, the `parse` line, and the doctest only. definition, the `parse` line, and the doctest only.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
@@ -42,7 +42,7 @@ text contains `cannot be mounted`. Other punctuation (space, `;`, `=`, `.`, `-`,
- [ ] **4. See it pass.** `cargo test -p brokerd --test grants_mount --test grants`. Expected: 2 and - [ ] **4. See it pass.** `cargo test -p brokerd --test grants_mount --test grants`. Expected: 2 and
17 passed. 17 passed.
- [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -139,7 +139,7 @@ to standard error with `write_all` (ignore their errors), and return
returns early and passes if you are root; you should not be. returns early and passes if you are root; you should not be.
- [ ] **5. Walk the exits.** Point at the line of your code for each numbered exit above. - [ ] **5. Walk the exits.** Point at the line of your code for each numbered exit above.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/toolkit docs/dependencies.md docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/toolkit docs/dependencies.md docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -67,7 +67,7 @@ it; that is expected, and `brokerd`'s time limit ends it.
times; it must pass every time. times; it must pass every time.
- [ ] **5. Walk the steps.** Point at the line for steps 4 and 5 in particular. - [ ] **5. Walk the steps.** Point at the line for steps 4 and 5 in particular.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/toolkit docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/toolkit docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -79,7 +79,7 @@ once in seven runs. If you add a test that writes and runs a script, take the lo
- [ ] **4. See it pass.** `cargo test -p toolkit --test fetch`. Expected: 7 passed. Run it ten - [ ] **4. See it pass.** `cargo test -p toolkit --test fetch`. Expected: 7 passed. Run it ten
times; it must pass every time. times; it must pass every time.
- [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **6. Log and commit.** `git add crates/toolkit docs/implementer-log.md && git commit` - [ ] **6. Log and commit.** `git add crates/toolkit docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -71,7 +71,7 @@ that are not in these tables: the test checks public neighbours just outside eac
- [ ] **4. See it pass.** `cargo test -p toolkit --test addr`. Expected: 4 passed. - [ ] **4. See it pass.** `cargo test -p toolkit --test addr`. Expected: 4 passed.
- [ ] **5. Walk the tables.** Point at the line for each row of both tables. - [ ] **5. Walk the tables.** Point at the line for each row of both tables.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/toolkit docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/toolkit docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -146,7 +146,7 @@ you.
times; it must pass every time. times; it must pass every time.
- [ ] **5. Walk the exits.** Point at the line of your code for each of the 11 handshake steps. - [ ] **5. Walk the exits.** Point at the line of your code for each of the 11 handshake steps.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/toolkit docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/toolkit docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -89,7 +89,7 @@ these checks; only `load` does, as for `ttl_ms` today.
- [ ] **4. See it pass.** `cargo test -p brokerd --test config_runner --test config`. Expected: 7 - [ ] **4. See it pass.** `cargo test -p brokerd --test config_runner --test config`. Expected: 7
and 7 passed. Then `cargo test -p brokerd`: everything passes. and 7 passed. Then `cargo test -p brokerd`: everything passes.
- [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -94,7 +94,7 @@ directory need not be UTF-8 (`dir.as_os_str()`), not with `format!` on `display(
- [ ] **4. See it pass.** `cargo test -p brokerd --test podman_args --test runner`. Expected: 7 - [ ] **4. See it pass.** `cargo test -p brokerd --test podman_args --test runner`. Expected: 7
and 8 passed. `cargo test -p brokerd --doc`: every doctest passes. and 8 passed. `cargo test -p brokerd --doc`: every doctest passes.
- [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -97,7 +97,7 @@ process kills the sleep and nothing keeps the pipes open.
- [ ] **5. Walk the table.** Point at the line of your code for each row, and check that no row - [ ] **5. Walk the table.** Point at the line of your code for each row, and check that no row
puts output into a `RunError`. puts output into a `RunError`.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -77,7 +77,7 @@ proxy's run, the tool's run, `kill <name>`, `rm -f <name>`, then `rm -f <name>-e
Expected: 6 and 11 passed. Run them ten times; they must pass every time. Expected: 6 and 11 passed. Run them ten times; they must pass every time.
- [ ] **5. Walk the exits.** For each of the four steps, say how the guard cleans up after it. - [ ] **5. Walk the exits.** For each of the four steps, say how the guard cleans up after it.
- [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`. - [ ] **6. Run the gate.** `make gate`. Expected last line: `gate: ok`.
- [ ] **7. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **7. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
## Done when ## Done when
+1 -1
View File
@@ -43,7 +43,7 @@ there today). Print the notice with `eprintln!` right after the existing
and 9 passed. and 9 passed.
- [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`, with about 638 tests in - [ ] **5. Run the gate.** `make gate`. Expected last line: `gate: ok`, with about 638 tests in
all. all.
- [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md && git commit` - [ ] **6. Log and commit.** `git add crates/brokerd docs/implementer-log.md Cargo.lock && git commit`
This is the last task of M3b. Stop after the commit; the review comes next. This is the last task of M3b. Stop after the commit; the review comes next.
+7
View File
@@ -54,6 +54,13 @@ it at that task's end state, then the reference was deleted so it cannot be read
At the end: `make gate` prints `gate: ok` with about 638 tests. At the end: `make gate` prints `gate: ok` with about 638 tests.
## Changes during the run
- 2026-09-23, after task 04: task 04 adds dependencies to `toolkit`, which changes `Cargo.lock`, but
its `git add` line left the lock out, so the driver stopped on an unclean tree. The design model
folded the lock into task 04's commit and added `Cargo.lock` to every task's `git add` (a no-op
when it has not changed). The owner resumes from task 05.
## Running it ## Running it
```sh ```sh