File size: 1,627 Bytes
c27193b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
"""mindXtrain autoresearch — iterated search with verifiable per-attempt provenance.

A thin iteration shell over primitives that already pass their suite (`proof_loop`,
`feedback`, `mei`, `manifest`): the declarative `AttemptContract` decouples the
keep/reset loop from the benchmark, the git guard fences every attempt to one editable
file and dedups by commit, and the durable `Ledger` records the trail. See
`docs/mindXtrain_autoresearch_strategy.md`.

Import-light: stdlib + pydantic only, so `import mindxtrain.research` works on the base
install. Heavier eval metric sources are lazy-imported by the attempt runner.
"""

from __future__ import annotations

from mindxtrain.research.anchor import (
    AutoresearchReceipt,
    anchor_on_chain,
    build_research_receipt,
)
from mindxtrain.research.attempt import AttemptResult, read_metric, run_attempt, run_logged
from mindxtrain.research.contract import AttemptContract, MetricSource
from mindxtrain.research.guard import (
    ResearchAbort,
    assert_clean_and_committed,
    assert_new_commit,
    repo_root,
)
from mindxtrain.research.ledger import AttemptMetric, Ledger, LedgerEntry
from mindxtrain.research.search import search, search_from_contract

__all__ = [
    "AttemptContract",
    "AttemptMetric",
    "AttemptResult",
    "AutoresearchReceipt",
    "Ledger",
    "LedgerEntry",
    "MetricSource",
    "ResearchAbort",
    "anchor_on_chain",
    "assert_clean_and_committed",
    "assert_new_commit",
    "build_research_receipt",
    "read_metric",
    "repo_root",
    "run_attempt",
    "run_logged",
    "search",
    "search_from_contract",
]