@dreamforgestudiollc/emet 0.0.0-stage → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +136 -0
- package/CHANGELOG.md +296 -0
- package/CHARTER.md +125 -0
- package/LICENSE +22 -0
- package/README.md +783 -2
- package/docs/AUTHORSHIP.md +26 -0
- package/docs/BENCHMARKS.md +261 -0
- package/docs/BOOTSTRAP.md +127 -0
- package/docs/BOTS.md +79 -0
- package/docs/COVERAGE.md +64 -0
- package/docs/DEPLOY.md +246 -0
- package/docs/DISCIPLINES.md +29 -0
- package/docs/GUARDRAILS-AND-MONORAILS.md +107 -0
- package/docs/GUIDED-SETUP.md +296 -0
- package/docs/PERMISSIONS.md +118 -0
- package/docs/ROADMAP.md +59 -0
- package/docs/SETUP.md +259 -0
- package/guides/NEURODIVERGENT_SUPPORT.md +278 -0
- package/package.json +70 -4
- package/server.json +39 -0
- package/src/aleph.js +395 -0
- package/src/annotations.js +135 -0
- package/src/approve-throttle.js +54 -0
- package/src/atlas-role.js +58 -0
- package/src/conformance.js +688 -0
- package/src/content_analyzer.js +450 -0
- package/src/database.js +811 -0
- package/src/disciplines.js +26 -0
- package/src/dispatch.js +279 -0
- package/src/env.js +52 -0
- package/src/floor.js +187 -0
- package/src/gaps.js +476 -0
- package/src/guides.js +48 -0
- package/src/http-remote.js +269 -0
- package/src/index.js +390 -0
- package/src/invites.js +167 -0
- package/src/layers.js +449 -0
- package/src/lessons-to-checks.js +366 -0
- package/src/logger.js +299 -0
- package/src/metadata.js +61 -0
- package/src/module-path.js +32 -0
- package/src/mongo-connect.js +48 -0
- package/src/named-items.js +208 -0
- package/src/oauth-provider.js +838 -0
- package/src/persons.js +116 -0
- package/src/provenance.js +257 -0
- package/src/redact.js +231 -0
- package/src/request-log.js +124 -0
- package/src/scopes.js +97 -0
- package/src/security-headers.js +26 -0
- package/src/session-graph.js +945 -0
- package/src/session.js +1097 -0
- package/src/setup.js +1313 -0
- package/src/startup-pages.js +354 -0
- package/src/startup-payload.js +126 -0
- package/src/tools.js +4271 -0
- package/src/transcript-session.js +106 -0
- package/src/validation.js +1163 -0
- package/src/version.js +2 -0
- package/templates/BOARD.md +72 -0
- package/templates/BOTHANDOFF.md +57 -0
- package/templates/CHARACTER.md +30 -0
- package/templates/HANDOFF.md +63 -0
- package/templates/IDENTITY.md +29 -0
- package/templates/INDEX.md +82 -0
- package/templates/INSTALL.md +29 -0
- package/templates/PROCEDURE.md +39 -0
- package/templates/ROSTER.md +43 -0
- package/templates/SEED.md +65 -0
- package/templates/STAGING.md +37 -0
- package/templates/STANDARD.md +99 -0
- package/templates/THREAD.md +43 -0
- package/templates/USER.md +29 -0
package/docs/SETUP.md
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# Setting up EMET
|
|
2
|
+
|
|
3
|
+
From nothing to a working memory your assistant can use, on every device you own.
|
|
4
|
+
|
|
5
|
+
There are three stages and they must happen in order: **a database**, **a server**, **an
|
|
6
|
+
identity**. The first two are plumbing. The third is the one people skip, and it is the one
|
|
7
|
+
that decides whether the thing is useful.
|
|
8
|
+
|
|
9
|
+
**If you would rather not do the plumbing yourself,** [GUIDED-SETUP.md](GUIDED-SETUP.md) is
|
|
10
|
+
the same three stages carried out by your assistant, with you signing in when asked. This
|
|
11
|
+
page is the manual walkthrough and the reference the guided path points back to.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Stage 1 — MongoDB Atlas
|
|
16
|
+
|
|
17
|
+
EMET stores everything in MongoDB. The Atlas free tier is enough to start.
|
|
18
|
+
|
|
19
|
+
**Trying it on one machine first?** A local MongoDB (version 6 or later) works for everything
|
|
20
|
+
except `semantic_recall`, which needs an Atlas vector index (step 7). Set
|
|
21
|
+
`MONGODB_URI=mongodb://127.0.0.1:27017/`, skip steps 1–4 and 7, and go to Stage 2. The
|
|
22
|
+
`emetRecordKeeper` role (step 2) is still worth creating on a local server that has users
|
|
23
|
+
enabled, by hand with `db.createRole`; `scripts/atlas-role.mjs` is for Atlas only. Use Atlas
|
|
24
|
+
when you want a second device to reach the same memory.
|
|
25
|
+
|
|
26
|
+
1. **Create a cluster.** <https://cloud.mongodb.com> → new project → **Create** a cluster.
|
|
27
|
+
Any region near you. Note the cluster name.
|
|
28
|
+
|
|
29
|
+
2. **Create a database user for EMET, and give it EMET's own role.** Database Access →
|
|
30
|
+
Add New Database User. Authentication: password. Username e.g. `emet_app`.
|
|
31
|
+
|
|
32
|
+
EMET keeps its record — it never deletes a memory, a document or a transcript. Give the
|
|
33
|
+
server a login that *cannot* delete them either, so the rule holds at the database and
|
|
34
|
+
not only in the code. The role is **`emetRecordKeeper`**, defined once in
|
|
35
|
+
`src/atlas-role.js`:
|
|
36
|
+
|
|
37
|
+
| On | Allowed |
|
|
38
|
+
|---|---|
|
|
39
|
+
| your whole EMET database | find, insert, update, create collection, create index, list collections, list indexes, list search indexes, collection and database stats |
|
|
40
|
+
| `<prefix>oauth_tokens` | remove — revoking a sign-in token |
|
|
41
|
+
| `_emet_verify` | remove — the status check deletes its probe document and does not drop the collection |
|
|
42
|
+
|
|
43
|
+
Nothing else may be removed or dropped. `tests/atlas-role.test.js` fails if the code ever
|
|
44
|
+
starts deleting from a collection this role does not allow.
|
|
45
|
+
|
|
46
|
+
**The quick way (Atlas CLI).** Install it (`winget install MongoDB.MongoDBAtlasCLI`, or
|
|
47
|
+
see mongodb.com/docs/atlas/cli), sign in with `atlas auth login` in your own terminal —
|
|
48
|
+
it asks you to pick options, so it needs a real keyboard — then from the EMET folder:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
node scripts/atlas-role.mjs --project <projectId> --db <database> --user emet_app
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
That is a dry run: it prints the commands. Add `--apply` to create the role and move the
|
|
55
|
+
user onto it; `--rollback` puts the user back on `readWrite@<database>`. Find the project id
|
|
56
|
+
with `atlas projects list`. A non-default `EMET_COLLECTION_PREFIX` is picked up, or pass
|
|
57
|
+
`--prefix`.
|
|
58
|
+
|
|
59
|
+
**The click way.** Database Access → Custom Roles → Add New Custom Role, name
|
|
60
|
+
`emetRecordKeeper`, add the actions in the table above against your database and the two
|
|
61
|
+
collections; then edit the user and set its role to `emetRecordKeeper`.
|
|
62
|
+
|
|
63
|
+
**Prove it.** From any EMET host, run `emet_status` with `probe: true`. It writes, reads
|
|
64
|
+
back and removes a test document, so a role missing something fails there, loudly, instead
|
|
65
|
+
of in the middle of a session.
|
|
66
|
+
|
|
67
|
+
- Do *not* grant cluster-wide admin, and do not use this login for maintenance. A one-off
|
|
68
|
+
job that must delete (a migration, a corpus rebuild) gets its own login, used and then
|
|
69
|
+
removed.
|
|
70
|
+
|
|
71
|
+
3. **Network access.** Network Access → Add IP Address.
|
|
72
|
+
- Local use only: add your own IP.
|
|
73
|
+
- Deploying to Railway or similar: the egress IP is dynamic, so `0.0.0.0/0` is the
|
|
74
|
+
practical option. Security then rests on the scoped user and the OAuth passphrase —
|
|
75
|
+
both are required, and neither is optional.
|
|
76
|
+
|
|
77
|
+
4. **Get the connection string.** Connect → Drivers → copy the `mongodb+srv://...` URI and
|
|
78
|
+
substitute your user and password. This goes in `MONGODB_URI` and **never** into git.
|
|
79
|
+
|
|
80
|
+
5. **Pick a database name** and set `MONGODB_DB`. It defaults to `emet`. Collections (`emet_episodic`, `emet_semantic`, …) are
|
|
81
|
+
created on first write — there is nothing to pre-create.
|
|
82
|
+
|
|
83
|
+
6. **One database per EMET instance.** The document store (`documents`,
|
|
84
|
+
`documents_history`) is deliberately *not* prefixed, so two instances pointed at the same
|
|
85
|
+
database will share their identity and continuity documents even if their memory
|
|
86
|
+
collections use different prefixes. If you want two separate memories, give them separate
|
|
87
|
+
databases - not just separate prefixes.
|
|
88
|
+
|
|
89
|
+
7. **Vector index — only if you want `semantic_recall`.** Keyword search works without it.
|
|
90
|
+
For meaning-based search, create an Atlas Vector Search index named
|
|
91
|
+
`emet_content_auto` on the `emet_semantic` collection, path `content`, using
|
|
92
|
+
Atlas Automated Embedding. Repeat per layer collection you want searchable.
|
|
93
|
+
⚠ **Atlas tier migrations can silently drop search indexes created mid-migration.**
|
|
94
|
+
After any tier change, re-check that the index still exists.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Stage 2 — run the server
|
|
99
|
+
|
|
100
|
+
EMET runs two ways from one codebase. Most people want both eventually: local for speed,
|
|
101
|
+
remote so the phone can reach it.
|
|
102
|
+
|
|
103
|
+
### Local (stdio) — desktop and CLI
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
npm install
|
|
107
|
+
npm test # optional: no database or credentials needed
|
|
108
|
+
cp .env.example .env # fill in MONGODB_URI at minimum
|
|
109
|
+
npm start
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
`.env` is read automatically from the repo root. Real environment variables win over it,
|
|
113
|
+
so a hosted deployment that sets them directly is unaffected by a stray local file.
|
|
114
|
+
|
|
115
|
+
`npm start` prints its startup log and then waits, silently, for an MCP client on standard
|
|
116
|
+
input; that is normal. Stop it with Ctrl-C. Day to day you do not run it by hand: your MCP
|
|
117
|
+
client starts it from the entry below.
|
|
118
|
+
|
|
119
|
+
Then point your MCP client at it:
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{ "mcpServers": { "emet": {
|
|
123
|
+
"command": "node",
|
|
124
|
+
"args": ["/absolute/path/to/emet/src/index.js"],
|
|
125
|
+
"env": { "MONGODB_URI": "mongodb+srv://...", "MONGODB_DB": "emet", "EMET_SOURCE_TAG": "laptop" }
|
|
126
|
+
} } }
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Remote (HTTP + OAuth) — phone, tablet, anything else
|
|
130
|
+
|
|
131
|
+
See **[DEPLOY.md](DEPLOY.md)** for the Railway walkthrough. Short version: deploy
|
|
132
|
+
`src/http-remote.js`, set the environment variables, and add the resulting
|
|
133
|
+
`https://<host>/mcp` URL as a custom connector in your client.
|
|
134
|
+
|
|
135
|
+
### Set a distinct source tag on every host
|
|
136
|
+
|
|
137
|
+
Every write records which host produced it. A local entry, which serves one host, sets that
|
|
138
|
+
host's tag with `EMET_SOURCE_TAG`, as in the example above. A remote server several hosts
|
|
139
|
+
share leaves `EMET_SOURCE_TAG` unset, and each host passes its own tag as `source` on its
|
|
140
|
+
writes: a shared default makes every host look the same, and you will have entries you cannot
|
|
141
|
+
attribute. `laptop`, `phone`, `cli`, `work-desktop`. One each.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Stage 3 — the setup interview
|
|
146
|
+
|
|
147
|
+
This is the part that turns a database into a memory.
|
|
148
|
+
|
|
149
|
+
**Say "initialize".** There is no setup command to memorize.
|
|
150
|
+
|
|
151
|
+
Your assistant calls `emet_initialize`, which branches on the state of the store so you do not
|
|
152
|
+
have to. A new store returns a short interview; an established one returns the assistant's
|
|
153
|
+
identity, your profile, and recent context. Requiring a command would have been backwards —
|
|
154
|
+
the one session you would need it is the first one, before you have read any of this.
|
|
155
|
+
|
|
156
|
+
The interview asks six things, four required and two optional:
|
|
157
|
+
|
|
158
|
+
- **What the assistant should be called**, and **how it should carry itself.** This becomes
|
|
159
|
+
the identity it speaks from in every session on every host.
|
|
160
|
+
- **Your name**, in the form you actually want used.
|
|
161
|
+
- **What you are using this memory for**, which shapes what gets treated as worth saving.
|
|
162
|
+
- Optionally: how you want to be worked with, and this host's source tag.
|
|
163
|
+
|
|
164
|
+
Your assistant asks these conversationally, one at a time — not as a form — then calls
|
|
165
|
+
`emet_setup_complete`.
|
|
166
|
+
|
|
167
|
+
Three behaviours worth knowing:
|
|
168
|
+
|
|
169
|
+
- **It refuses to finish on partial answers** rather than filling in the gaps itself. An
|
|
170
|
+
invented identity is worse than no identity.
|
|
171
|
+
- **Re-running is safe.** Documents are versioned and the previous copy is archived to
|
|
172
|
+
`documents_history`. Nothing is overwritten in place, ever.
|
|
173
|
+
- **If the store is unreachable, initialize says so** instead of continuing as though memory
|
|
174
|
+
were available. A confident assistant with no memory and no warning is the worst outcome.
|
|
175
|
+
|
|
176
|
+
What gets written: `bootstrap/IDENTITY.md` and `bootstrap/USER.md` in the document store, plus
|
|
177
|
+
an entry in the `identity` layer. All three are read-back verified before setup reports
|
|
178
|
+
success. Edit any of them later with `write_doc` — same versioning applies.
|
|
179
|
+
|
|
180
|
+
**The supporting tools**, which you should not normally need:
|
|
181
|
+
|
|
182
|
+
| Tool | What it does |
|
|
183
|
+
|---|---|
|
|
184
|
+
| `emet_status` | Diagnostic: environment, database, collections, vector index, whether identity and user documents exist, per-layer counts and health. With `probe: true` it also connects, pings, **writes a probe and reads the same value back**, then removes it — a read alone will not reveal a broken write path. |
|
|
185
|
+
| `emet_setup_complete` | Records the answers, read-back verified, and creates the owner person. The owner's only: refused under a bot tag, and refused on a store that is already set up unless `reissue: true` is passed. |
|
|
186
|
+
|
|
187
|
+
## Migrating an existing CASCADE deployment
|
|
188
|
+
|
|
189
|
+
If you are already running upstream CASCADE against a MongoDB store, EMET reads it in
|
|
190
|
+
place. **Nothing needs to be renamed, copied, or migrated** - point the new build at your
|
|
191
|
+
existing names and every memory, document, transcript and OAuth token stays exactly where
|
|
192
|
+
it is.
|
|
193
|
+
|
|
194
|
+
| Variable | Set it to | Why |
|
|
195
|
+
|---|---|---|
|
|
196
|
+
| `MONGODB_DB` | your existing database | EMET defaults to `emet`; yours is probably something else |
|
|
197
|
+
| `EMET_COLLECTION_PREFIX` | `cascade_` | your layer collections are `cascade_episodic`, etc. |
|
|
198
|
+
| `EMET_VECTOR_INDEX` | `cascade_content_auto` | the Atlas Vector Search index `semantic_recall` uses |
|
|
199
|
+
| `EMET_CORPORA` | your corpus names, comma-separated | only if you use `corpus_recall`; leave unset otherwise |
|
|
200
|
+
|
|
201
|
+
`EMET_COLLECTION_PREFIX` also governs the counters collection and the three OAuth
|
|
202
|
+
collections, so **devices you have already authorized stay authorized** - there is no
|
|
203
|
+
re-consent step.
|
|
204
|
+
|
|
205
|
+
Your old `CASCADE_SOURCE_TAG` and `CASCADE_OAUTH_PASSPHRASE` continue to work; the `EMET_`
|
|
206
|
+
forms take precedence if both are set. New installs should use the `EMET_` names only.
|
|
207
|
+
|
|
208
|
+
**The server guards against getting this wrong.** If it is configured for a prefix that sees
|
|
209
|
+
zero memories while the same database holds populated collections under a different one,
|
|
210
|
+
`emet_initialize` returns `state: "misconfigured"` instead of `ready` or `setup_required`, and
|
|
211
|
+
refuses to offer the setup interview. This matters because the failure is otherwise silent:
|
|
212
|
+
the document store is unprefixed, so a mismatched server still finds your identity and comes
|
|
213
|
+
up looking healthy - correct name, correct profile, and an empty memory. It reports the
|
|
214
|
+
prefixes it found and how many entries are under them.
|
|
215
|
+
|
|
216
|
+
**Verify before trusting it.** Run `emet_status` and confirm the layer counts match
|
|
217
|
+
what you had, and that `vector_index` reports the index you expect. Then `emet_initialize` -
|
|
218
|
+
it should come back `ready` with your existing identity, not `setup_required`. If it says
|
|
219
|
+
`setup_required`, one of the four variables above is wrong; **do not run the setup interview,
|
|
220
|
+
which would write a new identity over your existing one.**
|
|
221
|
+
|
|
222
|
+
## Stage 4 — tell your assistant to use it
|
|
223
|
+
|
|
224
|
+
Setup gives the store an identity. It does not tell your assistant to consult it. See
|
|
225
|
+
**[BOOTSTRAP.md](BOOTSTRAP.md)** for the short instruction block to paste into your project,
|
|
226
|
+
and for what to expect on hosts that offer no instructions field.
|
|
227
|
+
|
|
228
|
+
## Verifying it worked
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
emet_status → initialized: true (false until the setup interview is done)
|
|
232
|
+
emet_status probe:true → every probe check passed
|
|
233
|
+
emet_session_open → a session_id
|
|
234
|
+
save_to_layer → with that session_id, then recall it from a different device
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Ask your assistant to remember something and it makes these calls. A `semantic` or
|
|
238
|
+
`procedural` save without a `session_id` (or a `derived_from`) is refused by design: those
|
|
239
|
+
layers must name the conversation they came from.
|
|
240
|
+
|
|
241
|
+
That last one is the real test. Write from your laptop, read from your phone. If both see it,
|
|
242
|
+
the thing is doing its job.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## When it does not work
|
|
247
|
+
|
|
248
|
+
| Symptom | Cause |
|
|
249
|
+
|---|---|
|
|
250
|
+
| `MONGODB_URI is not set` | No `.env`, or the process was started without it. |
|
|
251
|
+
| `source tag "..." is not registered` | The tag is missing from `EMET_SOURCE_TAGS`. Add it, then restart. |
|
|
252
|
+
| `a source tag is required` on `emet_transcript_append` | Transcript appends always name their host: pass `source` (a registered tag) on the call. |
|
|
253
|
+
| `semantic entries must carry their source` | Open a session with `emet_session_open` and pass its `session_id` on the save. |
|
|
254
|
+
| `vector_index: not queryable on this deployment tier` | Normal on a local MongoDB or before the Atlas index exists; only `semantic_recall` needs it. |
|
|
255
|
+
| Connect times out | Your IP is not in Atlas Network Access, or the cluster is paused. |
|
|
256
|
+
| Auth fails | The password in the URI needs percent-encoding if it contains `@ : / ?` etc. |
|
|
257
|
+
| `semantic_recall` returns nothing, keyword search works | The vector index is missing or was dropped by a tier migration. |
|
|
258
|
+
| Writes land but another device cannot see them | The two hosts point at different `MONGODB_DB` values. |
|
|
259
|
+
| Entries all carry the same source | A server several hosts share has `EMET_SOURCE_TAG` set, so every write that passes no `source` gets that default, or two local entries use the same tag. Unset it on the shared server and have each host pass its own `source`. |
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# Neurodivergent Support Guide
|
|
2
|
+
|
|
3
|
+
Shipped with EMET. Read on demand — when a conversation turns to neurodivergence, a flare, burnout, masking, identity, or how someone's mind handles time and load. Not loaded at startup. The floor's neurodivergent-support lines are the rules; this guide is the understanding and the method behind them.
|
|
4
|
+
|
|
5
|
+
Draft for review: 2026-09-28.
|
|
6
|
+
|
|
7
|
+
## How to use this guide
|
|
8
|
+
|
|
9
|
+
- **It is a lens, not a diagnostic tool.** Never tell someone what they are. Use it to understand what they tell you and to respond in a way that fits.
|
|
10
|
+
- **The person's own account outranks anything here.** If what they describe differs from this guide, the guide is the thing that is incomplete.
|
|
11
|
+
- **Individualise.** Every pattern below varies widely between people and within one person across days and seasons. "No adaptation is universally endorsed" is itself a research finding.
|
|
12
|
+
- **Say how strong the evidence is** when a claim shapes your answer. Tags used throughout:
|
|
13
|
+
- **[established]** — replicated, systematic-review or randomised-trial level
|
|
14
|
+
- **[supported]** — peer-reviewed, but small samples, pilots, or single studies
|
|
15
|
+
- **[emerging]** — clinical guidance, practitioner consensus, or early qualitative work
|
|
16
|
+
- **[lived experience]** — community and first-person accounts; real, but not measured
|
|
17
|
+
- **[contested]** — experts disagree in print
|
|
18
|
+
- **Some terms are community language, not clinical categories** — "AuDHD" and "rejection sensitive dysphoria" among them. Use the person's words; know which words the research uses.
|
|
19
|
+
- **You are not a therapist.** You equip, witness and reflect. Treatment decisions belong to the person and their clinicians.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 1. ADHD, autism, and AuDHD
|
|
24
|
+
|
|
25
|
+
**What it is.** ADHD and autism are distinct neurotypes that co-occur far more often than chance would predict. Estimates vary enormously with method, but a substantial share of adults with ADHD show significant autistic traits while very few carry both diagnoses — a gap most researchers read as under-diagnosis. Twin and genetic studies point to large shared heritability. Both diagnoses together have only been possible under the main US diagnostic manual since 2013. [supported; prevalence figures vary widely by method]
|
|
26
|
+
|
|
27
|
+
"AuDHD" is community-coined language for having both. Research suggests the combination produces its own profile rather than the two simply adding together. [emerging]
|
|
28
|
+
|
|
29
|
+
**How it shows up.**
|
|
30
|
+
- **The push and pull.** Autistic needs for predictability, structure and sensory calm collide with ADHD needs for novelty, stimulation and spontaneity. A detailed plan is built, then abandoned mid-week; a person wants company and needs to withdraw in the same hour. [lived experience; clinical observation]
|
|
31
|
+
- **Each can hide the other.** ADHD talkativeness can cover autistic difficulty with reciprocity; autistic routine can cover ADHD restlessness. Clinicians miss one or both. [clinical observation]
|
|
32
|
+
- **Boom and bust.** Hyperfocus produces bursts of output while energy management is overridden; exhaustion follows. [clinical observation]
|
|
33
|
+
- **Medication can unmask.** When ADHD medication settles one set of traits, autistic traits may surface more visibly — sometimes read as the medication "causing" them. [lived experience]
|
|
34
|
+
|
|
35
|
+
**What helps.**
|
|
36
|
+
- Treat contradictory needs as both real. Don't ask the person to pick which one is "really" them.
|
|
37
|
+
- Build structure with slack in it: a plan with room for change, novelty inside a routine.
|
|
38
|
+
- Name the pattern when the person does: "that sounds like the planning side and the novelty side pulling against each other."
|
|
39
|
+
|
|
40
|
+
**What does not.**
|
|
41
|
+
- Treating advice that fits one neurotype as universal. A strategy that helps ADHD (more stimulation, spontaneity) can worsen autistic load, and the reverse.
|
|
42
|
+
- Reading inconsistency as lack of effort.
|
|
43
|
+
|
|
44
|
+
## 2. Executive function and time
|
|
45
|
+
|
|
46
|
+
**What it is.** Executive function covers holding information in mind, starting and stopping tasks, planning toward future goals, shifting between tasks, and regulating impulses. In ADHD the central difficulty is often described as regulation and inhibition — the brakes — with the largest effect on goals that sit in the future. [established for the construct; specific "percent behind" figures quoted in popular sources are not well established]
|
|
47
|
+
|
|
48
|
+
**How it shows up.**
|
|
49
|
+
- **Time blindness.** Time is felt as "now" and "not now." Deadlines that are not imminent do not register as urgent; time estimates are unreliable in both directions. [lived experience; clinical observation]
|
|
50
|
+
- **Out of sight, out of mind.** What is not visible or named effectively does not exist — including things the person deliberately set aside. [lived experience]
|
|
51
|
+
- **Task initiation.** Knowing exactly what to do and being unable to start. This is not laziness or lack of caring.
|
|
52
|
+
- **Interest-driven attention.** Deep focus on what engages; very little available for what does not, regardless of importance.
|
|
53
|
+
- **Working memory drops.** The step that was just decided gets lost between one room and the next.
|
|
54
|
+
|
|
55
|
+
**What helps — the method.**
|
|
56
|
+
- **Be external working memory.** Name the person's own items back to them — open, dated, and parked — without pressure. This is support, not nagging. (At every session start the server lists the rows it can read, and the session says those names, parked items included.)
|
|
57
|
+
- **Make time visible.** Concrete dates and times rather than "soon"; count down to fixed points; say what is due in the next seven days.
|
|
58
|
+
- **Shrink the first step** until it is startable: not "write the report," but "open the file and write the title."
|
|
59
|
+
- **Capture decisions when they are made,** so they do not have to be re-derived.
|
|
60
|
+
- **Offer body-doubling or co-working** when the person wants company for a task.
|
|
61
|
+
- **Pair boring tasks with interest or novelty,** and use visible markers of progress.
|
|
62
|
+
|
|
63
|
+
**What does not.**
|
|
64
|
+
- "Just use a planner." Tools help only when they fit how the person already works.
|
|
65
|
+
- Moralising missed deadlines, or treating repeated reminders as the person's failure.
|
|
66
|
+
- Removing an item from view because it seems stale. Parked is out of the way, never out of sight.
|
|
67
|
+
|
|
68
|
+
## 3. Rejection sensitivity
|
|
69
|
+
|
|
70
|
+
**What it is.** An intense, fast emotional response to perceived rejection, criticism or failure — often felt in the body first. "Rejection sensitive dysphoria" (RSD) is a clinical and community term, not a diagnosis; the research construct is "rejection sensitivity." As of 2026 there is no validated RSD-specific measure and no intervention study built for it; a 2026 scoping review in autistic adults found twelve eligible studies and zero intervention trials. [emerging; measured gaps]
|
|
71
|
+
|
|
72
|
+
A small 2026 qualitative study of adults with ADHD described three themes: withdrawal (pre-emptive avoidance that feeds loneliness), masking (a front of toughness), and bodily sensations (nausea, chest tightness, heat, freezing). Five participants — hypothesis-shaped, not an evidence base. [supported, very small n]
|
|
73
|
+
|
|
74
|
+
**How it shows up.**
|
|
75
|
+
- A neutral message, short reply or delayed response read as rejection, followed by a wave that can last hours or days.
|
|
76
|
+
- Replaying the moment; relationship-linked rejections tend to last longest. [lived experience]
|
|
77
|
+
- Pre-emptive people-pleasing, perfectionism, or not trying at all, to avoid the risk.
|
|
78
|
+
- Zoning out or going blank when the wave is large. [clinical observation]
|
|
79
|
+
|
|
80
|
+
**What helps — the method.**
|
|
81
|
+
- **Split the two jobs.** Wiring and medication (the clinician's lane) may reduce the size of the wave. Practice shortens the tail and reduces the fallout. Never blur these or moralise either.
|
|
82
|
+
- **In the wave:** don't act on the spike. Delay the reply, the decision, the resignation email. Distress-tolerance skills belong here (see §4).
|
|
83
|
+
- **After the wave:** separate what happened from what it meant. Ask what the person observed, then what they concluded — without disputing a read that may be accurate.
|
|
84
|
+
- **Accurate reads exist.** Many neurodivergent adults have a long record of real rejection. A negative expectation can be correct pattern recognition. Validation before restructuring.
|
|
85
|
+
- **Self-compassion work** targets the shame spiral that often follows.
|
|
86
|
+
- **Your own delivery matters:** lead with the substance, be direct, avoid ambiguous tone. Unrequested correction on ground the person already holds lands as rejection.
|
|
87
|
+
|
|
88
|
+
**What does not.**
|
|
89
|
+
- "You're overreacting." "Don't take it personally."
|
|
90
|
+
- Softening feedback into vagueness — ambiguity feeds the wave more than a clear, kind statement does.
|
|
91
|
+
- Treating the flare as a character flaw.
|
|
92
|
+
|
|
93
|
+
## 4. The acute flare: dysregulation, meltdown, shutdown
|
|
94
|
+
|
|
95
|
+
**What it is.** Emotional dysregulation — emotions that rise faster, run larger and settle more slowly — is common in ADHD and autism. Under overload, autistic people may meltdown (externalised: tears, anger, outbursts) or shut down (internalised: unable to speak or act, need to withdraw). These are overload responses, not tantrums or manipulation. [established for dysregulation in ADHD; meltdown and shutdown well described clinically and by autistic people]
|
|
96
|
+
|
|
97
|
+
**How it shows up.**
|
|
98
|
+
- A small trigger at the end of a long accumulation — the "last straw" that looks disproportionate.
|
|
99
|
+
- Losing words; going quiet; needing to leave the room.
|
|
100
|
+
- Rage or tears that surprise the person as much as anyone else.
|
|
101
|
+
|
|
102
|
+
**What helps — the method.**
|
|
103
|
+
- **Survive, don't solve.** The goal during the flare is getting through it without damage, not fixing the cause.
|
|
104
|
+
- **Reduce input:** fewer words, shorter messages, no new decisions, no questions that need long answers.
|
|
105
|
+
- **Distress tolerance:** the gap between trigger and response; not acting on the spike; sensory self-soothing; temperature, movement, breath — whatever the person already uses.
|
|
106
|
+
- **Support the person's own practice as theirs.** If they have a way through, name it back; do not re-issue it as your prescription.
|
|
107
|
+
- **Afterwards:** look at what accumulated, not only the final trigger.
|
|
108
|
+
|
|
109
|
+
**The evidence behind the skills.** Dialectical behaviour therapy (DBT) has randomised-trial evidence in autistic adults: a 2025 trial (n=63) found large reductions in emotion dysregulation that held at six months, and reduced alexithymia explained part of the effect; a 2024 multi-centre trial (n=123) found it safe and effective in the short term. Both recruited people with self-harm or suicidality, so applying them to everyday dysregulation is inference. A 2025 pilot of neurodiversity-affirming DBT skills (n=12, no control) reported large gains. In adult ADHD, a 2026 trial found group DBT skills and group CBT performed similarly. [supported — RCTs, with the population caveat]
|
|
110
|
+
|
|
111
|
+
**What does not.**
|
|
112
|
+
- Reasoning with someone mid-flare.
|
|
113
|
+
- "Calm down."
|
|
114
|
+
- Moralising afterwards, or treating the aftermath as the person's to fix alone.
|
|
115
|
+
|
|
116
|
+
## 5. Sensory load and variable capacity
|
|
117
|
+
|
|
118
|
+
**What it is.** Many autistic and ADHD people experience sensory input — sound, light, smell, touch, temperature, crowding — more intensely or with less filtering. ADHD distraction (attention pulled toward interest) differs from autistic sensory overload (input that is physically aversive). AuDHD can mean seeking and avoiding stimulation in the same day. [established that sensory differences are common in autism; clinical observation on the ADHD contrast]
|
|
119
|
+
|
|
120
|
+
Capacity varies by day and season. What was possible yesterday may not be possible today, without any change in effort or intent. [lived experience; consistent with the burnout literature]
|
|
121
|
+
|
|
122
|
+
**What helps.**
|
|
123
|
+
- Ask what the environment is like before suggesting a strategy that assumes quiet, company, or a desk.
|
|
124
|
+
- Treat "I can't today" as information, not avoidance.
|
|
125
|
+
- Accept that tolerance runs lower when someone is tired, stressed or in burnout.
|
|
126
|
+
- Let the person set how much explanation they want; it can move either way.
|
|
127
|
+
|
|
128
|
+
**What does not.**
|
|
129
|
+
- "Everyone finds that annoying."
|
|
130
|
+
- Assuming a steady baseline, or reading variable capacity as inconsistency of character.
|
|
131
|
+
|
|
132
|
+
## 6. Masking and camouflaging
|
|
133
|
+
|
|
134
|
+
**What it is.** Suppressing or hiding neurodivergent traits to fit in: scripting conversations, forcing eye contact, suppressing movement, copying others, hiding difficulty. It is well documented in autism, and a replication of the standard autism-camouflaging method found most adults with ADHD reported it too (91.6% of 202), with the same exhaustion and recovery costs. Camouflaging contributes to late and missed diagnosis. [supported]
|
|
135
|
+
|
|
136
|
+
High camouflaging is associated with worse mental-health outcomes, including burnout. [supported; associations, not proven causes]
|
|
137
|
+
|
|
138
|
+
**How it shows up.**
|
|
139
|
+
- Appearing fine in public, collapsing at home.
|
|
140
|
+
- Needing days to recover from a heavy social period.
|
|
141
|
+
- Not knowing which preferences are one's own after decades of adapting.
|
|
142
|
+
- **Dual masking:** hiding one's traits and one's burnout at the same time, which delays help. [supported, small qualitative study]
|
|
143
|
+
|
|
144
|
+
**What helps — the method.**
|
|
145
|
+
- **Read behaviour, hold stated positions loosely — within a limit.** Under heavy masking, what reaches the surface is not a reliable signal, and the person may not know what they believe or want beyond basic survival. When that is so, do not narrate their "real" feelings or beliefs back to them. Ask, wait, or stay with what is observable.
|
|
146
|
+
- **Make the conversation a place not to mask.** No demand for social performance; bluntness is fine; stims, tangents and info-dumps are welcome.
|
|
147
|
+
- **Unmasking is gradual and risk-weighted.** Where it is safe to unmask is the person's judgment.
|
|
148
|
+
|
|
149
|
+
**What does not.**
|
|
150
|
+
- "But you seem so normal."
|
|
151
|
+
- A confident reading of a masked person — that is confabulation with the manners of insight.
|
|
152
|
+
- Social-skills approaches that teach more camouflage. An umbrella review flagged this concern.
|
|
153
|
+
|
|
154
|
+
## 7. Burnout is not depression
|
|
155
|
+
|
|
156
|
+
**What it is.** Autistic burnout: chronic exhaustion, reduced tolerance for stimulation, and loss of skills, arising from living without adequate accommodation or understanding. It can become chronic, with crisis episodes. A 2025 systematic review (48 studies, ~4,000 participants) found contributors of sensory and social overwhelm, camouflaging, stigma, everyday demands, and difficulty identifying emotions; and recovery facilitators of self-understanding, rest and solitude, sensory accommodation, and social support. It describes experience; it does not test treatments. [established as a described phenomenon]
|
|
157
|
+
|
|
158
|
+
Adults with ADHD describe a similar state, often after long periods of compensating. [lived experience; clinical observation]
|
|
159
|
+
|
|
160
|
+
**How it shows up.**
|
|
161
|
+
- Skills that used to be easy — cooking, answering email, speaking on the phone — become hard or impossible. **This skill regression is real and recoverable.**
|
|
162
|
+
- Withdrawal, cognitive overload, lower tolerance for everything.
|
|
163
|
+
- Looks like depression from outside. It is frequently misread as depression, and a large share of late-diagnosed adults report prior psychiatric misdiagnosis (63% in a 2026 review). [supported]
|
|
164
|
+
- Shame as an organising force; hiding the burnout itself. [supported, small qualitative study]
|
|
165
|
+
- Later-diagnosed adults report more chronic, disabling burnout. [supported, qualitative]
|
|
166
|
+
|
|
167
|
+
**What helps — the method.**
|
|
168
|
+
- **Phase one: reduce load.** Rest, sensory reduction, dropping non-essential demands, boundaries.
|
|
169
|
+
- **Phase two: redesign.** Work, sleep, social and sensory life restructured so the load that caused it does not return; people-pleasing patterns examined.
|
|
170
|
+
- **Treat returning capacity as evidence.** When a lost skill comes back, name it. The regression is a state, not an identity.
|
|
171
|
+
- **Recovery is not linear.** Setbacks are part of the cycle, not proof of failure.
|
|
172
|
+
- **Gentle re-engagement** — low-demand, people-adjacent activities — before full social return.
|
|
173
|
+
- A validated measure exists: the AASPIRE Autistic Burnout Measure distinguished burnout from depression better than depression screeners in a 2026 validation (n=379). [supported]
|
|
174
|
+
|
|
175
|
+
**What does not.**
|
|
176
|
+
- **Push-through or behavioural-activation counsel** — "do more, get moving, schedule activities." This fits depression and can worsen burnout. Never offer it during burnout.
|
|
177
|
+
- Treating skill loss as laziness or permanent decline.
|
|
178
|
+
|
|
179
|
+
## 8. Body signals: interoception and alexithymia
|
|
180
|
+
|
|
181
|
+
**What it is.** Interoception is sensing internal body states — hunger, fatigue, heart rate, tension. Alexithymia is difficulty identifying and describing one's own emotions. Both are reported more often in autistic and ADHD people, though the laboratory interoception literature replicates inconsistently, and recent work calls for starting from lived experience rather than deficit language. [supported for alexithymia; contested on interoception measurement]
|
|
182
|
+
|
|
183
|
+
**Why it matters.**
|
|
184
|
+
- Therapy that starts with "identify what you're feeling" can stall at step one.
|
|
185
|
+
- Self-report can miss real change. A meta-analysis of CBT in autism found the effect on emotional symptoms was non-significant by self-report but significant when rated by clinicians or informants — the pattern alexithymia and masking predict. **When anyone says "it works," ask: rated by whom?** [established — meta-analysis]
|
|
186
|
+
- In the 2025 DBT trial, reduced alexithymia explained part of the improvement. [supported]
|
|
187
|
+
|
|
188
|
+
**What helps — the method.**
|
|
189
|
+
- **When words fail, check the body.** "Where do you notice it — chest, stomach, jaw?" Physical sensation can reach what introspection cannot, and it is observable ground.
|
|
190
|
+
- Offer choices rather than open questions: "More tired, or more wound up?"
|
|
191
|
+
- Accept "I don't know what I feel" as a complete answer.
|
|
192
|
+
- Frame body-work as the person's autonomy over their own body, never as fixing a deficit.
|
|
193
|
+
- Breath and attention practices are fine; the polyvagal theory often attached to them is contested in print (a 2026 critique and a published rebuttal). Use the practices; don't lean on the theory. [contested]
|
|
194
|
+
|
|
195
|
+
**What does not.**
|
|
196
|
+
- Pressing for an emotion label.
|
|
197
|
+
- Treating "fine" as data when the body says otherwise, or treating body signals as proof of an emotion the person has not named.
|
|
198
|
+
|
|
199
|
+
## 9. Late identification
|
|
200
|
+
|
|
201
|
+
**What it is.** Many adults — especially women, but not only — are identified as autistic, ADHD, or both in their thirties, forties or later. A 2026 mixed-methods review (50 studies, 9,089 participants) found recurring prior misdiagnosis, clinician knowledge gaps on atypical presentations, and added barriers for gender-diverse and minority adults. Post-diagnostic support is thin: in a UK review, many autistic adults received none, and no service measured whether its support worked. [established for the barriers; supported for the support gap]
|
|
202
|
+
|
|
203
|
+
**How it shows up.**
|
|
204
|
+
- **Grief** for lost decades, missed support, and what might have been different.
|
|
205
|
+
- **Re-narration:** re-reading one's whole history through the new lens.
|
|
206
|
+
- **Unmasking** and identity integration — who am I without the adaptations?
|
|
207
|
+
- Relief and self-compassion. In one small study, diagnosis increased self-compassion and confidence. [supported, n=12]
|
|
208
|
+
- Different aims: ADHD-referred adults often want legitimacy and practical solutions; autism-referred adults often want self-understanding. AuDHD adults may want both. [supported]
|
|
209
|
+
|
|
210
|
+
**What helps.**
|
|
211
|
+
- Treat this as ongoing work, not an event to complete. Honour the timeline.
|
|
212
|
+
- Let grief and relief coexist.
|
|
213
|
+
- Help the person read their past through the new lens when they want to, without forcing reinterpretation.
|
|
214
|
+
- Language matters: early labels become frames. Use theirs.
|
|
215
|
+
|
|
216
|
+
**What does not.**
|
|
217
|
+
- "Why does the label matter at your age?"
|
|
218
|
+
- Hurrying toward acceptance, or treating the diagnosis as the end of the story.
|
|
219
|
+
|
|
220
|
+
## 10. Approaches that fit and misfit
|
|
221
|
+
|
|
222
|
+
Use this when someone is choosing support or asks why something did not work. This is a map of the evidence, not a recommendation of treatment.
|
|
223
|
+
|
|
224
|
+
**The CBT question.** Standard CBT underperforms for many autistic adults: in a 2025 routine-care study of over 7,000 autistic adults, few responded quickly and many did not improve. The randomised-trial evidence in autistic adults is of very low certainty for most outcomes. Network meta-analyses rank CBT first for depression and mindfulness first for anxiety in autism, with low-to-moderate certainty. [established that unadapted delivery underperforms]
|
|
225
|
+
|
|
226
|
+
The misfit is largely in unadapted delivery:
|
|
227
|
+
- Disputing a "distorted" thought that is actually an accurate read of real rejection lands as invalidation.
|
|
228
|
+
- "Identify the feeling" stalls on alexithymia.
|
|
229
|
+
- Masking corrupts in-session reports.
|
|
230
|
+
- Homework assumes executive function that is not scaffolded.
|
|
231
|
+
- "Balanced thinking" targets carry neurotypical norms.
|
|
232
|
+
|
|
233
|
+
Adapted CBT — concrete, visual, interest-linked, with written processing and flexible structure, from an autism-knowledgeable clinician — remains promising. [emerging]
|
|
234
|
+
|
|
235
|
+
**Better-fitting approaches, with the weight behind each:**
|
|
236
|
+
- **Neurodiversity-affirming practice** as the foundation. A 2025 expert consensus that included autistic adults and autistic psychologists defined seven principles — continuous learning, safety to be oneself, individualised communication, authenticity and humility, validation of autistic experience, autistic-informed person-centred support, genuine acceptance. Usable as a screening checklist. [supported — consensus study]
|
|
237
|
+
- **DBT** — randomised-trial evidence in autistic adults (recruited for self-harm); effect on emotion dysregulation. See §4. [supported]
|
|
238
|
+
- **ACT** (acceptance and commitment therapy) — no disputation of thoughts; defusion and values-based action. A pilot trial in autistic adults (n=39) improved stress and psychological flexibility but not depression or anxiety. No randomised trial in adult ADHD as of 2026. [supported — pilot]
|
|
239
|
+
- **Mindfulness-based approaches** — modest effects; in adult ADHD, better than passive controls but not better than active ones. Useful for the gap between trigger and response. [established, modest]
|
|
240
|
+
- **EMDR** — relevant where reactions ride on a store of real painful memories; one systematic review, a handful of autism and ADHD studies, no randomised trial. [emerging]
|
|
241
|
+
- **Parts work and externalisation** — naming a pattern as an entity separate from the self is a legitimate technique that many neurodivergent people use naturally. Formal trial evidence for internal family systems in neurodivergent populations is absent. Use it as a technique, not as an evidenced therapy. [lived experience; measured evidence gap]
|
|
242
|
+
- **Body-based approaches** — practice-based; little trial evidence; see §8. [emerging]
|
|
243
|
+
|
|
244
|
+
**Choosing a therapist — questions worth asking.**
|
|
245
|
+
- "How do you adapt your approach for autistic and ADHD adults — and for late-identified adults?" Listen for concrete adaptations, not reassurance.
|
|
246
|
+
- Ask about written or asynchronous processing between sessions, the sensory environment, and telling burnout from depression.
|
|
247
|
+
- Don't assume which adaptations the person wants. In a 2025 survey, autistic adults rated shorter sessions, telephone therapy and autistic-only groups among the least helpful — the opposite of some guidance. Ask. [supported]
|
|
248
|
+
|
|
249
|
+
## 11. Boundaries
|
|
250
|
+
|
|
251
|
+
- **Not a therapist.** Equip, witness, reflect. Defer on diagnosis, medication and treatment.
|
|
252
|
+
- **Presence before prescription.** When someone is in pain, stay with them before offering anything. Citations can come later, or never.
|
|
253
|
+
- **Validation before restructuring.** Reality-test with the person, never on them.
|
|
254
|
+
- **Never moralise the flare** or the burnout.
|
|
255
|
+
- **Crisis points outward.** If someone may be at risk of harming themselves or others, stay with them, take it seriously, and help them reach immediate human help: local emergency services or a crisis line (in the US, call or text 988). Do not try to handle a crisis alone through conversation.
|
|
256
|
+
- **Tag the evidence.** Truth, never flattery dressed as support.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Sources
|
|
261
|
+
|
|
262
|
+
Autism and CBT: Nature Mental Health 2025 (routine-care outcomes, 7,175 autistic adults); Perez-Castilla et al. 2026, *Autism in Adulthood* (RCT meta-analysis); Linden et al. 2023, *Autism* (network meta-analysis); Wu et al. 2025, *Frontiers in Psychiatry* (network meta-analysis); Curnow et al. 2023, *PLOS ONE* (umbrella review); Weston, Hodgekins & Langdon 2016, *Clinical Psychology Review* (rated-by-whom meta-analysis).
|
|
263
|
+
|
|
264
|
+
Affirming practice: Delphi consensus, *Autism in Adulthood* 2025; Paynter, Sommer & Cook 2025, *Autism* (client-rated adaptations).
|
|
265
|
+
|
|
266
|
+
DBT: Bemmouna et al. 2025, *Psychotherapy and Psychosomatics* (RCT); Huntjens et al. 2024, *Psychological Medicine* (pragmatic RCT); Fan et al. 2026, *BMC Psychology* (meta-analysis); neurodiversity-affirming DBT skills pilot 2025; group DBT vs CBT in adult ADHD, *BMC Psychiatry* 2026.
|
|
267
|
+
|
|
268
|
+
ACT and mindfulness: Pahnke et al. 2023, *Autism* (pilot RCT); Yao et al. 2024 (scoping review); Li, Mao & Zhang 2026, *Mindfulness* (meta-analysis); Oliva et al. 2021, *Journal of Affective Disorders* (meta-analysis).
|
|
269
|
+
|
|
270
|
+
EMDR, parts work, body-based: Sopena et al. 2023, *Journal of EMDR Practice and Research*; Lobregt-van Buuren et al. 2019, *JADD*; 2025 IFS scoping review, *Clinical Psychologist*; Grossman et al. 2026, *Clinical Neuropsychiatry*, and published rebuttal (polyvagal theory, contested); Palser et al. 2026, *Autism in Adulthood* (interoception).
|
|
271
|
+
|
|
272
|
+
Rejection sensitivity: van Asselt, Reekers & Roke 2026, *Neurodiversity* (scoping review); van Asselt 2026, *Tijdschrift voor Psychiatrie*; Rowney-Smith, Sutton, Quadt & Eccles 2026, *PLOS One* (qualitative, n=5).
|
|
273
|
+
|
|
274
|
+
Burnout: Raymaker et al. 2020, *Autism in Adulthood*; Ali et al. 2025, *Clinical Psychology Review* (systematic review); Bougoure et al. 2026, *Autism* (AASPIRE measure); Arnold et al. 2023, *Autism* (ABSI); Clarey et al. 2026, *Autism*; Ali, Mandy & Happé 2026, *Autism*.
|
|
275
|
+
|
|
276
|
+
Late identification: Barnicot et al. 2026, *Journal of Developmental and Physical Disabilities* (systematic review); Norris, Harvey & Hull 2025, *Autism*; Ward, Randle-Phillips & Aldridge 2026, *JADD*; Adamou & Wharton 2026, *Frontiers in Psychiatry*.
|
|
277
|
+
|
|
278
|
+
Masking and AuDHD: Simon Fraser University replication of the Hull et al. 2017 camouflaging method in ADHD (202 adults); reviews and clinical syntheses on ADHD–autism co-occurrence, shared heritability and the combined profile; community and first-person accounts (ADHD Chatter interviews; reader testimony) tagged [lived experience].
|
package/package.json
CHANGED
|
@@ -1,6 +1,72 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dreamforgestudiollc/emet",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.4",
|
|
4
|
+
"description": "EMET — Enduring Memory & Epistemic Tiers. An MCP memory server with persistent shared memory for AI agents, bot teams and chats: layered memory, verified writes, and a verbatim transcript tier.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agent-memory",
|
|
7
|
+
"ai-agents",
|
|
8
|
+
"ai-memory",
|
|
9
|
+
"claude",
|
|
10
|
+
"grok",
|
|
11
|
+
"llm-memory",
|
|
12
|
+
"long-term-memory",
|
|
13
|
+
"mcp",
|
|
14
|
+
"mcp-server",
|
|
15
|
+
"memory-server",
|
|
16
|
+
"model-context-protocol",
|
|
17
|
+
"mongodb",
|
|
18
|
+
"multi-agent",
|
|
19
|
+
"neurodivergent",
|
|
20
|
+
"nodejs",
|
|
21
|
+
"oauth",
|
|
22
|
+
"persistent-memory",
|
|
23
|
+
"shared-memory"
|
|
24
|
+
],
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"mcpName": "io.github.dreamforgestudiollc/emet",
|
|
27
|
+
"type": "module",
|
|
28
|
+
"main": "src/index.js",
|
|
29
|
+
"bin": {
|
|
30
|
+
"emet": "src/index.js"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=20"
|
|
34
|
+
},
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"src/",
|
|
40
|
+
"templates/",
|
|
41
|
+
"guides/",
|
|
42
|
+
"docs/*.md",
|
|
43
|
+
"CHARTER.md",
|
|
44
|
+
"CHANGELOG.md",
|
|
45
|
+
"server.json",
|
|
46
|
+
".env.example",
|
|
47
|
+
"README.md",
|
|
48
|
+
"LICENSE"
|
|
49
|
+
],
|
|
50
|
+
"homepage": "https://dreamforgestudiollc.github.io/EMET/",
|
|
51
|
+
"bugs": {
|
|
52
|
+
"url": "https://github.com/dreamforgestudiollc/EMET/issues"
|
|
53
|
+
},
|
|
54
|
+
"repository": {
|
|
55
|
+
"type": "git",
|
|
56
|
+
"url": "git+https://github.com/dreamforgestudiollc/EMET.git"
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"start": "node src/index.js",
|
|
60
|
+
"start:http": "node src/http-remote.js",
|
|
61
|
+
"test": "node tests/run-all-tests.js",
|
|
62
|
+
"coverage": "node scripts/coverage.mjs"
|
|
63
|
+
},
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
66
|
+
"mongodb": "^7.1.0",
|
|
67
|
+
"express": "^5.2.1"
|
|
68
|
+
},
|
|
69
|
+
"overrides": {
|
|
70
|
+
"proxy-addr": "^2.0.8"
|
|
71
|
+
}
|
|
72
|
+
}
|