outerloop-science 0.1.0.dev1__py3-none-any.whl → 0.1.0.dev3__py3-none-any.whl
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.
- outerloop/__init__.py +8 -8
- outerloop/appauth.py +3 -3
- outerloop/appmanifest.py +1 -1
- outerloop/attempt.py +350 -127
- outerloop/brief.py +38 -25
- outerloop/cli.py +189 -78
- outerloop/climbboard.py +3 -0
- outerloop/compute.py +178 -33
- outerloop/contract.py +11 -2
- outerloop/dispatch.py +63 -18
- outerloop/evalcache.py +147 -0
- outerloop/followup.py +52 -33
- outerloop/github.py +42 -17
- outerloop/harness.py +19 -25
- outerloop/housekeeping.py +1 -17
- outerloop/image.py +368 -0
- outerloop/init.py +248 -15
- outerloop/intake.py +4 -7
- outerloop/launchlog.py +239 -0
- outerloop/limits.py +1 -1
- outerloop/maintain.py +325 -0
- outerloop/maintain_agent_cli.py +81 -0
- outerloop/maintain_post_cli.py +140 -0
- outerloop/measure.py +8 -2
- outerloop/orchestrator.py +142 -32
- outerloop/panel.py +3 -3
- outerloop/paths.py +2 -1
- outerloop/review.py +5 -1
- outerloop/review_agent.py +7 -7
- outerloop/review_agent_cli.py +2 -2
- outerloop/review_post_cli.py +2 -2
- outerloop/review_summarize_cli.py +7 -5
- outerloop/roles.py +27 -0
- outerloop/rolespec.py +3 -1
- outerloop/steward.py +8 -8
- outerloop/syscall.py +262 -47
- outerloop/syscall_cli.py +243 -12
- outerloop/tick.py +240 -103
- outerloop/verify_agent.py +8 -6
- outerloop/verify_post_cli.py +2 -2
- outerloop/watcher.py +203 -0
- {outerloop_science-0.1.0.dev1.dist-info → outerloop_science-0.1.0.dev3.dist-info}/METADATA +5 -2
- outerloop_science-0.1.0.dev3.dist-info/RECORD +59 -0
- outerloop_science-0.1.0.dev1.dist-info/RECORD +0 -52
- {outerloop_science-0.1.0.dev1.dist-info → outerloop_science-0.1.0.dev3.dist-info}/WHEEL +0 -0
- {outerloop_science-0.1.0.dev1.dist-info → outerloop_science-0.1.0.dev3.dist-info}/entry_points.txt +0 -0
- {outerloop_science-0.1.0.dev1.dist-info → outerloop_science-0.1.0.dev3.dist-info}/licenses/LICENSE +0 -0
- {outerloop_science-0.1.0.dev1.dist-info → outerloop_science-0.1.0.dev3.dist-info}/licenses/NOTICE +0 -0
outerloop/__init__.py
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Outerloop: autonomous research agents that improve a benchmark on your own code."""
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
|
|
5
|
-
__version__ = "0.1.0.
|
|
5
|
+
__version__ = "0.1.0.dev3"
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def _bridge_legacy_env() -> None:
|
|
9
|
-
"""Accept the
|
|
10
|
-
its `
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
"""Accept the pre-rename `AUTORESEARCH_*` names at the process boundary for
|
|
10
|
+
one release: copy each into its `OUTERLOOP_*` twin when the twin is unset,
|
|
11
|
+
so the kernel reads one name. The chain scripts do the same in shell.
|
|
12
|
+
Removed in the release after 0.1."""
|
|
13
13
|
for key, value in list(os.environ.items()):
|
|
14
|
-
if key.startswith("
|
|
15
|
-
os.environ.setdefault("
|
|
14
|
+
if key.startswith("AUTORESEARCH_"):
|
|
15
|
+
os.environ.setdefault("OUTERLOOP_" + key[len("AUTORESEARCH_") :], value)
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
_bridge_legacy_env()
|
outerloop/appauth.py
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
`AppInstallationTokenProvider` satisfies the `TokenProvider` protocol used
|
|
4
4
|
throughout `github.py`. Role CLIs construct bot auth through
|
|
5
5
|
`resolve_bot_auth`, which selects this provider when an App config file is
|
|
6
|
-
given (`--github-app-file` / `
|
|
6
|
+
given (`--github-app-file` / `OUTERLOOP_GITHUB_APP_FILE`) and falls back
|
|
7
7
|
to the PAT file otherwise — the cutover flag, revertible by unsetting the
|
|
8
8
|
env. Each `token()` mints a short-lived JWT (RS256, signed by the App
|
|
9
9
|
private key), exchanges it for a ~1h installation token scoped to the
|
|
@@ -172,8 +172,8 @@ def signer_from_private_key(pem_path: Path) -> Signer:
|
|
|
172
172
|
from cryptography.hazmat.primitives.asymmetric import padding, rsa
|
|
173
173
|
except ImportError as exc: # pragma: no cover - exercised only without the extra
|
|
174
174
|
raise ImportError(
|
|
175
|
-
"GitHub App auth needs the
|
|
176
|
-
"install
|
|
175
|
+
"GitHub App auth needs the cryptography package "
|
|
176
|
+
"(pip install cryptography), a base dependency since 0.1.0.dev2"
|
|
177
177
|
) from exc
|
|
178
178
|
|
|
179
179
|
key = serialization.load_pem_private_key(pem_path.read_bytes(), password=None)
|
outerloop/appmanifest.py
CHANGED
|
@@ -14,7 +14,7 @@ and GitHub redirects back to that page with a one-time code the page displays.
|
|
|
14
14
|
The adopter pastes the code here; we exchange it for the app id + key, write
|
|
15
15
|
`github_app.<slug>.json` + the PEM (both 0600), help install the App, and capture
|
|
16
16
|
the installation id. The written files are what `resolve_bot_auth` reads via
|
|
17
|
-
`
|
|
17
|
+
`OUTERLOOP_GITHUB_APP_FILE`, the same path `outerloop start` uses.
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
20
|
from __future__ import annotations
|