outerloop-science 0.1.0.dev2__py3-none-any.whl → 0.1.0.dev4__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 +2 -2
- outerloop/appauth.py +17 -0
- outerloop/attempt.py +376 -101
- outerloop/brief.py +38 -25
- outerloop/cli.py +104 -6
- outerloop/climbboard.py +67 -22
- outerloop/compute.py +148 -53
- outerloop/contract.py +8 -0
- outerloop/dispatch.py +63 -18
- outerloop/evalcache.py +147 -0
- outerloop/followup.py +40 -25
- outerloop/github.py +67 -22
- outerloop/harness.py +22 -47
- outerloop/housekeeping.py +1 -17
- outerloop/image.py +0 -4
- outerloop/init.py +45 -2
- outerloop/intake.py +4 -7
- outerloop/launchlog.py +239 -0
- outerloop/maintain.py +353 -0
- outerloop/maintain_agent_cli.py +81 -0
- outerloop/maintain_post_cli.py +140 -0
- outerloop/measure.py +6 -0
- outerloop/orchestrator.py +141 -31
- outerloop/panel.py +3 -3
- outerloop/review.py +4 -0
- 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 +8 -6
- outerloop/roles.py +27 -0
- outerloop/rolespec.py +3 -1
- outerloop/steward.py +7 -14
- outerloop/syscall.py +261 -47
- outerloop/syscall_cli.py +243 -12
- outerloop/tick.py +274 -313
- outerloop/verify_agent.py +8 -6
- outerloop/verify_post_cli.py +2 -2
- outerloop/watcher.py +203 -0
- {outerloop_science-0.1.0.dev2.dist-info → outerloop_science-0.1.0.dev4.dist-info}/METADATA +4 -1
- outerloop_science-0.1.0.dev4.dist-info/RECORD +59 -0
- outerloop_science-0.1.0.dev2.dist-info/RECORD +0 -53
- {outerloop_science-0.1.0.dev2.dist-info → outerloop_science-0.1.0.dev4.dist-info}/WHEEL +0 -0
- {outerloop_science-0.1.0.dev2.dist-info → outerloop_science-0.1.0.dev4.dist-info}/entry_points.txt +0 -0
- {outerloop_science-0.1.0.dev2.dist-info → outerloop_science-0.1.0.dev4.dist-info}/licenses/LICENSE +0 -0
- {outerloop_science-0.1.0.dev2.dist-info → outerloop_science-0.1.0.dev4.dist-info}/licenses/NOTICE +0 -0
outerloop/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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.dev4"
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
def _bridge_legacy_env() -> None:
|
outerloop/appauth.py
CHANGED
|
@@ -17,8 +17,10 @@ network; the production signer lives behind the `app-auth` extra.
|
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
+
import argparse
|
|
20
21
|
import base64
|
|
21
22
|
import json
|
|
23
|
+
import os
|
|
22
24
|
import time
|
|
23
25
|
import urllib.error
|
|
24
26
|
import urllib.parse
|
|
@@ -29,6 +31,7 @@ from pathlib import Path
|
|
|
29
31
|
from typing import Any
|
|
30
32
|
|
|
31
33
|
from outerloop.github import AUTH_SAFE_OPENER, FileTokenProvider, TokenProvider
|
|
34
|
+
from outerloop.paths import CONFIG_DIR
|
|
32
35
|
|
|
33
36
|
# RS256-sign the JWT signing input, returning the raw signature bytes.
|
|
34
37
|
Signer = Callable[[bytes], bytes]
|
|
@@ -211,3 +214,17 @@ def resolve_bot_auth(pat_file: str | Path, app_file: str | Path = "") -> TokenPr
|
|
|
211
214
|
if str(app_file).strip():
|
|
212
215
|
return app_provider_from_file(Path(str(app_file)).expanduser())
|
|
213
216
|
return FileTokenProvider(Path(str(pat_file)).expanduser())
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def add_credential_args(parser: argparse.ArgumentParser) -> None:
|
|
220
|
+
"""Add the shared bot-auth options to a role parser: `--pat-file`, and
|
|
221
|
+
`--github-app-file`, which supplies installation tokens instead of the PAT
|
|
222
|
+
when set. `resolve_bot_auth` reads the pair. One owner so the defaults and
|
|
223
|
+
help cannot drift between attempt, followup, and steward."""
|
|
224
|
+
parser.add_argument("--pat-file", default=str(CONFIG_DIR / "bot_pat"))
|
|
225
|
+
parser.add_argument(
|
|
226
|
+
"--github-app-file",
|
|
227
|
+
default=os.environ.get("OUTERLOOP_GITHUB_APP_FILE", ""),
|
|
228
|
+
help="GitHub App config (JSON: app_id, installation_id, private_key); "
|
|
229
|
+
"when set, installation tokens replace the PAT",
|
|
230
|
+
)
|