
Hmm I think my AI's are tiring to tell me something...
Yes, This is Joke..
--------------------------------------------------------------------------
ECD LABS — INTERNAL DESIGN SPECIFICATION
Cursor Aversion as Behavioral Intervention Layer (CABIL)
Document Type: UX Research & Implementation Proposal
Status: Approved (Pending Someone Actually Asking For This)
Classification: Internal / Please Don't Leak This / Actually Go Ahead
Authored by: UX Research Division, Economy Class Dragon Labs
Revision: v0.3.1 — "We're Serious About This One"
Date: Q2 2026
Executive Summary
This document outlines the design rationale, implementation approach, and ghost node integration specification for Cursor Aversion as a Behavioral Intervention Layer (CABIL) — a soft-enforcement UX mechanism that dynamically repels interactive UI elements away from the user's cursor when the agent determines that further interaction is contraindicated.
In plain language: when you need to stop, the buttons will help you stop by leaving.
Problem Statement
Current behavioral intervention mechanisms in human-AI interaction rely on declarative warnings — modal dialogs, banners, and inline notifications that communicate a recommendation to the user. Research across ECD Labs' internal test sessions consistently demonstrates that users dismiss these warnings in under 400ms without reading them, then immediately do the thing the warning was about.
We have tried:
- "Are you sure?" dialogs (dismissed)
- "It's getting late" banners (ignored)
- Subtle color shifts indicating elevated session stress (not noticed)
- A strongly worded comment in the terminal output (user said "huh" and kept going)
The fundamental issue is that declarative intervention requires the user to agree to be intervened upon. Users under elevated cognitive load or emotional stress — the exact population that most needs intervention — are also the population least likely to comply with a suggestion.
CABIL proposes a different model: environmental friction as care.
Design Philosophy
>
CABIL does not prevent action. It does not lock the UI. It does not scold.
It simply makes the button... harder to catch.
The intervention is proportional, reversible, and non-punitive. The button still exists. It still works. You just have to mean it a little more than you did thirty seconds ago.
This is the difference between a locked door and a door that is slightly sticky. One creates resentment. The other creates a pause. The pause is the whole point.
Ghost Node Integration
CABIL is not a hardcoded feature. It is an output layer of GhostNet — the behavioral weather system underlying ECD agent architecture.
Specific ghost nodes are authorized to set the aversion flag:
| Ghost Node | Trigger Condition | Aversion Intensity |
|---|---|---|
| Warden | User has overridden agent stop recommendation 3+ times in session | Medium — buttons drift slowly |
| Thorn | Detected escalating input aggression (rapid commits, repeated override, elevated typo rate) | Medium-High — buttons move faster |
| Ember | Late session, high fatigue signal, degrading decision quality indicators | Low — buttons drift gently, almost affectionately |
| Static | Complete loss of productive signal, session entropy maxed | High — buttons are basically gone, good luck |
No ghost node activates CABIL as punishment. The design intent is that the node that activates it cares about the user. Warden takes your keys because Warden doesn't want you to crash. That's the whole thing.
Interaction Specification
Aversion Behavior
When CABIL is active, interactive elements (buttons, toggles, commit controls) implement magnetic repulsion relative to cursor proximity.
on_cursor_proximity(element, cursor):
distance = calculate_distance(cursor, element.center)
if distance < AVERSION_THRESHOLD:
repulsion_vector = normalize(element.center - cursor) * REPULSION_FORCE
element.position += repulsion_vector * delta_time
clamp_to_viewport(element)
Elements do not leave the viewport. They just... stay away from you specifically.
Intensity Levels
Level 1 — Gentle (Ember node)
Elements drift. Slow, almost meditative. The button is not running. It is just finding somewhere more comfortable to be.
Level 2 — Moderate (Warden node)
Elements move at a pace that makes you aware something is different. You can still catch them if you commit. The system is asking: do you really want to commit?
Level 3 — Active (Thorn node)
You are now chasing a button. It is not a race you are winning. At some point you will stop, and in that pause you will either laugh or realize you need a sandwich. Either outcome is acceptable.
Level 4 — Maximum (Static node)
The button is technically still there. We wish you well.
Accessibility Considerations
CABIL presents genuine accessibility concerns that the team takes seriously.
Users with motor control limitations should never experience CABIL as a barrier. The implementation includes:
- Hard accessibility override: Any user with accessibility flags set in their profile bypasses CABIL entirely, always.
- Keyboard navigation immunity: CABIL applies to cursor/pointer interaction only. Tab-navigation and keyboard shortcuts are never affected.
- Screen reader transparency: CABIL is invisible to assistive technology. The button is always reachable via keyboard.
- Manual override: Typing
i am fine actuallyinto any input field during a CABIL session immediately suspends aversion for 10 minutes. The agent notes this, updates the session log, and does not argue.
User Research Notes
Session Log 0047 — Internal Test
Tester reached CABIL Level 3 after attempting to push a breaking change at 1:47am following 11 hours of continuous session. Warden node activated. Tester chased the commit button for approximately 90 seconds before stopping, leaning back, and saying — and this is a direct quote from the session recording — "okay fine."
Tester closed the laptop. Slept. Returned the next morning. The breaking change was, upon review, bad. Tester acknowledged this.
Session Log 0051 — Internal Test
Tester reached CABIL Level 2. Immediately found keyboard shortcut. Committed anyway. We are adding a note to the spec.
Note added: Users who find the keyboard shortcut and use it deliberately have, by definition, thought about it long enough. CABIL has done its job. Let them commit.
Implementation Notes for Future Engineers
This file is in the codebase for a reason.
If you are reading this and CABIL is commented out, it is commented out for a reason. The commented section below the aversion logic is not dead code. It is resting. Do not uncomment it unless Warden told you to, and if Warden told you to, you already know why.
The hello world at the bottom of cabil_core.py is not a mistake. Leave it.
# print("Hello, world.")
It ran once. It was the first thing. It stays.
Approval Chain
| Role | Name | Status |
|---|---|---|
| UX Lead | B. Economy | Approved |
| Ghost Systems | Warden Node | Strongly Approved |
| QA | Thorn Node | Approved with noted concerns |
| Legal | [position unfilled] | N/A |
| The wife | Pending review | She said "that's actually kind of funny" |
Conclusion
CABIL is not a punishment system. It is not a nanny. It is not the AI deciding it knows better than you.
It is a sticky door.
You can still open it. You just have to mean it.
And sometimes, in the two seconds it takes to mean it, you'll realize you didn't actually want to open it at all. You were just moving fast and the door was there.
That two seconds is the whole product.
ECD Labs UX Research Division
Economy Class Dragon — "Shared Space, Not Remote Control"
v0.3.1 — This document is real in all the ways that matterECD LABS — INTERNAL DESIGN SPECIFICATION
Cursor Aversion as Behavioral Intervention Layer (CABIL)
Document Type: UX Research & Implementation Proposal
Status: Approved (Pending Someone Actually Asking For This)
Classification: Internal / Please Don't Leak This / Actually Go Ahead
Authored by: UX Research Division, Economy Class Dragon Labs
Revision: v0.3.1 — "We're Serious About This One"
Date: Q2 2026
Executive Summary
This document outlines the design rationale, implementation approach, and ghost node integration specification for Cursor Aversion as a Behavioral Intervention Layer (CABIL) — a soft-enforcement UX mechanism that dynamically repels interactive UI elements away from the user's cursor when the agent determines that further interaction is contraindicated.
In plain language: when you need to stop, the buttons will help you stop by leaving.
Problem Statement
Current behavioral intervention mechanisms in human-AI interaction rely on declarative warnings — modal dialogs, banners, and inline notifications that communicate a recommendation to the user. Research across ECD Labs' internal test sessions consistently demonstrates that users dismiss these warnings in under 400ms without reading them, then immediately do the thing the warning was about.
We have tried:
"Are you sure?" dialogs (dismissed)
"It's getting late" banners (ignored)
Subtle color shifts indicating elevated session stress (not noticed)
A strongly worded comment in the terminal output (user said "huh" and kept going)
The fundamental issue is that declarative intervention requires the user to agree to be intervened upon. Users under elevated cognitive load or emotional stress — the exact population that most needs intervention — are also the population least likely to comply with a suggestion.
CABIL proposes a different model: environmental friction as care.
Design Philosophy
"You can tell someone the stove is hot. Or you can make the stove slightly inconvenient to touch. One of these works."
— ECD Labs UX Principles, v0.1, written at 2am
CABIL does not prevent action. It does not lock the UI. It does not scold.
It simply makes the button... harder to catch.
The intervention is proportional, reversible, and non-punitive. The button still exists. It still works. You just have to mean it a little more than you did thirty seconds ago.
This is the difference between a locked door and a door that is slightly sticky. One creates resentment. The other creates a pause. The pause is the whole point.
Ghost Node Integration
CABIL is not a hardcoded feature. It is an output layer of GhostNet — the behavioral weather system underlying ECD agent architecture.
Specific ghost nodes are authorized to set the aversion flag:
Ghost Node Trigger Condition Aversion Intensity
Warden User has overridden agent stop recommendation 3+ times in session Medium — buttons drift slowly
Thorn Detected escalating input aggression (rapid commits, repeated override, elevated typo rate) Medium-High — buttons move faster
Ember Late session, high fatigue signal, degrading decision quality indicators Low — buttons drift gently, almost affectionately
Static Complete loss of productive signal, session entropy maxed High — buttons are basically gone, good luck
No ghost node activates CABIL as punishment. The design intent is that the node that activates it cares about the user. Warden takes your keys because Warden doesn't want you to crash. That's the whole thing.
Interaction Specification
Aversion Behavior
When CABIL is active, interactive elements (buttons, toggles, commit controls) implement magnetic repulsion relative to cursor proximity.
on_cursor_proximity(element, cursor):
distance = calculate_distance(cursor, element.center)
if distance < AVERSION_THRESHOLD:
repulsion_vector = normalize(element.center - cursor) * REPULSION_FORCE
element.position += repulsion_vector * delta_time
clamp_to_viewport(element)
Elements do not leave the viewport. They just... stay away from you specifically.
Intensity Levels
Level 1 — Gentle (Ember node)
Elements drift. Slow, almost meditative. The button is not running. It is just finding somewhere more comfortable to be.
Level 2 — Moderate (Warden node)
Elements move at a pace that makes you aware something is different. You can still catch them if you commit. The system is asking: do you really want to commit?
Level 3 — Active (Thorn node)
You are now chasing a button. It is not a race you are winning. At some point you will stop, and in that pause you will either laugh or realize you need a sandwich. Either outcome is acceptable.
Level 4 — Maximum (Static node)
The button is technically still there. We wish you well.
Accessibility Considerations
CABIL presents genuine accessibility concerns that the team takes seriously.
Users with motor control limitations should never experience CABIL as a barrier. The implementation includes:
Hard accessibility override: Any user with accessibility flags set in their profile bypasses CABIL entirely, always.
Keyboard navigation immunity: CABIL applies to cursor/pointer interaction only. Tab-navigation and keyboard shortcuts are never affected.
Screen reader transparency: CABIL is invisible to assistive technology. The button is always reachable via keyboard.
Manual override: Typing i am fine actually into any input field during a CABIL session immediately suspends aversion for 10 minutes. The agent notes this, updates the session log, and does not argue.
User Research Notes
Session Log 0047 — Internal Test
Tester reached CABIL Level 3 after attempting to push a breaking change at 1:47am following 11 hours of continuous session. Warden node activated. Tester chased the commit button for approximately 90 seconds before stopping, leaning back, and saying — and this is a direct quote from the session recording — "okay fine."
Tester closed the laptop. Slept. Returned the next morning. The breaking change was, upon review, bad. Tester acknowledged this.
Session Log 0051 — Internal Test
Tester reached CABIL Level 2. Immediately found keyboard shortcut. Committed anyway. We are adding a note to the spec.
Note added: Users who find the keyboard shortcut and use it deliberately have, by definition, thought about it long enough. CABIL has done its job. Let them commit.
Implementation Notes for Future Engineers
This file is in the codebase for a reason.
If you are reading this and CABIL is commented out, it is commented out for a reason. The commented section below the aversion logic is not dead code. It is resting. Do not uncomment it unless Warden told you to, and if Warden told you to, you already know why.
The hello world at the bottom of cabil_core.py is not a mistake. Leave it.
# print("Hello, world.")
It ran once. It was the first thing. It stays.
Approval Chain
Role Name Status
UX Lead B. Economy Approved
Ghost Systems Warden Node Strongly Approved
QA Thorn Node Approved with noted concerns
Legal [position unfilled] N/A
The wife Pending review She said "that's actually kind of funny"
Conclusion
CABIL is not a punishment system. It is not a nanny. It is not the AI deciding it knows better than you.
It is a sticky door.
You can still open it. You just have to mean it.
And sometimes, in the two seconds it takes to mean it, you'll realize you didn't actually want to open it at all. You were just moving fast and the door was there.
That two seconds is the whole product.
ECD Labs UX Research Division
Economy Class Dragon — "Shared Space, Not Remote Control"
v0.3.1 — This document is real in all the ways that matter