Zero-config beam4pm engine candidate: connects to beam4pm as a generic
Ash JSON:API client. "Zero config" means the ROUTE TABLE below is
entirely admitted-ontology data (priv/ontology/ex4pm.ttl's
ex4pmb:AdmittedBeam4pmService graph) -- adding a new operation this
engine can reach is a new ontology individual plus mix ex4pm.ggen.sync,
never new hand-written dispatch code. See
docs/EX4PM-THINNING-BEAM4PM-ENRICHMENT.md for the full migration this
serves.
Configure with beam4pm_base_url: "http://host:port" in opts (or
Application.put_env(:ex4pm, :beam4pm_base_url, ...)). No per-operation
configuration is needed or accepted -- the route table is fixed at
generation time from the ontology.
Admitted operations this engine currently supports:
* `:beam4pm_conformance_results` -> `GET /conformance_result` (action `read`):beam4pm_ocel_events->GET /ocel_event(actionread)
Honest status
As of this generation, beam4pm does not yet mount a live AshJsonApi
router (see the ex4pmb: prefix comment in priv/ontology/ex4pm.ttl
for the exact verification). This module's HTTP mechanics are real and
tested against a real local JSON:API-shaped server
(test/engine_beam4pm_test.exs); connecting it to a real beam4pm
instance is gated on that separate, disclosed prerequisite.