LINUXOR.SK ... open source notes ...

SDD 15 - Trainer Guide

category: learnz/sdd · date: 2026-10-04 · author: LALA · theme: github

SDD Learning · Previous: Framework Comparison

The learning objective is traceability from intent to evidence. Participants should finish able to explain a requirement, identify its implementation and demonstrate a relevant check. Finishing the feature is useful; understanding why it is accepted is the central outcome.

No clock

The path has six levels and no schedule. Let each learner or pair move on when they pass the level check. People learn this loop at very different speeds, and a learner who is rushed through a level learns to skip it. If the group meets for a fixed session, treat “how far did we get” as information, never as a score: a pair that finished level 3 with a contract they can defend has had a good session.

When a pair passes a level check, say so out loud before they go on.

Prepare before the session

The trainer kit contains a black-box acceptance checker, a small reference implementation and facilitation notes. Both programs use the Python standard library. The reference illustrates the feature; it does not prescribe the only acceptable design.

The levels

The six levels as a route: understand, specify, plan, implement, verify, review.
The six levels as a route: understand, specify, plan, implement, verify, review.
LevelFacilitateWatch forPassed when
1 · UnderstandExplain request, contract, plan and evidence using the contract diagramParticipants calling a technical preference a requirementThey can say what each of the four proves
2 · SpecifyLet pairs inspect the baseline and review the contractSilent changes to compatibility, ordering or error behaviorA partner predicts the output from the contract alone
3 · PlanReview requirement-to-task-to-test mappingsTasks that omit tests or only cover the happy pathAC1 has a task and a check
4 · ImplementLet participants implement one bounded changeUnrelated rewrites, missing regression tests and guessed completionJSON works and the old tests still pass
5 · VerifyAsk participants to run checks on their final revisionOld results, unexecuted commands and unchecked edge casesThe evidence is from the final code
6 · ReviewPair review and a short handoff“Done” without a requirement/evidence explanationSomeone else could continue from the handoff

Read the colors with the group

Color key: cyan intent, blue contract, purple plan, pink change, green evidence, amber review, red problem, gray context, white method.
Color key: cyan intent, blue contract, purple plan, pink change, green evidence, amber review, red problem, gray context, white method.

One color means one thing in every diagram, and the first six colors are the six levels in order. Show the key once at the start; afterwards the group can read any diagram in the Learning without a new explanation. Frameworks are white in every diagram so that color never suggests a ranking.

Use the diagrams as prompts

DiagramAsk the group
Learning routeWhat concrete artifact should exist before the next level?
Contract exampleWhat is still ambiguous in “add JSON”?
Feedback loopIs this failure in the code or in the agreed requirement?
Matt Pocock Skills memoryWhere does this decision live after the session?
Spec Kit artifactsWhich document owns this decision?
OpenSpec deltaWhich behavior is added and which is preserved?
Test feedbackHave we observed a relevant failure and checked the final code?
MemoryWhat will a fresh session need to retrieve?

Observable completion criteria

CriterionSatisfactory evidenceIf missing
ContractBehavior, exclusions and concrete scenarios are reviewableRevisit the requirement before discussing implementation style
TraceabilityAt least three acceptance IDs map to tasks and executable checksAsk the learner to complete the mapping
CompatibilityDefault output remains identical and is testedTreat this as an acceptance criterion that is still open
VerificationCurrent results cover the promised behavior and record gapsMark the work incomplete
HandoffThe next session can find the accepted spec and remaining workAdd the missing pointers and decision record

Avoid a single numerical score that hides a broken compatibility requirement. A learner can demonstrate good reasoning while the feature remains incomplete; record those outcomes separately, and praise the reasoning.

Run the independent acceptance checker

Unpack the trainer kit. From its trainer directory, pass the participant's project path:

bash
$ python3 check_acceptance.py /path/to/doc-index-starter

The checker invokes doc_index.py in subprocesses with temporary synthetic documents. It checks the training contract, including baseline text behavior, JSON structure, empty input, errors, escaping, top-level discovery and fallback. It does not write to the participant's project.

To see a passing example, run it against the included reference:

bash
$ python3 check_acceptance.py reference-solution

The reference passes 8 of 8 checks. The untouched baseline passes 3 of 8 because the feature is deliberately absent. Explain that a failed acceptance check is useful evidence, not a reason to hide or rewrite the criterion.

Common interventions

SituationIntervention
Installation is still not workingUse a prepared machine or pair with a working session, so the learner's attention stays on the levels
The agent starts coding before agreementAsk the learner to identify the accepted contract and unresolved choices
The plan is much larger than the featureRemove tasks unrelated to the stated acceptance criteria
Tests only assert successful exitAsk what wrong output could still pass
The agent changes the tests to fit a regressionCompare the changed expectation with the accepted contract
Model access failsRun a facilitator demonstration with the same artifacts, or inspect the reference after a manual planning attempt
A learner is stuck on a levelGo back one level together; the gap is usually there
A learner feels behindRemind them there is no clock, and point at the levels they have already passed

Debrief questions

Framework tracks

Everyone walks the Matt Pocock Skills lab route first; it is the baseline. Afterwards let each pair choose the route they are curious about: Spec Kit, OpenSpec, BMAD Method or Superpowers. All routes have the same levels, contract and checks. Start each run from a fresh copy of the starter lab. Record the versions and any changed agent or model settings. Compare handoff quality, corrections, verification and artifact maintenance; one training run is not a performance benchmark.

Use the framework selector and comparison article to discuss fit. Use the knowledge map to connect the different routes back to one engineering loop.

← learnz/sdd