Adapter contract vs compiler (AINL)
- Compiler / ainl validate / ainl compile — graph shape, opcodes, strict policy, and manifest-declared adapter names and verb spellings the compiler knows about. Success means the IR is structurally valid for this toolch
Adapter contract vs compiler (AINL)
Two different “ok” signals
- Compiler /
ainl validate/ainl compile— graph shape, opcodes, strict policy, and manifest-declared adapter names and verb spellings the compiler knows about. Success means the IR is structurally valid for this toolchain, not that everyR adapter.VERBmatches a hand-written “how to call this HTTP endpoint” document. - Adapter contract (MCP) — human-oriented semantics: typical arguments, pitfalls, and links to
ainl://resources. The deterministic bundle is built fromtooling/ainl_get_started.py(ADAPTER_CONTRACTS) and is exposed asainl_adapter_contractandainl://adapter-contracts.
Versioned adapter_contract payload
The MCP ainl_adapter_contract tool returns a JSON object that includes:
schema_version— string (seeADAPTER_CONTRACT_PAYLOAD_SCHEMA_VERSIONintooling/ainl_get_started.py).adapter,status,summary— as before.verbs— per-verb entries where documented (per-adapter shape varies; see bundle).strict_valid_pointers(forhttp/fswhen applicable) — links into CIstrict-validand/or honest notes when no profiled example exists.runtime_registration— reminder of the MCPadaptersobject forainl_run.pitfalls— authoring mistakes.
ainl://adapter-contracts is a JSON object keyed by bundle name, same payloads.
Single source of truth for “what verbs exist at runtime”
- Full runtime catalog —
tooling/adapter_manifest.jsonandainl_capabilities(merged intostrict_summaryfor fast checks). - MCP / wizard bundle —
ADAPTER_CONTRACTSintooling/ainl_get_started.py(imported by the MCP server for hints). New verbs should appear in the manifest and, where agents need prose examples, inADAPTER_CONTRACTS— not only inAGENTS.mdprose.
Optional validate/compile warnings: contract_alignment
On successful ainl_validate / ainl_compile, the MCP server may add:
contract_alignment—schema_version,severity: "warning",items[]for http and fsRlines whose verb token is not inADAPTER_CONTRACTS. These are non-fatal: the runtime may have newer verbs; useainl_capabilitiesas the final arbiter.
Related
AGENTS.md(HTTPRline rules, queue, strict-valid lists).docs/EXAMPLE_SUPPORT_MATRIX.mdandtooling/artifact_profiles.jsonfor CIstrict-validpaths.