Commit Graph
13 Commits
Author SHA1 Message Date
Your Name 578162851b Add solution (after) files for the three C# demos: seam overloads, extracted tails, pure xUnit stub tests 2026-09-29 13:32:47 +00:00
Your Name f9c3c68e79 Add README for C# Slice-with-Lambda demo examples (ramp, table, mechanics links) 2026-09-29 13:32:47 +00:00
Your Name f9bb7b982a Rename pattern to Slice with Lambda; add no-loop minimal shape and capture-to-parameter lesson 2026-09-29 13:32:47 +00:00
Your Name c153aba61e Add three C# demo examples for Slice with Lambda
- MetaphorFree.cs: guard -> SomeDependency.mightThrowWhenPreconditionNotSatisfied(a) -> tail,
  capture-to-parameter story for the deck
- WeatherStation.cs: SprinklerController, LightSensor.Read() byte -> SunExposure, tail branches
- IceCreamShop.cs: third repetition, Thermometer byte -> Warmth, tail branches
2026-09-29 13:15:45 +00:00
Your Name 60b1a02ea4 Merge branch 'main' of ssh://gitea.apps.sustainabledelivery.com:3022/learning-hours/learning-hour-maker 2026-09-28 21:59:04 +00:00
Your Name 679e95eb83 Retarget exercise 3 to net10.0 and verify with dotnet test
Verified with SDK 10.0.4xx (mise): builds clean, solution test green
deterministically, pristine test flaky as designed (failed 2/3 runs).
net7.0 runtime is out of support and unavailable, so the exercise now
targets net10.0; MSTest bumped 2.1.1 -> 3.6.4 to silence the NU1903
transitive-dependency warning. .gitignore for bin/obj.
2026-09-28 21:53:01 +00:00
Your Name 1189041d8e Add exercise 3 (Buyers, C#): the pure extract-lambda rep
New in-theme classes: Buyers computes a shopping-list total, PriceList
stands for the pricing service (random surge, flaky test). One loop, one
lambda-able expression — the third example teaches the move with nothing
else in the way. Pristine repo + reference solution (extract lambda,
slide, extract method with Func<IceCream,int> parameter, pure-lambda
test) + storyboard in the established style. Mirrors the kata's C#
setup (net7.0, MSTest); needs a build check on a machine with the SDK.
2026-09-28 21:48:30 +00:00
Your Name 558ad54516 Add demo script for printSalesForecasts (Split Loop with Lambda)
Demo on the messier sibling of the exercise method: three unwanted
dependencies in one loop (Scorer incl. static field write, System.out,
clock — clock stripped in 2-min prep). Same six mechanics with SVGs in
the storyboard style, ends green via overload + pure-lambda approval
test. Pointer added to the learning hour's demo section.
2026-09-28 07:42:33 +00:00
Your Name 231f6aa72f Add storyboard handout for split-loop-with-lambda mechanics
Step-by-step refactoring instructions as a single markdown handout with
one diagram per step (legend + steps 0-3, overload inset, pure test,
debrief slides for the dead call and the drift anti-pattern). Derived
from the pattern draft, the learning hour plan, and the rehearsal
findings; slide-ready for later.
2026-09-27 18:04:33 +00:00
Your Name b993f25c53 Add agent rehearsal harness, findings, and per-run evidence for split-loop-with-lambda
Six scripted pi sub-agent runs (3 tool regimes × 2 models) rehearsed the
exercise; deterministic gate = solution test + approved file. Key results:
mandated CLI triples cost on the strong model (4:06 vs 0:39, PASS both);
weak model fails only under the mandate (A+Q), passes when free or optional.
Drift documented with code: scorer.updateSelection left inside the extracted
method (A+Q, C+Q). Harness in tools/rehearse; summary in
rehearsal-findings.md; per-run evidence in rehearsal-runs/; cheat sheet in
rehearse-with-agent.md corrected (lambda-typed parameters unsupported).
2026-09-27 17:36:19 +00:00
Your Name a27e32688a Add split-loop-with-lambda learning hour: draft, pre-factored exercise, solution
- Samman learning hour: 5/5/10/25/5 outline; pairs stop at extracted
  method taking the lambda as a parameter
- exercise/java: pre-factored variant of the kata (Q1/Q4 dead branch
  stripped, dates as constant), approval test red/flaky by design
- exercise/solution: collectExpectedWeather(LongFunction<Boolean>) +
  no-arg overload; deterministic approval test (all-sunny lambda)
- rehearse-with-agent.md: rehearsal setup with qwen + java-refactoring-mcp
2026-09-27 13:30:00 +00:00
Your Name 1a063860c9 Add zeroth draft of split-loop-with-lambda refactoring pattern
Joint work with Emily Bache, based on the IceCreamForecasting-Refactoring-Kata.
Names the mechanics (introduce lambda -> slide statement -> extract method
taking the lambda) used when plain Split Loop stalls because the variable
to slide is a function, not a value.
2026-09-27 13:29:54 +00:00
Your Name e8748ee697 Add round 2: split multi-step OrderBook tests (example created by participant)
- Add OrderBookDomain: in-memory order book with Pending →
  WaitingForPayment → Fulfilling → Delivered state machine, payment
  window based on passed-in timestamps, cancellation rules
- Add OrderBookTests: 7 integration tests in given/when/then/when/then
  anti-pattern style as starting material for the exercise
- Learning hour: add round 2 where participants create the example
  themselves before showing it to the agent (no refactored test given)
- Fix sln: OrderTests Debug config was mapped to Release
2026-09-03 13:50:38 +00:00