{
  "package": "hyper-ontology/1",
  "designed_with": "Praxis",
  "implemented_with": "Hyper Ontology",
  "paper": {
    "title": "Silicon Ledger: Ontologies for Semiconductor Design From Specification to Tapeout in Saudi Arabia",
    "url": "https://codeatoms.ai/chip-design-ontology-saudi-arabia/",
    "doi": "10.5281/zenodo.23693146"
  },
  "sector": "semiconductors",
  "country": "Saudi Arabia",
  "scenario": "the operator is described by class, never by name: a fabless chip design company in Saudi Arabia with one design office and its own server room on its own premises, which designs silicon in vendor design tool suites, verifies through simulation and formal tools and hands tapeouts to an outside foundry",
  "source": "chapter 5 of the paper (the sixteen objects and their anchors in 5.1, the Verification check status ladder and the Specification section record in 5.3), the properties and the thirteen typed links of Figure 4, and the anchors and links of Table 8; the Design assumption and Waiver anchors follow Table 8 (Engineer-entered records); Engineer, Verification lead and Foundry handoff carry no anchor in the paper and are left empty.",
  "objects": [
    {
      "id": "specification-section",
      "label": "Specification section",
      "kind": "document",
      "anchored_in": "The shared drives for specifications",
      "properties": [
        "Section number",
        "Specification revision",
        "Source document and page",
        "Owning author",
        "Status"
      ],
      "status_vocabulary": [
        "Draft",
        "Released",
        "Superseded"
      ],
      "links": []
    },
    {
      "id": "requirement",
      "label": "Requirement",
      "kind": "record",
      "anchored_in": "The requirements site",
      "properties": [
        "Requirement id",
        "Section reference",
        "Requirement text"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "engineer",
          "label": "owned by"
        }
      ]
    },
    {
      "id": "design-block",
      "label": "Design block",
      "kind": "asset",
      "anchored_in": "The version control system",
      "properties": [
        "Block name",
        "RTL file paths",
        "Design revision"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "verification-check",
          "label": "verified by"
        },
        {
          "to": "engineer",
          "label": "implemented by"
        }
      ]
    },
    {
      "id": "interface",
      "label": "Interface",
      "kind": "asset",
      "anchored_in": "The version control system",
      "properties": [
        "Interface name",
        "Signal list",
        "Protocol"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "signal",
          "label": "lists"
        }
      ]
    },
    {
      "id": "signal",
      "label": "Signal",
      "kind": "asset",
      "anchored_in": "The version control system",
      "properties": [
        "Signal name",
        "Bit width",
        "Direction"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "interface",
          "label": "owned by"
        }
      ]
    },
    {
      "id": "design-assumption",
      "label": "Design assumption",
      "kind": "record",
      "anchored_in": "Engineer-entered records",
      "properties": [
        "Assumption text",
        "Rationale",
        "Source check or waiver"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "waiver",
          "label": "covered by"
        }
      ]
    },
    {
      "id": "verification-check",
      "label": "Verification check",
      "kind": "record",
      "anchored_in": "The version control system",
      "properties": [
        "Check id",
        "Assertion text",
        "Tool-neutral form"
      ],
      "status_vocabulary": [
        "Drafted",
        "Awaiting approval",
        "Approved",
        "In regression",
        "Failing",
        "Waived"
      ],
      "links": [
        {
          "to": "requirement",
          "label": "proves"
        }
      ]
    },
    {
      "id": "test",
      "label": "Test",
      "kind": "record",
      "anchored_in": "The version control system",
      "properties": [
        "Test name",
        "Regression suite",
        "Last result"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "verification-check",
          "label": "runs"
        }
      ]
    },
    {
      "id": "coverage-result",
      "label": "Coverage result",
      "kind": "measure",
      "anchored_in": "The simulation and regression environment",
      "properties": [
        "Metric",
        "Value",
        "Run id"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "design-block",
          "label": "measures"
        }
      ]
    },
    {
      "id": "bug",
      "label": "Bug",
      "kind": "record",
      "anchored_in": "The bug records",
      "properties": [
        "Bug id",
        "Severity",
        "Affected block"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "design-block",
          "label": "affects"
        }
      ]
    },
    {
      "id": "waiver",
      "label": "Waiver",
      "kind": "record",
      "anchored_in": "Engineer-entered records",
      "properties": [
        "Waiver id",
        "Justification",
        "Approver"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "requirement",
          "label": "justifies"
        }
      ]
    },
    {
      "id": "design-revision",
      "label": "Design revision",
      "kind": "event",
      "anchored_in": "The version control system",
      "properties": [
        "Revision id",
        "Date",
        "Committed files"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "engineer",
      "label": "Engineer",
      "kind": "actor",
      "anchored_in": "",
      "properties": [
        "Name",
        "Role",
        "Owned blocks"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "verification-lead",
      "label": "Verification lead",
      "kind": "actor",
      "anchored_in": "",
      "properties": [
        "Approval queue",
        "Approval authority",
        "Command centre"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "expert-lesson",
      "label": "Expert lesson",
      "kind": "record",
      "anchored_in": "A kept record of decisions and outcomes that the next decision reads",
      "properties": [
        "Lesson text",
        "Source check or waiver",
        "Project"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "waiver",
          "label": "cites"
        }
      ]
    },
    {
      "id": "foundry-handoff",
      "label": "Foundry handoff",
      "kind": "event",
      "anchored_in": "",
      "properties": [
        "Tapeout revision",
        "Foundry",
        "Delivery date"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "design-block",
          "label": "includes"
        }
      ]
    }
  ],
  "write_paths": [
    "the adapter tier (one integration adapter family, read only against the five sources, stamping every fact with the tool, file and revision it came from)",
    "the approval-gated path into version control, through which the verification lead admits every drafted tool-neutral assertion into the regression",
    "the surfaces used by named engineers and the verification lead (Keycloak identities): requirement confirmations, approvals, waivers and expert lessons"
  ],
  "human_loop": "agents draft and engineers decide: an engineer confirms each requirement the spec agent extracts before it is used, the verification lead approves every drafted check before it enters the regression, and an approval queue older than five working days escalates to the senior verification expert"
}