{
  "id": "keywords/interface",
  "mentions": [
    {
      "context": "The page of an interface whose contract the build imported. Same shell as the entity page, laid out at the grain an interface is worked at: its operations. The …",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 7,
      "surface": "interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The versioned interface through which a plugin contributes to the tool: readers for file formats, converters, sources of entities such as contract importers, in…",
      "file": {
        "href": "../../specs/api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../specs/api/plugin-api/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "interface",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "Contract unreachable. The page of an interface whose declared contract the build could not read, the finding unreachable contract recorded for it, keeps the gen…",
      "file": {
        "href": "../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../specs/screens/pages/edge-cases/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "passages": 2,
      "surface": "interface",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… collation of its indexes; the locale of the project is the language of the interface, whose labels come from a message catalogue per locale, and the default lo…",
      "file": {
        "href": "../../glossary/ingestion/configuration/locale/index.html",
        "label": "ingestion/configuration/locale.md"
      },
      "href": "../../glossary/ingestion/configuration/locale/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "interface",
      "title": "Locale",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n declares it: its name, shown in the site; its locale, the language of the interface and the default locale of the sources; its theme, the theme file relative …",
      "file": {
        "href": "../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "../../glossary/ingestion/configuration/project/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "interface",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "An entity of type api: an interface another system calls, with its protocol, its exposure, its version, its consumers and the objects it gives access to, and th…",
      "file": {
        "href": "../../glossary/ingestion/typing/api/index.html",
        "label": "ingestion/typing/api.md"
      },
      "href": "../../glossary/ingestion/typing/api/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "interface",
      "title": "API",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…the build imported. Same shell as the entity page, laid out at the grain an interface is worked at: its operations. The tree lists them under the interface, a t…",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 7,
      "surface": "interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…in an interface is worked at: its operations. The tree lists them under the interface, a table matches them to the contract and states the gaps between the cont…",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 7,
      "surface": "interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ons of the entity page. On the left, the tree of the space with the current interface ruled and bold and its operations listed under it, in the order of the con…",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 7,
      "surface": "interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "\"Interface contract\" follows as a card: on its first line the format the import recorded (openapi 3.1, wsdl 1.1), the file the note names and, at its end, \"impo…",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 7,
      "surface": "Interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…irst whatever their passage count, since the notes describing them name the interface at the top of their file, then the other pages by number of passages, and …",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 7,
      "surface": "interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…their file, then the other pages by number of passages, and the note \"On an interface the operations rise to the top: that is the grain we work at.\" Last, the n…",
      "file": {
        "href": "../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../specs/screens/pages/api-page/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 7,
      "surface": "interface",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…es such as contract importers, inference methods, checks, projections, user interface components, themes and types, each type a module folder merged into the pr…",
      "file": {
        "href": "../../specs/api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../specs/api/plugin-api/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "interface",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…age and says so under its title with the same notice: \"The contract of this interface could not be read.\", \"The note stands on its own meanwhile: its text and t…",
      "file": {
        "href": "../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../specs/screens/pages/edge-cases/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "passages": 2,
      "surface": "interface",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…cale>.json with the labels of the type, its attributes and its sections per interface language, template.md with its note template, and optionally schema.json f…",
      "file": {
        "href": "../../glossary/ingestion/typing/type-module/index.html",
        "label": "ingestion/typing/type-module.md"
      },
      "href": "../../glossary/ingestion/typing/type-module/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "interface",
      "title": "Type module",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… as a contract importer, an inference method, a check, a projection, a user interface component. The core reads markdown and produces JSON; everything that need…",
      "file": {
        "href": "../../glossary/quality/plugins/plugin/index.html",
        "label": "quality/plugins/plugin.md"
      },
      "href": "../../glossary/quality/plugins/plugin/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "interface",
      "title": "Plugin",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The file is the interface between the build and everything after it: the rendering, the linter in global scope, which fetches the published model of the wiki wi…",
      "file": {
        "href": "../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../specs/api/canonical-model/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "surface": "interface",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…der that carries everything the type needs: its declaration, its labels per interface language, its note template and, when the generic page is not enough, the …",
      "file": {
        "href": "../../specs/decisions/inference/types-as-modules/index.html",
        "label": "decisions/inference/types-as-modules.md"
      },
      "href": "../../specs/decisions/inference/types-as-modules/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "interface",
      "title": "Types as modules",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "The viewer is an island of the default theme, the first user interface component it contributes through the plugin API, and reads a view the build writes from t…",
      "file": {
        "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "surface": "interface",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Give the interface its labels: the site takes every label from a message catalogue per locale; a locale without one falls back to English until the catalogue ex…",
      "file": {
        "href": "../../specs/processes/ingestion/adding-a-language-pack/index.html",
        "label": "processes/ingestion/adding-a-language-pack.md"
      },
      "href": "../../specs/processes/ingestion/adding-a-language-pack/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "interface",
      "title": "Adding a language pack",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…tions table of the page and before the path of the file, under the heading \"Interface contract\". Its first line gives the format the import recorded (openapi 3.…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "surface": "Interface",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
