Skip to content

First planner run

This page gives a reproducible first session using synthetic concepts. It lets a student inspect the planner’s explanations before any private library material is published. The fixture is intentionally marked synthetic and is not evidence of course coverage.

Run it

From the repository root:

uv sync
deadwire plan examples/approved-concepts.synthetic.json \
  --state-path examples/learning-state.empty.json \
  --goal ad-lateral-movement --limit 3

The output is JSON. Each item includes a stable concept ID, prerequisites, the four weighted score components, a total score, and the fixed 20/15/40/15 minute budget. An empty state is a cold start: no learner score is invented, so the mastery-gap contribution is 1.0.

Read the result

  1. Confirm every listed prerequisite is either empty or already represented by a completed evidence record.
  2. Read score_components rather than treating the total as a measurement of ability. The score only orders eligible concepts.
  3. Spend one session on the bounded lab step in the linked lesson.
  4. Save a redacted explanation, lab transcript, defensive observation, and failure reflection in the private learning directory.
  5. Record separate recall, lab, and explanation events. A page view or a successful command alone does not establish mastery.

Replace the fixture safely

When reviewed proposals exist, export them as the same JSON array shape and keep stable concept_id values. Every claim and command must retain source references; a semantic merge requires human approval. Do not copy the synthetic fixture into canonical notes or count it toward the pilot acceptance gates.