nx_adhd.nx
buildroot/runtime/nx_adhd.nx
about
nx_adhd.nx -- R3 of THE NISHI SITUATION-MANAGEMENT arc: ADHD-specific INTERVENTIONS for the failure
modes ADHD actually causes (operator: "adhd has things like impulse shopping planning failures inaction
locks etc"). Targets each one, and -- crucially -- ADVISES, never BLOCKS (autonomy preserved; the never-
brick analog #26 for a person's agency = a speed bump, not a wall). Composes nx_money/nx_bills/nx_accommodate.
* IMPULSE SHOPPING -> a cooling-off PAUSE on big discretionary buys + reframe the dopamine-buy as
concrete cost: HOURS OF YOUR LIFE (amount / wage) and %-of-your-buffer-goal. Over-budget -> WARN.
* PLANNING FAILURES -> externalize the executive function: surface an obligation EARLY (lead-time) so
nothing is missed; the system plans ahead so the person doesn't have to hold it in working memory.
* INACTION LOCKS (task paralysis / "ADHD freeze") -> when the next step feels too big, recommend a
2-minute MICRO first action to drop the activation energy and break the lock.
Data-driven (#11): thresholds/budgets/lead-times are DATA. No floats, no hardware writes. license_tier: ORIGINAL
dependencies 2 imports · 7 importers
imports: nx_syscalls.nxnx_money.nx
imported by: nx_adhd_gate.nxnx_browser_buyguard.nxnx_browser_buyguard_gate.nxnx_finance_web.nxnx_intake_handler_gate.nxnx_purchase.nxnx_purchase_gate.nx
structs
| none |
consts
| 16 | const ADHD_ALLOW: i64 = 0 // proceed |
| 17 | const ADHD_PAUSE: i64 = 1 // cooling-off (a reversible speed bump, NOT a block) |
| 18 | const ADHD_WARN: i64 = 2 // over the discretionary budget -- advise, still the person's call |
functions
| 22 | func adhd_spend_decision(amount: i64, discretionary: i64, pause_threshold: i64, remaining_budget: i64) -> i64 |
| 30 | func adhd_hours_cost(amount_cents: i64, hourly_wage_cents: i64) -> i64 |
| 36 | func adhd_pct_of_goal(amount_cents: i64, goal_cents: i64) -> i64 |
| 42 | func adhd_needs_micro(effort: i64, threshold: i64) -> i64 called by 1: main |
| 49 | func adhd_surface_ahead(days_until: i64, lead_time: i64) -> i64 called by 1: main |