diff --git a/docs/devlog/2026-10-18.md b/docs/devlog/2026-10-18.md new file mode 100644 index 0000000..0f55632 --- /dev/null +++ b/docs/devlog/2026-10-18.md @@ -0,0 +1,30 @@ +--- +type: devlog +date: 2026-10-18 +sprint: 0 +minutes: 75 +tags: [devlog] +--- + +# Dev log — 2026-10-18 + +## What I did +- Task 0001 done (issues #1, #2): cargo skeleton with lib/bin split, one sanity test, + and `.gitea/workflows/ci.yaml` running fmt/clippy/test on push. +- Learned `cargo init` vs `cargo new`; rewrote first commits into Conventional Commits + and pushed the branch. +- First CI debugging: two red runs fixed by adding `dtolnay/rust-toolchain@stable`; + then a red run on `main` caused by a flaky toolchain download — a rerun went green. +- Merged PR #13 into `main`; closed issues #1 and #2. + +## Frustrations +- Reading English text (docs, CI logs) takes too much of the session — to discuss at retro. + +## English practice +- *pipeline* — конвейер CI; *the pipeline runs fmt, clippy and test*. +- *flaky* — нестабильный (то падает, то нет); *the runner's network is flaky*. +- *rerun* — повторный запуск; *a rerun of the failed job went green*. + +## Next session +- Install `bacon` (task 0002, drill D1) and verify the fast-feedback loop. +- Drill D3: three deliberate compiler errors into the ErrorJournal. diff --git a/docs/sprints/sprint-00-setup.md b/docs/sprints/sprint-00-setup.md index 01d150a..b0ebd68 100644 --- a/docs/sprints/sprint-00-setup.md +++ b/docs/sprints/sprint-00-setup.md @@ -5,7 +5,7 @@ status: active started: 2026-10-17 finished: hours-planned: 6 -hours-logged: 2 +hours-logged: 3 tags: [sprint, setup] --- @@ -27,12 +27,15 @@ sprint, a practice session starts in 60 seconds and never touches configuration. ## Practice drills (20–30 min each) - [ ] D1 — Install/verify: `rustup default stable`, `cargo --version`; run `rustup component add clippy rustfmt`; install `bacon` (`cargo install --locked bacon`). -- [ ] D2 — `cargo new viexp --bin`, add a `lib.rs` skeleton (src split: `main.rs` calls +- [x] D2 — `cargo new viexp --bin`, add a `lib.rs` skeleton (src split: `main.rs` calls `viexp::run()`), one `#[test] fn sanity()` — make it fail, read the output, make it pass. + (Done 2026-10-18: used `cargo init` in the existing repo; task 0001.) - [ ] D3 — Break it on purpose: introduce E0382 (move a `String`, then use it), E0308 (wrong type), E0384 (reassign immutable). Paste each into the ErrorJournal **with a self-correction cue**. -- [ ] D4 — Gitea CI: `.gitea/workflows/ci.yml` running `fmt --check`, `clippy -D warnings`, +- [x] D4 — Gitea CI: `.gitea/workflows/ci.yml` running `fmt --check`, `clippy -D warnings`, `test`. Push and watch it go green. + (Done 2026-10-18: green on `main` after PR #13; needed `dtolnay/rust-toolchain@stable` + and one rerun — runner network to static.rust-lang.org is flaky.) - [x] D5 — Gitea board: labels, milestone "Sprint 1", issues imported from Sprint-1 DoD. (Done 2026-10-17: 11 labels, 13 sprint milestones, issues #1–#12; kanban board still needs one-time manual creation in the web UI — Gitea 1.26.2 has no projects API.) @@ -46,12 +49,16 @@ Conventional Commits, imperative mood. ## Definition of done - [ ] `cargo bacon` shows check+test passing on save -- [ ] CI green on `main` +- [x] CI green on `main` (2026-10-18, run #14) - [ ] ErrorJournal has ≥3 entries with cues - [ ] Sprint-1 milestone and issues exist on Gitea - [ ] Retro filled ## Retrospective ### Shipped +- Task 0001 / issues #1–#2: cargo skeleton (lib/bin split, sanity test) + CI green on `main` + via PR #13. ### Frustrations +- Reading English text (docs, tool output) eats a lot of session time — agree on a fix + at retro (e.g. theory digests in Russian in chat, artifacts stay English). ### Hours logged / English notes diff --git a/docs/tasks/0001-bootstrap-cargo-project-and-ci.md b/docs/tasks/0001-bootstrap-cargo-project-and-ci.md index 6cefa28..7633402 100644 --- a/docs/tasks/0001-bootstrap-cargo-project-and-ci.md +++ b/docs/tasks/0001-bootstrap-cargo-project-and-ci.md @@ -1,10 +1,11 @@ --- type: task -status: todo +status: done priority: P0 sprint: 0 -gitea-issue: "#1" +gitea-issue: "#1, #2" created: 2026-10-17 +finished: 2026-10-18 due: tags: [task, ci] --- @@ -15,13 +16,17 @@ tags: [task, ci] A compiling `viexp` crate with lib/bin split, one passing test, and green Gitea Actions CI. ## Acceptance criteria -- [ ] `cargo new`-style skeleton: `src/main.rs` + `src/lib.rs` (`main` calls `viexp::run()`) -- [ ] `cargo test` green with one sanity test -- [ ] `.gitea/workflows/ci.yml`: `fmt --check` + `clippy -D warnings` + `test` on push -- [ ] First Conventional Commit pushed to `main` +- [x] `cargo new`-style skeleton: `src/main.rs` + `src/lib.rs` (`main` calls `viexp::run()`) +- [x] `cargo test` green with one sanity test +- [x] `.gitea/workflows/ci.yaml`: `fmt --check` + `clippy -D warnings` + `test` on push + (with `dtolnay/rust-toolchain@stable`; file is `.yaml`, same thing) +- [x] First Conventional Commit pushed to `main` (merged via PR #13; CI green, run #14) ## Notes Rust Book ch. 1–2; see [[sprints/sprint-00-setup|Sprint 0]] drill D2/D4. ## Log - 2026-10-17 — task created. +- 2026-10-18 — done. Drills D2+D4: skeleton, sanity test, CI workflow. Two CI fix commits + (added the rust-toolchain step), merged to `main` via PR #13. Run #14 red → rerun green: + the runner's download from static.rust-lang.org timed out once (flaky network, not code).