Skip to content

Release/0.3.0 - #99

Merged
AymenFJA merged 26 commits into
mainfrom
release/0.3.0
Sep 1, 2026
Merged

AymenFJA merged 26 commits into
mainfrom
release/0.3.0

Conversation

@AymenFJA

@AymenFJA AymenFJA commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

AymenFJA and others added 26 commits June 12, 2026 19:59
1-Improve docs
2-Remove RadicalExecutionBackend from docs
3-Address Gemini comments
- Rename rose/al → rose/active_learning, rose/rl → rose/reinforcement_learning,
  rose/uq → rose/uncertainty_quantification so directory names match their content.
  No breaking changes: rose/__init__.py binds `from . import active_learning as al`
  and populates sys.modules with every rose.al.* short path, so all existing
  `from rose.al.active_learner import X` imports continue to work unchanged.

- Add rose/cli.py and register the `rose` console script in pyproject.toml.
  `rose run workflow.yaml --local` runs any ROSE workflow locally using the
  rhapsody concurrent backend, eliminating the local.py boilerplate file.

- Update rose/spec/builder.py deferred imports to the new package paths.

- Update docs and README to use the short package-level aliases
  (from rose.al import X, from rose.rl import X, from rose.uq import X)
  instead of submodule paths.
Ports amsc/use-cases/service_utils.py's discover/launch/teardown flow into
ROSE proper, updated for radical.orbit's current API (BridgeClient/
EndpointClient no longer exist — replaced by EndpointRuntime) and made
spec-driven instead of interactive, matching --local's design.

- rose/remote.py: new module — bootstrap a remote endpoint via IRI (OLCF),
  SFAPI (NERSC — IRI's /compute/* is broken server-side there), or PsiJ on
  an already-connected login node; wait for registration; run the workflow;
  tear down.
- rose/spec/schema.py: RemoteConfig.target (TargetConfig) describes the
  bootstrap job (account/queue/walltime/tunnel/etc.).
- rose/spec/__init__.py: fix stale bridge_url= kwarg passed to rhapsody's
  OrbitExecutionBackend (renamed to broker_url upstream) — was a silent
  TypeError waiting to happen.
- rose/cli.py: --remote flag, mutually exclusive with --local.

Also adds remote.embedded: hosts the ORBIT broker in-process
(EmbeddedBroker, new upstream) instead of requiring an already-running one.
Combined with target.kind: psij, drops target.edge_name entirely — PsiJ
loads directly on the embedded broker, so `rose run --remote` on a login
node needs no separate bootstrap endpoint at all.

Tests: 30 new/extended unit tests (schema validation, mocked
EndpointRuntime/EmbeddedBroker orchestration). Verified against real,
unmocked radical.orbit (embedded broker + live PSIJClient resolution) in
addition to the CLI entry point end-to-end with mocks.

Docs: spec-api.md (remote.target, remote.embedded), rose-aas.md (bootstrap
automation, no-broker-required callout).
- move rose/bootstrap.py + rose/remote.py into rose/remote/
  (bootstrap.py, execute.py) with a public __init__.py re-export,
  matching the active_learning/reinforcement_learning/spec package
  convention
- add TargetConfig.endpoint_timeout_min and `rose setup --wait-timeout`
  so the HPC endpoint-registration wait is configurable instead of a
  hardcoded 300s/30min, with a default-used warning when omitted
- restyle mkdocs-material theme/CSS to match RHAPSODY's doc site
  conventions (flat header/tabs, pill buttons, forced heading color,
  pymdownx.highlight) while keeping ROSE's rose/pink palette
- add a Command-Line Interface reference page documenting `rose run`
  and `rose setup`, cross-linked from spec-api.md and rose-aas.md
@AymenFJA AymenFJA self-assigned this Sep 1, 2026
@AymenFJA AymenFJA added documentation Improvements or additions to documentation enhancement New feature or request High labels Sep 1, 2026
@AymenFJA
AymenFJA merged commit 57bde41 into main Sep 1, 2026
10 checks passed
@AymenFJA
AymenFJA deleted the release/0.3.0 branch September 1, 2026 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request High

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant