Beta. IR mapping is live and in active development. The surface below is
real and tested; expect it to grow (more source formats, deeper composition).
Reach it over REST under
/v1/bridges, or through the pb.bridge SDK surface
shown at the end.The vocabulary
The loop
A mapping is a persistent session. You open one, ingest a spec into it, record matches against it, then analyze it. Each step is a REST call under/v1/bridges. Tool errors return in the body (isError: true), never as a
bare HTTP failure.
1
Open a mapping session
mapping_id — the session everything else operates
on. Mappings persist; you can come back to one.2
Ingest the spec
Pass a parsed OpenAPI 3.x document. The ingest walks
components.schemas,
resolves $ref / allOf / oneOf / anyOf, and produces the symbol
table.3
Record the matches
One call per match. The relation and your reasoning are what gets saved:
POST .../properties then maps field-level pairs under a type mapping
(with roles like titular); POST .../types/remove and
POST .../properties/remove reverse decisions.4
Analyze
healthy roll-up
you can gate on.A worked mapping
A commerce API mapped onto a CRM ontology — five types, five different answers:
Analyze then reports
{ mapped: 4, disjoint: 1, unmapped: 3 } — the three
unmapped types (CardPayment, BankPayment, OrderStatus) are the visible
remaining work, not silent gaps.
Drift: when their spec changes
Re-ingest version 2 of the spec and analyze again. IfAddress disappeared from
their schema, its match flags left_dangling; surviving matches flag
left_version_changed so you know to re-confirm them. Your integration’s
assumptions just became something a pipeline can check — drift CI for your data
model, the way dq.audit is CI for graph
writes.
From the SDK
pb.bridge wraps the same routes. The fluent session reads like the judgments you
are making:
pb.bridge.map(...) runs the whole thing in one call when you already have the
mappings in hand. See the pb.bridge reference for every method.
The tools
Each REST resource has a friendly tool name.GET /v1/bridges/tools returns this
table at runtime.
reviewProposals is the agent-era piece: let a model propose the mappings,
and have each one checked and returned accepted or rejected, with reasons.
Nothing enters the mapping unreviewed.