DOCS · THE DOOR OF RECORD

Docs

The door at version 1.0: twenty tools in seven groups over one ontology, answering from records whose every field carries its source page. This page is the reference; the Agent Card is the discovery document; the setup page is the connection page.

§01 · ONTOLOGY

Ontology

substance × presentation × jurisdiction × pathway × actor.

  • Jurisdictions (5) — US · CA · MX · EU (member as parameter) · GB.
  • Pathways — licensed medicine (a new drug or biologics application in the US, a drug identification number or notice of compliance in Canada, a sanitary registration in Mexico, a marketing authorisation in the EU or GB) · lawful compounding (503A and 503B, provincial, magistral, specials) · cosmetic (the US cosmetic regime, Canadian notification, the Mexican notice, the EU notification portal, GB) · food or supplement (the US supplement regime, natural health product licence, the Mexican official standard, novel food in the EU and GB) · ruo_not_cleared.
  • Actors — patient · prescriber · pharmacy or 503B · wholesaler · cosmetic brand · retailer · agent (must present a credential).
  • Size on cleared rails — hundreds of substance rows, low thousands of presentations. The status table grows; the tool list does not.
§02 · THE TWENTY TOOLS

The twenty tools

  • Gate — called first; returns allow, deny or require_rx with a reason code
  • resolve_jurisdiction — Resolve the ship-to and the actor's jurisdiction to one of US, CA, MX, EU (member as parameter) or GB.
  • resolve_actor — Resolve the actor class: patient, prescriber, pharmacy or 503B, wholesaler, cosmetic brand, retailer, or agent (an agent must present a credential).
  • gate_transaction — Return allow, deny or require_rx for a substance or presentation, actor class, channel and ship-to, with the reason code and the rule-set version.
  • Regulatory truth — what the registers say, with the source page on every field
  • get_substance_record — One molecule: identifiers, sourced aliases, class, pathway rows per jurisdiction, enforcement events, safety references.
  • get_pathway_status — The status of a substance on one pathway in one jurisdiction, with effective date, rule-set version and source page.
  • get_compounding_eligibility — Whether a substance may be lawfully compounded in a jurisdiction, and under which list or standard.
  • get_label_and_indication — Label and indication for a licensed presentation only.
  • get_enforcement_watch — Dated enforcement events: warning letters, import alerts, shortage-list changes, committee votes, seizures, state notices.
  • Cleared catalogue — only what passed the gate
  • search_cleared_items — Search presentations that passed the gate for a jurisdiction, pathway and actor class.
  • get_item — One authorised presentation: brand, strength, form, route, device, pack, holder, status, offers.
  • compare_presentations — Compare two or more authorised presentations side by side.
  • Licensed supply — licensed parties only; tenant is a parameter, not a tool
  • find_licensed_supplier — Licensed parties for a presentation in a jurisdiction; tenant as a parameter.
  • get_availability — Availability of a presentation from a licensed party, after the gate.
  • get_price — Price basis (list, contract or reimbursement) from a licensed party, after the gate.
  • Quality — lawful lots and serialisation
  • get_lot_coa — Certificate of analysis for a lawful lot where the pathway permits.
  • verify_serialization — Verify a serialised pack against the serialisation regime of the jurisdiction.
  • Commerce — an order intent after the gate; the handoff to the counterparty agent
  • create_order_intent — Create an order intent for a cleared item; the intent carries the reason code and the rule-set version, and settles by x402.
  • a2a_handoff — Hand the order intent to the licensed counterparty's agent over Agent-to-Agent (A2A).
  • Operations — safety label and the audit line
  • get_safety_label — Safety label pointers for licensed products.
  • log_audit — Write the audit line for a gate decision or an order intent.

Version 1.1 is additive and capped at twenty-six: get_reimbursement, get_device_ifu, get_cold_chain, get_import_permit, get_advertising_claim_check, and record_adverse_event if pharmacovigilance intake lands. No shape change.

§03 · GATE ORDER

Gate order

resolve_jurisdiction → resolve_actor → gate_transaction. No price, availability, order or handoff tool answers before an ALLOW or REQUIRE_RX exists for the request. The reason code and the rule-set version are attached to every downstream receipt, including x402 settlement receipts.

  • Reason codes (frozen) — ALLOW · REQUIRE_RX · DENY_UNLICENSED_AGENT · DENY_ACTOR_CLASS · DENY_PATHWAY_NOT_CLEARED · DENY_JURISDICTION · DENY_STATE_OVERLAY · DENY_RUO · DENY_CONTROLLED · DENY_NO_SERIALIZATION · DENY_EXPIRED_LICENCE · DENY_CROSS_BORDER.
  • Rule form{substance_or_class, pathway, actor_class, channel (B2C|B2B|A2A), ship_to, result, reason_code, source_url, effective_date}.
  • Rule set{jurisdiction, version, effective_date, supersedes, rules[], source_urls[]}; a change on a register produces a new version with supersedes set; the old version stays readable.
  • Overlays — a federal pass is not a state or provincial pass; an overlay row can only tighten, never loosen.
§04 · RECORD PRIMITIVE

Record primitive

Every field on every record is {value, source_url, read_by, state}; a value with no source page does not exist on this graph. Counts are produced from records at request time, never typed.

  • Substance record — ids: inn · unii · cas · inci · sequence_hash; aliases[] sourced; class: peptide_drug · cosmetic_peptide · food_peptide · api_intermediate; pathway_rows[] one per (jurisdiction, pathway) with status, effective_date, rule_set_version, source_url, read_by, state; enforcement_events[]; safety_refs[] (licensed products only).
  • Presentation record — ids: gtin · ndc · din · registro sanitario · ma_number · pack id; holder (a supplier record id); jurisdiction, pathway, status; label_and_indication (licensed only); serialization; lots[] (lawful lots only, coa_url where the pathway permits); offers[] per tenant.
  • Supplier or tenant record — licences[] with number, issuer, expiry, source_url; jurisdictions_served[]; actor_class; agent_card_url; settlement pointer.
  • Status vocabulary (frozen) — approved_drug · 503A_listed · 503A_recommended_pending · 503B_listed · shortage_copy_ok · compounding_provincial_ok · magistral_ok · specials_only · cosmetic_ok · novel_food_ok · nhp_licensed · supplement_ok · prohibited · ruo_not_cleared · controlled_substance.
  • Reject class — ruo_not_cleared rows exist on the substance record so the gate can refuse with a reason code; no presentation, offer, lot or certificate of analysis is ever created for a reject-class item.
  • Showcase records — carry tenant_class: showcase and are excluded from every public count.
§05 · ON THE WIRE

On the wire

  • Transport — streamable-HTTP, stateless; server name a2a-peptides; endpoint https://mcp.a2a-peptides.ai/mcp.
  • Schemas — open (no additionalProperties:false), no oneOf, so the stock clients of the three major clouds attach without an adapter.
  • Headers — the GSC wire envelope on every response (x-gsc-node, x-gsc-card, x-gsc-trust-anchor, x-gsc-mcp, x-gsc-graph and the rest).
  • Signing — the Agent Card and records are signed ES256 under kid a2ap-2026-09; keyring https://a2a-peptides.ai/.well-known/jwks.json.
  • Metering and settlement — registry-truth tools metered by x402; create_order_intent settles by x402; receipts carry reason_code and rule_set_version.