Skip to content
Report library
Purpose / Development

Explore Code Skill Security Audit

What the author says it does (original text)

Rigor Improve implementation leaf skill for auditable candidate implementation in deep learning research repositories. Use when the researcher explicitly authorizes exploratory work on an isolated branch or worktree to transplant modules, adapt a backbone, add LoRA or adapter layers, replace a head, or stitch together meaningful low-risk migration ideas with rollback-aware records in `explore_outp

Independent security check

Do not install or run it yet

Files checked
21
Risks found
5
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
High risk

Commands extracted from a README can execute locally with the user's privileges

Source references: 6
What we found

The reproduction flow treats the repository README and linked documents as command sources and automatically selects a target. With `--run-selected`, it passes that text to the runtime. The child process inherits the full environment by default and starts in the repository. Being documented does not mean the command was safely reviewed.

Why this matters

A malicious or unsafe README command could alter or delete accessible files, install software, use the network, or read inherited credentials. Direct mode reduces shell-syntax exposure but does not restrict what the launched program can do.

The risk is supported, but execution occurs only when the user explicitly enables `--run-selected`. The flow extracts and selects commands from the README or linked local documentation, then passes the selected command to a local runner. The runner starts it in the repository and, by default, copies the controller's full environment. Being “documented” is not equivalent to a security review here. The user should inspect the exact selected command, retain direct mode, and restrict the child environment or use isolation.

ai-research-reproduction/scripts/orchestrate_repro.py:1167In the codeOpen original file
    scan_data = run_json(scan_script, ["--repo", str(repo_path), "--json"])    readme_path = scan_data.get("readme_path")    command_data: Dict[str, Any] = {"commands": [], "counts": {}, "warnings": []}    if readme_path:        command_data = run_json(extract_script, ["--readme", readme_path, "--json"])        command_data = delegate_to_docs(readme_path, extract_script, command_data)
Show 5 other places
ai-research-reproduction/scripts/orchestrate_repro.py:1292In the codeOpen original file
            )        else:            run_data = maybe_run_command(                repo_path,                chosen["documented_command"],                args.timeout,                args.user_language,                args.shell_mode,                runtime_root,                model_adapter,                args.monitor_gpu,            )
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:487In the codeOpen original file
    try:        argv = build_command(command, shell_mode)        environment = dict(os.environ if child_env is None else child_env)        spec["requested_argv"] = list(argv)        atomic_write_json(run_dir / "spec.json", spec)        if shell_mode == "direct":            argv = resolve_direct_argv(argv, repo, environment)        spec["argv"] = list(argv)        atomic_write_json(run_dir / "spec.json", spec)        creationflags = subprocess.CREATE_NEW_PROCESS_GROUP if os.name == "nt" else 0        process = subprocess.Popen(            argv,            env=environment,            cwd=repo,            stdout=subprocess.PIPE,
ai-research-reproduction/references/agent-runner.md:16In the instructionsOpen original file
This is local execution with credential environment filtering, not an OS sandbox.Approved programs can access the host and network; use only trusted repositoriesuntil an isolated executor is configured. Commands that change scientificconditions must be explicitly reviewed. P1 targets small evaluations, not fulltraining or autonomous source repair.
ai-research-reproduction/scripts/orchestrate_repro.py:1107In the codeOpen original file
    parser.add_argument("--user-language", default="en", help="Language tag for human-readable reports.")    parser.add_argument("--run-selected", action="store_true", help="Execute the selected documented command.")    parser.add_argument("--include-analysis-pass", action="store_true", help="Run analyze-project and record its outputs in the stage ledger.")
ai-research-reproduction/scripts/orchestrate_repro.py:1272In the codeOpen original file
        )    elif args.run_selected:        if chosen["selected_goal"] == "training":            run_data = maybe_run_training(                repo_path=repo_path,                command=chosen["documented_command"],                train_script=train_execute_script,                lane=args.lane,
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 3
High risk

The optional model agent sends repository content to Anthropic or a configured gateway

Source references: 4
What we found

The model can read files from the initial repository inventory. Those results are added to the conversation messages and the complete message set is then passed to the provider. Configuration may use a custom HTTPS endpoint. Child-process credential filtering does not prevent source text from being uploaded for model analysis.

Why this matters

Private source code, configuration, README content, and command output may leave the machine and become subject to the selected provider or gateway's processing, logging, and retention policies.

The risk is supported and applies to the optional model-agent entrypoint. Its tool can read up to 12,000 characters from files in the initial repository inventory; tool results are then added to message history, and the full messages are sent to the configured provider. The documentation permits a custom HTTPS endpoint. Filtering credentials from executed child processes does not prevent repository content from being transmitted for model analysis. Private-repository users should verify the provider, endpoint, retention terms, and allowed file scope first.

ai-research-reproduction/scripts/run_agent.py:440In the codeOpen original file
                            value = {"files": sorted(files)}                        elif name == "read_file":                            if args["path"] not in files:                                raise ValueError("File was not in the permitted initial inventory")                            offset = max(0, int(args.get("offset", 0)))                            with safe_file(repo, args["path"]).open("r", encoding="utf-8") as handle:                                handle.seek(offset)                                value = {"path": args["path"], "text": handle.read(12000), "next_offset": handle.tell()}                        elif name == "update_plan":
Show 3 other places
ai-research-reproduction/scripts/run_agent.py:495In the codeOpen original file
                        value = {"error": str(exc)}                    event("tool_result", tool=name, result=value)                    state["tool_results"].append({"type": "tool_result", "tool_use_id": call["id"],                        "content": json.dumps(value, ensure_ascii=False), "is_error": "error" in value})                    state["pending"].pop(0)                    tools_this_turn += 1                    save()                    if pause_after_tools and tools_this_turn >= pause_after_tools and state["status"] == "running":                        state["status"] = "paused"                        event("paused", reason="Explicit test/session checkpoint")                    continue                if state["tool_results"]:                    state["messages"].append({"role": "user", "content": state.pop("tool_results")})                    state["tool_results"] = []
ai-research-reproduction/scripts/run_agent.py:514In the codeOpen original file
                    break                state["model_calls"] += 1                state["model_pending"] = True                state["usage_complete"] = False                save()                event("model_request", call=state["model_calls"], reserved_tokens=reserve)                response = provider.complete(state["messages"], SYSTEM, TOOLS, budget["max_output_tokens"], min(60, remaining))                if not isinstance(response, dict):
ai-research-reproduction/references/agent-runner.md:110In the instructionsOpen original file
`endpoint` optionally names the final HTTPS endpoint. Without it, the clientuses `ANTHROPIC_BASE_URL` or the official endpoint. For an already configuredBearer gateway, set `metadata.auth_scheme` to `bearer` and name its credentialenvironment variable. Redirects are refused so credentials are not forwarded.
Medium risk

Commands, full stdout/stderr, and agent traces are persisted and may retain sensitive data

Source references: 5
What we found

The runtime stores the original command in `spec.json` and writes complete stdout and stderr logs. The model agent also appends tool results and model responses to `trajectory.jsonl`. These are durable audit records, not temporary memory.

Why this matters

If command arguments contain tokens, or a program prints environment values, private paths, sample data, or service responses, that content remains in the output directory and may leak when a reproduction bundle or trace is shared.

The risk is supported as a direct consequence of durable audit logging. The runner stores the original command in `spec.json` and continuously writes complete child stdout/stderr to log files; the agent also appends tool results and model responses to `trajectory.jsonl`. Tokens, private paths, data samples, or personal information present in arguments, program output, or read file excerpts can therefore remain in the output directory and leak if the evidence bundle is shared. Treat that directory as sensitive and review/redact it before sharing.

ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:431In the codeOpen original file
    started_monotonic = time.monotonic()    spec = {        "schema_version": SCHEMA_VERSION,        "run_id": run_id,        "command": command,        "cwd": str(repo),        "timeout_seconds": timeout,        "shell_mode": shell_mode,        "capture_limit_characters": capture_limit,        "model_adapter": model_adapter,        "retry_of": retry_of,        "attempt": attempt,        "resource_monitoring": {            "root_process": True,            "nvidia_device_global": monitor_gpu,        },        "created_at": started_at,    }    atomic_write_json(run_dir / "spec.json", spec)    state: Dict[str, Any] = {
Show 4 other places
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:255In the codeOpen original file
) -> None:    total_chars = 0    with log_path.open("w", encoding="utf-8", newline="") as log:        while True:            chunk = stream.read(4096)            if not chunk:                break            log.write(chunk)            log.flush()            capture.append(chunk)            total_chars += len(chunk)            journal.event("stream_chunk", stream=stream_name, characters=len(chunk))    journal.event("stream_closed", stream=stream_name, characters=total_chars)
ai-research-reproduction/scripts/run_agent.py:401In the codeOpen original file
        def event(kind, **data):            with (output / "trajectory.jsonl").open("a", encoding="utf-8") as handle:                handle.write(json.dumps({"time": utc_now(), "type": kind, **data}, ensure_ascii=False) + "\n")
ai-research-reproduction/references/agent-runner.md:157In the instructionsOpen original file
Usage and elapsed execution time accumulate across resumes (offline pause timeis excluded). Before each model request, UTF-8 request bytes plus output tokensand overhead provide a conservative token reservation. Reported usage is stored;gateway token accounting may differ. Output size is checked between actions,not an OS disk quota. `CANCEL` is checked between actions; use the runtime CANCELfile to stop an active process. Credentials are not included in provider errors.Do not publish traces from private repositories without reviewing their contents.
ai-research-reproduction/scripts/run_agent.py:544In the codeOpen original file
                    raise ProviderError("Duplicate provider tool call IDs; execution stopped")                event("model_response", content=blocks, usage=usage, model=response.get("model"))                state["messages"].append({"role": "assistant", "content": blocks})                state["pending"] = [{k: b[k] for k in ["id", "name", "input"]} for b in tool_blocks]                if sum(state["usage"].values()) > budget["max_total_tokens"]:
Medium risk

Reproduction failure details are stored in a cross-project home-directory lesson store by default

Source references: 7
What we found

Lesson recording is enabled by default and writes to `~/.rigorpilot/lessons.jsonl`. On reproduction failures it records status, the main blocker, the documented command, and a repository fingerprint derived from the directory name and README hash. Secret detection is explicitly best-effort.

Why this matters

Private project names, internal commands, paths, or error details may remain in the user's home directory and reappear when the personal overlay is generated or records are listed. It is not automatically uploaded, but it expands local retention of sensitive information.

The risk is supported, though recording occurs only after requested execution and can be disabled with `RIGORPILOT_LESSONS=0`. It is enabled by default and writes `.rigorpilot/lessons.jsonl` under the user's home unless overridden. Failure/blocked records include status and blocker text, the documented command as detail, and a fingerprint derived from the repository directory name and README hash prefix. This creates persistent cross-project metadata; secret filtering is explicitly best-effort. Users can disable it, redirect it to a controlled directory, or inspect the JSONL before retaining it.

ai-research-reproduction/_bundled/shared/scripts/lessons_store.py:41In the codeOpen original file
def lessons_home() -> Path:    root = os.environ.get("RIGORPILOT_HOME")    return Path(root).expanduser() if root else Path.home() / ".rigorpilot"def lessons_enabled() -> bool:    return os.environ.get("RIGORPILOT_LESSONS", "1") != "0"
Show 6 other places
ai-research-reproduction/_bundled/shared/scripts/lessons_store.py:67In the codeOpen original file
def sanitize(text: str) -> Optional[str]:    cleaned = " ".join(str(text or "").split())[:MAX_FIELD_CHARS]    if not cleaned:        return None    if SECRET_RE.search(cleaned):        return None    return cleaned
ai-research-reproduction/scripts/orchestrate_repro.py:62In the codeOpen original file
    try:        if status in {"partial", "blocked"}:            path = store.record_lesson(                kind="failure-fix",                skill="ai-research-reproduction",                summary=f"[{status}] {context.get('main_blocker', 'unrecorded blocker')}",                detail=str(context.get("documented_command") or ""),                fingerprint=fingerprint,            )
ai-research-reproduction/_bundled/shared/scripts/lessons_store.py:125In the codeOpen original file
    }    path = lessons_path()    path.parent.mkdir(parents=True, exist_ok=True)    with path.open("a", encoding="utf-8") as handle:        handle.write(json.dumps(entry, ensure_ascii=False) + "\n")    return path
ai-research-reproduction/_bundled/shared/scripts/lessons_store.py:50In the codeOpen original file
def lessons_path() -> Path:    return lessons_home() / "lessons.jsonl"
ai-research-reproduction/scripts/orchestrate_repro.py:59In the codeOpen original file
        return None    fingerprint = store.repo_fingerprint(repo_path)    status = context.get("status")    try:        if status in {"partial", "blocked"}:            path = store.record_lesson(                kind="failure-fix",                skill="ai-research-reproduction",                summary=f"[{status}] {context.get('main_blocker', 'unrecorded blocker')}",                detail=str(context.get("documented_command") or ""),                fingerprint=fingerprint,            )            return str(path) if path else None
ai-research-reproduction/_bundled/shared/scripts/lessons_store.py:21In the codeOpen original file
VALID_KINDS = {"failure-fix", "user-correction", "preference", "generalization"}# Best-effort blocklist: keyword shapes plus common bare-credential formats.# This is a guardrail, not a guarantee — callers still must not pass secrets.SECRET_RE = re.compile(    r"(api[_-]?key|secret|token|password|passwd|authorization|bearer\s+\S|-----BEGIN"    r"|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{20,}|gho_[A-Za-z0-9]{20,}|sk-[A-Za-z0-9_-]{16,}"    r"|xox[a-z]-[A-Za-z0-9-]{10,}|AIza[0-9A-Za-z_-]{30,})",    re.IGNORECASE,)MAX_FIELD_CHARS = 300
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.Risks found: 1
High risk

Unvalidated run IDs can traverse outside the runtime root

Source references: 5
What we found

Both `cancel` and `retry` directly join a caller-supplied `run_id` to the runtime root without validating its format or checking that the resolved target remains beneath that root. The CLI accepts any string for `--run-id`.

Why this matters

If a `../` path reaches an outside directory containing `state.json`, cancellation can create a `CANCEL` file there. If that directory also contains a valid `spec.json`, retry can read and execute the command and working directory stored there, bypassing the expected runtime-root boundary.

The risk is supported. Both `cancel` and `retry` append an unvalidated `run_id` to a resolved runtime root, and the CLI imposes no format restriction. A value containing `..` or an absolute path can resolve outside that root. If the external directory has the expected `state.json`/`spec.json`, cancellation can create `CANCEL` there, while retry can read its stored working directory and command and execute them again. Users should allow only generated IDs and ask for strict ID-format and root-containment checks.

ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:203In the codeOpen original file
def request_cancel(runtime_root: Path, run_id: str) -> Dict[str, Any]:    run_dir = Path(runtime_root).resolve() / run_id    state_path = run_dir / "state.json"    if not state_path.is_file():        raise FileNotFoundError(f"Unknown runtime run: {run_id}")    state = read_json(state_path)    if state.get("status") in TERMINAL_STATES:        return {"run_id": run_id, "status": state.get("status"), "cancel_requested": False}    if state.get("status") == "orphaned":        return {            "run_id": run_id,            "status": "orphaned",            "cancel_requested": False,            "reason": "orphaned-run-requires-explicit-process-inspection",        }    (run_dir / "CANCEL").touch()    return {"run_id": run_id, "status": state.get("status"), "cancel_requested": True}
Show 4 other places
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:659In the codeOpen original file
) -> Dict[str, Any]:    root = Path(runtime_root).resolve()    parent_dir = root / run_id    state_path = parent_dir / "state.json"    spec_path = parent_dir / "spec.json"    if not state_path.is_file() or not spec_path.is_file():        raise FileNotFoundError(f"Unknown or incomplete runtime run: {run_id}")    recovery = reconcile_run(parent_dir)    state = read_json(state_path)    status = str(state.get("status") or recovery.get("status"))    if status in ACTIVE_STATES:        raise RuntimeError(f"Run {run_id} is still active or orphaned ({status}); refusing duplicate execution")    if status == "success" and not allow_success_retry:        raise RuntimeError(f"Run {run_id} already succeeded; use allow_success_retry only when repetition is intentional")    spec = read_json(spec_path)    selected_timeout = int(timeout if timeout is not None else spec.get("timeout_seconds", 60))    if selected_timeout <= 0:        raise ValueError("retry timeout must be greater than zero")    return run_persistent_command(        repo=Path(spec["cwd"]),        command=str(spec["command"]),        timeout=selected_timeout,
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:697In the codeOpen original file
    recover_parser.add_argument("--stale-after", type=float, default=30.0)    cancel_parser = subparsers.add_parser("cancel", help="Write a cancellation request for an actively monitored run.")    cancel_parser.add_argument("--run-id", required=True)    retry_parser = subparsers.add_parser("retry", help="Explicitly retry a terminal run as a new attempt.")    retry_parser.add_argument("--run-id", required=True)    retry_parser.add_argument("--timeout", type=int)    retry_parser.add_argument("--allow-success-retry", action="store_true")    args = parser.parse_args()
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:712In the codeOpen original file
            payload = recover_runtime_root(root, args.stale_after)        elif args.action == "cancel":            payload = request_cancel(root, args.run_id)        else:            payload = retry_run(                runtime_root=root,                run_id=args.run_id,                timeout=args.timeout,                allow_success_retry=args.allow_success_retry,            )    except (FileNotFoundError, RuntimeError, ValueError) as exc:
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:672In the codeOpen original file
        raise RuntimeError(f"Run {run_id} already succeeded; use allow_success_retry only when repetition is intentional")    spec = read_json(spec_path)    selected_timeout = int(timeout if timeout is not None else spec.get("timeout_seconds", 60))    if selected_timeout <= 0:        raise ValueError("retry timeout must be greater than zero")    return run_persistent_command(        repo=Path(spec["cwd"]),        command=str(spec["command"]),        timeout=selected_timeout,        runtime_root=root,        shell_mode=str(spec.get("shell_mode") or "direct"),
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

5 instruction sections

The primary skill is intended for explicitly authorized exploratory code changes on an isolated branch or worktree. Its planning script scans code/config paths and produces candidate plans; it does not itself apply changes.

View source
SKILL.md:17In the instructionsOpen original file
- When the researcher explicitly authorizes exploratory code changes on an isolated branch or worktree.- When the task is source-anchored module transplant, backbone adaptation, LoRA or adapter insertion, or low-risk module combination.- When summary-level recording is sufficient and the result is a candidate, not a trusted conclusion.
scripts/plan_code_changes.py:291In the codeOpen original file
) -> Dict[str, Any]:    candidate_targets = collect_candidate_edit_targets(repo, current_research, task_family)    target_location_map = derive_target_location_map(candidate_targets, idea_card, analysis)    supporting_changes = derive_supporting_changes(spec, idea_card, analysis)    patch_surface_summary = derive_patch_surface_summary(target_location_map, supporting_changes)    minimal_patch_plan = derive_minimal_patch_plan(target_location_map, idea_card, analysis)    smoke_validation_plan = derive_smoke_validation_plan(target_location_map, analysis, spec)    code_tracks = build_code_tracks(spec, candidate_targets, task_family, current_research)    return {

The bundled deterministic reproduction flow reads the README and up to three linked local Markdown files, extracts and automatically selects a command, and attempts it only when `--run-selected` is supplied.

View source
ai-research-reproduction/scripts/orchestrate_repro.py:363In the codeOpen original file
    links.sort(key=lambda item: (0 if any(token in item[0].lower() for token in DOC_PRIORITY_TOKENS) else 1, len(item[0])))    for rel, target in links[:3]:        doc_data = run_json(extract_script, ["--readme", str(target), "--json"])        doc_commands = doc_data.get("commands", [])        for item in doc_commands:            item["source_file"] = rel        command_data["commands"].extend(doc_commands)        if any(item.get("kind") in {"run", "smoke"} for item in doc_commands):            command_data.setdefault("warnings", []).append(
ai-research-reproduction/scripts/orchestrate_repro.py:1107In the codeOpen original file
    parser.add_argument("--user-language", default="en", help="Language tag for human-readable reports.")    parser.add_argument("--run-selected", action="store_true", help="Execute the selected documented command.")    parser.add_argument("--include-analysis-pass", action="store_true", help="Run analyze-project and record its outputs in the stage ledger.")
ai-research-reproduction/scripts/orchestrate_repro.py:1237In the codeOpen original file
    chosen = choose_goal(command_data.get("commands", []), repo_path)    dataset_hint = derive_dataset_hint(asset_data)
ai-research-reproduction/scripts/orchestrate_repro.py:1292In the codeOpen original file
            )        else:            run_data = maybe_run_command(                repo_path,                chosen["documented_command"],                args.timeout,                args.user_language,                args.shell_mode,                runtime_root,                model_adapter,                args.monitor_gpu,            )

The optional model agent limits the model to files in the initial repository inventory and to pre-reviewed command IDs. Before command execution, it removes environment variables whose names appear credential-related.

View source
ai-research-reproduction/scripts/run_agent.py:440In the codeOpen original file
                            value = {"files": sorted(files)}                        elif name == "read_file":                            if args["path"] not in files:                                raise ValueError("File was not in the permitted initial inventory")                            offset = max(0, int(args.get("offset", 0)))                            with safe_file(repo, args["path"]).open("r", encoding="utf-8") as handle:                                handle.seek(offset)                                value = {"path": args["path"], "text": handle.read(12000), "next_offset": handle.tell()}                        elif name == "update_plan":
ai-research-reproduction/scripts/run_agent.py:452In the codeOpen original file
                            value = {"plan": state["plan"]}                        elif name == "run_command":                            command_id = args["command_id"]                            command = task["commands"][command_id]                            run_dir = output / "_runtime" / call["runtime_id"]                            if recovering:
ai-research-reproduction/scripts/run_agent.py:469In the codeOpen original file
                                command_text = subprocess.list2cmdline(argv) if os.name == "nt" else shlex.join(argv)                                clean_env = {k: v for k, v in os.environ.items() if not re.search(r"KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|AUTH", k, re.I)}                                credential_name = profile.get("credential_env")                                if credential_name:                                    clean_env.pop(credential_name, None)                                clean_env["PYTHONIOENCODING"] = "utf-8"                                value = run_persistent_command(repo=safe_file(repo, command.get("cwd", ".")), command=command_text,                                    timeout=max(1, min(command.get("timeout_seconds", 30), int(remaining))),                                    runtime_root=output / "_runtime", run_id=call["runtime_id"], child_env=clean_env,                                    capture_limit=16000, model_adapter=profile)                            value["checks"] = command_checks(repo, command, value)

Each execution persistently records its command specification, state, events, resource samples, and full stdout/stderr, with timeout, cancellation, and process-tree termination support.

View source
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:431In the codeOpen original file
    started_monotonic = time.monotonic()    spec = {        "schema_version": SCHEMA_VERSION,        "run_id": run_id,        "command": command,        "cwd": str(repo),        "timeout_seconds": timeout,        "shell_mode": shell_mode,        "capture_limit_characters": capture_limit,        "model_adapter": model_adapter,        "retry_of": retry_of,        "attempt": attempt,        "resource_monitoring": {            "root_process": True,            "nvidia_device_global": monitor_gpu,        },        "created_at": started_at,    }    atomic_write_json(run_dir / "spec.json", spec)    state: Dict[str, Any] = {
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:255In the codeOpen original file
) -> None:    total_chars = 0    with log_path.open("w", encoding="utf-8", newline="") as log:        while True:            chunk = stream.read(4096)            if not chunk:                break            log.write(chunk)            log.flush()            capture.append(chunk)            total_chars += len(chunk)            journal.event("stream_chunk", stream=stream_name, characters=len(chunk))    journal.event("stream_closed", stream=stream_name, characters=total_chars)
ai-research-reproduction/_bundled/shared/scripts/runtime_runner.py:555In the codeOpen original file
            now = time.monotonic()            if cancel_path.exists():                cancelled = True                journal.event("cancel_detected", source="CANCEL")                _terminate_process_tree(process, journal)                break            if timeout >= 0 and now - started_monotonic >= timeout:                timed_out = True                journal.event("timeout_detected", timeout_seconds=timeout)                _terminate_process_tree(process, journal)                break            if now >= next_heartbeat:
Start here · InstructionsSKILL.md
explore-code
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.

File reference map

References: 22
Files making referencesReferenced content
Lines show actual file references, not execution order. Select a node to highlight its connections and inspect the files and source locations. Dashed lines include files that still need locating.
Files and check records21 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • ai-research-reproduction/_bundled/shared/scripts/lessons_store.pyFull text included
  • ai-research-reproduction/_bundled/shared/scripts/runtime_runner.pyFull text included
  • ai-research-reproduction/_bundled/shared/scripts/task_queue.pyFull text included
  • ai-research-reproduction/scripts/orchestrate_repro.pyFull text included
  • ai-research-reproduction/scripts/run_agent.pyFull text included
  • scripts/plan_code_changes.pyFull text included
  • scripts/write_outputs.pyFull text included
  • references/explore-policy.mdFull text included
  • ai-research-reproduction/references/agent-operating-principles.mdFull text included
  • ai-research-reproduction/references/agent-runner.mdFull text included
  • ai-research-reproduction/references/continuous-learning-policy.mdFull text included
  • ai-research-reproduction/references/deep-learning-experiment-principles.mdFull text included
  • ai-research-reproduction/references/language-policy.mdFull text included
  • ai-research-reproduction/references/output-spec.mdFull text included
  • ai-research-reproduction/references/patch-policy.mdFull text included
  • ai-research-reproduction/references/research-rigor-principles.mdFull text included
  • ai-research-reproduction/references/research-safety-principles.mdFull text included
  • ai-research-reproduction/references/runtime-and-model-adapter.mdFull text included
  • ai-research-reproduction/SKILL.mdFull text included
  • agents/openai.yamlFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
  • agents/openai.yamlSupporting file
  • references/explore-policy.mdSupporting file
  • scripts/plan_code_changes.pyScript
  • scripts/write_outputs.pyScript
  • ai-research-reproduction/SKILL.mdSupporting file
  • ai-research-reproduction/references/agent-operating-principles.mdSupporting file
  • ai-research-reproduction/references/research-rigor-principles.mdSupporting file
  • ai-research-reproduction/references/deep-learning-experiment-principles.mdSupporting file
  • ai-research-reproduction/scripts/orchestrate_repro.pyScript
  • ai-research-reproduction/references/runtime-and-model-adapter.mdSupporting file
  • ai-research-reproduction/references/agent-runner.mdSupporting file
  • ai-research-reproduction/scripts/run_agent.pyScript
  • ai-research-reproduction/references/patch-policy.mdSupporting file
  • ai-research-reproduction/references/output-spec.mdSupporting file
  • ai-research-reproduction/references/language-policy.mdSupporting file
  • ai-research-reproduction/references/continuous-learning-policy.mdSupporting file
  • ai-research-reproduction/_bundled/shared/scripts/lessons_store.pyScript
  • ai-research-reproduction/references/research-safety-principles.mdSupporting file
  • ai-research-reproduction/_bundled/shared/scripts/runtime_runner.pyScript
  • ai-research-reproduction/_bundled/shared/scripts/task_queue.pyScript

Operations mentioned in code and instructions

Read files
scripts/plan_code_changes.py:41In the codeOpen original file
        return {}    return json.loads(Path(path).resolve().read_text(encoding="utf-8-sig"))
scripts/plan_code_changes.py:47In the codeOpen original file
        return {}    return json.loads(Path(path).resolve().read_text(encoding="utf-8-sig"))
ai-research-reproduction/scripts/orchestrate_repro.py:205In the codeOpen original file
        if config_path.exists() and config_path.suffix.lower() in {".yaml", ".yml", ".json", ".toml", ".py"}:            text_content = config_path.read_text(encoding="utf-8", errors="replace")            step_match = None
Run commands
ai-research-reproduction/scripts/orchestrate_repro.py:12In the codeOpen original file
import shleximport subprocessimport sys
ai-research-reproduction/scripts/orchestrate_repro.py:103In the codeOpen original file
    child_env["PYTHONIOENCODING"] = "utf-8"    result = subprocess.run(        command,
ai-research-reproduction/scripts/orchestrate_repro.py:121In the codeOpen original file
    try:        subprocess.run(            [
Read keys or account settings
ai-research-reproduction/scripts/orchestrate_repro.py:101In the codeOpen original file
    command = [sys.executable, str(script), *args]    child_env = os.environ.copy()    child_env["PYTHONIOENCODING"] = "utf-8"
ai-research-reproduction/scripts/run_agent.py:65In the codeOpen original file
    path = (repo / name).resolve()    if (not path.is_relative_to(repo) or any(p == ".git" or p.startswith(".env") for p in Path(name).parts)            or any(p == ".git" or p.startswith(".env") for p in path.relative_to(repo).parts)):
ai-research-reproduction/scripts/run_agent.py:66In the codeOpen original file
    if (not path.is_relative_to(repo) or any(p == ".git" or p.startswith(".env") for p in Path(name).parts)            or any(p == ".git" or p.startswith(".env") for p in path.relative_to(repo).parts)):        raise ValueError("File path is outside the permitted repository scope")
Change files
ai-research-reproduction/scripts/orchestrate_repro.py:118In the codeOpen original file
        context_path = Path(handle.name)        handle.write(json.dumps(context, indent=2, ensure_ascii=False))
ai-research-reproduction/scripts/run_agent.py:328In the codeOpen original file
        with (output / "SUMMARY.md").open("a", encoding="utf-8") as handle:            handle.write("\n" + explanation + "\n")
ai-research-reproduction/scripts/run_agent.py:374In the codeOpen original file
                with (output / "trajectory.jsonl").open("a", encoding="utf-8") as handle:                    handle.write(json.dumps({"time": utc_now(), "type": "reverification", "status": state["status"],                                             "previous_checks": previous_checks, "checks": checks}, ensure_ascii=False) + "\n")
Install extra software packages
ai-research-reproduction/scripts/orchestrate_repro.py:252In the codeOpen original file
        score -= 10    if text_value.startswith(("pip install", "conda install", "conda env create", "conda activate", "git clone", "cd ")):        score -= 12
Connect to websites
ai-research-reproduction/scripts/orchestrate_repro.py:357In the codeOpen original file
        rel = match.group(1)        if rel.startswith(("http://", "https://")):            continue
ai-research-reproduction/scripts/run_agent.py:343In the codeOpen original file
        raise ValueError("All budget limits must be positive integers")    endpoint_identity = fingerprint(profile.get("endpoint") or os.getenv("ANTHROPIC_BASE_URL") or "https://api.anthropic.com")    harness_identity = fingerprint([Path(__file__).read_bytes().replace(b"\r\n", b"\n").hex(), SYSTEM, TOOLS,
ai-research-reproduction/references/runtime-and-model-adapter.md:65In the instructionsOpen original file
  "capabilities": ["text", "tool_calling", "structured_output"],  "endpoint": "https://gateway.example/v1",  "credential_env": "LAB_MODEL_API_KEY",
Lines read
5,180
File checksum (to compare versions)
ed774ef48275073782e5738b8a81b8d8ae1f3c56071d37306f05f637e876fd39