From 60502adee3618e3d479f191fc45894f6efeb773a Mon Sep 17 00:00:00 2001 From: sotashimozono Date: Wed, 9 Sep 2026 06:07:05 +0000 Subject: [PATCH 1/2] docs: point at QAtlasHub/SweepRunner, not sotashimozono/ParallelManager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ParallelManager.jl` was renamed to `SweepRunner.jl` and the repos moved to the QAtlasHub org. Every link here still named the old owner and the old package — they resolve only because GitHub redirects, which is not something to rely on for a badge SVG. Two of the renamed references were also stale in substance, so they are not a pure rename: - `src/core/canonical.jl` named `KeyLock` as a consumer of `canonical`. `KeyLock` was removed in SweepRunner v0.3; the per-key lock now lives entirely in `DataVault`'s `.running` file. - `CLAUDE.md` and `examples/README.md` claimed the per-key lock uses `canonical` as its identity. It does not: `_running_file` keys on `_status_dir` (`format_path`-derived) plus the sample index. `canonical` is used by `SweepRunner.Manifest` only. Left deliberately unchanged: `LICENSE` (copyright holder), `.github/FUNDING.yml` (sponsor handle), `docs/make.jl` (avatar URL) and `.devcontainer` — those name the author, not a moved repo. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 10 +++++----- Project.toml | 2 +- README.md | 14 +++++++------- examples/README.md | 8 ++++---- src/core/canonical.jl | 2 +- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index bd0e040..b22f755 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ # CLAUDE.md — ParamIO.jl -**Layer 1 of the infra HPC stack** (ParamIO → DataVault → ParallelManager): +**Layer 1 of the infra HPC stack** (ParamIO → DataVault → SweepRunner): config TOML → `Vector{DataKey}`. Pure parsing + Cartesian enumeration; no IO, no storage. See [`../CLAUDE.md`](../CLAUDE.md) for how the three layers fit together. @@ -30,7 +30,7 @@ storage. See [`../CLAUDE.md`](../CLAUDE.md) for how the three layers fit togethe - **`examples/inspect.jl`** — run it; prints exactly what `expand` produces (dotted keys, `format_path`, `canonical`). Start here. - `README.md` — config schema + API. -- Full stack: [`../ParallelManager.jl/examples/`](../ParallelManager.jl/examples/). +- Full stack: [`../SweepRunner.jl/examples/`](../SweepRunner.jl/examples/). ## Source layout @@ -39,6 +39,6 @@ storage. See [`../CLAUDE.md`](../CLAUDE.md) for how the three layers fit togethe ## Invariant when changing this package -**`canonical()`'s output schema is FROZEN** — `ParallelManager`'s `Manifest` and -the per-key lock use it as a directory-safe identity. Changing its format -silently orphans every existing manifest/lock. Run the test suite locally before pushing. +**`canonical()`'s output schema is FROZEN** — `SweepRunner`'s `Manifest` uses it +as a directory-safe identity. Changing its format silently orphans every +existing manifest. Run the test suite locally before pushing. diff --git a/Project.toml b/Project.toml index ad78bd8..22b08c0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ParamIO" uuid = "938a3ac2-d340-473c-bcf1-88af577e4ccf" -version = "0.4.8" +version = "0.4.9" authors = ["sota shimozono "] [deps] diff --git a/README.md b/README.md index 1d9a375..1b6e460 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Code Style: Blue](https://img.shields.io/badge/Code%20Style-Blue-4495d1.svg)](https://github.com/invenia/BlueStyle) [![codecov](https://codecov.io/gh/QAtlasHub/ParamIO.jl/graph/badge.svg?token=57dh1RFl0t)](https://codecov.io/gh/QAtlasHub/ParamIO.jl) -[![Build Status](https://github.com/sotashimozono/ParamIO.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/sotashimozono/ParamIO.jl/actions/workflows/CI.yml?query=branch%3Amain) +[![Build Status](https://github.com/QAtlasHub/ParamIO.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/QAtlasHub/ParamIO.jl/actions/workflows/CI.yml?query=branch%3Amain) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Read a config TOML and expand it into a list of `DataKey` — one per parameter @@ -14,13 +14,13 @@ point in a sweep. Pure parsing and Cartesian enumeration: no IO, no storage, no side effects. ParamIO is **layer 1 of a three-package HPC stack**. It answers *what to -compute*; [`DataVault.jl`](https://github.com/sotashimozono/DataVault.jl) answers +compute*; [`DataVault.jl`](https://github.com/QAtlasHub/DataVault.jl) answers *where results go* (`DataKey` → storage), and -[`ParallelManager.jl`](https://github.com/sotashimozono/ParallelManager.jl) +[`SweepRunner.jl`](https://github.com/QAtlasHub/SweepRunner.jl) answers *do it* (`run!(work_fn, vault, keys)`, parallel and crash-recoverable). ```text -ParamIO DataVault ParallelManager +ParamIO DataVault SweepRunner config.toml ──► Vault(config) ──► run!(work_fn, vault, keys) │ expand ▼ @@ -147,11 +147,11 @@ src/ ## See also -- [DataVault.jl](https://github.com/sotashimozono/DataVault.jl) — storage layer -- [ParallelManager.jl](https://github.com/sotashimozono/ParallelManager.jl) — the runtime +- [DataVault.jl](https://github.com/QAtlasHub/DataVault.jl) — storage layer +- [SweepRunner.jl](https://github.com/QAtlasHub/SweepRunner.jl) — the runtime - [`../CLAUDE.md`](../CLAUDE.md) — how the three packages fit together -Issues / requests: [GitHub Issues](https://github.com/sotashimozono/ParamIO.jl/issues). +Issues / requests: [GitHub Issues](https://github.com/QAtlasHub/ParamIO.jl/issues). ## License diff --git a/examples/README.md b/examples/README.md index 332885d..0a76947 100644 --- a/examples/README.md +++ b/examples/README.md @@ -2,7 +2,7 @@ ParamIO is **layer 1** of the HPC compute stack: it turns one config TOML into a `Vector{DataKey}` — the list of parameter points a sweep will compute. -`DataVault` then maps each `DataKey` to storage, and `ParallelManager` runs the +`DataVault` then maps each `DataKey` to storage, and `SweepRunner` runs the work over them. This example makes layer 1's output visible. ```bash @@ -40,7 +40,7 @@ DataKey.params sample format_path canonical - **`format_path` ≠ `canonical`.** `format_path` (the on-disk directory name) uses only `path_keys`. `canonical` (the unique, Julia-version-stable key - identity used by `ParallelManager`'s manifest and lock) uses *all* params plus + identity used by `SweepRunner`'s manifest) uses *all* params plus the sample index. Two distinct DataKeys can share a `format_path` but never a `canonical`. @@ -62,7 +62,7 @@ Optional: `[datavault] sweep_order` overrides the enumeration order; | `load(path) -> ConfigSpec` | parse the TOML (and merge `[base] inherit`) | | `expand(spec) -> Vector{DataKey}` | Cartesian product × samples | | `format_path(key, path_keys) -> String` | compact directory segment | -| `canonical(key) -> String` | stable identity (used by ParallelManager) | +| `canonical(key) -> String` | stable identity (used by SweepRunner) | See the full stack wired together in -[`ParallelManager.jl/examples/`](../../ParallelManager.jl/examples/). +[`SweepRunner.jl/examples/`](../../SweepRunner.jl/examples/). diff --git a/src/core/canonical.jl b/src/core/canonical.jl index d0d3ec6..6d4a875 100644 --- a/src/core/canonical.jl +++ b/src/core/canonical.jl @@ -13,7 +13,7 @@ Return a string representation of `key` that is: guaranteed stable within a Julia version. This is intended for use as a directory-safe identity by downstream packages -that need a lookup key (e.g. `ParallelManager.Manifest`, `KeyLock`). +that need a lookup key (e.g. `SweepRunner.Manifest`). ## Schema(固定。変更不可) From 3c1f657344f5bb87da20cf47be977e85667b0c23 Mon Sep 17 00:00:00 2001 From: sotashimozono Date: Wed, 9 Sep 2026 06:31:22 +0000 Subject: [PATCH 2/2] ci: drop the private-org repo name from the secret-boundary note The comment cited a probe run on a private repo in another organisation by its full `/#` path. This repo is public; the measurement is what matters, not who ran it, so the claim stays and the identifier goes. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/CI.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index fc1e0ae..baf49ab 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -21,9 +21,10 @@ jobs: shards: 4 # Named rather than inherited: handing an entire secret store to another repository's # workflow for one optional token is the wrong shape. Whether it ARRIVES is being measured - # on DataVault.jl#36 — a secret did not survive this call from a different ORGANISATION - # (lab-sotashimozono/ITensorAD.jl#20), and both this repo and that probe are same-org. If - # `collect` warns that no token reached it, add the caller-side upload job + # on DataVault.jl#36 — a secret did not survive this call when the caller was in a + # DIFFERENT organisation (measured once, on a private repo elsewhere), and both this repo + # and that probe are same-org. If `collect` warns that no token reached it, add the + # caller-side upload job # (QAtlasHub/TestShards.jl/actions/upload-coverage). See QAtlasHub/TestShards.jl#48. secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}