{
  "code": null,
  "collection": "architecture",
  "href": "https://banes-lab.com/ontology#architecture-verification",
  "id": "verification",
  "kind": "activity",
  "layer": {
    "href": "https://banes-lab.com/ontology/schema#layer-computation-core",
    "json": "https://banes-lab.com/json/records/layer/computation-core",
    "label": "Computation Core",
    "markdown": "https://banes-lab.com/records/layer/computation-core.md",
    "ref": "layer:computation-core"
  },
  "name": "Verification",
  "ref": "architecture:verification",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-specification",
          "json": "https://banes-lab.com/json/records/lexicon/specification",
          "label": "Specification",
          "markdown": "https://banes-lab.com/records/lexicon/specification.md",
          "ref": "lexicon:specification"
        }
      ],
      "relation": "requires"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-correctness",
          "json": "https://banes-lab.com/json/records/architecture/correctness",
          "label": "Correctness",
          "markdown": "https://banes-lab.com/records/architecture/correctness.md",
          "ref": "architecture:correctness"
        }
      ],
      "relation": "reinforces"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-specification-compliance",
          "json": "https://banes-lab.com/json/records/lexicon/specification-compliance",
          "label": "Specification Compliance",
          "markdown": "https://banes-lab.com/records/lexicon/specification-compliance.md",
          "ref": "lexicon:specification-compliance"
        }
      ],
      "relation": "enables"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-untested-implementation",
          "json": "https://banes-lab.com/json/records/lexicon/untested-implementation",
          "label": "Untested Implementation",
          "markdown": "https://banes-lab.com/records/lexicon/untested-implementation.md",
          "ref": "lexicon:untested-implementation"
        }
      ],
      "relation": "conflicts-with"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-cost",
          "json": "https://banes-lab.com/json/records/lexicon/cost",
          "label": "Cost",
          "markdown": "https://banes-lab.com/records/lexicon/cost.md",
          "ref": "lexicon:cost"
        }
      ],
      "relation": "tensions-with"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#tension-cost-verification",
          "json": "https://banes-lab.com/json/records/tension/cost-verification",
          "label": "Verification / Cost",
          "markdown": "https://banes-lab.com/records/tension/cost-verification.md",
          "ref": "tension:cost-verification"
        }
      ],
      "relation": "tensions"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-codebase-verification-kernel",
          "json": "https://banes-lab.com/json/records/algorithms/codebase-verification-kernel",
          "label": "Codebase Verification Kernel",
          "markdown": "https://banes-lab.com/records/algorithms/codebase-verification-kernel.md",
          "ref": "algorithms:codebase-verification-kernel"
        }
      ],
      "relation": "contracts"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-untested-implementation",
          "json": "https://banes-lab.com/json/records/lexicon/untested-implementation",
          "label": "Untested Implementation",
          "markdown": "https://banes-lab.com/records/lexicon/untested-implementation.md",
          "ref": "lexicon:untested-implementation"
        }
      ],
      "relation": "violated-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-unit-tests",
          "json": "https://banes-lab.com/json/records/lexicon/unit-tests",
          "label": "Unit Tests",
          "markdown": "https://banes-lab.com/records/lexicon/unit-tests.md",
          "ref": "lexicon:unit-tests"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-static-analysis",
          "json": "https://banes-lab.com/json/records/architecture/static-analysis",
          "label": "Static Analysis",
          "markdown": "https://banes-lab.com/records/architecture/static-analysis.md",
          "ref": "architecture:static-analysis"
        }
      ],
      "relation": "refactored-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/schema#vocabulary-severity-mandatory",
          "json": "https://banes-lab.com/json/records/vocabulary/severity-mandatory",
          "label": "mandatory",
          "markdown": "https://banes-lab.com/records/vocabulary/severity-mandatory.md",
          "ref": "vocabulary:severity-mandatory"
        }
      ],
      "relation": "severity"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-category-correctness-determinism-verification",
          "json": "https://banes-lab.com/json/records/architecture-category/correctness-determinism-verification",
          "label": "Correctness / Determinism / Verification",
          "markdown": "https://banes-lab.com/records/architecture-category/correctness-determinism-verification.md",
          "ref": "architecture-category:correctness-determinism-verification"
        }
      ],
      "relation": "category"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology/reasoning#reasoning-axis-verification",
          "json": "https://banes-lab.com/json/records/reasoning/axis-verification",
          "label": "Verification",
          "markdown": "https://banes-lab.com/records/reasoning/axis-verification.md",
          "ref": "reasoning:axis-verification"
        }
      ],
      "relation": "concept"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/ontology#architecture-repeatability",
          "json": "https://banes-lab.com/json/records/architecture/repeatability",
          "label": "Repeatability",
          "markdown": "https://banes-lab.com/records/architecture/repeatability.md",
          "ref": "architecture:repeatability"
        }
      ],
      "relation": "reinforced-by"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/pag#pag-and-the-method",
          "json": "https://banes-lab.com/json/pag/introduction/pag-and-the-method",
          "label": "PAG and the method",
          "markdown": "https://banes-lab.com/pag/introduction/pag-and-the-method.md",
          "ref": "chapter:/pag#pag-and-the-method"
        },
        {
          "href": "https://banes-lab.com/pag/guide#document-structure",
          "json": "https://banes-lab.com/json/pag/guide/document-structure",
          "label": "Document structure",
          "markdown": "https://banes-lab.com/pag/guide/document-structure.md",
          "ref": "chapter:/pag/guide#document-structure"
        },
        {
          "href": "https://banes-lab.com/pag/orchestration#phase-binding",
          "json": "https://banes-lab.com/json/pag/orchestration/phase-binding",
          "label": "Phase binding",
          "markdown": "https://banes-lab.com/pag/orchestration/phase-binding.md",
          "ref": "chapter:/pag/orchestration#phase-binding"
        },
        {
          "href": "https://banes-lab.com/pag/patterns#instruction-patterns",
          "json": "https://banes-lab.com/json/pag/patterns/instruction-patterns",
          "label": "Instruction patterns",
          "markdown": "https://banes-lab.com/pag/patterns/instruction-patterns.md",
          "ref": "chapter:/pag/patterns#instruction-patterns"
        },
        {
          "href": "https://banes-lab.com/pag/patterns#intent-to-structure",
          "json": "https://banes-lab.com/json/pag/patterns/intent-to-structure",
          "label": "From intent to structure",
          "markdown": "https://banes-lab.com/pag/patterns/intent-to-structure.md",
          "ref": "chapter:/pag/patterns#intent-to-structure"
        },
        {
          "href": "https://banes-lab.com/pag/patterns#genesis-stages",
          "json": "https://banes-lab.com/json/pag/patterns/genesis-stages",
          "label": "Genesis stages",
          "markdown": "https://banes-lab.com/pag/patterns/genesis-stages.md",
          "ref": "chapter:/pag/patterns#genesis-stages"
        },
        {
          "href": "https://banes-lab.com/pag/templates#templates-planning",
          "json": "https://banes-lab.com/json/pag/templates/templates-planning",
          "label": "Planning templates",
          "markdown": "https://banes-lab.com/pag/templates/templates-planning.md",
          "ref": "chapter:/pag/templates#templates-planning"
        },
        {
          "href": "https://banes-lab.com/pag/templates#templates-agents",
          "json": "https://banes-lab.com/json/pag/templates/templates-agents",
          "label": "Agent templates",
          "markdown": "https://banes-lab.com/pag/templates/templates-agents.md",
          "ref": "chapter:/pag/templates#templates-agents"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology#the-stance",
          "json": "https://banes-lab.com/json/disciplined-methodology/start/the-stance",
          "label": "The stance",
          "markdown": "https://banes-lab.com/disciplined-methodology/start/the-stance.md",
          "ref": "chapter:/disciplined-methodology#the-stance"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology#adversarial-by-default",
          "json": "https://banes-lab.com/json/disciplined-methodology/start/adversarial-by-default",
          "label": "Adversarial by default",
          "markdown": "https://banes-lab.com/disciplined-methodology/start/adversarial-by-default.md",
          "ref": "chapter:/disciplined-methodology#adversarial-by-default"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology#resolving-a-message",
          "json": "https://banes-lab.com/json/disciplined-methodology/start/resolving-a-message",
          "label": "Resolving a message",
          "markdown": "https://banes-lab.com/disciplined-methodology/start/resolving-a-message.md",
          "ref": "chapter:/disciplined-methodology#resolving-a-message"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/plan#execute-the-template",
          "json": "https://banes-lab.com/json/disciplined-methodology/plan/execute-the-template",
          "label": "Execute the template",
          "markdown": "https://banes-lab.com/disciplined-methodology/plan/execute-the-template.md",
          "ref": "chapter:/disciplined-methodology/plan#execute-the-template"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/build#one-home",
          "json": "https://banes-lab.com/json/disciplined-methodology/build/one-home",
          "label": "One home",
          "markdown": "https://banes-lab.com/disciplined-methodology/build/one-home.md",
          "ref": "chapter:/disciplined-methodology/build#one-home"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/verify#it-looked-right",
          "json": "https://banes-lab.com/json/disciplined-methodology/verify/it-looked-right",
          "label": "It looked right",
          "markdown": "https://banes-lab.com/disciplined-methodology/verify/it-looked-right.md",
          "ref": "chapter:/disciplined-methodology/verify#it-looked-right"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/verify#verify-the-verifier",
          "json": "https://banes-lab.com/json/disciplined-methodology/verify/verify-the-verifier",
          "label": "Verify the verifier",
          "markdown": "https://banes-lab.com/disciplined-methodology/verify/verify-the-verifier.md",
          "ref": "chapter:/disciplined-methodology/verify#verify-the-verifier"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/verify#a-report-not-a-checkbox",
          "json": "https://banes-lab.com/json/disciplined-methodology/verify/a-report-not-a-checkbox",
          "label": "A report, not a checkbox",
          "markdown": "https://banes-lab.com/disciplined-methodology/verify/a-report-not-a-checkbox.md",
          "ref": "chapter:/disciplined-methodology/verify#a-report-not-a-checkbox"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/verify#moves-and-renames",
          "json": "https://banes-lab.com/json/disciplined-methodology/verify/moves-and-renames",
          "label": "Moves and renames",
          "markdown": "https://banes-lab.com/disciplined-methodology/verify/moves-and-renames.md",
          "ref": "chapter:/disciplined-methodology/verify#moves-and-renames"
        },
        {
          "href": "https://banes-lab.com/disciplined-methodology/ship#one-chain",
          "json": "https://banes-lab.com/json/disciplined-methodology/ship/one-chain",
          "label": "One chain",
          "markdown": "https://banes-lab.com/disciplined-methodology/ship/one-chain.md",
          "ref": "chapter:/disciplined-methodology/ship#one-chain"
        },
        {
          "href": "https://banes-lab.com/software-architecture/principles#computation-and-resource",
          "json": "https://banes-lab.com/json/software-architecture/principles/computation-and-resource",
          "label": "Computation and resource",
          "markdown": "https://banes-lab.com/software-architecture/principles/computation-and-resource.md",
          "ref": "chapter:/software-architecture/principles#computation-and-resource"
        },
        {
          "href": "https://banes-lab.com/ontology#architecture-category-correctness-determinism-verification",
          "json": "https://banes-lab.com/json/ontology/principles/architecture-category-correctness-determinism-verification",
          "label": "Correctness / Determinism / Verification",
          "markdown": "https://banes-lab.com/ontology/principles/architecture-category-correctness-determinism-verification.md",
          "ref": "chapter:/ontology#architecture-category-correctness-determinism-verification"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-core-vocabulary",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-core-vocabulary",
          "label": "Core Vocabulary",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-core-vocabulary"
        },
        {
          "href": "https://banes-lab.com/ontology/lexicon#lexicon-category-correctness-determinism-verification",
          "json": "https://banes-lab.com/json/ontology/lexicon/lexicon-category-correctness-determinism-verification",
          "label": "Correctness / Determinism / Verification",
          "markdown": "https://banes-lab.com/ontology/lexicon/lexicon-category-correctness-determinism-verification.md",
          "ref": "chapter:/ontology/lexicon#lexicon-category-correctness-determinism-verification"
        },
        {
          "href": "https://banes-lab.com/ontology/algorithms#algorithms-domain-codebase-verification",
          "json": "https://banes-lab.com/json/ontology/algorithms/algorithms-domain-codebase-verification",
          "label": "Codebase verification",
          "markdown": "https://banes-lab.com/ontology/algorithms/algorithms-domain-codebase-verification.md",
          "ref": "chapter:/ontology/algorithms#algorithms-domain-codebase-verification"
        },
        {
          "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"
        },
        {
          "href": "https://banes-lab.com/ontology/schema#the-resolutions",
          "json": "https://banes-lab.com/json/ontology/schema/the-resolutions",
          "label": "The resolutions",
          "markdown": "https://banes-lab.com/ontology/schema/the-resolutions.md",
          "ref": "chapter:/ontology/schema#the-resolutions"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "summary": "The activity of checking that an implementation conforms to its specification.",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/ontology#architecture-portability",
      "json": "https://banes-lab.com/json/records/architecture/portability",
      "label": "Portability",
      "markdown": "https://banes-lab.com/records/architecture/portability.md",
      "ref": "architecture:portability"
    },
    "previous": {
      "href": "https://banes-lab.com/ontology#architecture-validation",
      "json": "https://banes-lab.com/json/records/architecture/validation",
      "label": "Validation",
      "markdown": "https://banes-lab.com/records/architecture/validation.md",
      "ref": "architecture:validation"
    }
  },
  "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": "await fooStore.save(foo);\nconst persisted = await fooStore.find(foo.id);\nif (!persisted || persisted.version !== foo.version) throw new Error(\"verification failed\");\nreturn { ok: true } as const;",
    "before": "await fooStore.save(foo);\nreturn { ok: true };",
    "lang": "ts",
    "medium": "code"
  },
  "formedBy": null,
  "scope": [
    "implementation",
    "system"
  ],
  "severity": "mandatory"
}
