Skip to content

lib: document + test the public library API (SPEC §2)#16

Merged
fruwe merged 1 commit into
mainfrom
lib-public-api
Jun 30, 2026
Merged

lib: document + test the public library API (SPEC §2)#16
fruwe merged 1 commit into
mainfrom
lib-public-api

Conversation

@fruwe

@fruwe fruwe commented Jun 30, 2026

Copy link
Copy Markdown
Member

Closes #13. Implements the Python side of fruwehq/harel#15 (programmatic API is a normative MUST).

What

  • README 'Use as a library' section: a runnable example showing the engine driven with no CLI and no file store (load+validate → register + create root with external esvs → deliver typed event + run to quiescence → read status/config/esvs → advance clock → snapshot/restore). Verified to run.
  • tests/test_library_api.py: drives a machine end-to-end through the public surface only and asserts every §2-minimum capability, plus pins the exported harel.__all__ surface so it can't silently regress.

No submodule bump needed — the §2 wording already landed via the P1 bump. ruff + mypy clean; full suite green (137 tests).

The engine is embeddable without the CLI or the file store. Add a README 'Use
as a library' section with a verified runnable example, and a test that drives a
machine end-to-end through the public surface only (load+validate, register +
create root with external esvs, deliver typed event + run to quiescence, advance
the clock, read status/config/esvs, snapshot/restore) and pins harel.__all__.

Closes #13.
@fruwe fruwe merged commit 8a5e98e into main Jun 30, 2026
1 check passed
@fruwe fruwe deleted the lib-public-api branch June 30, 2026 07:55
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.

lib: document and test the public library API (harel#15)

1 participant