{"schemaVersion":"example-story-path.v1","graphVersion":"math-map-fbd343cc3f23eec1","generatedFromSnapshotVersion":"math-map-fbd343cc3f23eec1","title":"Adaptive math map","modelKind":"public_modeled_skill_graph","defaultSkillProfileId":"on_track_skill_profile","defaultAgeBandId":"age_8_9","defaultPracticeFocusId":"balanced_growth","hierarchyNodes":[{"label":"Episode opportunity","detail":"Story action and objects create a math opening."},{"label":"Math family","detail":"Curriculum neighborhood and prerequisite owner."},{"label":"Story lane","detail":"Episode-fit mechanic cluster inside the family."},{"label":"Reasoning ladder","detail":"The reasoning step selected before numbers, route, or row."},{"label":"Practice pattern","detail":"Reusable visual question grammar."},{"label":"Evidence","detail":"Fresh independent evidence drives the next choice."}],"skillProfileOptions":[{"id":"emerging_skill_profile","label":"Emerging","shortLabel":"Emerging","detail":"Starts with support and repair checks until fresh independent evidence appears."},{"id":"on_track_skill_profile","label":"On-track","shortLabel":"On-track","detail":"Starts on the core route and advances when recent independent work holds."},{"id":"advanced_skill_profile","label":"Advanced","shortLabel":"Advanced","detail":"Starts with transfer and opens challenge only where a challenge anchor exists."}],"ageBandOptions":[{"id":"age_6_7","label":"6-7","shortLabel":"6-7","detail":"Concrete objects, shorter prompts, larger touch targets."},{"id":"age_8_9","label":"8-9","shortLabel":"8-9","detail":"Representations, tables, and multi-step choices."},{"id":"age_10_11","label":"10-11","shortLabel":"10-11","detail":"Symbols, proof language, rates, and challenge presentation."}],"practiceFocusOptions":[{"id":"balanced_growth","label":"Balanced growth","shortLabel":"Balanced","detail":"Keeps story fit and evidence as the main drivers."},{"id":"math_facts_times_tables","label":"Math facts / times tables","shortLabel":"Facts","detail":"Softly favors facts, arrays, equal groups, and calm fluency when compatible."},{"id":"fractions_feel_hard","label":"Fractions feel hard","shortLabel":"Fractions","detail":"Softly favors shares, parts, equivalence, benchmarks, and fraction repair."},{"id":"word_problems_confusing","label":"Word problems are confusing","shortLabel":"Word problems","detail":"Softly favors model choice, bar models, operation choice, and reasonableness."},{"id":"geometry_shapes_measurement","label":"Geometry, shapes, and measurement","shortLabel":"Geometry","detail":"Softly favors shape, measure, tools, paths, and spatial work."},{"id":"test_practice_mixed_review","label":"Test practice / mixed review","shortLabel":"Mixed review","detail":"Softly favors skill checks and fresh review without child-facing test labels."},{"id":"patch_weak_spots","label":"Patch weak spots","shortLabel":"Weak spots","detail":"Softly favors diagnostic and repair choices once evidence points to a need."}],"routeLegend":[{"kind":"support_repair","label":"Support/repair route","shortLabel":"Repair","detail":"Adds support, reveal, or diagnostic repair before moving forward."},{"kind":"core","label":"Core route","shortLabel":"Core","detail":"Keeps the episode on its main reasoning lane."},{"kind":"stretch_transfer","label":"Stretch/transfer route","shortLabel":"Stretch","detail":"Uses a fresh representation, transfer form, or lane-deeper task."},{"kind":"challenge_ready","label":"Challenge-ready route","shortLabel":"Challenge","detail":"Adds an optional challenge only on challenge-anchor stops."}],"taskIconLegend":[{"category":"timed","label":"Timed","detail":"Timing appears only after correctness is secure."},{"category":"puzzle","label":"Puzzle","detail":"Compact reasoning form."},{"category":"reveal_support","label":"Reveal/support","detail":"Support or reveal keeps the child in the lane."},{"category":"transfer","label":"Transfer","detail":"Same idea in a fresh representation."},{"category":"skill_check","label":"Skill check","detail":"Fresh independent work checks whether the idea holds."},{"category":"challenge","label":"Challenge","detail":"Optional challenge anchor or enrichment branch."},{"category":"fluency","label":"Fluency","detail":"Fluency loop after correctness is stable."},{"category":"diagnostic","label":"Diagnostic","detail":"Wrong-reason probe without child-facing assessment labels."}],"families":[{"id":"module-family.count.cardinality-foundations.v1","name":"Counting and Cardinality Foundations","shortName":"Cardinality","route":"/math/families/count-cardinality-foundations","publicIndex":1},{"id":"module-family.count.quantity-comparison-order.v1","name":"Quantity Comparison and Order Reasoning","shortName":"Quantity","route":"/math/families/count-quantity-comparison-order","publicIndex":2},{"id":"module-family.nbt.base-ten-place-value.v1","name":"Base-Ten Place Value and Whole-Number Notation","shortName":"Base-ten","route":"/math/families/nbt-base-ten-place-value","publicIndex":3},{"id":"module-family.oa.whole-number-operations-fluency.v1","name":"Whole-Number Operations and Fact Fluency","shortName":"Facts","route":"/math/families/oa-whole-number-operations-fluency","publicIndex":4},{"id":"module-family.oa.models-word-problems.v1","name":"Operations Models, Bar Models, and Word Problems","shortName":"Models","route":"/math/families/oa-models-word-problems","publicIndex":5},{"id":"module-family.frac.parts-wholes-fair-shares.v1","name":"Fractions as Parts, Wholes, and Fair Shares","shortName":"Fair shares","route":"/math/families/frac-parts-wholes-fair-shares","publicIndex":6},{"id":"module-family.frac.equivalence-comparison-operations.v1","name":"Fraction Equivalence, Comparison, and Operations","shortName":"Fractions","route":"/math/families/frac-equivalence-comparison-operations","publicIndex":7},{"id":"module-family.dec.decimal-percent-reasoning.v1","name":"Decimal and Percent Reasoning","shortName":"Decimals","route":"/math/families/dec-decimal-percent-reasoning","publicIndex":8},{"id":"module-family.measure.units-tools-time-money.v1","name":"Measurement Units, Tools, Time, and Money","shortName":"Measure tools","route":"/math/families/measure-units-tools-time-money","publicIndex":9},{"id":"module-family.measure.geometric-measurement.v1","name":"Geometric Measurement","shortName":"Geom measure","route":"/math/families/measure-geometric-measurement","publicIndex":10},{"id":"module-family.data.classification-tables-graphs.v1","name":"Data Classification, Tables, and Graph Reasoning","shortName":"Data","route":"/math/families/data-classification-tables-graphs","publicIndex":11},{"id":"module-family.geom.shape-attributes-classification.v1","name":"Geometry Shape Attributes and Classification","shortName":"Shapes","route":"/math/families/geom-shape-attributes-classification","publicIndex":12},{"id":"module-family.geom.spatial-transformations-coordinates.v1","name":"Spatial Composition, Transformations, Symmetry, and Coordinates","shortName":"Space","route":"/math/families/geom-spatial-transformations-coordinates","publicIndex":13},{"id":"module-family.pattern.functions-generalization.v1","name":"Patterns, Functions, and Generalization","shortName":"Patterns","route":"/math/families/pattern-functions-generalization","publicIndex":14},{"id":"module-family.prealg.equations-expressions-inequalities.v1","name":"Equations, Variables, Expressions, and Inequalities","shortName":"Equations","route":"/math/families/prealg-equations-expressions-inequalities","publicIndex":15},{"id":"module-family.logic.constraint-deduction-combinatorics.v1","name":"Logic, Constraint, Deduction, and Combinatorics","shortName":"Logic","route":"/math/families/logic-constraint-deduction-combinatorics","publicIndex":16},{"id":"module-family.prealg.ratio-rate-scaling.v1","name":"Ratio, Rate, Scaling, and Proportional Foundation","shortName":"Ratio","route":"/math/families/prealg-ratio-rate-scaling","publicIndex":17}],"episodes":[{"id":"example-story-path.episode.01","ordinal":1,"row":1,"column":1,"storyStopLabel":"Counting foundation","familyId":"module-family.count.cardinality-foundations.v1","familyName":"Counting and Cardinality Foundations","familyShortName":"Cardinality","familyRoute":"/math/families/count-cardinality-foundations","storyMechanicLane":{"laneId":"story-lane.count.sequence-cardinality.v1","label":"Count sequence and set meaning","publicCopy":"Count objects, preserve one-to-one matching, and repair sequence gaps."},"taskAtom":{"atomId":"task-atom.count.visible-set-cardinality.v1","label":"Visible set count","surface":"count_board","questionPrimitive":"match, count, or repair the set"},"skillRef":null,"skillLabel":"Counting and cardinality","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Count, match, and cardinality","taskRoute":null,"taskIconCategories":["diagnostic","reveal_support"],"module":{"availability":"modeled_family_slot","label":"Counting foundation","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Counting foundation can advance.","on_track_skill_profile":"Counting foundation stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Counting foundation moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Count and match concrete sets","age_8_9":"Count-on and skip-count bridge","age_10_11":"Number relation checkpoint"},"ageBandChallengeForms":{"age_6_7":"Count and match concrete sets","age_8_9":"Count-on and skip-count bridge","age_10_11":"Number relation checkpoint"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Reveal/support"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.02","ordinal":2,"row":1,"column":2,"storyStopLabel":"Object sort","familyId":"module-family.data.classification-tables-graphs.v1","familyName":"Data Classification, Tables, and Graph Reasoning","familyShortName":"Data","familyRoute":"/math/families/data-classification-tables-graphs","storyMechanicLane":{"laneId":"story-lane.data.object-classification.v1","label":"Object classification","publicCopy":"Sort, infer, and test rules over story objects."},"taskAtom":{"atomId":"task-atom.data.classification-rule.v1","label":"Classification rule","surface":"attribute_sort_board","questionPrimitive":"sort or test the rule"},"skillRef":"data.sort-classify.one-attribute","skillLabel":"Sort Classify One Attribute","skillRoute":"/math/skills/data/sort-classify-one-attribute","taskTypeRef":"task-type.data.explicit-one-attribute-sort.v1","taskTypeLabel":"Explicit one-attribute object sort","taskRoute":{"title":"Explicit one-attribute object sort","route":"/math/skills/data/sort-classify-one-attribute/routes/explicit-one-attribute-object-sort"},"taskIconCategories":["puzzle","reveal_support","skill_check"],"module":{"availability":"public_module_available","label":"Object sort","moduleId":"math-module.data.sort-classify.one-attribute.object-sort.v1","publicModuleClaim":true,"publicCopy":"Available module path.","assignmentRefs":["assignment.moonlit.covered_jar.beat2.object_sort.v1"]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Object sort can advance.","on_track_skill_profile":"Object sort stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Object sort moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"ageBandChallengeForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Puzzle","Reveal/support","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.03","ordinal":3,"row":1,"column":3,"storyStopLabel":"Quantity compare","familyId":"module-family.count.quantity-comparison-order.v1","familyName":"Quantity Comparison and Order Reasoning","familyShortName":"Quantity","familyRoute":"/math/families/count-quantity-comparison-order","storyMechanicLane":{"laneId":"story-lane.quantity.visible-set-compare.v1","label":"Visible set comparison","publicCopy":"Compare groups, differences, and conservation with story objects."},"taskAtom":{"atomId":"task-atom.quantity.visible-compare.v1","label":"Visible compare","surface":"quantity_compare_board","questionPrimitive":"choose the group or prove the difference"},"skillRef":"count.compare.objects.to-20","skillLabel":"Comparing sets to 20","skillRoute":"/math/skills/count/compare-objects-to-20","taskTypeRef":"task-type.quantity.visible-set-compare-to-20.v1","taskTypeLabel":"Visible set compare to 20","taskRoute":{"title":"Visible set compare to 20","route":"/math/skills/count/compare-objects-to-20/routes/visible-set-compare-to-20"},"taskIconCategories":["diagnostic","skill_check","challenge"],"module":{"availability":"public_module_available","label":"Quantity compare","moduleId":"math-module.count.compare.objects-to-20.quantity-compare.v1","publicModuleClaim":true,"publicCopy":"Available module path.","assignmentRefs":["assignment.moonlit.covered_jar.beat3.quantity_compare.v1"]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Quantity compare can advance.","on_track_skill_profile":"Quantity compare stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Quantity compare can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Visible set comparison","age_8_9":"Difference and comparison reasoning","age_10_11":"Multi-representation comparison"},"ageBandChallengeForms":{"age_6_7":"Hidden-change comparison challenge","age_8_9":"Difference strategy challenge","age_10_11":"Multi-representation comparison challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Skill check","Challenge"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.04","ordinal":4,"row":1,"column":4,"storyStopLabel":"Count sequence repair","familyId":"module-family.count.cardinality-foundations.v1","familyName":"Counting and Cardinality Foundations","familyShortName":"Cardinality","familyRoute":"/math/families/count-cardinality-foundations","storyMechanicLane":{"laneId":"story-lane.count.sequence-cardinality.v1","label":"Count sequence and set meaning","publicCopy":"Count objects, preserve one-to-one matching, and repair sequence gaps."},"taskAtom":{"atomId":"task-atom.count.visible-set-cardinality.v1","label":"Visible set count","surface":"count_board","questionPrimitive":"match, count, or repair the set"},"skillRef":null,"skillLabel":"Counting and cardinality","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Count sequence check","taskRoute":null,"taskIconCategories":["reveal_support","fluency"],"module":{"availability":"orientation_slot","label":"Count sequence repair","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Count sequence repair can advance.","on_track_skill_profile":"Count sequence repair stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Count sequence repair moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Count and match concrete sets","age_8_9":"Count-on and skip-count bridge","age_10_11":"Number relation checkpoint"},"ageBandChallengeForms":{"age_6_7":"Count and match concrete sets","age_8_9":"Count-on and skip-count bridge","age_10_11":"Number relation checkpoint"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Reveal/support","Fluency"],"availableVariationLabels":["repair support","core route","transfer route","fluency loop"],"challengeAnchor":false},{"id":"example-story-path.episode.05","ordinal":5,"row":2,"column":1,"storyStopLabel":"Object sort transfer","familyId":"module-family.data.classification-tables-graphs.v1","familyName":"Data Classification, Tables, and Graph Reasoning","familyShortName":"Data","familyRoute":"/math/families/data-classification-tables-graphs","storyMechanicLane":{"laneId":"story-lane.data.object-classification.v1","label":"Object classification","publicCopy":"Sort, infer, and test rules over story objects."},"taskAtom":{"atomId":"task-atom.data.classification-rule.v1","label":"Classification rule","surface":"attribute_sort_board","questionPrimitive":"sort or test the rule"},"skillRef":"data.sort-classify.one-attribute","skillLabel":"Sort Classify One Attribute","skillRoute":"/math/skills/data/sort-classify-one-attribute","taskTypeRef":"task-type.data.explicit-one-attribute-sort.v1","taskTypeLabel":"Explicit one-attribute object sort","taskRoute":{"title":"Explicit one-attribute object sort","route":"/math/skills/data/sort-classify-one-attribute/routes/explicit-one-attribute-object-sort"},"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"public_module_available","label":"Object sort transfer","moduleId":"math-module.data.sort-classify.one-attribute.object-sort.v1","publicModuleClaim":true,"publicCopy":"Available module path.","assignmentRefs":["assignment.moonlit.covered_jar.beat5.object_sort.v1"]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Object sort transfer can advance.","on_track_skill_profile":"Object sort transfer stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Object sort transfer moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"ageBandChallengeForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.06","ordinal":6,"row":2,"column":2,"storyStopLabel":"Constraint choice","familyId":"module-family.logic.constraint-deduction-combinatorics.v1","familyName":"Logic, Constraint, Deduction, and Combinatorics","familyShortName":"Logic","familyRoute":"/math/families/logic-constraint-deduction-combinatorics","storyMechanicLane":{"laneId":"story-lane.logic.visible-clue-elimination.v1","label":"Visible clue elimination","publicCopy":"Use clues, constraints, and near-misses to pick the survivor."},"taskAtom":{"atomId":"task-atom.logic.clue-elimination.v1","label":"Clue elimination","surface":"constraint_choice_board","questionPrimitive":"use every clue to pick the survivor"},"skillRef":"logic.constraints.elimination","skillLabel":"Constraints Elimination","skillRoute":"/math/skills/logic/constraints-elimination","taskTypeRef":"task-type.logic.visible-clue-single-survivor.v1","taskTypeLabel":"Visible-clue single survivor","taskRoute":{"title":"Visible-clue single survivor","route":"/math/skills/logic/constraints-elimination/routes/visible-clue-single-survivor"},"taskIconCategories":["diagnostic","puzzle","challenge"],"module":{"availability":"public_module_available","label":"Constraint choice","moduleId":"math-module.logic.constraints.elimination.safety-choice.v1","publicModuleClaim":true,"publicCopy":"Available module path.","assignmentRefs":["assignment.moonlit.covered_jar.beat6.constraint_choice.v1"]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Constraint choice can advance.","on_track_skill_profile":"Constraint choice stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Constraint choice can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"One-clue elimination","age_8_9":"Near-miss deduction","age_10_11":"Deduction proof"},"ageBandChallengeForms":{"age_6_7":"One-clue challenge","age_8_9":"Near-miss deduction challenge","age_10_11":"Deduction proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Puzzle","Challenge"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.07","ordinal":7,"row":2,"column":3,"storyStopLabel":"Constraint challenge","familyId":"module-family.logic.constraint-deduction-combinatorics.v1","familyName":"Logic, Constraint, Deduction, and Combinatorics","familyShortName":"Logic","familyRoute":"/math/families/logic-constraint-deduction-combinatorics","storyMechanicLane":{"laneId":"story-lane.logic.visible-clue-elimination.v1","label":"Visible clue elimination","publicCopy":"Use clues, constraints, and near-misses to pick the survivor."},"taskAtom":{"atomId":"task-atom.logic.clue-elimination.v1","label":"Clue elimination","surface":"constraint_choice_board","questionPrimitive":"use every clue to pick the survivor"},"skillRef":"logic.constraints.elimination","skillLabel":"Constraints Elimination","skillRoute":"/math/skills/logic/constraints-elimination","taskTypeRef":"task-type.logic.visible-clue-single-survivor.v1","taskTypeLabel":"Visible-clue single survivor","taskRoute":{"title":"Visible-clue single survivor","route":"/math/skills/logic/constraints-elimination/routes/visible-clue-single-survivor"},"taskIconCategories":["challenge","transfer","puzzle"],"module":{"availability":"public_module_available","label":"Constraint challenge","moduleId":"math-module.logic.constraints.elimination.safety-choice.v1","publicModuleClaim":true,"publicCopy":"Available module path.","assignmentRefs":["assignment.moonlit.covered_jar.beat7.constraint_choice_challenge.v1"]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Constraint challenge can advance.","on_track_skill_profile":"Constraint challenge stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Constraint challenge can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"One-clue elimination","age_8_9":"Near-miss deduction","age_10_11":"Deduction proof"},"ageBandChallengeForms":{"age_6_7":"One-clue challenge","age_8_9":"Near-miss deduction challenge","age_10_11":"Deduction proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Challenge","Transfer","Puzzle"],"availableVariationLabels":["repair support","core route","transfer route","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.08","ordinal":8,"row":2,"column":4,"storyStopLabel":"Place-value grouping","familyId":"module-family.nbt.base-ten-place-value.v1","familyName":"Base-Ten Place Value and Whole-Number Notation","familyShortName":"Base-ten","familyRoute":"/math/families/nbt-base-ten-place-value","storyMechanicLane":{"laneId":"story-lane.nbt.place-value-notation.v1","label":"Place-value notation","publicCopy":"Group, rename, round, or decode base-ten quantities."},"taskAtom":{"atomId":"task-atom.nbt.place-value-cards.v1","label":"Place-value cards","surface":"place_value_table","questionPrimitive":"group and name the value"},"skillRef":null,"skillLabel":"Place-value and base-ten notation","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Base-ten grouping and notation","taskRoute":null,"taskIconCategories":["reveal_support","transfer","skill_check"],"module":{"availability":"modeled_family_slot","label":"Place-value grouping","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Place-value grouping can advance.","on_track_skill_profile":"Place-value grouping stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Place-value grouping moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Bundled tens and ones","age_8_9":"Place-value notation transfer","age_10_11":"Whole-number notation strategy"},"ageBandChallengeForms":{"age_6_7":"Bundled tens and ones","age_8_9":"Place-value notation transfer","age_10_11":"Whole-number notation strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Reveal/support","Transfer","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.09","ordinal":9,"row":3,"column":1,"storyStopLabel":"Fact fluency loop","familyId":"module-family.oa.whole-number-operations-fluency.v1","familyName":"Whole-Number Operations and Fact Fluency","familyShortName":"Facts","familyRoute":"/math/families/oa-whole-number-operations-fluency","storyMechanicLane":{"laneId":"story-lane.oa.fact-strategy.v1","label":"Fact strategy and fluency","publicCopy":"Use arrays, equal groups, and facts after concept evidence is stable."},"taskAtom":{"atomId":"task-atom.oa.fact-strategy-loop.v1","label":"Fact strategy loop","surface":"fact_strategy_board","questionPrimitive":"solve after the strategy is visible"},"skillRef":null,"skillLabel":"Whole-number facts and fluency","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Whole-number fact fluency","taskRoute":null,"taskIconCategories":["fluency","timed","reveal_support"],"module":{"availability":"modeled_family_slot","label":"Fact fluency loop","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Fact fluency loop can advance.","on_track_skill_profile":"Fact fluency loop stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Fact fluency loop moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Number facts with support","age_8_9":"Fact strategy fluency","age_10_11":"Efficient fact strategy"},"ageBandChallengeForms":{"age_6_7":"Number facts with support","age_8_9":"Fact strategy fluency","age_10_11":"Efficient fact strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Fluency","Timed","Reveal/support"],"availableVariationLabels":["repair support","core route","transfer route","fluency loop"],"challengeAnchor":false},{"id":"example-story-path.episode.10","ordinal":10,"row":3,"column":2,"storyStopLabel":"Operation model choice","familyId":"module-family.oa.models-word-problems.v1","familyName":"Operations Models, Bar Models, and Word Problems","familyShortName":"Models","familyRoute":"/math/families/oa-models-word-problems","storyMechanicLane":{"laneId":"story-lane.models.story-model-select.v1","label":"Story model selection","publicCopy":"Choose the model, operation, or bar representation for a context."},"taskAtom":{"atomId":"task-atom.models.bar-model-choice.v1","label":"Model choice","surface":"bar_model_builder","questionPrimitive":"choose the model for the story"},"skillRef":null,"skillLabel":"Operation models and word problems","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Operation model and word problem","taskRoute":null,"taskIconCategories":["puzzle","reveal_support","transfer"],"module":{"availability":"modeled_family_slot","label":"Operation model choice","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Operation model choice can advance.","on_track_skill_profile":"Operation model choice stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Operation model choice moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Picture story model","age_8_9":"Bar-model choice","age_10_11":"Multi-step model selection"},"ageBandChallengeForms":{"age_6_7":"Picture story model","age_8_9":"Bar-model choice","age_10_11":"Multi-step model selection"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Puzzle","Reveal/support","Transfer"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.11","ordinal":11,"row":3,"column":3,"storyStopLabel":"Tools, time, and money","familyId":"module-family.measure.units-tools-time-money.v1","familyName":"Measurement Units, Tools, Time, and Money","familyShortName":"Measure tools","familyRoute":"/math/families/measure-units-tools-time-money","storyMechanicLane":{"laneId":"story-lane.measure.tool-unit-context.v1","label":"Tools, units, and conversion","publicCopy":"Choose tools, units, time, money, or conversion paths."},"taskAtom":{"atomId":"task-atom.measure.tool-unit-choice.v1","label":"Tool and unit choice","surface":"measure_tool_board","questionPrimitive":"choose a tool, unit, or conversion path"},"skillRef":null,"skillLabel":"Units, tools, time, and money","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Unit, tool, time, and money selection","taskRoute":null,"taskIconCategories":["diagnostic","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Tools, time, and money","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Tools, time, and money can advance.","on_track_skill_profile":"Tools, time, and money stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Tools, time, and money moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Choose a tool or unit","age_8_9":"Unit conversion choice","age_10_11":"Conversion strategy"},"ageBandChallengeForms":{"age_6_7":"Choose a tool or unit","age_8_9":"Unit conversion choice","age_10_11":"Conversion strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.12","ordinal":12,"row":3,"column":4,"storyStopLabel":"Perimeter and area","familyId":"module-family.measure.geometric-measurement.v1","familyName":"Geometric Measurement","familyShortName":"Geom measure","familyRoute":"/math/families/measure-geometric-measurement","storyMechanicLane":{"laneId":"story-lane.geom-measure.area-perimeter.v1","label":"Area and perimeter measure","publicCopy":"Measure, compose, and transfer geometric quantities."},"taskAtom":{"atomId":"task-atom.geom-measure.area-perimeter.v1","label":"Area/perimeter board","surface":"area_perimeter_board","questionPrimitive":"measure, compose, or transfer a figure"},"skillRef":null,"skillLabel":"Geometric measurement","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Geometric measurement","taskRoute":null,"taskIconCategories":["puzzle","transfer","skill_check"],"module":{"availability":"modeled_family_slot","label":"Perimeter and area","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Perimeter and area can advance.","on_track_skill_profile":"Perimeter and area stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Perimeter and area moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Length and perimeter model","age_8_9":"Area and perimeter transfer","age_10_11":"Measurement proof"},"ageBandChallengeForms":{"age_6_7":"Length and perimeter model","age_8_9":"Area and perimeter transfer","age_10_11":"Measurement proof"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Puzzle","Transfer","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.13","ordinal":13,"row":4,"column":1,"storyStopLabel":"Shape attributes","familyId":"module-family.geom.shape-attributes-classification.v1","familyName":"Geometry Shape Attributes and Classification","familyShortName":"Shapes","familyRoute":"/math/families/geom-shape-attributes-classification","storyMechanicLane":{"laneId":"story-lane.geom.shape-attribute-classify.v1","label":"Shape attribute classification","publicCopy":"Use attributes to classify, prove, or repair shape choices."},"taskAtom":{"atomId":"task-atom.geom.shape-attribute-choice.v1","label":"Shape attribute choice","surface":"shape_attribute_board","questionPrimitive":"classify using visible attributes"},"skillRef":null,"skillLabel":"Shape attributes and classification","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Shape attribute classification","taskRoute":null,"taskIconCategories":["puzzle","diagnostic","skill_check"],"module":{"availability":"modeled_family_slot","label":"Shape attributes","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Shape attributes can advance.","on_track_skill_profile":"Shape attributes stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Shape attributes moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Name shape attributes","age_8_9":"Classify by attributes","age_10_11":"Shape proof"},"ageBandChallengeForms":{"age_6_7":"Attribute sort challenge","age_8_9":"Shape class proof challenge","age_10_11":"Classification proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Puzzle","Diagnostic","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.14","ordinal":14,"row":4,"column":2,"storyStopLabel":"Symmetry and turns","familyId":"module-family.geom.spatial-transformations-coordinates.v1","familyName":"Spatial Composition, Transformations, Symmetry, and Coordinates","familyShortName":"Space","familyRoute":"/math/families/geom-spatial-transformations-coordinates","storyMechanicLane":{"laneId":"story-lane.space.coordinate-paths.v1","label":"Spatial paths and transformations","publicCopy":"Navigate paths, turns, coordinates, and symmetry."},"taskAtom":{"atomId":"task-atom.space.path-transform.v1","label":"Path transform","surface":"coordinate_path_board","questionPrimitive":"move, turn, reflect, or plot"},"skillRef":null,"skillLabel":"Spatial transformations and coordinates","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Transformation and coordinate move","taskRoute":null,"taskIconCategories":["transfer","puzzle","challenge"],"module":{"availability":"modeled_family_slot","label":"Symmetry and turns","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Symmetry and turns can advance.","on_track_skill_profile":"Symmetry and turns stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Symmetry and turns can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Turns and symmetry","age_8_9":"Coordinate path","age_10_11":"Transformation proof"},"ageBandChallengeForms":{"age_6_7":"Turn-and-symmetry challenge","age_8_9":"Coordinate path challenge","age_10_11":"Transformation proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Challenge"],"availableVariationLabels":["repair support","core route","transfer route","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.15","ordinal":15,"row":4,"column":3,"storyStopLabel":"Pattern rule","familyId":"module-family.pattern.functions-generalization.v1","familyName":"Patterns, Functions, and Generalization","familyShortName":"Patterns","familyRoute":"/math/families/pattern-functions-generalization","storyMechanicLane":{"laneId":"story-lane.pattern.rule-table.v1","label":"Pattern rule tables","publicCopy":"Find, continue, or generalize rules."},"taskAtom":{"atomId":"task-atom.pattern.rule-table.v1","label":"Rule table","surface":"pattern_rule_board","questionPrimitive":"continue or explain the rule"},"skillRef":null,"skillLabel":"Patterns and functions","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Pattern and function rule","taskRoute":null,"taskIconCategories":["puzzle","transfer","challenge"],"module":{"availability":"modeled_family_slot","label":"Pattern rule","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Pattern rule can advance.","on_track_skill_profile":"Pattern rule stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Pattern rule can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Continue a visual pattern","age_8_9":"Rule table and missing term","age_10_11":"Function rule generalization"},"ageBandChallengeForms":{"age_6_7":"Visual pattern challenge","age_8_9":"Rule-table challenge","age_10_11":"Function generalization challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Puzzle","Transfer","Challenge"],"availableVariationLabels":["repair support","core route","transfer route","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.16","ordinal":16,"row":4,"column":4,"storyStopLabel":"Classification rule","familyId":"module-family.data.classification-tables-graphs.v1","familyName":"Data Classification, Tables, and Graph Reasoning","familyShortName":"Data","familyRoute":"/math/families/data-classification-tables-graphs","storyMechanicLane":{"laneId":"story-lane.data.object-classification.v1","label":"Object classification","publicCopy":"Sort, infer, and test rules over story objects."},"taskAtom":{"atomId":"task-atom.data.classification-rule.v1","label":"Classification rule","surface":"attribute_sort_board","questionPrimitive":"sort or test the rule"},"skillRef":"data.sort-classify.one-attribute","skillLabel":"Sort Classify One Attribute","skillRoute":"/math/skills/data/sort-classify-one-attribute","taskTypeRef":"task-type.data.rule-discovery.v1","taskTypeLabel":"Rule discovery and counterexample","taskRoute":null,"taskIconCategories":["transfer","diagnostic","puzzle"],"module":{"availability":"modeled_depth_slot","label":"Classification rule","moduleId":"math-module.data.sort-classify.one-attribute.rule-counterexample.v1","publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Classification rule can advance.","on_track_skill_profile":"Classification rule stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Classification rule moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"ageBandChallengeForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Transfer","Diagnostic","Puzzle"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.17","ordinal":17,"row":5,"column":1,"storyStopLabel":"Deduction depth","familyId":"module-family.logic.constraint-deduction-combinatorics.v1","familyName":"Logic, Constraint, Deduction, and Combinatorics","familyShortName":"Logic","familyRoute":"/math/families/logic-constraint-deduction-combinatorics","storyMechanicLane":{"laneId":"story-lane.logic.visible-clue-elimination.v1","label":"Visible clue elimination","publicCopy":"Use clues, constraints, and near-misses to pick the survivor."},"taskAtom":{"atomId":"task-atom.logic.clue-elimination.v1","label":"Clue elimination","surface":"constraint_choice_board","questionPrimitive":"use every clue to pick the survivor"},"skillRef":"logic.constraints.elimination","skillLabel":"Constraints Elimination","skillRoute":"/math/skills/logic/constraints-elimination","taskTypeRef":"task-type.logic.near-miss-elimination.v1","taskTypeLabel":"Near-miss and ambiguity repair","taskRoute":null,"taskIconCategories":["diagnostic","challenge","puzzle"],"module":{"availability":"modeled_depth_slot","label":"Deduction depth","moduleId":"math-module.logic.constraints.deduction-depth.v1","publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Deduction depth can advance.","on_track_skill_profile":"Deduction depth stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Deduction depth can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"One-clue elimination","age_8_9":"Near-miss deduction","age_10_11":"Deduction proof"},"ageBandChallengeForms":{"age_6_7":"One-clue challenge","age_8_9":"Near-miss deduction challenge","age_10_11":"Deduction proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Challenge","Puzzle"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.18","ordinal":18,"row":5,"column":2,"storyStopLabel":"Fair-share parts","familyId":"module-family.frac.parts-wholes-fair-shares.v1","familyName":"Fractions as Parts, Wholes, and Fair Shares","familyShortName":"Fair shares","familyRoute":"/math/families/frac-parts-wholes-fair-shares","storyMechanicLane":{"laneId":"story-lane.frac.part-whole-partition.v1","label":"Parts and whole partition","publicCopy":"Partition, share, and protect the same whole."},"taskAtom":{"atomId":"task-atom.frac.partition-whole.v1","label":"Partition whole","surface":"partition_board","questionPrimitive":"split without changing the whole"},"skillRef":null,"skillLabel":"Parts, wholes, and fair shares","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Parts, wholes, and fair shares","taskRoute":null,"taskIconCategories":["reveal_support","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Fair-share parts","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Fair-share parts can advance.","on_track_skill_profile":"Fair-share parts stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Fair-share parts moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Equal shares with objects","age_8_9":"Unit fraction partition","age_10_11":"Fraction partition reasoning"},"ageBandChallengeForms":{"age_6_7":"Equal shares with objects","age_8_9":"Unit fraction partition","age_10_11":"Fraction partition reasoning"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Reveal/support","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.19","ordinal":19,"row":5,"column":3,"storyStopLabel":"Equivalent fractions","familyId":"module-family.frac.equivalence-comparison-operations.v1","familyName":"Fraction Equivalence, Comparison, and Operations","familyShortName":"Fractions","familyRoute":"/math/families/frac-equivalence-comparison-operations","storyMechanicLane":{"laneId":"story-lane.frac.equivalence-compare.v1","label":"Fraction equivalence and compare","publicCopy":"Compare fractions with strips, number lines, and benchmark reasoning."},"taskAtom":{"atomId":"task-atom.frac.equivalence-compare.v1","label":"Fraction compare","surface":"fraction_strip_compare","questionPrimitive":"match or compare equivalent parts"},"skillRef":null,"skillLabel":"Fraction equivalence and comparison","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Fraction equivalence and comparison","taskRoute":null,"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Equivalent fractions","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Equivalent fractions can advance.","on_track_skill_profile":"Equivalent fractions stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Equivalent fractions moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Visual fraction comparison","age_8_9":"Equivalent fraction model","age_10_11":"Fraction comparison strategy"},"ageBandChallengeForms":{"age_6_7":"Visual fraction comparison","age_8_9":"Equivalent fraction model","age_10_11":"Fraction comparison strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.20","ordinal":20,"row":5,"column":4,"storyStopLabel":"Decimals and percent","familyId":"module-family.dec.decimal-percent-reasoning.v1","familyName":"Decimal and Percent Reasoning","familyShortName":"Decimals","familyRoute":"/math/families/dec-decimal-percent-reasoning","storyMechanicLane":{"laneId":"story-lane.dec.percent-benchmark.v1","label":"Decimal and percent benchmark","publicCopy":"Connect decimals, percent, money, and benchmark representations."},"taskAtom":{"atomId":"task-atom.dec.benchmark-meter.v1","label":"Benchmark meter","surface":"benchmark_meter","questionPrimitive":"connect decimal, percent, or money benchmarks"},"skillRef":null,"skillLabel":"Decimal and percent reasoning","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Decimal and percent benchmark","taskRoute":null,"taskIconCategories":["diagnostic","transfer","skill_check"],"module":{"availability":"modeled_family_slot","label":"Decimals and percent","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Decimals and percent can advance.","on_track_skill_profile":"Decimals and percent stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Decimals and percent moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Money and benchmark decimals","age_8_9":"Decimal-percent benchmark","age_10_11":"Percent benchmark reasoning"},"ageBandChallengeForms":{"age_6_7":"Money benchmark challenge","age_8_9":"Decimal-percent benchmark challenge","age_10_11":"Percent reasoning challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Transfer","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.21","ordinal":21,"row":6,"column":1,"storyStopLabel":"Ratio scaling","familyId":"module-family.prealg.ratio-rate-scaling.v1","familyName":"Ratio, Rate, Scaling, and Proportional Foundation","familyShortName":"Ratio","familyRoute":"/math/families/prealg-ratio-rate-scaling","storyMechanicLane":{"laneId":"story-lane.ratio.table-scale.v1","label":"Ratio table and scale","publicCopy":"Scale quantities, maps, recipes, and rates when prerequisites hold."},"taskAtom":{"atomId":"task-atom.ratio.scale-table.v1","label":"Scale table","surface":"ratio_table_board","questionPrimitive":"scale while keeping the relation"},"skillRef":null,"skillLabel":"Ratio, rate, and scaling","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Ratio, rate, and scaling","taskRoute":null,"taskIconCategories":["transfer","challenge","puzzle"],"module":{"availability":"modeled_family_slot","label":"Ratio scaling","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Ratio scaling can advance.","on_track_skill_profile":"Ratio scaling stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Ratio scaling can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Scale with pictures","age_8_9":"Rate and scale factor","age_10_11":"Proportional reasoning"},"ageBandChallengeForms":{"age_6_7":"Picture scale challenge","age_8_9":"Rate and scale-factor challenge","age_10_11":"Proportional reasoning challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"scheduled_outside_story","label":"Review scheduled","detail":"This stop keeps its story task; mixed review is queued outside the path."},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Challenge","Puzzle"],"availableVariationLabels":["repair support","core route","transfer route","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.22","ordinal":22,"row":6,"column":2,"storyStopLabel":"Unknown-number equation","familyId":"module-family.prealg.equations-expressions-inequalities.v1","familyName":"Equations, Variables, Expressions, and Inequalities","familyShortName":"Equations","familyRoute":"/math/families/prealg-equations-expressions-inequalities","storyMechanicLane":{"laneId":"story-lane.prealg.expression-inequality.v1","label":"Expression and inequality choices","publicCopy":"Use unknowns, expressions, and inequalities to keep a relation true."},"taskAtom":{"atomId":"task-atom.prealg.expression-choice.v1","label":"Expression choice","surface":"expression_tile_board","questionPrimitive":"choose the expression that keeps the relation true"},"skillRef":null,"skillLabel":"Equations, expressions, and inequalities","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Equation, expression, and inequality","taskRoute":null,"taskIconCategories":["diagnostic","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Unknown-number equation","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Unknown-number equation can advance.","on_track_skill_profile":"Unknown-number equation stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Unknown-number equation moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Unknown number picture","age_8_9":"Equation choice","age_10_11":"Expression and inequality reasoning"},"ageBandChallengeForms":{"age_6_7":"Unknown number picture","age_8_9":"Equation choice","age_10_11":"Expression and inequality reasoning"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.23","ordinal":23,"row":6,"column":3,"storyStopLabel":"Base-ten notation transfer","familyId":"module-family.nbt.base-ten-place-value.v1","familyName":"Base-Ten Place Value and Whole-Number Notation","familyShortName":"Base-ten","familyRoute":"/math/families/nbt-base-ten-place-value","storyMechanicLane":{"laneId":"story-lane.nbt.place-value-notation.v1","label":"Place-value notation","publicCopy":"Group, rename, round, or decode base-ten quantities."},"taskAtom":{"atomId":"task-atom.nbt.place-value-cards.v1","label":"Place-value cards","surface":"place_value_table","questionPrimitive":"group and name the value"},"skillRef":null,"skillLabel":"Place-value and base-ten notation","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Place-value notation transfer","taskRoute":null,"taskIconCategories":["transfer","skill_check","fluency"],"module":{"availability":"modeled_family_slot","label":"Base-ten notation transfer","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Base-ten notation transfer can advance.","on_track_skill_profile":"Base-ten notation transfer stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Base-ten notation transfer moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Bundled tens and ones","age_8_9":"Place-value notation transfer","age_10_11":"Whole-number notation strategy"},"ageBandChallengeForms":{"age_6_7":"Bundled tens and ones","age_8_9":"Place-value notation transfer","age_10_11":"Whole-number notation strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Skill check","Fluency"],"availableVariationLabels":["repair support","core route","transfer route","fluency loop"],"challengeAnchor":false},{"id":"example-story-path.episode.24","ordinal":24,"row":6,"column":4,"storyStopLabel":"Operations fluency loop","familyId":"module-family.oa.whole-number-operations-fluency.v1","familyName":"Whole-Number Operations and Fact Fluency","familyShortName":"Facts","familyRoute":"/math/families/oa-whole-number-operations-fluency","storyMechanicLane":{"laneId":"story-lane.oa.fact-strategy.v1","label":"Fact strategy and fluency","publicCopy":"Use arrays, equal groups, and facts after concept evidence is stable."},"taskAtom":{"atomId":"task-atom.oa.fact-strategy-loop.v1","label":"Fact strategy loop","surface":"fact_strategy_board","questionPrimitive":"solve after the strategy is visible"},"skillRef":null,"skillLabel":"Whole-number facts and fluency","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Operation fluency loop","taskRoute":null,"taskIconCategories":["fluency","timed","skill_check"],"module":{"availability":"modeled_family_slot","label":"Operations fluency loop","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Operations fluency loop can advance.","on_track_skill_profile":"Operations fluency loop stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Operations fluency loop moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Number facts with support","age_8_9":"Fact strategy fluency","age_10_11":"Efficient fact strategy"},"ageBandChallengeForms":{"age_6_7":"Number facts with support","age_8_9":"Fact strategy fluency","age_10_11":"Efficient fact strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Fluency","Timed","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","fluency loop"],"challengeAnchor":false},{"id":"example-story-path.episode.25","ordinal":25,"row":7,"column":1,"storyStopLabel":"Word-problem model transfer","familyId":"module-family.oa.models-word-problems.v1","familyName":"Operations Models, Bar Models, and Word Problems","familyShortName":"Models","familyRoute":"/math/families/oa-models-word-problems","storyMechanicLane":{"laneId":"story-lane.models.story-model-select.v1","label":"Story model selection","publicCopy":"Choose the model, operation, or bar representation for a context."},"taskAtom":{"atomId":"task-atom.models.bar-model-choice.v1","label":"Model choice","surface":"bar_model_builder","questionPrimitive":"choose the model for the story"},"skillRef":null,"skillLabel":"Operation models and word problems","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Model selection and transfer","taskRoute":null,"taskIconCategories":["transfer","puzzle","diagnostic"],"module":{"availability":"modeled_family_slot","label":"Word-problem model transfer","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Word-problem model transfer can advance.","on_track_skill_profile":"Word-problem model transfer stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Word-problem model transfer moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Picture story model","age_8_9":"Bar-model choice","age_10_11":"Multi-step model selection"},"ageBandChallengeForms":{"age_6_7":"Picture story model","age_8_9":"Bar-model choice","age_10_11":"Multi-step model selection"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Transfer","Puzzle","Diagnostic"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.26","ordinal":26,"row":7,"column":2,"storyStopLabel":"Measurement conversion","familyId":"module-family.measure.units-tools-time-money.v1","familyName":"Measurement Units, Tools, Time, and Money","familyShortName":"Measure tools","familyRoute":"/math/families/measure-units-tools-time-money","storyMechanicLane":{"laneId":"story-lane.measure.tool-unit-context.v1","label":"Tools, units, and conversion","publicCopy":"Choose tools, units, time, money, or conversion paths."},"taskAtom":{"atomId":"task-atom.measure.tool-unit-choice.v1","label":"Tool and unit choice","surface":"measure_tool_board","questionPrimitive":"choose a tool, unit, or conversion path"},"skillRef":null,"skillLabel":"Units, tools, time, and money","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Unit conversion and tool choice","taskRoute":null,"taskIconCategories":["transfer","skill_check","puzzle"],"module":{"availability":"modeled_family_slot","label":"Measurement conversion","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Measurement conversion can advance.","on_track_skill_profile":"Measurement conversion stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Measurement conversion moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Choose a tool or unit","age_8_9":"Unit conversion choice","age_10_11":"Conversion strategy"},"ageBandChallengeForms":{"age_6_7":"Choose a tool or unit","age_8_9":"Unit conversion choice","age_10_11":"Conversion strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Skill check","Puzzle"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.27","ordinal":27,"row":7,"column":3,"storyStopLabel":"Shape class proof","familyId":"module-family.geom.shape-attributes-classification.v1","familyName":"Geometry Shape Attributes and Classification","familyShortName":"Shapes","familyRoute":"/math/families/geom-shape-attributes-classification","storyMechanicLane":{"laneId":"story-lane.geom.shape-attribute-classify.v1","label":"Shape attribute classification","publicCopy":"Use attributes to classify, prove, or repair shape choices."},"taskAtom":{"atomId":"task-atom.geom.shape-attribute-choice.v1","label":"Shape attribute choice","surface":"shape_attribute_board","questionPrimitive":"classify using visible attributes"},"skillRef":null,"skillLabel":"Shape attributes and classification","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Shape classification proof","taskRoute":null,"taskIconCategories":["puzzle","challenge","diagnostic"],"module":{"availability":"modeled_family_slot","label":"Shape class proof","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Shape class proof can advance.","on_track_skill_profile":"Shape class proof stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Shape class proof can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Name shape attributes","age_8_9":"Classify by attributes","age_10_11":"Shape proof"},"ageBandChallengeForms":{"age_6_7":"Attribute sort challenge","age_8_9":"Shape class proof challenge","age_10_11":"Classification proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Puzzle","Challenge","Diagnostic"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.28","ordinal":28,"row":7,"column":4,"storyStopLabel":"Coordinate path","familyId":"module-family.geom.spatial-transformations-coordinates.v1","familyName":"Spatial Composition, Transformations, Symmetry, and Coordinates","familyShortName":"Space","familyRoute":"/math/families/geom-spatial-transformations-coordinates","storyMechanicLane":{"laneId":"story-lane.space.coordinate-paths.v1","label":"Spatial paths and transformations","publicCopy":"Navigate paths, turns, coordinates, and symmetry."},"taskAtom":{"atomId":"task-atom.space.path-transform.v1","label":"Path transform","surface":"coordinate_path_board","questionPrimitive":"move, turn, reflect, or plot"},"skillRef":null,"skillLabel":"Spatial transformations and coordinates","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Coordinate path and transformation","taskRoute":null,"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Coordinate path","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Coordinate path can advance.","on_track_skill_profile":"Coordinate path stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Coordinate path moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Turns and symmetry","age_8_9":"Coordinate path","age_10_11":"Transformation proof"},"ageBandChallengeForms":{"age_6_7":"Turn-and-symmetry challenge","age_8_9":"Coordinate path challenge","age_10_11":"Transformation proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.29","ordinal":29,"row":8,"column":1,"storyStopLabel":"Table-to-graph data","familyId":"module-family.data.classification-tables-graphs.v1","familyName":"Data Classification, Tables, and Graph Reasoning","familyShortName":"Data","familyRoute":"/math/families/data-classification-tables-graphs","storyMechanicLane":{"laneId":"story-lane.data.object-classification.v1","label":"Object classification","publicCopy":"Sort, infer, and test rules over story objects."},"taskAtom":{"atomId":"task-atom.data.classification-rule.v1","label":"Classification rule","surface":"attribute_sort_board","questionPrimitive":"sort or test the rule"},"skillRef":null,"skillLabel":"Classification, tables, and graphs","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Table and graph reasoning","taskRoute":null,"taskIconCategories":["diagnostic","transfer","skill_check"],"module":{"availability":"modeled_family_slot","label":"Table-to-graph data","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Table-to-graph data can advance.","on_track_skill_profile":"Table-to-graph data stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Table-to-graph data moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"ageBandChallengeForms":{"age_6_7":"Sort by one rule","age_8_9":"Table and graph transfer","age_10_11":"Rule, table, and counterexample"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Transfer","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.30","ordinal":30,"row":8,"column":2,"storyStopLabel":"Function table","familyId":"module-family.pattern.functions-generalization.v1","familyName":"Patterns, Functions, and Generalization","familyShortName":"Patterns","familyRoute":"/math/families/pattern-functions-generalization","storyMechanicLane":{"laneId":"story-lane.pattern.rule-table.v1","label":"Pattern rule tables","publicCopy":"Find, continue, or generalize rules."},"taskAtom":{"atomId":"task-atom.pattern.rule-table.v1","label":"Rule table","surface":"pattern_rule_board","questionPrimitive":"continue or explain the rule"},"skillRef":null,"skillLabel":"Patterns and functions","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Function table generalization","taskRoute":null,"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Function table","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Function table can advance.","on_track_skill_profile":"Function table stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Function table moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Continue a visual pattern","age_8_9":"Rule table and missing term","age_10_11":"Function rule generalization"},"ageBandChallengeForms":{"age_6_7":"Visual pattern challenge","age_8_9":"Rule-table challenge","age_10_11":"Function generalization challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.31","ordinal":31,"row":8,"column":3,"storyStopLabel":"Combinatorics logic","familyId":"module-family.logic.constraint-deduction-combinatorics.v1","familyName":"Logic, Constraint, Deduction, and Combinatorics","familyShortName":"Logic","familyRoute":"/math/families/logic-constraint-deduction-combinatorics","storyMechanicLane":{"laneId":"story-lane.logic.visible-clue-elimination.v1","label":"Visible clue elimination","publicCopy":"Use clues, constraints, and near-misses to pick the survivor."},"taskAtom":{"atomId":"task-atom.logic.clue-elimination.v1","label":"Clue elimination","surface":"constraint_choice_board","questionPrimitive":"use every clue to pick the survivor"},"skillRef":"logic.constraints.elimination","skillLabel":"Constraints Elimination","skillRoute":"/math/skills/logic/constraints-elimination","taskTypeRef":"task-type.logic.ambiguity-repair.v1","taskTypeLabel":"Ambiguity repair","taskRoute":null,"taskIconCategories":["challenge","diagnostic","puzzle"],"module":{"availability":"modeled_depth_slot","label":"Combinatorics logic","moduleId":"math-module.logic.constraints.deduction-depth.v1","publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Combinatorics logic can advance.","on_track_skill_profile":"Combinatorics logic stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Combinatorics logic can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"One-clue elimination","age_8_9":"Near-miss deduction","age_10_11":"Deduction proof"},"ageBandChallengeForms":{"age_6_7":"One-clue challenge","age_8_9":"Near-miss deduction challenge","age_10_11":"Deduction proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Challenge","Diagnostic","Puzzle"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.32","ordinal":32,"row":8,"column":4,"storyStopLabel":"Geometric measurement transfer","familyId":"module-family.measure.geometric-measurement.v1","familyName":"Geometric Measurement","familyShortName":"Geom measure","familyRoute":"/math/families/measure-geometric-measurement","storyMechanicLane":{"laneId":"story-lane.geom-measure.area-perimeter.v1","label":"Area and perimeter measure","publicCopy":"Measure, compose, and transfer geometric quantities."},"taskAtom":{"atomId":"task-atom.geom-measure.area-perimeter.v1","label":"Area/perimeter board","surface":"area_perimeter_board","questionPrimitive":"measure, compose, or transfer a figure"},"skillRef":null,"skillLabel":"Geometric measurement","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Area and perimeter transfer","taskRoute":null,"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Geometric measurement transfer","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Geometric measurement transfer can advance.","on_track_skill_profile":"Geometric measurement transfer stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Geometric measurement transfer moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Length and perimeter model","age_8_9":"Area and perimeter transfer","age_10_11":"Measurement proof"},"ageBandChallengeForms":{"age_6_7":"Length and perimeter model","age_8_9":"Area and perimeter transfer","age_10_11":"Measurement proof"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Geometry fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.33","ordinal":33,"row":9,"column":1,"storyStopLabel":"Fraction partition","familyId":"module-family.frac.parts-wholes-fair-shares.v1","familyName":"Fractions as Parts, Wholes, and Fair Shares","familyShortName":"Fair shares","familyRoute":"/math/families/frac-parts-wholes-fair-shares","storyMechanicLane":{"laneId":"story-lane.frac.part-whole-partition.v1","label":"Parts and whole partition","publicCopy":"Partition, share, and protect the same whole."},"taskAtom":{"atomId":"task-atom.frac.partition-whole.v1","label":"Partition whole","surface":"partition_board","questionPrimitive":"split without changing the whole"},"skillRef":null,"skillLabel":"Parts, wholes, and fair shares","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Partition and unit fraction","taskRoute":null,"taskIconCategories":["puzzle","reveal_support","skill_check"],"module":{"availability":"modeled_family_slot","label":"Fraction partition","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Fraction partition can advance.","on_track_skill_profile":"Fraction partition stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Fraction partition moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Equal shares with objects","age_8_9":"Unit fraction partition","age_10_11":"Fraction partition reasoning"},"ageBandChallengeForms":{"age_6_7":"Equal shares with objects","age_8_9":"Unit fraction partition","age_10_11":"Fraction partition reasoning"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Puzzle","Reveal/support","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.34","ordinal":34,"row":9,"column":2,"storyStopLabel":"Fraction comparison operations","familyId":"module-family.frac.equivalence-comparison-operations.v1","familyName":"Fraction Equivalence, Comparison, and Operations","familyShortName":"Fractions","familyRoute":"/math/families/frac-equivalence-comparison-operations","storyMechanicLane":{"laneId":"story-lane.frac.equivalence-compare.v1","label":"Fraction equivalence and compare","publicCopy":"Compare fractions with strips, number lines, and benchmark reasoning."},"taskAtom":{"atomId":"task-atom.frac.equivalence-compare.v1","label":"Fraction compare","surface":"fraction_strip_compare","questionPrimitive":"match or compare equivalent parts"},"skillRef":null,"skillLabel":"Fraction equivalence and comparison","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Fraction comparison and operation sense","taskRoute":null,"taskIconCategories":["transfer","puzzle","diagnostic"],"module":{"availability":"modeled_family_slot","label":"Fraction comparison operations","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Fraction comparison operations can advance.","on_track_skill_profile":"Fraction comparison operations stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Fraction comparison operations moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Visual fraction comparison","age_8_9":"Equivalent fraction model","age_10_11":"Fraction comparison strategy"},"ageBandChallengeForms":{"age_6_7":"Visual fraction comparison","age_8_9":"Equivalent fraction model","age_10_11":"Fraction comparison strategy"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Transfer","Puzzle","Diagnostic"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.35","ordinal":35,"row":9,"column":3,"storyStopLabel":"Percent benchmark","familyId":"module-family.dec.decimal-percent-reasoning.v1","familyName":"Decimal and Percent Reasoning","familyShortName":"Decimals","familyRoute":"/math/families/dec-decimal-percent-reasoning","storyMechanicLane":{"laneId":"story-lane.dec.percent-benchmark.v1","label":"Decimal and percent benchmark","publicCopy":"Connect decimals, percent, money, and benchmark representations."},"taskAtom":{"atomId":"task-atom.dec.benchmark-meter.v1","label":"Benchmark meter","surface":"benchmark_meter","questionPrimitive":"connect decimal, percent, or money benchmarks"},"skillRef":null,"skillLabel":"Decimal and percent reasoning","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Percent benchmark challenge","taskRoute":null,"taskIconCategories":["challenge","transfer","skill_check"],"module":{"availability":"modeled_family_slot","label":"Percent benchmark","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Percent benchmark can advance.","on_track_skill_profile":"Percent benchmark stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Percent benchmark can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Money and benchmark decimals","age_8_9":"Decimal-percent benchmark","age_10_11":"Percent benchmark reasoning"},"ageBandChallengeForms":{"age_6_7":"Money benchmark challenge","age_8_9":"Decimal-percent benchmark challenge","age_10_11":"Percent reasoning challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Challenge","Transfer","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.36","ordinal":36,"row":9,"column":4,"storyStopLabel":"Scale factor","familyId":"module-family.prealg.ratio-rate-scaling.v1","familyName":"Ratio, Rate, Scaling, and Proportional Foundation","familyShortName":"Ratio","familyRoute":"/math/families/prealg-ratio-rate-scaling","storyMechanicLane":{"laneId":"story-lane.ratio.table-scale.v1","label":"Ratio table and scale","publicCopy":"Scale quantities, maps, recipes, and rates when prerequisites hold."},"taskAtom":{"atomId":"task-atom.ratio.scale-table.v1","label":"Scale table","surface":"ratio_table_board","questionPrimitive":"scale while keeping the relation"},"skillRef":null,"skillLabel":"Ratio, rate, and scaling","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Scale factor and rate","taskRoute":null,"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Scale factor","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Scale factor can advance.","on_track_skill_profile":"Scale factor stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Scale factor moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Scale with pictures","age_8_9":"Rate and scale factor","age_10_11":"Proportional reasoning"},"ageBandChallengeForms":{"age_6_7":"Picture scale challenge","age_8_9":"Rate and scale-factor challenge","age_10_11":"Proportional reasoning challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.37","ordinal":37,"row":10,"column":1,"storyStopLabel":"Expression inequality","familyId":"module-family.prealg.equations-expressions-inequalities.v1","familyName":"Equations, Variables, Expressions, and Inequalities","familyShortName":"Equations","familyRoute":"/math/families/prealg-equations-expressions-inequalities","storyMechanicLane":{"laneId":"story-lane.prealg.expression-inequality.v1","label":"Expression and inequality choices","publicCopy":"Use unknowns, expressions, and inequalities to keep a relation true."},"taskAtom":{"atomId":"task-atom.prealg.expression-choice.v1","label":"Expression choice","surface":"expression_tile_board","questionPrimitive":"choose the expression that keeps the relation true"},"skillRef":null,"skillLabel":"Equations, expressions, and inequalities","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Expression and inequality reasoning","taskRoute":null,"taskIconCategories":["diagnostic","puzzle","transfer"],"module":{"availability":"modeled_family_slot","label":"Expression inequality","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Expression inequality can advance.","on_track_skill_profile":"Expression inequality stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Expression inequality moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Unknown number picture","age_8_9":"Equation choice","age_10_11":"Expression and inequality reasoning"},"ageBandChallengeForms":{"age_6_7":"Unknown number picture","age_8_9":"Equation choice","age_10_11":"Expression and inequality reasoning"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Diagnostic","Puzzle","Transfer"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe"],"challengeAnchor":false},{"id":"example-story-path.episode.38","ordinal":38,"row":10,"column":2,"storyStopLabel":"Logic capstone challenge","familyId":"module-family.logic.constraint-deduction-combinatorics.v1","familyName":"Logic, Constraint, Deduction, and Combinatorics","familyShortName":"Logic","familyRoute":"/math/families/logic-constraint-deduction-combinatorics","storyMechanicLane":{"laneId":"story-lane.logic.visible-clue-elimination.v1","label":"Visible clue elimination","publicCopy":"Use clues, constraints, and near-misses to pick the survivor."},"taskAtom":{"atomId":"task-atom.logic.clue-elimination.v1","label":"Clue elimination","surface":"constraint_choice_board","questionPrimitive":"use every clue to pick the survivor"},"skillRef":"logic.constraints.elimination","skillLabel":"Constraints Elimination","skillRoute":"/math/skills/logic/constraints-elimination","taskTypeRef":"task-type.logic.violated-clue-marking.v1","taskTypeLabel":"Violated clue marking","taskRoute":null,"taskIconCategories":["challenge","diagnostic","transfer"],"module":{"availability":"modeled_depth_slot","label":"Logic capstone challenge","moduleId":"math-module.logic.constraints.deduction-depth.v1","publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Logic capstone challenge can advance.","on_track_skill_profile":"Logic capstone challenge stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Logic capstone challenge can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"One-clue elimination","age_8_9":"Near-miss deduction","age_10_11":"Deduction proof"},"ageBandChallengeForms":{"age_6_7":"One-clue challenge","age_8_9":"Near-miss deduction challenge","age_10_11":"Deduction proof challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Facts does not fit this lane, so the story task remains and practice is scheduled separately."},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"applied_soft_bias","label":"Repair bias","detail":"Weak-spot focus favors diagnostic or repair work already compatible with this lane.","preferredRoute":"support_repair"}},"taskTypeAppearances":["Challenge","Diagnostic","Transfer"],"availableVariationLabels":["repair support","core route","transfer route","diagnostic probe","challenge anchor"],"challengeAnchor":true},{"id":"example-story-path.episode.39","ordinal":39,"row":10,"column":3,"storyStopLabel":"Operations model capstone","familyId":"module-family.oa.models-word-problems.v1","familyName":"Operations Models, Bar Models, and Word Problems","familyShortName":"Models","familyRoute":"/math/families/oa-models-word-problems","storyMechanicLane":{"laneId":"story-lane.models.story-model-select.v1","label":"Story model selection","publicCopy":"Choose the model, operation, or bar representation for a context."},"taskAtom":{"atomId":"task-atom.models.bar-model-choice.v1","label":"Model choice","surface":"bar_model_builder","questionPrimitive":"choose the model for the story"},"skillRef":null,"skillLabel":"Operation models and word problems","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Multi-step model choice","taskRoute":null,"taskIconCategories":["transfer","puzzle","skill_check"],"module":{"availability":"modeled_family_slot","label":"Operations model capstone","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"stretch_transfer"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Operations model capstone can advance.","on_track_skill_profile":"Operations model capstone stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Operations model capstone moves to transfer; challenge waits for an anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work makes transfer eligible, but this stop is not a challenge anchor."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Transfer evidence looks for the next compatible stretch or challenge anchor."},"ageBandTaskForms":{"age_6_7":"Picture story model","age_8_9":"Bar-model choice","age_10_11":"Multi-step model selection"},"ageBandChallengeForms":{"age_6_7":"Picture story model","age_8_9":"Bar-model choice","age_10_11":"Multi-step model selection"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Fractions does not fit this lane, so the story task remains and practice is scheduled separately."},"word_problems_confusing":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Word problems fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Transfer","Puzzle","Skill check"],"availableVariationLabels":["repair support","core route","transfer route"],"challengeAnchor":false},{"id":"example-story-path.episode.40","ordinal":40,"row":10,"column":4,"storyStopLabel":"Proportional reasoning bridge","familyId":"module-family.prealg.ratio-rate-scaling.v1","familyName":"Ratio, Rate, Scaling, and Proportional Foundation","familyShortName":"Ratio","familyRoute":"/math/families/prealg-ratio-rate-scaling","storyMechanicLane":{"laneId":"story-lane.ratio.table-scale.v1","label":"Ratio table and scale","publicCopy":"Scale quantities, maps, recipes, and rates when prerequisites hold."},"taskAtom":{"atomId":"task-atom.ratio.scale-table.v1","label":"Scale table","surface":"ratio_table_board","questionPrimitive":"scale while keeping the relation"},"skillRef":null,"skillLabel":"Ratio, rate, and scaling","skillRoute":null,"taskTypeRef":null,"taskTypeLabel":"Proportional foundation bridge","taskRoute":null,"taskIconCategories":["challenge","transfer","skill_check"],"module":{"availability":"modeled_family_slot","label":"Proportional reasoning bridge","moduleId":null,"publicModuleClaim":false,"publicCopy":"Modeled placement.","assignmentRefs":[]},"routeOptions":["support_repair","core","stretch_transfer","challenge_ready"],"selectedBySkillProfile":{"emerging_skill_profile":"support_repair","on_track_skill_profile":"core","advanced_skill_profile":"challenge_ready"},"skillProfileDecisions":{"emerging_skill_profile":"Support appears before Proportional reasoning bridge can advance.","on_track_skill_profile":"Proportional reasoning bridge stays on the core lane after fresh independent evidence.","advanced_skill_profile":"Proportional reasoning bridge can open an optional challenge because this stop has a challenge anchor."},"previousEvidenceBySkillProfile":{"emerging_skill_profile":"Recent work needed support, reveal, or repair before the next step.","on_track_skill_profile":"Recent independent work was fresh enough to keep the main lane.","advanced_skill_profile":"Fresh independent work plus transfer evidence makes a challenge offer eligible."},"nextDecisionBySkillProfile":{"emerging_skill_profile":"If repair succeeds independently, the next stop can return to core.","on_track_skill_profile":"If the next answer is fresh and independent, the path can hold or stretch.","advanced_skill_profile":"Challenge evidence stays optional; the story path still continues."},"ageBandTaskForms":{"age_6_7":"Scale with pictures","age_8_9":"Rate and scale factor","age_10_11":"Proportional reasoning"},"ageBandChallengeForms":{"age_6_7":"Picture scale challenge","age_8_9":"Rate and scale-factor challenge","age_10_11":"Proportional reasoning challenge"},"practiceFocusEffectByFocus":{"balanced_growth":{"state":"none","label":"Balanced","detail":"No extra topic bias; evidence and story fit choose the route."},"math_facts_times_tables":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Facts fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"fractions_feel_hard":{"state":"applied_soft_bias","label":"Soft bias applied","detail":"Fractions fits this lane, so the route can favor a matching task form.","preferredRoute":"stretch_transfer"},"word_problems_confusing":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Word problems does not fit this lane, so the story task remains and practice is scheduled separately."},"geometry_shapes_measurement":{"state":"scheduled_outside_story","label":"Practice insert","detail":"Geometry does not fit this lane, so the story task remains and practice is scheduled separately."},"test_practice_mixed_review":{"state":"applied_soft_bias","label":"Fresh check","detail":"Mixed review favors a fresh check already compatible with this lane.","preferredRoute":"core"},"patch_weak_spots":{"state":"scheduled_outside_story","label":"Repair scheduled","detail":"No compatible weakness signal inside this stop; review is scheduled outside the story path."}},"taskTypeAppearances":["Challenge","Transfer","Skill check"],"availableVariationLabels":["repair support","core route","transfer route","challenge anchor"],"challengeAnchor":true}],"coverage":{"episodeCount":40,"canonicalFamilyCount":17,"representedFamilyIds":["module-family.count.cardinality-foundations.v1","module-family.data.classification-tables-graphs.v1","module-family.count.quantity-comparison-order.v1","module-family.logic.constraint-deduction-combinatorics.v1","module-family.nbt.base-ten-place-value.v1","module-family.oa.whole-number-operations-fluency.v1","module-family.oa.models-word-problems.v1","module-family.measure.units-tools-time-money.v1","module-family.measure.geometric-measurement.v1","module-family.geom.shape-attributes-classification.v1","module-family.geom.spatial-transformations-coordinates.v1","module-family.pattern.functions-generalization.v1","module-family.frac.parts-wholes-fair-shares.v1","module-family.frac.equivalence-comparison-operations.v1","module-family.dec.decimal-percent-reasoning.v1","module-family.prealg.ratio-rate-scaling.v1","module-family.prealg.equations-expressions-inequalities.v1"],"publicModuleAvailableEpisodeCount":5,"modeledSlotEpisodeCount":35,"taskIconCategoriesRepresented":["diagnostic","reveal_support","puzzle","skill_check","challenge","fluency","transfer","timed"]}}