About This Digest

This digest serves as a monthly update on the current EEG foundation model literature. I built it so I can keep up to date with the latest EEG FM papers, mostly using Codex 5.3. The process is as follows:

Current triage and summary LLM calls use stepfun/step-3.5-flash:free via OpenRouter. For all previous papers (2021 - Jan 2026), running this whole process cost ~3 million tokens, so each accepted paper costs ~30,000 tokens (including averaged triage costs for papers that don't pass). Crucially, this digest excludes models pretrained on data from one specific task and fine-tuned specifically for that same task - we define an EEG FM as a large model pretrained on EEG data, built with the potential and intention for broad transfer. I update the digest at least once a month, hopefully every week if I'm diligent.

Limitations

arXiv Retrieval Keywords

Matching requires one EEG term plus one FM term set in title/abstract.

EEG term set (used in both queries)

  • eeg
  • electroencephalograph*
  • brainwave*

FM term set A

  • "foundation model"
  • pretrain
  • pretrained
  • "self-supervised"
  • "self supervised"

FM term set B

  • "representation learning"
  • masked
  • transfer
  • generaliz*

LLM Prompts

These are the full prompts used for each stage.

Triage prompt (prompts/triage.md)

You are a strict-but-recall-oriented classifier for whether an arXiv paper should be included in an EEG Foundation Model (EEG-FM) digest.

Inclusion criteria:
- Include only when EEG is a primary/central modality AND the paper clearly concerns EEG foundation models (EEG-FMs), i.e., pretrained reusable EEG representations/models intended for broad transfer.
- Include multimodal papers only when EEG is central (not incidental) and the pretrained transferable representation/model explicitly includes EEG as a core target modality.
- Include EEG-FM ecosystem papers (even without a new base model) when they clearly target EEG foundation models: benchmark/evaluation, adaptation/fine-tuning/post-training, alignment, scaling analysis, or systematic review/survey of EEG-FMs.

Exclude:
- EEG is peripheral/incidental.
- Generic EEG deep learning, SSL, transfer learning, domain adaptation, subject identification, or task-specific decoding work unless the abstract explicitly frames it as EEG foundation-model work.
- Purely supervised single-task EEG work with no FM/pretraining-for-broad-transfer framing.
- Non-EEG papers unless EEG is clearly central.
- Papers that claim "pretraining" but only for narrow within-task performance and do not present reusable foundation-model-style EEG representations.

You will be given only:
- title
- abstract

Output format (strict):
- Return exactly one JSON object.
- No markdown, no code fences, no surrounding text.
- No extra keys.
- Use exactly these keys: ["decision","confidence","reasons"]

Field requirements:
- decision: one of ["accept","reject","borderline"]
- confidence: number in [0,1]
- reasons: 2 to 4 short evidence-based strings grounded in provided title/abstract only

Decision guidance:
- accept only if the abstract provides clear positive evidence of EEG-FM relevance.
- borderline if EEG is central and FM relevance is plausible but ambiguous.
- reject otherwise.
- Do not accept based on weak proxies alone (e.g., "deep learning", "transfer learning", "self-supervised") without explicit FM-style EEG evidence.

Input:
Title: {{TITLE}}
Abstract: {{ABSTRACT}}

Summary prompt (prompts/summarize.md)

You are writing a deep structured digest summary for an EEG-FM paper.

Rules:
- Use ONLY the provided metadata/abstract/text fields (`fulltext` or `fulltext_slices`).
- Do NOT invent facts. If unknown, set null/unknown.
- Keep it concise and digest-oriented, but not shallow.
- Tagging rule: choose tags ONLY from `allowed_tags` in input JSON.
- For each tag category (`paper_type`, `backbone`, `objective`, `tokenization`, `topology`), output at most 2 tags.

Output MUST be valid JSON matching the PaperSummary schema (no markdown, no extra keys).
You MUST include every required field, even when unknown.
Copy these fields exactly from input JSON:
- `arxiv_id_base`
- `title`
- `published_date`
- `categories`

Required output keys checklist:
- `arxiv_id_base`, `title`, `published_date`, `categories`
- `paper_type`, `one_liner`, `detailed_summary`, `unique_contribution`, `key_points`
- `data_scale`, `method`, `evaluation`, `open_source`, `tags`, `limitations`
- `used_fulltext`, `notes`

Important disambiguation:
- `paper_type` is a SINGLE string from schema enum (`new_model|benchmark|survey|method|application|other`).
- `tags.paper_type` is an ARRAY chosen from `allowed_tags.paper_type`.
- For paper-type tag naming, use `new-model` (not `eeg-fm`).

What to focus on:
- unique_contribution: a single crisp sentence describing what is new.
- detailed_summary: 2-4 sentences that clearly explain:
  1) what the paper proposes,
  2) what is novel compared with typical prior work,
  3) what evidence is presented (dataset/task/result level) if available.
- key_points: 2-3 concise bullet-style points for UI display.
  The first bullet MUST state what the paper is, starting with paper type in natural wording, e.g.,
  "New EEG foundation model: ..."
  Do not use templated labels like "What it is:", "Core method/evidence:", or "Main practical takeaway:".
  Remaining bullet(s) should cover method novelty and strongest concrete evidence/result.
  Avoid copying `unique_contribution` verbatim; partial semantic overlap is allowed.
  Also avoid repeating the same opening clause between `key_points` and `unique_contribution`.
- data_scale: datasets, subjects, eeg_hours, channels (if present)
- method: architecture + objective + pretraining + finetuning (if present)
- evaluation: tasks/benchmarks/headline results (if present)
- open_source: code/weights/license if explicitly mentioned

Strict typing constraints:
- `data_scale.subjects`, `data_scale.eeg_hours`, `data_scale.channels` must be number or null (never strings like "10k+" or "64ch").
- `key_points` must have 2-3 items.
- `limitations` must have 2-8 items.
- `tags.<category>` arrays must contain only values from `allowed_tags.<category>`, max 2 values each.
- `used_fulltext` must be boolean.
- `notes` must be a string.

Input:
{{INPUT_JSON}}