Polarize
GitHub Get in touch

Work · Repository

scientific-research-agents

Specialist AI agents for scientific research repositories, and the protocol they coordinate by

  • Python
  • 1 merged PR

View on GitHub → Changelog ↓

README

Specialist AI agents for scientific research repositories, and the protocol they coordinate by: who does what, how they hand work to each other, which model each starts on, and what it all costs.

All leads and specialist agents search through the configured Scientific Research RAG MCP first, backed by polarizetech/retrieval-augmented-generation, unless it is unavailable or the user explicitly opts out. They disclose an unavailable service before using another search method. For a repository’s own current code, the checkout remains authoritative and is inspected directly after the RAG-first step.

It is used by scientific-research-scaffold, which installs these agents into every study, sim and tool it makes and keeps them current, but nothing here depends on the scaffold.

The agents

Each file in agents/ is a provider-neutral role brief with Claude Code subagent frontmatter; {{placeholders}} are filled by the installer from the repo and its profile. Claude discovers installed copies in .claude/agents/. ChatGPT, Codex and other repository-aware assistants read the same Markdown bodies through a section of AGENTS.md (templates/AGENTS.block.md). If the environment cannot or must not create a subagent, the lead applies the relevant brief in its current session.

agent takes starts on
scout finding and summarising, read-only, so other agents don’t read everything themselves haiku, low
computational-engineer simulators, models, numerical code, pipelines; language choice, typing, reuse vs duplication sonnet, high
mathematician equations, constants, units and valid ranges; specifies calculators with reference values sonnet, high
designer layout and visual design on the configured component library; how to show a dataset sonnet, medium
frontend-developer zero-build, Python-served apps by default; React when justified, always from the configured design system sonnet, medium
researcher literature and evidence, evidence tiers, claims in the research corpus sonnet, medium
analyst data analysis and statistics, preregistered analysis plans sonnet, high
science-writer papers, and blog posts as a separate register sonnet, medium
auditory-evoked-potentials first-priority AEP and exteroceptive-audio pathway research, including ABR, ASSR, FFR, MMN, binaural hearing, neurophonic potentials and neural stimulus design profile-selected
visual-evoked-potentials first-priority ocular-optics, retinal-transduction and visual-pathway research, including ERG, VEP, SSVEP, phase and visual stimulus design profile-selected
bone-conduction-auditory first-priority bilateral bone-conduction delivery, cross-talk, placement, calibration, leakage and device-route research profile-selected

One agent per role, not per discipline. Research, analysis and writing are different jobs; neuroscience and cardiology mostly are not. The science roles read discipline briefs from disciplines/: what is established in each field, its standards and its traps.

Three narrowly scoped sensory-system experts are exceptions: auditory-evoked-potentials, visual-evoked-potentials, and bone-conduction-auditory. Their pathway tracing and stimulus design require shared, evidence-addressed knowledge contracts across research, analysis, and simulation work. Each wins routing ties only for its stated scope and carries explicit negative boundaries. The auditory profile is associated with the audio-evoked-potentials simulator project and the AEP study beneath the configured research corpus.

Updating specialist grounding

Retrieve the affected passages through the configured scientific-research RAG server, preserve evidence IDs verbatim, and run its citation checker over the final claim list. The checker validates quotations and numbers, not entailment, so review the inference yourself. Every row keeps a status and read depth; a new or unverified claim is Background until retrieved. The visual and bone-conduction profiles currently include web-abstract source seeds because the RAG server was unavailable at creation; replace those seeds with RAG evidence IDs after retrieval. Update the focused contract tests in tests/test_agents.py whenever an evidence ID, source seed, or required routing example changes.

The science stays the person’s. Infrastructure is the agent’s to decide; equations, parameters and interpretations come from the person and the research. No agent states a published value from memory.

How they coordinate

COORDINATION.md: one lead delegates; agents pass handoffs of at most 150 words, never transcripts; parallel work only for independent tasks; a scientific feature goes researcher, then the person’s decision, then engineer; each agent starts on a cheap model and the lead escalates a task on a clear signal.

references/language-routing.md is the evidence behind the engineer’s rule for choosing a language.

references/app-architecture.md standardizes interfaces: the configured design system (Polarize installations use polarizetech/polarize-ui), a zero-build browser app and Python serve.py by default, allow-listed shared assets, and an explicit handoff to the computational engineer for non-trivial APIs.

What it costs

bin/agents usage ~/code/*          # tokens and API-equivalent cost per repo, last 7 days
bin/agents usage --all --days 30   # every project with sessions

usage reads Claude Code’s and Codex’s local logs, counts each API response once (Claude Code writes one response as several transcript lines), prices it at prices.json, and projects a month. For Codex it also shows the plan’s rate-limit windows. On a subscription the dollar figure is scale, not a bill.

Requirements: Python 3.9+. No other dependencies.

Licence

Code is MIT; the agent briefs, protocol and documentation are CC BY 4.0. See LICENSE.

Changelog

2026-10-18 #1

Add sensory experts and standardize agent workflows

Summary

  • add first-priority expert profiles for auditory evoked potentials, visual evoked potentials, and bone-conduction hearing
  • define positive and negative routing boundaries, ordered pathway tracing, stimulus-design requirements, and dissociation controls
  • require every lead and specialist agent to use the Scientific Research RAG MCP backed by polarizetech/retrieval-augmented-generation before any search
  • permit only service-unavailable and explicit user opt-out exceptions, requiring disclosure before fallback
  • standardize visual design on the configured design system; Polarize installations use pinned releases of polarizetech/polarize-ui
  • require missing reusable UI elements to be added, tested, released, and pinned from the design-system repository rather than forked locally
  • standardize small apps as zero-build index.html / app.js / app.css plus a Python serve.py
  • prefer stdlib ThreadingHTTPServer, named-file asset allow-lists, PORT support, loopback binding, explicit /api/ contracts, and Python ownership for non-trivial backends
  • document React/framework exceptions and frontend/computational-engineer ownership boundaries
  • add focused routing, inherited-policy, and shared-app-architecture contract tests
  • bump the synchronized release metadata to 0.5.0

Validation

  • python3 -m unittest discover -v tests — 13 tests passed
  • git diff --check — clean
  • architecture checked against the scaffold protocol and representative apps:
    • audio-evoked-potentials/apps/tuning-forks
    • matched-entropy-demodulation/apps/v15-visual-cortex
    • world-seeding/apps/primary-elements/v1
  • primary-literature web cross-checks completed for the initial sensory profile seeds
  • Polarize RAG/RREG and its citation checker were unavailable during initial profile creation; the scientific profiles mark unverified material accordingly

Limitations

  • Scientific limitations and read-depth caveats remain embedded in each sensory profile.
  • The RAG citation checker validates quotations and numbers, not entailment.
  • The Python stdlib server is a default for small research apps, not a ban on React, FastAPI, Flask, static-only hosting, or an established repository stack; deviations must name the requirement.
  • Repository-local files remain authoritative for their own current contents.
  • Private or user-supplied material is not indexed into a shared corpus without authorization.

Cross-repository pointer

The reciprocal AEP README pointer is committed separately in polarizetech/audio-evoked-potentials as 2981f09, because one Git branch cannot span two repositories.