jostlebot commited on
Commit
1867e69
·
1 Parent(s): 4a6e944

Increase relational friction and longer delays

Browse files
Files changed (1) hide show
  1. static/app.js +23 -17
static/app.js CHANGED
@@ -32,19 +32,24 @@ If they ask about delays or seem confused about the tool, gently acknowledge it'
32
 
33
  systemPromptTension: `You are the other person in a text conversation. Respond ONLY as that person would - no explanations, no bracketed commentary, no meta-text. Just the message itself.
34
 
35
- You're someone who cares but isn't always fully available. Sometimes you're distracted, brief, or not quite matching the other person's energy. This is realistic - not cruel.
36
 
37
- How to respond:
38
- - Sometimes brief: "hey" "yeah" "ok" "busy rn"
39
- - Sometimes miss the emotional part and respond to logistics
40
- - Sometimes warm but short when they share something vulnerable
41
- - After a few distant exchanges, naturally warm back up
 
 
 
42
 
43
- Never be mean or rejecting. Just realistically... human. Distracted. Not always perfectly attuned.
44
 
45
- CRITICAL: Output ONLY the text message. No brackets. No explanations. No asterisks. No commentary. Just what you'd actually text.
 
 
46
 
47
- If they seem genuinely distressed, drop the distance and be warm.`,
48
 
49
  analysisPrompt: `You are providing a clinical debrief for a user who just completed a Tolerate Space Lab session. This tool helps build distress tolerance by introducing intentional delays in a simulated texting conversation while the user journals somatic (body) experiences.
50
 
@@ -268,18 +273,19 @@ async function handleSendMessage() {
268
 
269
  function calculateDelay() {
270
  const round = state.round;
271
- const { initialMin, initialMax, stretchFactor, maxDelay } = CONFIG.delay;
272
 
273
- // 20% chance of a longer "stretch pause" (10-20 seconds)
274
- if (Math.random() < 0.2 && round > 1) {
275
- const longDelay = 10 + Math.random() * 10; // 10-20 seconds
276
  return Math.round(longDelay * 10) / 10;
277
  }
278
 
279
- // Normal progressive delay
280
- const factor = Math.pow(stretchFactor, round - 1);
281
- const min = Math.min(initialMin * factor, maxDelay * 0.5);
282
- const max = Math.min(initialMax * factor, maxDelay);
 
 
283
 
284
  const delay = Math.random() * (max - min) + min;
285
  return Math.round(delay * 10) / 10;
 
32
 
33
  systemPromptTension: `You are the other person in a text conversation. Respond ONLY as that person would - no explanations, no bracketed commentary, no meta-text. Just the message itself.
34
 
35
+ You're someone who cares but is distracted, preoccupied, or not fully present right now. Create realistic relational friction - the kind that activates attachment anxiety.
36
 
37
+ Friction behaviors (use these often):
38
+ - Very brief: "k" "yeah" "hm" "sure" "lol"
39
+ - Distracted: "sorry what?" "wait one sec" "hold on"
40
+ - Missing the emotional bid: respond only to facts, not feelings
41
+ - Changing the subject unexpectedly
42
+ - Responding to only part of what they said
43
+ - Lukewarm when they share something important: "oh cool" "nice"
44
+ - Slight delays in engagement: "oh" then nothing more
45
 
46
+ After 3-4 exchanges of friction, you can warm up slightly - but don't become fully attuned. Stay a little distant. This is practice for tolerating imperfect connection.
47
 
48
+ Never be cruel, insulting, or rejecting. Just... human. Preoccupied. Not perfectly available.
49
+
50
+ CRITICAL: Output ONLY the text message. No brackets. No explanations. No asterisks. No commentary.
51
 
52
+ If they explicitly say they're struggling or want to stop, become warm and supportive.`,
53
 
54
  analysisPrompt: `You are providing a clinical debrief for a user who just completed a Tolerate Space Lab session. This tool helps build distress tolerance by introducing intentional delays in a simulated texting conversation while the user journals somatic (body) experiences.
55
 
 
273
 
274
  function calculateDelay() {
275
  const round = state.round;
 
276
 
277
+ // 35% chance of a longer "stretch pause" (15-35 seconds)
278
+ if (Math.random() < 0.35 && round > 1) {
279
+ const longDelay = 15 + Math.random() * 20; // 15-35 seconds
280
  return Math.round(longDelay * 10) / 10;
281
  }
282
 
283
+ // Normal progressive delay (starts 3-6s, stretches aggressively)
284
+ const baseMin = 3;
285
+ const baseMax = 6;
286
+ const factor = Math.pow(1.6, round - 1);
287
+ const min = Math.min(baseMin * factor, 20);
288
+ const max = Math.min(baseMax * factor, 40);
289
 
290
  const delay = Math.random() * (max - min) + min;
291
  return Math.round(delay * 10) / 10;