Program
A way to group tasks so kids see a coherent path, not the whole list at once.
A program is a way to group tasks so kids see a coherent path, not the whole list at once. Habit ladders, learning paths, project-based work: anything multi-step where you want the kid focused on the next thing, not overwhelmed by the whole map.
Programs are Soon. This page describes the shape and the intent; expect some details to firm up.
Where you'll see this
In the wild: none shipped yet. The Sprout team is using internal programs for early families; cross-family templates land with the cross-family skill library.
Shape
- Programs are recursive units: a program contains units, which can contain more units, which eventually wrap tasks. The shape lets a ladder, a curriculum, or a project all express naturally.
- Three-way type: a program exists as a template, as a family-scoped program, or as an assigned program for a specific kid. Templates are reused; assigned trees are mutable per kid.
- Slot substitution: at assign time, slots in the template get filled with the specific kid's name, level, schedule. The same template assigns differently for an 8-year-old and a 12-year-old.
- Input variables: same
{{input.*}}shape as skills. Parameters that bind at assign time.
When to use it
Reach for a program when the work has structure beyond "do this task, then that task." A multi-week reading curriculum. A bedtime-routine ladder that adds steps as the kid masters earlier ones. A summer project the kid works on across many days.
Stick with individual tasks (and maybe a skill that schedules them) when the work doesn't need to express a tree.
A worked example (planned)
Assign a bedtime-routine template to a specific kid. Slots get filled at assign time so the same template lands differently for an 8-year-old and a 12-year-old.
# Planned API.
program.assign({
templateId: "<bedtime-routine-template>",
childId: "<childId>",
slots: {
kid_name: "Maya",
start_level: 1,
schedule: "evenings"
}
})
# Recursive units copy atomically with slot substitution.Related tools
program.create: author a template or a family-scoped program.program.update·program.delete: 3-way mutation with recursive archive-cascade.program.assign: atomic template-to-assigned tree copy with slot substitution.program.get·program.list: read shape; recursive unit tree.
Roadmap for this noun
- Soon Kid-facing program surface: what the kid actually sees on the iPad when a program is assigned.
- Soon Home-agent authoring path: your agent creates programs end-to-end.
- Soon Cross-family program library: share program templates the way the skill library will share skills.