practical-lane: light, sparse, cyclable
- · Inline sparingly, deeper tiers: session 1 carries one song; go-deeper chips and a short teaching arrive later.
- · Practical lane is spiritually light: one support song per session under the reviewed depth ceiling (≤ 0.6; a row with no reviewed depth needs the legacy practical-safe flag) — no worship, verses, prayer, plans, teaching or testimonies.
- · Everything is cyclable: each slot keeps a lead plus alternates so a reader can ask for another without a new query.
- · No repeats across the study; videos are unique across the whole study.
design: gpt-51626 in / 3486 outenrich: rerankTRUTH reviews: 0
The practical lane carries no TRUTH go-deeper material (it is scripture-grounded); its claims are listed for a reviewer only.
{
"studyId": "dfaaf9bc-604a-4cf8-b90b-b3b6729726b5",
"title": "Cool Head at Home: 3 steps to stop blowing up",
"summary": "A short, practical plan to catch anger early, speak clearly in the moment, and repair after a blowup with your parents. No religious language. Straightforward steps you can use this week.",
"track": "anger",
"lane": "practical",
"audience": {
"ageRange": "14-18",
"faithFamiliarity": "new"
},
"audienceNote": "Built for 14–18 year olds who feel stuck in the same fight cycle at home. Plain English, no church talk. Use it in a small group or one-on-one. Keep it calm and concrete.",
"voice": null,
"sessions": [
{
"id": "session-1",
"index": 0,
"title": "Step 1 — Catch it early",
"objective": "Notice the first signs of anger and your home triggers, then use a short pause before words leave your mouth.",
"scripture": [],
"teaching": "Everybody gets angry. The goal here isn’t to feel nothing. It’s to catch the moment before your words do damage.\n\nAnger doesn’t just appear in your mouth. Your body flashes first—jaw tight, chest hot, shoulders up, fists clench, breath gets fast.\n\nAt home, the same few things usually set you off: a topic, a time of day, or the way someone says something.\n\nThere’s a small window—the first seconds—where a tiny pause can change the whole night.",
"teachingParts": [
{
"text": "Everybody gets angry. The goal here isn’t to feel nothing. It’s to catch the moment before your words do damage.",
"claims": []
},
{
"text": "Anger doesn’t just appear in your mouth. Your body flashes first—jaw tight, chest hot, shoulders up, fists clench, breath gets fast.",
"claims": [
0
]
},
{
"text": "At home, the same few things usually set you off: a topic, a time of day, or the way someone says something.",
"claims": [
1
]
},
{
"text": "There’s a small window—the first seconds—where a tiny pause can change the whole night.",
"claims": [
2
]
}
],
"claims": [
"Anger shows up in the body before words or actions most of the time.",
"Home blowups usually repeat around the same triggers like topic, time, or tone.",
"A short pause in the first seconds reduces the chance of a blowup."
],
"reflection": [
"Think of your last blowup at home. Where did you feel it in your body first?",
"What were the top two triggers in that moment: topic, time, tone, or something else?",
"What usually happens in the first 15 seconds that makes things worse?",
"If you took a 10–20 second pause in that moment, what would it have changed?"
],
"practice": {
"label": "Yellow-light plan",
"text": "Pick two body cues that mean you’re heating up (for example: jaw tight, chest hot). Pick one pause move (for example: sip water, step to the sink, look out a window) and one line you can say (“Give me a second,” or “I need a quick breather”). For the next week, the first time you notice a cue, do your pause move and say your line before you answer."
},
"journalPrompt": "Write about the last time you snapped at a parent. List three body cues you noticed or might have missed. Name the main trigger and what 10–20 seconds of pause could look like next time.",
"prayer": null,
"depthModule": null,
"lifelineNeeds": {
"song": "I’m about to snap at my parents and need a song to cool me down fast",
"teaching": "how to notice early signs of anger in my body",
"plan": "simple daily plan to pause before I speak at home",
"story": "teen who learned to catch anger early with their parents"
},
"lifelines": [
{
"slot": "song",
"surface": "inline",
"category": "support_song",
"need": "I’m about to snap at my parents and need a song to cool me down fast",
"lead": {
"resourceKey": "submitted:name:skillet-monster-783214b972",
"canonicalKey": "skillet|monster",
"category": "support_song",
"provider": "YouTube",
"title": "Monster",
"creator": "Skillet",
"blurb": "Play this when you need to let out a roar and feel less alone with the chaos inside.",
"sourceUrl": "https://www.youtube.com/watch?v=1mjlM_RnsVE",
"embedUrl": "https://www.youtube.com/embed/1mjlM_RnsVE",
"thumbnailUrl": "https://i.ytimg.com/vi/1mjlM_RnsVE/hqdefault.jpg",
"durationSeconds": null,
"topics": [
"inner_struggle",
"self_loathing",
"anger"
],
"journeyTracks": [
"anger",
"fear_doubt",
"harmful_habit"
],
"deliveryVisibility": "private",
"spiritualDepth": 0,
"placementSafety": {
"spiritualDepth": 0,
"placementFitStored": true,
"legacySafety": {
"introOutreachSafe": false,
"initialOutreachSafe": false,
"supportEnrichmentSafe": false,
"practicalEnrichmentSafe": false
}
},
"rank": 1,
"score": 32,
"matchReasons": [
"track:anger",
"topic:song",
"tone:energizing"
]
},
"alternates": [
{
"resourceKey": "submitted:name:nf-let-you-down-fbec2ab749",
"canonicalKey": "nf|let you down",
"category": "support_song",
"provider": "YouTube",
"title": "Let You Down",
"creator": "NF",
"blurb": "Play this when you need raw, honest words about letting people down and feeling stuck — when you just need to be heard.",
"sourceUrl": "https://www.youtube.com/watch?v=fbHbTBP_u7U",
"embedUrl": "https://www.youtube.com/embed/fbHbTBP_u7U?feature=oembed",
"thumbnailUrl": "https://i.ytimg.com/vi/fbHbTBP_u7U/hqdefault.jpg",
"durationSeconds": null,
"topics": [
"shame",
"family_conflict",
"self_worth"
],
"journeyTracks": [
"fear_doubt",
"anger"
],
"deliveryVisibility": "private",
"spiritualDepth": 0,
"placementSafety": {
"spiritualDepth": 0,
"placementFitStored": true,
"legacySafety": {
"introOutreachSafe": false,
"initialOutreachSafe": false,
"supportEnrichmentSafe": false,
"practicalEnrichmentSafe": false
}
},
"rank": 2,
"score": 28,
"matchReasons": [
"track:anger",
"topic:song",
"topic:down"
]
},
{
"resourceKey": "submitted:youtube:www-youtube-com-watch-3e920bf884",
"canonicalKey": "james bay|let it go",
"category": "support_song",
"provider": "YouTube",
"title": "Let It Go",
"creator": "James Bay",
"blurb": "Play this when you need to sit with the ache and finally let something — or someone — go.",
"sourceUrl": "https://www.youtube.com/watch?v=GsPq9mzFNGY",
"embedUrl": "https://www.youtube.com/embed/GsPq9mzFNGY?feature=oembed",
"thumbnailUrl": "https://i.ytimg.com/vi/GsPq9mzFNGY/hqdefault.jpg",
"durationSeconds": null,
"topics": [
"breakup",
"letting_go",
"identity"
],
"journeyTracks": [
"anger",
"fear_doubt"
],
"deliveryVisibility": "private",
"spiritualDepth": 0,
"placementSafety": {
"spiritualDepth": 0,
"placementFitStored": true,
"legacySafety": {
"introOutreachSafe": false,
"initialOutreachSafe": false,
"supportEnrichmentSafe": false,
"practicalEnrichmentSafe": false
}
},
"rank": 3,
"score": 22,
"matchReasons": [
"track:anger",
"topic:song"
]
}
],
"rankedBy": "deterministic",
"why": null,
"error": null
}
],
"goDeeper": [
{
"claim": "Anger shows up in the body before words or actions most of the time.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
},
{
"claim": "Home blowups usually repeat around the same triggers like topic, time, or tone.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
},
{
"claim": "A short pause in the first seconds reduces the chance of a blowup.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
}
],
"lesson": {
"status": "settled",
"claimsStand": true,
"withheldParts": 0,
"leaderNotes": []
}
},
{
"id": "session-2",
"index": 1,
"title": "Step 2 — Talk short and clear in the heat",
"objective": "In the moment, use one clear sentence and a real timeout to lower the heat instead of adding fuel.",
"scripture": [],
"teaching": "When tempers rise, long speeches and blame make the fire bigger. Short and specific words lower the heat.\n\nSaying what you need or what you can’t do right now lands better than attacking someone’s motives.\n\nIf things are spiking, a short timeout with a plan to return can calm it down.\n\nRespect isn’t weakness. It keeps your power and helps you be heard.",
"teachingParts": [
{
"text": "When tempers rise, long speeches and blame make the fire bigger. Short and specific words lower the heat.",
"claims": [
0
]
},
{
"text": "Saying what you need or what you can’t do right now lands better than attacking someone’s motives.",
"claims": [
1
]
},
{
"text": "If things are spiking, a short timeout with a plan to return can calm it down.",
"claims": [
2
]
},
{
"text": "Respect isn’t weakness. It keeps your power and helps you be heard.",
"claims": []
}
],
"claims": [
"Short, specific words lower the emotional heat better than long, blaming speeches in many cases.",
"Naming a concrete need or limit is usually easier to hear than accusing motives.",
"A time-out with a return plan often de-escalates an argument."
],
"reflection": [
"What’s a common sentence you say that pours gas on the fire?",
"Turn that into one short, specific sentence that names a need or limit.",
"When would you call a timeout at home? What would you say, and when would you come back?",
"Who at home tends to follow you back into a calmer talk if you lead with calm?"
],
"practice": {
"label": "Two lines ready",
"text": "Write two scripts on a note in your phone: (1) Your one-sentence ask or limit (for example: “I can talk about this after dinner, not right now.”). (2) Your timeout line with a return plan (for example: “I’m heated. I’m taking 10 minutes. I’ll come back at 7:40 to finish this.”). Practice saying both out loud twice today."
},
"journalPrompt": "Rewrite your last heated comeback into one short sentence that names a need or limit. Then write the exact timeout line you’ll use next time, with a return time.",
"prayer": null,
"depthModule": null,
"lifelineNeeds": {
"song": "song for when an argument is blowing up and I need to keep my cool",
"teaching": "how to speak clearly without being disrespectful during conflict",
"plan": "timeout plan with exact words and a return time for family arguments",
"story": "teen who learned to use short sentences and timeouts with their parents"
},
"lifelines": [
{
"slot": "song",
"surface": "inline",
"category": "support_song",
"need": "song for when an argument is blowing up and I need to keep my cool",
"lead": {
"resourceKey": "submitted:youtube:www-youtube-com-watch-641f0cb280",
"canonicalKey": "ne yo|mad",
"category": "support_song",
"provider": "YouTube",
"title": "Mad",
"creator": "Ne-Yo",
"blurb": "Play this when you’re still mad after a fight and need a song that actually says what you’re feeling.",
"sourceUrl": "https://www.youtube.com/watch?v=sAYuOc7_TKg",
"embedUrl": "https://www.youtube.com/embed/sAYuOc7_TKg?feature=oembed",
"thumbnailUrl": "https://i.ytimg.com/vi/sAYuOc7_TKg/hqdefault.jpg",
"durationSeconds": null,
"topics": [
"relationship_conflict",
"reconciliation",
"communication"
],
"journeyTracks": [
"anger"
],
"deliveryVisibility": "public",
"spiritualDepth": 0,
"placementSafety": {
"spiritualDepth": 0,
"placementFitStored": true,
"legacySafety": {
"introOutreachSafe": false,
"initialOutreachSafe": false,
"supportEnrichmentSafe": false,
"practicalEnrichmentSafe": false
}
},
"rank": 1,
"score": 22,
"matchReasons": [
"track:anger",
"topic:song"
]
},
"alternates": [
{
"resourceKey": "submitted:youtube:www-youtube-com-watch-5fb86c0b00",
"canonicalKey": "rebecca lynn howard|forgive",
"category": "support_song",
"provider": "YouTube",
"title": "Forgive",
"creator": "Rebecca Lynn Howard",
"blurb": "Play this when you’re ready to stop carrying anger and need a steady, honest song about trying to let go.",
"sourceUrl": "https://www.youtube.com/watch?v=VTFX0Q7rq-E",
"embedUrl": "https://www.youtube.com/embed/VTFX0Q7rq-E?feature=oembed",
"thumbnailUrl": "https://i.ytimg.com/vi/VTFX0Q7rq-E/hqdefault.jpg",
"durationSeconds": null,
"topics": [
"infidelity",
"betrayal",
"forgiveness"
],
"journeyTracks": [
"anger"
],
"deliveryVisibility": "public",
"spiritualDepth": 0,
"placementSafety": {
"spiritualDepth": 0,
"placementFitStored": true,
"legacySafety": {
"introOutreachSafe": false,
"initialOutreachSafe": false,
"supportEnrichmentSafe": false,
"practicalEnrichmentSafe": false
}
},
"rank": 2,
"score": 22,
"matchReasons": [
"track:anger",
"topic:song"
]
},
{
"resourceKey": "submitted:youtube:www-youtube-com-watch-d286d11e56",
"canonicalKey": "cody johnson|til you can t",
"category": "support_song",
"provider": "YouTube",
"title": "'Til You Can't",
"creator": "Cody Johnson",
"blurb": "Play Cody Johnson’s 'Til You Can't when you need a straight-up reminder to give it your all and stop waiting.",
"sourceUrl": "https://www.youtube.com/watch?v=v2LixP7n_hM",
"embedUrl": "https://www.youtube.com/embed/v2LixP7n_hM?feature=oembed",
"thumbnailUrl": "https://i.ytimg.com/vi/v2LixP7n_hM/hqdefault.jpg",
"durationSeconds": null,
"topics": [
"take_chance",
"priorities",
"family"
],
"journeyTracks": [],
"deliveryVisibility": "public",
"spiritualDepth": 0,
"placementSafety": {
"spiritualDepth": 0,
"placementFitStored": true,
"legacySafety": {
"introOutreachSafe": false,
"initialOutreachSafe": false,
"supportEnrichmentSafe": false,
"practicalEnrichmentSafe": false
}
},
"rank": 3,
"score": 20,
"matchReasons": [
"topic:song",
"tone:energizing"
]
}
],
"rankedBy": "deterministic",
"why": null,
"error": null
}
],
"goDeeper": [
{
"claim": "Short, specific words lower the emotional heat better than long, blaming speeches in many cases.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
},
{
"claim": "Naming a concrete need or limit is usually easier to hear than accusing motives.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
},
{
"claim": "A time-out with a return plan often de-escalates an argument.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
}
],
"lesson": {
"status": "settled",
"claimsStand": true,
"withheldParts": 0,
"leaderNotes": []
}
},
{
"id": "session-3",
"index": 2,
"title": "Step 3 — Repair what broke",
"objective": "After a blowup, own your part, apologize with specifics, and make one small repair.",
"scripture": [],
"teaching": "Vague apologies like “Sorry about earlier” don’t fix much. Specific ones land better and help rebuild trust.\n\nOwning your part without excuses shows you’re serious and makes it safer to talk next time.\n\nA small repair—like cleaning up the mess you made with your words or actions—helps the relationship recover.",
"teachingParts": [
{
"text": "Vague apologies like “Sorry about earlier” don’t fix much. Specific ones land better and help rebuild trust.",
"claims": [
0
]
},
{
"text": "Owning your part without excuses shows you’re serious and makes it safer to talk next time.",
"claims": [
1
]
},
{
"text": "A small repair—like cleaning up the mess you made with your words or actions—helps the relationship recover.",
"claims": [
2
]
}
],
"claims": [
"Specific apologies are more effective than vague ones.",
"Owning your part without excuses builds trust over time.",
"A small repair action helps relationships recover."
],
"reflection": [
"What exactly did you do or say in the last blowup that you can own?",
"If you name the impact on your parent in one line, what would it be?",
"What is one small repair you could offer this week?",
"When and where could you bring this up so it’s not rushed or public?"
],
"practice": {
"label": "Repair script + one small action",
"text": "Use this flow with a parent: 1) “I’m sorry for [specific action].” 2) “It was wrong because [impact on them].” 3) “I’m working on [small change].” 4) “To make it right, I’ll [small repair].” Keep it short. No “but.” Set a calm time to say it, then follow through on the repair within 48 hours."
},
"journalPrompt": "Draft your repair using the four lines. Pick the day and time you’ll say it, and the small repair you’ll follow through on. After you do it, jot how it went and what you learned.",
"prayer": null,
"depthModule": null,
"lifelineNeeds": {
"song": "song for when I feel guilty after yelling at my mom or dad",
"teaching": "how to apologize well and rebuild trust after an argument",
"plan": "step-by-step plan to repair after I lost my temper at home",
"story": "teen who owned their part and made things right with a parent"
},
"lifelines": [
{
"slot": "song",
"surface": "inline",
"category": "support_song",
"need": "song for when I feel guilty after yelling at my mom or dad",
"lead": null,
"alternates": [],
"rankedBy": "deterministic",
"why": null,
"error": "every candidate was refused by the practical lane's gate: carried a reviewed depth but no stored placement verdict (the export refuses it too)"
}
],
"goDeeper": [
{
"claim": "Specific apologies are more effective than vague ones.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
},
{
"claim": "Owning your part without excuses builds trust over time.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
},
{
"claim": "A small repair action helps relationships recover.",
"jobId": null,
"status": "skipped",
"reason": null,
"lesson": null,
"insight": null
}
],
"lesson": {
"status": "settled",
"claimsStand": true,
"withheldParts": 0,
"leaderNotes": []
}
}
],
"gospelGateway": null,
"placement": {
"sessions": 3,
"slotsPlanned": 3,
"slotsFilled": 2,
"slotsEmpty": 1,
"uniqueResources": 6,
"repeats": 0,
"worshipInPracticalLane": 0,
"practicalCeilingRefused": 10,
"faithCategoryRefused": 0,
"practicalRefusals": {
"above_ceiling": 0,
"no_placement_fit": 10,
"not_legacy_safe": 0,
"placement_safety_unreported": 0
},
"videosReused": 0,
"inlinePerSession": [
1,
1,
0
],
"rules": [
"Inline sparingly, deeper tiers: session 1 carries one song; go-deeper chips and a short teaching arrive later.",
"Practical lane is spiritually light: one support song per session under the reviewed depth ceiling (≤ 0.6; a row with no reviewed depth needs the legacy practical-safe flag) — no worship, verses, prayer, plans, teaching or testimonies.",
"Everything is cyclable: each slot keeps a lead plus alternates so a reader can ask for another without a new query.",
"No repeats across the study; videos are unique across the whole study."
],
"strategy": "practical-lane: light, sparse, cyclable",
"queries": 3,
"offRampCheck": {
"checked": 6,
"withheld": 0,
"error": null
}
},
"truth": {
"enabled": false,
"reviewsEnqueued": 0,
"insightsEndpoint": null,
"note": "The practical lane carries no TRUTH go-deeper material (it is scripture-grounded); its claims are listed for a reviewer only."
},
"provenance": {
"generatedAt": "2026-10-14T16:43:11.501Z",
"designModel": "gpt-5",
"designUsage": {
"inputTokens": 1626,
"outputTokens": 3486
},
"enrich": "rerank",
"spend": [
{
"step": "formation_design",
"model": "gpt-5",
"inputTokens": 1626,
"outputTokens": 3486
},
{
"step": "formation_audit",
"model": "gpt-5-mini",
"inputTokens": 2446,
"outputTokens": 149
},
{
"step": "formation_resource_check",
"model": "gpt-5-mini",
"inputTokens": 641,
"outputTokens": 75
}
]
},
"review": {
"pending": false,
"sessionsPending": 0,
"statusEndpoint": "/api/public/formation/study?studyId=dfaaf9bc-604a-4cf8-b90b-b3b6729726b5"
}
}