Skip to content

Autoresearch

Autoresearch turns goals, confirmed plans, bounded sessions, hypotheses, exact reviews, evidence, observations, concepts, meta-reviews, and overviews into ordinary pages and inspectable agent runs. The core plugins/autoresearch package is model-agnostic: it installs without mlops-core, owns the durable research graph, and provides the deterministic Supervisor epoch frame, heartbeat reflection, literature triage, advisory Elo ranking, and reflexive definition proposals.

Install plugins/autoresearch-mlops when a program also needs ML execution. The adapter depends on both Autoresearch and MLOps, consumes the generic mlops.tracker and mlops.launcher contracts, and adds profiles, run observation, coding/run proposals, ordered backlogs, and budgeted launch scheduling. A run remains the same mlops/run page that MLOps materializes, decorated with research lineage rather than duplicated.

Package Owns Requires MLOps
plugins/autoresearch goal, plan, session, hypothesis, review, evidence, observation, concept, meta-review, overview, proposal No
plugins/autoresearch-mlops experiment, profile, coding-task, run-proposal, backlog Yes

The ownership sets do not overlap. Disabling core disables the adapter through its dependency; disabling mlops-core disables only the adapter, leaving the general research graph and core loops available. Sessions run in three staged rollout modes — assistant (the default), tournament, and continuous — each under a confirmed plan’s budget ceilings and pinned safety policy.

Autoresearch 1.2 gives each scientific type a bounded advisory metadata schema and keeps the scientific argument in the page body. A hypothesis body carries its claim, mechanism, assumptions, predictions, safety considerations, test, experiment sketch, and citations; metadata carries only relationships, state, provenance, and hashes. The package includes body templates for exact artifacts. Heartbeat hypotheses use the compact loop shape; Supervisor artifacts use exact versioned references.

References that must survive editing use all three identities: {pageId, contentHash, pageVersionHash}. The semantic content hash ignores workflow state, ratings, timestamps, and run IDs. The page-version hash proves exactly which immutable page snapshot was read. Reviews pin both, so an agent or UI can tell when the hypothesis has changed since the review.

The native research.artifact.inspect {page, review?} tool reports those hashes, immutable hypothesis parents, admission currency, and typed stale-review reasons. It resolves pages through the run owner’s live ACL. Disabling Autoresearch removes the tool and type registry, but leaves every page and body available in the generic outliner.

The research-supervisor agent runs deterministic code rather than asking a model which work to do. Given a running session whose exact goal and confirmed-plan hashes still match, one root run claims one expected epoch, selects no more than six persisted tasks, writes a hash-linked checkpoint, optionally emits the next research-session-runnable hint, and exits. Duplicate events, concurrent starts, and workflow replay converge on the same session/task/checkpoint collection heads.

Queue order is typed—reconciliation and safety precede evidence, review, proximity, ranking, evolution, meta-review, generation, and overview. Selection rebuilds queue depth and coverage from persisted state, rotates Generation/Evolution strategies using bounded admission yield, and holds Evolution until coverage is clear and progress is stagnant. research.supervisor.inspect {session} exposes the owner-scoped state, rebuilt statistics, queue signals, task heads, and checkpoint chain.

This 1.2 release is the durable coordination frame. It does not yet launch specialist child agents or promote their model output into scientific pages; those operations will enter between claim and checkpoint only after their schema-validation and safety paths ship.

With the MLOps adapter enabled, Autoresearch drafts, it never decides alone. When a run finishes, an agent observer reads it against your open hypotheses and drafts evidence, but those drafts stay hidden behind a needs-confirm card until you write your own independent interpretation first. Only after you commit does the card reveal the agent’s reading alongside yours and a merged draft, side by side, for a second confirm before either becomes evidence linked to a hypothesis. This blind-first ordering is deliberate: it stops the agent’s framing from anchoring your read of the same run. See research loops for the full mechanics.

Because Autoresearch is a plugin over ordinary pages and registered workflows, the loop is yours to configure per goal: whether the heartbeat runs on a schedule, whether an advisory Elo sweep runs at all, and which adapter-specific budget or autonomy gates (if any) you lift. A goal with no trigger attached simply never runs the heartbeat; the domain model and workflows remain available for manual invocation.

Both packages declare their tools, workflow aliases, triggers, and dedicated surfaces in their manifests. Native lifecycle registrations—task-card resolvers, the derived-profile write guard, and the goal-scoped launch approval—exist only while their owning package is enabled. Disabling a package removes those registrations as well as its start aliases and surfaces; already-started durable runs retain their pinned versioned workflow body.