{
  "code": null,
  "collection": "architecture",
  "href": "https://banes-lab.com/ontology#architecture-carrier-and-payload-split",
  "id": "carrier-and-payload-split",
  "kind": "principle",
  "layer": {
    "href": "https://banes-lab.com/ontology/schema#layer-execution-core",
    "json": "https://banes-lab.com/json/records/layer/execution-core",
    "label": "Execution Core",
    "markdown": "https://banes-lab.com/records/layer/execution-core.md",
    "ref": "layer:execution-core"
  },
  "name": "Carrier and Payload Split",
  "ref": "architecture:carrier-and-payload-split",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-carrier-field",
          "json": "https://banes-lab.com/json/records/lexicon/carrier-field",
          "label": "Carrier Field",
          "markdown": "https://banes-lab.com/records/lexicon/carrier-field.md",
          "ref": "lexicon:carrier-field"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-payload-field",
          "json": "https://banes-lab.com/json/records/lexicon/payload-field",
          "label": "Payload Field",
          "markdown": "https://banes-lab.com/records/lexicon/payload-field.md",
          "ref": "lexicon:payload-field"
        }
      ],
      "relation": "requires"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-closed-vocabulary",
          "json": "https://banes-lab.com/json/records/architecture/closed-vocabulary",
          "label": "Closed Vocabulary",
          "markdown": "https://banes-lab.com/records/architecture/closed-vocabulary.md",
          "ref": "architecture:closed-vocabulary"
        }
      ],
      "relation": "reinforces"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-traceable-guarantee",
          "json": "https://banes-lab.com/json/records/lexicon/traceable-guarantee",
          "label": "Traceable Guarantee",
          "markdown": "https://banes-lab.com/records/lexicon/traceable-guarantee.md",
          "ref": "lexicon:traceable-guarantee"
        }
      ],
      "relation": "enables"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-prose-parsing-mechanism",
          "json": "https://banes-lab.com/json/records/lexicon/prose-parsing-mechanism",
          "label": "Prose-Parsing Mechanism",
          "markdown": "https://banes-lab.com/records/lexicon/prose-parsing-mechanism.md",
          "ref": "lexicon:prose-parsing-mechanism"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-restating-payload",
          "json": "https://banes-lab.com/json/records/lexicon/restating-payload",
          "label": "Restating Payload",
          "markdown": "https://banes-lab.com/records/lexicon/restating-payload.md",
          "ref": "lexicon:restating-payload"
        }
      ],
      "relation": "violated-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-type-the-carrier",
          "json": "https://banes-lab.com/json/records/lexicon/type-the-carrier",
          "label": "Type the Carrier",
          "markdown": "https://banes-lab.com/records/lexicon/type-the-carrier.md",
          "ref": "lexicon:type-the-carrier"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-leave-the-payload-prose",
          "json": "https://banes-lab.com/json/records/lexicon/leave-the-payload-prose",
          "label": "Leave the Payload Prose",
          "markdown": "https://banes-lab.com/records/lexicon/leave-the-payload-prose.md",
          "ref": "lexicon:leave-the-payload-prose"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-remove-the-restating-payload",
          "json": "https://banes-lab.com/json/records/lexicon/remove-the-restating-payload",
          "label": "Remove the Restating Payload",
          "markdown": "https://banes-lab.com/records/lexicon/remove-the-restating-payload.md",
          "ref": "lexicon:remove-the-restating-payload"
        }
      ],
      "relation": "refactored-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-severity-recommended",
          "json": "https://banes-lab.com/json/records/vocabulary/severity-recommended",
          "label": "recommended",
          "markdown": "https://banes-lab.com/records/vocabulary/severity-recommended.md",
          "ref": "vocabulary:severity-recommended"
        }
      ],
      "relation": "severity"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-category-coordination-surfaces",
          "json": "https://banes-lab.com/json/records/architecture-category/coordination-surfaces",
          "label": "Coordination Surfaces",
          "markdown": "https://banes-lab.com/records/architecture-category/coordination-surfaces.md",
          "ref": "architecture-category:coordination-surfaces"
        }
      ],
      "relation": "category"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-joinable-mandated-field",
          "json": "https://banes-lab.com/json/records/architecture/joinable-mandated-field",
          "label": "Joinable Mandated Field",
          "markdown": "https://banes-lab.com/records/architecture/joinable-mandated-field.md",
          "ref": "architecture:joinable-mandated-field"
        }
      ],
      "relation": "reinforced-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-category-coordination-surfaces",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-coordination-surfaces",
          "label": "Coordination Surfaces",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-coordination-surfaces.md",
          "ref": "chapter:/ontology#architecture-category-coordination-surfaces"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-taxonomy-classification-naming",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-taxonomy-classification-naming",
          "label": "Taxonomy / Classification / Naming",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-taxonomy-classification-naming.md",
          "ref": "chapter:/ontology#architecture-category-taxonomy-classification-naming"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-coordination-surfaces",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-coordination-surfaces",
          "label": "Coordination Surfaces",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-coordination-surfaces.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-coordination-surfaces"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-vocabulary-severity",
          "json": "https://banes-lab.com/json/ontology/schema/the-vocabulary-severity",
          "label": "Severity levels",
          "markdown": "https://banes-lab.com/ontology/schema/the-vocabulary-severity.md",
          "ref": "chapter:/ontology/schema#the-vocabulary-severity"
        }
      ],
      "relation": "linked-from"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/coordination#file-coordination-models-substrate-model-md",
          "json": "https://banes-lab.com/json/source/coordination/models/substrate.model.md",
          "label": "models/substrate.model.md",
          "markdown": "https://banes-lab.com/source/coordination/models/substrate.model.md.md",
          "ref": "anatomy:file-coordination-models-substrate-model-md"
        }
      ],
      "relation": "evidence"
    }
  ],
  "summary": "A design rule that a surface read through a tool types the fields a mechanism joins on and leaves the fields only a reader consumes as prose, deciding the line per field.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology#architecture-joinable-mandated-field",
      "json": "https://banes-lab.com/json/records/architecture/joinable-mandated-field",
      "label": "Joinable Mandated Field",
      "markdown": "https://banes-lab.com/records/architecture/joinable-mandated-field.md",
      "ref": "architecture:joinable-mandated-field"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology#architecture-state-arity-limit",
      "json": "https://banes-lab.com/json/records/architecture/state-arity-limit",
      "label": "State-Arity Limit",
      "markdown": "https://banes-lab.com/records/architecture/state-arity-limit.md",
      "ref": "architecture:state-arity-limit"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/records/architecture",
    "label": "Architecture principles",
    "markdown": "https://banes-lab.com/api/records/architecture.md",
    "ref": "api:records/architecture"
  },
  "aliases": [],
  "exemplar": {
    "after": "state: <closed value> as the carrier → reason: <prose> as the payload → the mechanism reads the key and never the sentence",
    "before": "a status sentence is parsed for the word done → a reader edits the sentence → the parse misreads it",
    "lang": "flow",
    "medium": "composite"
  },
  "formedBy": null,
  "scope": [
    "surface",
    "field"
  ],
  "severity": "recommended"
}
