Skip to content

v0.5.59 — External Simulation Adapter Protocol (Loop 38) - #155

Merged
cschanhniem merged 1 commit into
mainfrom
loop38-external-adapter
Jul 6, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
loop38-external-adapter

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

API contract for third-party simulation modules. Completes Phase 3 exit criterion 5.

Primary: ExternalSimulationAdapter in simulation/interfaces.py — wraps any callable (str) -> SimulationResult into VirtualAssayProxy. Features: required_module availability check, graceful error handling, metadata override, is_available() method.

Tests: 13 tests covering availability, success, missing module, error handling, exception, baseline, metadata, scope.

Doc updates: ARCHITECTURE.md extension points expanded. 50_LOOP_PLAN (Loop 38 complete). ROADMAP (v0.5.59). METRICS_CURRENT (v0.5.59).

1965 tests passing (pre-push full suite).

API contract for third-party simulation modules. Completes Phase 3
exit criterion 5 (external adapter protocol documented).

Changes:
- src/openamp_foundry/simulation/interfaces.py -- Added
  ExternalSimulationAdapter wrapping any callable (str) -> SimulationResult
  into VirtualAssayProxy. Availability check, error handling, metadata
  override, is_available() method, _error_result() helper.
- tests/test_external_adapter.py -- 13 tests.
- docs/ARCHITECTURE.md -- Extension points expanded with adapter example.
- docs/50_LOOP_PLAN.md -- Loop 38 complete, next Loop 39.
- docs/ROADMAP.md -- v0.5.59 entry.
- docs/METRICS_CURRENT.md -- Pipeline v0.5.59, 1966 tests.

1966 tests passing.
@cschanhniem
cschanhniem merged commit 3cb08b8 into main Jul 6, 2026
1 check failed
@cschanhniem
cschanhniem deleted the loop38-external-adapter branch July 6, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant