runops 2.1.0__tar.gz → 2.1.1__tar.gz
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.
- {runops-2.1.0 → runops-2.1.1}/PKG-INFO +1 -1
- {runops-2.1.0 → runops-2.1.1}/pyproject.toml +1 -1
- {runops-2.1.0 → runops-2.1.1}/src/runops/__init__.py +1 -1
- {runops-2.1.0 → runops-2.1.1}/src/runops/cli.py +23 -15
- {runops-2.1.0 → runops-2.1.1}/tests/test_setup_misc.py +22 -0
- {runops-2.1.0 → runops-2.1.1}/uv.lock +5 -17
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/check/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/improve-harness/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/agents/openai.yaml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/examples/refactor-request.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/anti-patterns.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/api-compatibility.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/packaging-modernization.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/refactor-playbook.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/verification.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/scripts/api_surface_snapshot.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/scripts/import_smoke.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/scripts/inspect_python_package.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/scripts/refactor_quality_gate.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/release/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/simulator-adapter/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/spec-reviewer/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.agents/skills/sync-docs/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/agents/spec-reviewer.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/rules/architecture.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/rules/dev-workflow.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/rules/gotchas.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/settings.json +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/check/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/improve-harness/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/python-package-refactor/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/release/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/simulator-adapter/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/spec-reviewer/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.claude/skills/sync-docs/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.codex/README.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/.codex/agents/spec-reviewer.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.codex/config.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.codex/rules/runops.rules +0 -0
- {runops-2.1.0 → runops-2.1.1}/.dockerignore +0 -0
- {runops-2.1.0 → runops-2.1.1}/.gitattributes +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/assets/conversation-dark.svg +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/assets/conversation-light.svg +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/assets/hero-dark.svg +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/assets/hero-light.svg +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/assets/make_readme_art.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/workflows/ci.yml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.github/workflows/publish.yml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.gitignore +0 -0
- {runops-2.1.0 → runops-2.1.1}/.harness/manifest.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.pre-commit-config.yaml +0 -0
- {runops-2.1.0 → runops-2.1.1}/.vscode/settings.json +0 -0
- {runops-2.1.0 → runops-2.1.1}/AGENTS.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/CLAUDE.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/LICENSE +0 -0
- {runops-2.1.0 → runops-2.1.1}/README.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/SPEC.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/docs/adapter.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/docs/reference.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/adapters/__init__.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/adapters/base.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/adapters/generic.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/adapters/registry.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/case.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/config.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/errors.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/harness.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/jobgen.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/launchers.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/legacy_adapters/__init__.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/legacy_adapters/beach.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/legacy_adapters/emses.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/manifest.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/__init__.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/common.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/create.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/listing.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/migrate.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/notes.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/setup.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/skills.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/submit.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/sync.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/ops/tidy.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/project.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/runtime.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/skills/runops-check-status/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/skills/runops-create-run/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/skills/runops-maintain/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/skills/runops-reference/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/skills/runops-tidy/SKILL.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/slurm.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/src/runops/util.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/__init__.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/conftest.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/.codex/rules/a.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/.runops/test-runs/T20260701-0001/receipt.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/.runops/work/beach-x-abc/bin/beach +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/AGENTS.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/CLAUDE.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/cases/beach/plane/beach.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/cases/beach/plane/case.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/cases/old/beach.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/cases/old/case.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/launchers.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/research/CURRENT.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runops.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/AGENTS.md +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/_archive/plane/R20260601-0001/manifest.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/plane/R20260701-0001--a/input/beach.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/plane/R20260701-0001--a/manifest.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/plane/R20260702-0001/manifest.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/scan/R20260701-0002/manifest.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/scan/survey.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/simulators.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/site.toml +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/golden/mpi_standard.sh +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/golden/openmp_rsc.sh +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_adapters.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_build.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_dev_harness.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_jobgen.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_legacy_adapters.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_lifecycle.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_manifest_config.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_migrate.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_scratch_tidy.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_skills.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_sweep.py +0 -0
- {runops-2.1.0 → runops-2.1.1}/tests/test_sync_evidence.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: runops
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.1
|
|
4
4
|
Summary: Run ledger and Slurm job submission for HPC simulation projects
|
|
5
5
|
Project-URL: Homepage, https://github.com/Nkzono99/runops
|
|
6
6
|
Project-URL: Documentation, https://github.com/Nkzono99/runops/blob/main/docs/reference.md
|
|
@@ -121,19 +121,12 @@ def init(
|
|
|
121
121
|
Run from a terminal without arguments, it asks for the site preset and the
|
|
122
122
|
simulators; the site default is guessed from the host name.
|
|
123
123
|
"""
|
|
124
|
-
from runops.ops.setup import
|
|
124
|
+
from runops.ops.setup import detect_site, hostname, init_project
|
|
125
125
|
|
|
126
126
|
sims = sims or []
|
|
127
127
|
root = Path.cwd()
|
|
128
128
|
if not sims and not site and not yes and sys.stdin.isatty():
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
guessed = detect_site()
|
|
132
|
-
site = typer.prompt(
|
|
133
|
-
f"Site preset (guessed from host {hostname()})",
|
|
134
|
-
default=guessed,
|
|
135
|
-
type=click.Choice(list(SITE_PRESETS)),
|
|
136
|
-
)
|
|
129
|
+
site = _prompt_site(detect_site(), hostname())
|
|
137
130
|
answer = typer.prompt(
|
|
138
131
|
"Simulators, comma-separated (emses, beach, generic; empty for none)",
|
|
139
132
|
default="",
|
|
@@ -156,6 +149,21 @@ def init(
|
|
|
156
149
|
)
|
|
157
150
|
|
|
158
151
|
|
|
152
|
+
def _prompt_site(guessed: str, host: str) -> str:
|
|
153
|
+
"""Ask for a site preset until a known one (or alias) is given."""
|
|
154
|
+
from runops.ops.setup import SITE_ALIASES, SITE_PRESETS
|
|
155
|
+
|
|
156
|
+
choices = " / ".join(SITE_PRESETS)
|
|
157
|
+
while True:
|
|
158
|
+
answer = str(
|
|
159
|
+
typer.prompt(f"Site preset ({choices}; guessed from host {host})", default=guessed)
|
|
160
|
+
).strip()
|
|
161
|
+
site = SITE_ALIASES.get(answer, answer)
|
|
162
|
+
if site in SITE_PRESETS:
|
|
163
|
+
return site
|
|
164
|
+
err.print(f"[yellow]unknown site preset {answer!r}; choose {choices}[/]")
|
|
165
|
+
|
|
166
|
+
|
|
159
167
|
@app.command()
|
|
160
168
|
def doctor(as_json: bool = typer.Option(False, "--json")) -> None:
|
|
161
169
|
"""Check configuration, adapters, executables, Slurm and skills."""
|
|
@@ -882,12 +890,12 @@ def main(argv: list[str] | None = None) -> None:
|
|
|
882
890
|
except typer.Abort:
|
|
883
891
|
err.print("aborted")
|
|
884
892
|
sys.exit(1)
|
|
885
|
-
except Exception as exc:
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
if isinstance(exc,
|
|
889
|
-
|
|
890
|
-
sys.exit(2)
|
|
893
|
+
except Exception as exc:
|
|
894
|
+
# Usage errors from typer's click (vendored in newer typer, so match by shape).
|
|
895
|
+
show = getattr(exc, "show", None)
|
|
896
|
+
if callable(show) and isinstance(getattr(exc, "exit_code", None), int):
|
|
897
|
+
show()
|
|
898
|
+
sys.exit(int(exc.exit_code) or 2) # type: ignore[attr-defined]
|
|
891
899
|
raise
|
|
892
900
|
if isinstance(code, int) and code:
|
|
893
901
|
sys.exit(code)
|
|
@@ -143,3 +143,25 @@ def test_init_not_interactive_with_yes(
|
|
|
143
143
|
res = cli("init", "-y", "--no-install")
|
|
144
144
|
assert res.code == 0, res.err
|
|
145
145
|
assert load_toml(tmp_path / "runops.toml")["simulators"] == {}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def test_init_interactive_reasks_unknown_site(
|
|
149
|
+
tmp_path: Path, monkeypatch: pytest.MonkeyPatch, cli
|
|
150
|
+
) -> None: # type: ignore[no-untyped-def]
|
|
151
|
+
monkeypatch.chdir(tmp_path)
|
|
152
|
+
monkeypatch.setattr("sys.stdin", _Tty("nowhere\ncamphor\n\n"))
|
|
153
|
+
res = cli("init", "--no-install")
|
|
154
|
+
assert res.code == 0, res.err
|
|
155
|
+
assert "unknown site preset 'nowhere'" in res.err
|
|
156
|
+
assert load_toml(tmp_path / "runops.toml")["site"]["name"] == "kudpc"
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def test_usage_error_exit_code(cli) -> None: # type: ignore[no-untyped-def]
|
|
160
|
+
res = cli("list", "--no-such-option")
|
|
161
|
+
assert res.code == 2
|
|
162
|
+
assert "no-such-option" in res.err
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def test_cli_does_not_import_click_directly() -> None:
|
|
166
|
+
source = (Path(__file__).parents[1] / "src/runops/cli.py").read_text()
|
|
167
|
+
assert "import click" not in source # newer typer vendors click
|
|
@@ -11,18 +11,6 @@ wheels = [
|
|
|
11
11
|
{ url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" },
|
|
12
12
|
]
|
|
13
13
|
|
|
14
|
-
[[package]]
|
|
15
|
-
name = "click"
|
|
16
|
-
version = "8.3.1"
|
|
17
|
-
source = { registry = "https://pypi.org/simple" }
|
|
18
|
-
dependencies = [
|
|
19
|
-
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
20
|
-
]
|
|
21
|
-
sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" }
|
|
22
|
-
wheels = [
|
|
23
|
-
{ url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" },
|
|
24
|
-
]
|
|
25
|
-
|
|
26
14
|
[[package]]
|
|
27
15
|
name = "colorama"
|
|
28
16
|
version = "0.4.6"
|
|
@@ -537,7 +525,7 @@ wheels = [
|
|
|
537
525
|
|
|
538
526
|
[[package]]
|
|
539
527
|
name = "runops"
|
|
540
|
-
version = "2.1.
|
|
528
|
+
version = "2.1.1"
|
|
541
529
|
source = { editable = "." }
|
|
542
530
|
dependencies = [
|
|
543
531
|
{ name = "jinja2" },
|
|
@@ -661,17 +649,17 @@ wheels = [
|
|
|
661
649
|
|
|
662
650
|
[[package]]
|
|
663
651
|
name = "typer"
|
|
664
|
-
version = "0.
|
|
652
|
+
version = "0.27.3"
|
|
665
653
|
source = { registry = "https://pypi.org/simple" }
|
|
666
654
|
dependencies = [
|
|
667
655
|
{ name = "annotated-doc" },
|
|
668
|
-
{ name = "
|
|
656
|
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
669
657
|
{ name = "rich" },
|
|
670
658
|
{ name = "shellingham" },
|
|
671
659
|
]
|
|
672
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
660
|
+
sdist = { url = "https://files.pythonhosted.org/packages/03/51/d33db42cc72ffd8c30777547b42d01f0cbf9d95a770457698d0174b3ed71/typer-0.27.3.tar.gz", hash = "sha256:d0396f770a560ab1b0a8504e13b5f254b728cedb05c61cf0359e944e50ce8901", size = 205303, upload-time = "2026-10-06T17:24:16.61Z" }
|
|
673
661
|
wheels = [
|
|
674
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
662
|
+
{ url = "https://files.pythonhosted.org/packages/07/ea/2e31b67051e91a133189e9c000c222502ddc6969856416de0d095de4c0b0/typer-0.27.3-py3-none-any.whl", hash = "sha256:e50022f28b82a86313e54501317a1db64bf8f8d036ff8cfe5ca7e47675454aff", size = 123312, upload-time = "2026-10-06T17:24:15.054Z" },
|
|
675
663
|
]
|
|
676
664
|
|
|
677
665
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/examples/refactor-request.md
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/anti-patterns.md
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/api-compatibility.md
RENAMED
|
File without changes
|
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/refactor-playbook.md
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/references/verification.md
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/scripts/api_surface_snapshot.py
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/.agents/skills/python-package-refactor/scripts/import_smoke.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/plane/R20260701-0001--a/manifest.toml
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/plane/R20260702-0001/manifest.toml
RENAMED
|
File without changes
|
{runops-2.1.0 → runops-2.1.1}/tests/fixtures/v1-project/runs/scan/R20260701-0002/manifest.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|