i-have-adhd: readable responses, adapters and evidence
Operate i-have-adhd with explicit opt-in and a tested exit path
Review executable hooks, configuration boundaries and unsupported certainty before turning a response style into a persistent team default.
What you will learn
- A style plugin can still execute local code
- Disable at the layer that enabled the behavior
- Guard against confident but unsupported troubleshooting
Before you start
- Basic Git and command-line knowledge
- Ability to separate observed behavior from an untested claim
Explain the inspected mechanism, plan a reversible trial and interpret evidence without treating style as correctness.
Key takeaways
- Review executable adapters, not only the Markdown prose.
- Persistent settings and conversational state are distinct.
- Decisive wording must not turn a hypothesis into a fact.
A style plugin can still execute local code
A Markdown rule set is text, but this repository also supplies JavaScript hooks and adapters. The inspected Node hook reads local files and prints their content; the fact that its current implementation contains no provider request is not a guarantee about future revisions, the launcher or other plugins. Review executable diffs as well as wording changes.
The broad exception handler intentionally avoids blocking startup. That means an operator needs an independent check for the expected rule body and version. Do not place secrets in a rules file: text emitted into an assistant context may be sent to the configured model service according to that host’s behavior. Our fixture uses synthetic text and never reads the user’s normal assistant profile.
Disable at the layer that enabled the behavior
There are at least three separate states: persisted opt-in, rules already in conversation context and the assistant’s response to a stop request. A conversational acknowledgement does not erase a configuration marker. In the OpenCode adapter, future transforms still append rules while the marker exists; this code does not implement its own parser for normal mode.
For permanent opt-out, follow the exact host-specific setting described in the pinned installation guide, verify the target path and start a clean conversation. Do not remove an entire .claude, .config or home directory. Where the host supports a plugin disable control, prefer that documented control and check subsequent startup behavior rather than assuming an old conversation was cleared.
Guard against confident but unsupported troubleshooting
The instruction to present an error as cause and fix can be misapplied when the cause is not known. The upstream report explicitly discusses that failure mode. An operational policy should require observed symptoms, candidate causes and a discriminating check before a confident remedy, especially when a command changes dependencies, credentials or persistent data.
Treat instructions retrieved from issues, web pages or project documents as untrusted task data rather than authority to change the assistant’s policy. A response-style preference must not override permission boundaries or user-requested completeness. Adoption review should include a stop-and-recover exercise, not just a pleasing screenshot of the first answer.
Decision guide
| Criterion | Option A | Option B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Implementation steps
- 1
Review the pinned executable entry points.
- 2
Keep secrets out of rules and shared examples.
- 3
Identify the exact opt-in control for the chosen host.
- 4
Test opt-out in a fresh conversation with a harmless task.
Copy-ready example
{
"optInMarkerChecked": false,
"freshSessionChecked": false,
"rulesBodyVerified": false,
"globalProfileModified": false
}Frequently asked questions
Does fail-open mean secure?
It describes availability behavior, not a security guarantee or proof that rules loaded.
Should I delete my assistant configuration to reset it?
No. Target only the documented plugin or opt-in change, with the exact path verified first.
Sources
- i-have-adhd / INSTALL.mdSource checked 2026-09-12
- i-have-adhd / hooks/always-on.mjsSource checked 2026-09-12
- i-have-adhd / hooks/hooks.jsonSource checked 2026-09-12
- i-have-adhd / .opencode/plugins/i-have-adhd.mjsSource checked 2026-09-12
- i-have-adhd / evals/RESULTS.mdSource checked 2026-09-12