Boundary management & enforcement aids — define limits and let the app help hold them #86

Closed
opened 2026-06-09 02:43:51 +00:00 by Mark · 0 comments
Owner

Summary

Boundaries are the flip side of intentional relationship building. #85 is about building positive patterns. This is about knowing your limits and having the app help you hold them — not as a wall, but as a container that makes intentional connection possible.

A boundary without enforcement is just a wish. The app can be the neutral party that helps you stick to the limits you've set for yourself, especially when emotions, habit, or people-pleasing pull you the other way.


P1: Boundary definition framework

Type system for what a boundary is and how it's expressed.

  • Boundary types:
    • Time: "Don't text after 10pm" / "No work talk on weekends" / "Morning is for myself"
    • Channel: "Only text, no calls with this person" / "Keep it to email"
    • Frequency: "Limit interactions with X to once a week" / "Don't be the one to initiate 3x in a row"
    • Topic: "No politics with dad" / "Keep conversations with ex to logistics only"
    • Response: "Wait 24h before replying after a conflict" / "Don't answer calls from this number, let it go to voicemail"
    • Energy: "No more than 30 min on the phone with X" / "Don't take on their emotional labor today"
    • Contact: "No contact with this person" — hard boundary, full block mode
  • Per-person or global: boundaries can apply to a specific person or a category (all family, all work contacts, all exes)
  • Boundary severity: soft (awareness only), firm (app actively helps), hard (app blocks/intervenes)
  • Expiry / conditional: "No contact for 30 days" / "No texting after 10pm on weeknights"
  • Notes field: "Why I set this boundary" — private reminder of the reason

P2: Enforcement aids — passive

Low-intervention modes that keep you aware without getting in the way.

  • Boundary awareness badge on PersonCard and PersonDetail: shows active boundaries at a glance
  • When logging an interaction that might violate a boundary, subtle inline warning: "Heads up: you have a time boundary active (no texting after 10pm). Send now or schedule for tomorrow?"
  • Boundary adherence tracking per person: "You've respected your frequency boundary with Alex 6/6 interactions this month"
  • Dashboard summary: "3 boundaries active — 2 green, 1 yellow (slipping)"
  • Gentle check-in: "You initiated 4x in a row with Alex — you set a boundary of letting them initiate sometimes. Want to hold that?"

P3: Enforcement aids — active

Interventions that change app behavior to enforce boundaries.

  • Quiet mode per boundary: when a time or channel boundary is active, the app suppresses notifications from that person or channel
  • Delay delivery: compose a message to someone with a time boundary, app holds it until the boundary period ends ("Send after 8am tomorrow")
  • Initiation cooldown: if you set "don't initiate more than 2x without a response," the app greys out the initiate buttons for that person after the limit
  • Hard block mode: if set, the person is hidden from People view, cannot be messaged from within the app, any attempt shows a boundary reminder rather than the contact
  • Emergency boundary escalation: if a boundary is repeatedly violated (by you — you keep breaking your own rules), escalate the enforcement level automatically

P4: Boundary breach handling

What happens when you (or the other person) cross a line.

  • Breach log: when a boundary is crossed, log it automatically (time, context, who crossed it)
  • If you crossed your own boundary: reflection prompt — "You texted Alex after 10pm. Was this intentional? Adjust the boundary or reaffirm it?"
  • If the other person crossed a boundary you communicated: note it, track frequency — "Alex has called after-hours 3 times despite your boundary" — surfaces when deciding whether to escalate
  • Breach trend: "You've been slipping on your frequency boundary with work contacts — consider tightening enforcement"
  • Reset option: clear breach history for a boundary (fresh start)

P5: Boundary communication scripts & templates

The hardest part of boundaries is stating them. The app can help you find the words.

  • Template library for common boundary conversations:
    • "I need to limit our conversations to once a week — I value you but I need space to show up well"
    • "I'm not checking messages after 10pm anymore. If it's urgent, call and I'll get back to you in the morning."
    • "I need to take a step back from this topic for now. Can we talk about something else?"
    • "I've noticed I'm always the one reaching out. I need to take a step back and let the rhythm find itself."
  • Boundary companion notes: private notes that help you articulate why the boundary exists — keeps you grounded when you're tempted to cave
  • Pre-escalation script: if a boundary needs to be reinforced, templates for firmer language while staying respectful
  • Re-engagement script: if a time-limited boundary expires (e.g., no-contact period), a prompt for how to reopen communication gracefully

P6: Accountability & reflection

Boundaries are hard to keep in the moment. Reflection helps them stick.

  • Weekly boundary review: "This week you held 4/5 boundaries. The one you slipped on was X — what changed?"
  • Boundary strength trend over time: are you getting better at holding them or more porous?
  • If a boundary is never tested (no opportunity to breach it), mark as "untested" vs "healthy"
  • Boundary graduation: when a boundary becomes second nature (held consistently for 8+ weeks), suggest downgrading enforcement — the habit is internalized
  • Boundary archive: retired boundaries saved with notes on why they were needed and why they're no longer needed

P7: Privacy & safety

Boundary data is vulnerable information — it reveals your limits and vulnerabilities.

  • All boundary data on-device only, biometric gate (#26)
  • No boundary information included in any export or backup
  • Emergency hide: one tap hides all active boundaries from view
  • If a boundary has a "hard block" enforcement, the person it applies to is also hidden from vault-unauthorized view
  • Clear labeling: "Your boundaries are private — the app helps you hold them, but never shares or exposes them"

Tech notes

  • Boundary data: new store/table Boundary { id, personId?, type, severity, parameters (JSON), active, breachCount, createdAt, expiresAt?, notes }
  • Enforcement hooks into existing interaction logging flow — check boundaries before logging/composing
  • Notification suppression requires Capacitor plugin integration (or local awareness layer in the PWA)
  • Delay-delivery needs a local queue (IndexedDB-backed) for scheduled sends
  • Scripts/templates are hardcoded JSON — no backend
  • Depends on #26 for vault auth, #85 for pattern detection (which boundaries are needed)
  • Soft/hard enforcement distinction is critical UX — user must always be able to override but override should be intentional (not a reflex)
## Summary Boundaries are the flip side of intentional relationship building. #85 is about building positive patterns. This is about knowing your limits and having the app help you hold them — not as a wall, but as a container that makes intentional connection possible. A boundary without enforcement is just a wish. The app can be the neutral party that helps you stick to the limits you've set for yourself, especially when emotions, habit, or people-pleasing pull you the other way. --- ### P1: Boundary definition framework Type system for what a boundary is and how it's expressed. - [ ] Boundary types: - **Time**: "Don't text after 10pm" / "No work talk on weekends" / "Morning is for myself" - **Channel**: "Only text, no calls with this person" / "Keep it to email" - **Frequency**: "Limit interactions with X to once a week" / "Don't be the one to initiate 3x in a row" - **Topic**: "No politics with dad" / "Keep conversations with ex to logistics only" - **Response**: "Wait 24h before replying after a conflict" / "Don't answer calls from this number, let it go to voicemail" - **Energy**: "No more than 30 min on the phone with X" / "Don't take on their emotional labor today" - **Contact**: "No contact with this person" — hard boundary, full block mode - [ ] Per-person or global: boundaries can apply to a specific person or a category (all family, all work contacts, all exes) - [ ] Boundary severity: soft (awareness only), firm (app actively helps), hard (app blocks/intervenes) - [ ] Expiry / conditional: "No contact for 30 days" / "No texting after 10pm on weeknights" - [ ] Notes field: "Why I set this boundary" — private reminder of the reason ### P2: Enforcement aids — passive Low-intervention modes that keep you aware without getting in the way. - [ ] Boundary awareness badge on PersonCard and PersonDetail: shows active boundaries at a glance - [ ] When logging an interaction that might violate a boundary, subtle inline warning: "Heads up: you have a time boundary active (no texting after 10pm). Send now or schedule for tomorrow?" - [ ] Boundary adherence tracking per person: "You've respected your frequency boundary with Alex 6/6 interactions this month" - [ ] Dashboard summary: "3 boundaries active — 2 green, 1 yellow (slipping)" - [ ] Gentle check-in: "You initiated 4x in a row with Alex — you set a boundary of letting them initiate sometimes. Want to hold that?" ### P3: Enforcement aids — active Interventions that change app behavior to enforce boundaries. - [ ] Quiet mode per boundary: when a time or channel boundary is active, the app suppresses notifications from that person or channel - [ ] Delay delivery: compose a message to someone with a time boundary, app holds it until the boundary period ends ("Send after 8am tomorrow") - [ ] Initiation cooldown: if you set "don't initiate more than 2x without a response," the app greys out the initiate buttons for that person after the limit - [ ] Hard block mode: if set, the person is hidden from People view, cannot be messaged from within the app, any attempt shows a boundary reminder rather than the contact - [ ] Emergency boundary escalation: if a boundary is repeatedly violated (by you — you keep breaking your own rules), escalate the enforcement level automatically ### P4: Boundary breach handling What happens when you (or the other person) cross a line. - [ ] Breach log: when a boundary is crossed, log it automatically (time, context, who crossed it) - [ ] If you crossed your own boundary: reflection prompt — "You texted Alex after 10pm. Was this intentional? Adjust the boundary or reaffirm it?" - [ ] If the other person crossed a boundary you communicated: note it, track frequency — "Alex has called after-hours 3 times despite your boundary" — surfaces when deciding whether to escalate - [ ] Breach trend: "You've been slipping on your frequency boundary with work contacts — consider tightening enforcement" - [ ] Reset option: clear breach history for a boundary (fresh start) ### P5: Boundary communication scripts & templates The hardest part of boundaries is stating them. The app can help you find the words. - [ ] Template library for common boundary conversations: - "I need to limit our conversations to once a week — I value you but I need space to show up well" - "I'm not checking messages after 10pm anymore. If it's urgent, call and I'll get back to you in the morning." - "I need to take a step back from this topic for now. Can we talk about something else?" - "I've noticed I'm always the one reaching out. I need to take a step back and let the rhythm find itself." - [ ] Boundary companion notes: private notes that help you articulate *why* the boundary exists — keeps you grounded when you're tempted to cave - [ ] Pre-escalation script: if a boundary needs to be reinforced, templates for firmer language while staying respectful - [ ] Re-engagement script: if a time-limited boundary expires (e.g., no-contact period), a prompt for how to reopen communication gracefully ### P6: Accountability & reflection Boundaries are hard to keep in the moment. Reflection helps them stick. - [ ] Weekly boundary review: "This week you held 4/5 boundaries. The one you slipped on was X — what changed?" - [ ] Boundary strength trend over time: are you getting better at holding them or more porous? - [ ] If a boundary is never tested (no opportunity to breach it), mark as "untested" vs "healthy" - [ ] Boundary graduation: when a boundary becomes second nature (held consistently for 8+ weeks), suggest downgrading enforcement — the habit is internalized - [ ] Boundary archive: retired boundaries saved with notes on why they were needed and why they're no longer needed ### P7: Privacy & safety Boundary data is vulnerable information — it reveals your limits and vulnerabilities. - [ ] All boundary data on-device only, biometric gate (#26) - [ ] No boundary information included in any export or backup - [ ] Emergency hide: one tap hides all active boundaries from view - [ ] If a boundary has a "hard block" enforcement, the person it applies to is also hidden from vault-unauthorized view - [ ] Clear labeling: "Your boundaries are private — the app helps you hold them, but never shares or exposes them" ## Tech notes - Boundary data: new store/table `Boundary { id, personId?, type, severity, parameters (JSON), active, breachCount, createdAt, expiresAt?, notes }` - Enforcement hooks into existing interaction logging flow — check boundaries before logging/composing - Notification suppression requires Capacitor plugin integration (or local awareness layer in the PWA) - Delay-delivery needs a local queue (IndexedDB-backed) for scheduled sends - Scripts/templates are hardcoded JSON — no backend - Depends on #26 for vault auth, #85 for pattern detection (which boundaries are needed) - Soft/hard enforcement distinction is critical UX — user must always be able to override but override should be intentional (not a reflex)
Mark closed this issue 2026-06-13 14:30:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/kimi_agent_kin_app_sync#86
No description provided.