{
  "code": null,
  "collection": "reasoning",
  "href": "https://banes-lab.com/ontology/reasoning#reasoning-invariant-epi-one-derivation",
  "id": "invariant-epi-one-derivation",
  "kind": "invariant",
  "layer": null,
  "name": "One Derivation",
  "ref": "reasoning:invariant-epi-one-derivation",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keyword-copy",
          "json": "https://banes-lab.com/json/records/pag/keyword-copy",
          "label": "COPY",
          "markdown": "https://banes-lab.com/records/pag/keyword-copy.md",
          "ref": "pag:keyword-copy"
        }
      ],
      "relation": "grounded-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/software-architecture#definitions-own-what",
          "json": "https://banes-lab.com/json/software-architecture/model/definitions-own-what",
          "label": "Definitions own what, code owns how",
          "markdown": "https://banes-lab.com/software-architecture/model/definitions-own-what.md",
          "ref": "chapter:/software-architecture#definitions-own-what"
        },
        {
          "href": "https://banes-lab.com/software-architecture/principles#the-canon-is-grouped-twice",
          "json": "https://banes-lab.com/json/software-architecture/principles/the-canon-is-grouped-twice",
          "label": "The canon is grouped twice",
          "markdown": "https://banes-lab.com/software-architecture/principles/the-canon-is-grouped-twice.md",
          "ref": "chapter:/software-architecture/principles#the-canon-is-grouped-twice"
        },
        {
          "href": "https://banes-lab.com/ontology/reasoning#the-failure-shapes",
          "json": "https://banes-lab.com/json/ontology/reasoning/the-failure-shapes",
          "label": "Failure shapes",
          "markdown": "https://banes-lab.com/ontology/reasoning/the-failure-shapes.md",
          "ref": "chapter:/ontology/reasoning#the-failure-shapes"
        },
        {
          "href": "https://banes-lab.com/ontology/grammar#pag-keywords-action",
          "json": "https://banes-lab.com/json/ontology/grammar/pag-keywords-action",
          "label": "action",
          "markdown": "https://banes-lab.com/ontology/grammar/pag-keywords-action.md",
          "ref": "chapter:/ontology/grammar#pag-keywords-action"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "One canonical question has one authoritative derivation",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology/reasoning#reasoning-invariant-epi-weakest-link",
      "json": "https://banes-lab.com/json/records/reasoning/invariant-epi-weakest-link",
      "label": "Weakest Link",
      "markdown": "https://banes-lab.com/records/reasoning/invariant-epi-weakest-link.md",
      "ref": "reasoning:invariant-epi-weakest-link"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology/reasoning#reasoning-invariant-epi-fresh-read",
      "json": "https://banes-lab.com/json/records/reasoning/invariant-epi-fresh-read",
      "label": "Fresh Read",
      "markdown": "https://banes-lab.com/records/reasoning/invariant-epi-fresh-read.md",
      "ref": "reasoning:invariant-epi-fresh-read"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/records/reasoning",
    "label": "Reasoning records",
    "markdown": "https://banes-lab.com/api/records/reasoning.md",
    "ref": "api:records/reasoning"
  }
}
