Wetware World

Format reference

Provenance

Source material, passage, lot, custody and lineage. The chain a package carries from a cell bank through build conditions to a measured result, and the codes that refuse a broken link.

Vocabularies
6
Biology keys
14
Realization schemes
6
Diagnostics
22

Definition

A WWD package carries the material chain of the thing it describes. A living component MUST identify source taxon using an NCBITaxon IRI and MUST identify each declared cell type using a Cell Ontology IRI when an applicable CL term exists, an anatomical origin SHOULD use an UBERON IRI, and a named established cell line MUST use a Cellosaurus accession with the Cellosaurus release pinned. A primary, donor-derived or novel line absent from Cellosaurus MUST use CL plus NCBITaxon and MUST identify the derivation source and provenance. Passage number and population doublings SHOULD be recorded when scientifically applicable. Every declared biological population MUST declare custody, and a population held under producer_supplied custody SHOULD declare commercial_derivative_rights. Silence is not permission: a consumer MUST NOT infer any right from the absence of a licensing declaration. Every realization MUST have an identifier, MUST declare its identifier scheme and MUST reference the exact component design revision realized, and WWD provenance MUST be representable as a directed graph of entities, activities and agents.

A WWD package states what the material is, where it came from, who holds it, what was done to it, and which physical unit the numbers were read from. Biological identity sits on the component in the design document. Custody and rights sit on the same population. The lot, the build conditions and the lineage sit in the results document.

This page covers the material chain. The provenance classes carried on each value, designed, simulated, measured, inferred and assumed, are read at as-built.

The biology block

What a living component declares about its population.

A component SHOULD declare biological identity when it contains living biological material. A component of kind scaffold or device MUST NOT declare biological identity. A biological identity assertion MUST distinguish taxonomic identity, cell type, anatomical origin, line identity, genotype or construct, and phenotypic state, and these dimensions MUST NOT be collapsed into one free-text label. Free text MAY supplement but MUST NOT replace required identifiers.

biology[] keys in the reference schema
Key Status Contents
rolerequiredprimary, support, structural, innervating, endothelial, immune, other. primary is the population that delivers the specified function.
speciesrequiredAn NCBITaxon CURIE. NCBITaxon:9606 in both as-built examples.
cell_typerequiredA Cell Ontology CURIE, required when an applicable CL term exists. CL:0000515 skeletal muscle myoblast, CL:0000679 glutamatergic neuron, CL:0000127 astrocyte.
anatomical_originoptionalAn UBERON IRI for the anatomical origin of the tissue or cell source.
cell_lineoptionalAn object carrying accession, rrid and cellosaurus_release. The accession pattern is CVCL_ followed by four or more upper-case alphanumerics, and the RRID pattern is RRID: prefixed to the same.
derivationoptionalprimary, ipsc_derived, esc_derived, immortalized_line, direct_reprogrammed, explant.
differentiationoptionalAn object with method, driver_genes, protocol_ref and sbol_ref. Method is one of small_molecule, transcription_factor, growth_factor, co_culture, spontaneous, proprietary.
passage_numberoptionalA quantity. Passage number and population doublings SHOULD be recorded when scientifically applicable.
fractionoptionalA number between zero and one, for the share of this population in a co-culture.
custodyrequired by section 13.1producer_supplied, customer_supplied, third_party_supplied. The schema default is producer_supplied.
custody_refrequired when custody is customer_suppliedThe customer licence, MTA or consignment reference the producer relies on.
licensingSHOULD, under producer_supplied custodyAn object with commercial_derivative_rights, use_restriction and agreement_ref.
causal_rolerequiredThe second axis every scientific assertion carries. Both example populations declare context.
provenancerequireddesigned, simulated, measured, inferred or assumed. Both example populations declare designed.
the primary populationmuscle-strip-asbuilt.wwd
{
  "role": "primary",
  "species": { "id": "NCBITaxon:9606", "label": "Homo sapiens" },
  "cell_type": { "id": "CL:0000515", "label": "skeletal muscle myoblast" },
  "derivation": "primary",
  "causal_role": "context",
  "provenance": "designed"
}

One population on component/muscle-strip, kind contractile_tissue. Taxon, cell type, derivation, causal role and provenance. No licensing block, which is the DFM-012 trigger below.

the support populationneurontile-asbuilt.wwd
{
  "role": "support",
  "species": { "id": "NCBITaxon:9606", "label": "Homo sapiens" },
  "cell_type": { "id": "CL:0000127", "label": "astrocyte" },
  "derivation": "ipsc_derived",
  "causal_role": "context",
  "provenance": "designed"
}

The second population on component/neuron-tile. Role support sustains the primary population. Both populations carry causal role context and provenance designed.

the primary populationneurontile-asbuilt.wwd
{
  "role": "primary",
  "species": { "id": "NCBITaxon:9606", "label": "Homo sapiens" },
  "cell_type": { "id": "CL:0000679", "label": "glutamatergic neuron" },
  "derivation": "ipsc_derived",
  "differentiation": {
    "method": "transcription_factor",
    "driver_genes": ["NEUROG2"]
  },
  "licensing": {
    "commercial_derivative_rights": "unknown",
    "use_restriction": "unspecified",
    "agreement_ref": "GATING ITEM: see NEURONTILE-PRODUCT-SPEC.md 5 Q1"
  },
  "causal_role": "context",
  "provenance": "designed"
}

An iPSC-derived glutamatergic neuron population, differentiated by transcription factor with driver gene NEUROG2, carrying a licensing block whose commercial derivative rights are unknown and whose agreement reference names the open question rather than an executed agreement.

Delegated vocabularies

Reference, never restate.

Section 13 vocabularies
Vocabulary Prefix Covers Rule In the examples
NCBI Taxonomy NCBITaxon Source taxon A living component MUST identify source taxon using an NCBITaxon IRI. NCBITaxon:9606
Cell Ontology CL Declared cell type A living component MUST identify each declared cell type using a Cell Ontology IRI when an applicable CL term exists. CL:0000679
UBERON UBERON Anatomical origin An anatomical origin SHOULD use an UBERON IRI. An anatomical interpretation, when needed, MUST be an explicit annotation using UBERON or a domain profile. declared per package
Cellosaurus CVCL Named established cell line A named established cell line MUST use a Cellosaurus accession, SHOULD also carry an RRID of the form RRID:CVCL_..., and a package MUST pin the Cellosaurus release used for resolution. CVCL_1E52
ChEBI CHEBI Small molecules, medium components, metabolites, drugs, cryoprotectants A small molecule, medium component, metabolite, drug, cryoprotectant or biochemical SHOULD use a ChEBI IRI when applicable. declared per package
SBOL 3 SBOL Genetic constructs A genetic construct SHOULD be referenced through an SBOL 3 document or stable SBOL identity, and WWD MUST NOT duplicate SBOL sequence, feature, interaction or construct semantics. sbol_ref on differentiation

A package MUST declare each ontology source by name, authoritative URI, and version or release. A consumer MUST NOT silently substitute a different ontology release. A consumer lacking the pinned release MAY resolve the persistent IRI using another release only for display and MUST warn that validation used a different release. Ontology deprecation MUST NOT silently change a file recorded meaning.

Source material

Where the cells came from, and which slot carries it.

Identifying the source
Case Slot Rule Constraint
A named established linebiology.cell_lineMUST use a Cellosaurus accession. SHOULD also carry an RRID of the form RRID:CVCL_... . The package MUST pin the Cellosaurus release used for resolution.Identity in Cellosaurus does not imply commercial rights.
A primary, donor-derived or novel line absent from Cellosaurusbiology.cell_type, biology.species, lineage graphMUST use CL plus NCBITaxon and MUST identify the derivation source and provenance.Donor-sensitive identifiers MUST be represented by access-controlled or pseudonymous references consistent with applicable governance.
The line a lot was actually built fromresults.context, wwd:source_lineCarried as a context observation on the results document. neurontile-asbuilt.wwd records CVCL_1E52, causal role context, provenance measured.A context quantity is observed and not chosen by the producer.
The donor behind a primary populationresults.context, wwd:donor_idA pseudonymous donor identifier. muscle-strip-asbuilt.wwd records donor-7.MUST NOT carry direct personal identifiers. WWD MUST NOT require direct personal identifiers.
Derivation, a closed Core vocabulary
Value Meaning Where it appears
primaryIsolated directly from a donor or animal.muscle-strip-asbuilt.wwd, skeletal muscle myoblast
ipsc_derivedDifferentiated from induced pluripotent stem cells.neurontile-asbuilt.wwd, both populations
esc_derivedDifferentiated from embryonic stem cells.-
immortalized_lineAn established proliferating line.-
direct_reprogrammedConverted between somatic fates without a pluripotent intermediate.-
explantTissue maintained ex vivo.-

Derivation is normative rather than descriptive: it determines which licensing regime applies and which senescence limits are meaningful. A named differentiation method of proprietary MUST NOT be used to avoid disclosing a method that the acceptance criteria depend upon.

results contextneurontile-asbuilt.wwd
[
  {
    "property": "wwd:source_line",
    "value": "CVCL_1E52",
    "causal_role": "context",
    "provenance": "measured"
  },
  {
    "property": "wwd:days_in_vitro",
    "value": "28 1",
    "causal_role": "context",
    "provenance": "measured"
  }
]

The line the lot was built from and the culture clock, both carried as context observations with provenance measured. A context quantity is observed and not chosen by the producer.

Passage

What the format allows to be stated about proliferation history.

Passage number and population doublings SHOULD be recorded when scientifically applicable. Differentiation and maturation state SHOULD identify protocol, elapsed time, stimulation regime, and objective markers. The population history sits in two places: as biology.passage_number on the design population, and as a registered context property in the results document of a built lot. muscle-strip-asbuilt.wwd records wwd:passage_number with value 6 1 and wwd:donor_id with value donor-7.

Core registry terms for population history
Term Quantity kind Unit Causal class Domain Definition
wwd:passage_number count 1 context 0 to 200 Number of passages a population has undergone on receipt.
wwd:population_doublings count 1 context 0 to 500 Cumulative population doublings a population has undergone. A passage is an operation, a doubling is a quantity of proliferation, and the Hayflick limit is stated in doublings.
wwd:days_in_vitro time d context 0 and above Days elapsed since plating or seeding, the conventional developmental clock for cultures.
wwd:donor_id categorical 1 context categorical Pseudonymous donor identifier. MUST NOT carry direct personal identifiers.

A domain states what is impossible, not what is unusual. The stated domain note for wwd:passage_number is that the value is non-negative and that 200 is far beyond the Hayflick limit of any primary line. Whether a passage is workable for a given design is a design rule, and DFM-008 answers it advisorily.

Custody and commercial rights

Identity does not imply permission.

A component may be perfectly identified, fully characterised, and still be unlawful to sell. WWD treats custody and rights as facts about a biological population carried in the file. Custody determines whose licence governs the work: where a producer never takes title to the input material, the transaction is a service performed on the customer material and the producer own resale rights are not engaged.

Custody
Value Posture Obligation
producer_suppliedThe producer supplies the material and their own resale rights are engaged.SHOULD declare commercial_derivative_rights.
customer_suppliedThe producer never takes title. The transaction is a service performed on the customer material.MUST identify the agreement it is held under. A producer that names no such agreement is asserting a defence it cannot identify, and a conforming validator MUST reject the package.
third_party_suppliedThe material comes from a third party.Declared on the population like any other custody value.
commercial_derivative_rights, and what the validator reports
Value Meaning Finding
permittedDerivatives may be exploited commercially.No DFM-012 finding.
prohibitedThe component cannot be sold, only used internally.DFM-012, ERROR.
service_onlyMaterial that may be processed on a customer behalf but not resold.DFM-012, WARNING.
requires_licenseA commercial licence must be in place before shipping.DFM-012, WARNING, remedy attach the executed agreement reference to licensing.agreement_ref.
unknownA conforming value. It MUST NOT be treated as equivalent to permission.DFM-012, WARNING.
no licensing blockSilence. A consumer MUST NOT infer any right from the absence of a licensing declaration.DFM-012, WARNING, undeclared rights.

The rule that fires on an absent block is DFM-012 at WARNING severity, reporting that the population declares no licensing block and that commercial derivative rights are undeclared. Its remedy is to add biology[].licensing with commercial_derivative_rights. use_restriction is a separate closed vocabulary of research_use_only, commercial, clinical and unspecified, and a population marked research_use_only MUST NOT be presented as a commercially saleable component.

Lot and realization

What ties a physical unit to a design revision.

A realization identifies a physical specimen, unit, batch or lot. Every realization MUST have an identifier and MUST reference the exact component design revision realized, and it MUST declare which identifier scheme its identifier belongs to, because an opaque string is not resolvable and a lot number is only unique within the facility that issued it. A realization SHOULD identify lot, batch, specimen, serial or donation schemes as applicable.

the realizationneurontile-asbuilt.wwd
{
  "id": "lot/NT-2026-0007",
  "scheme": "local",
  "design_revision": "0.4.0",
  "manufactured": "a date"
}

Lot NT-2026-0007 under the local scheme, pinned to design revision 0.4.0. The design document carried in the same package is at that revision. The manufactured value is a date and is elided here.

The realization is the join between the design side and the measured side. Acceptance criteria belong to the design. Measured results belong to identified realizations. Every measured result MUST identify the realization or specimens observed and MUST reference exactly one acceptance criterion UUID that resolves within the package design context.

A component MUST NOT be both a design definition and a physical realization under one identifier. Where a lot record and a lineage graph disagree about order, the graph is checked against time: a realization MUST NOT be dated before the activities in its own lineage.

Core realization identifier schemes
Scheme Definition In the examples, or the code
localUnique only within the issuing organisation. MUST NOT be presented as globally unique.lot/WW-2026-0142, lot/NT-2026-0007
vendor.lotA supplier own lot or batch number, unique within that supplier. A package using it SHOULD identify the supplier as an agent in the provenance graph.R05_VENDOR_LOT_NO_ISSUER when no organization agent is declared
gs1.gtinA GS1 Global Trade Item Number identifying a product type, not an individual unit. A GTIN alone MUST NOT be used to identify a specific realization.R05_GTIN_NOT_A_UNIT
gs1.lotA GS1 batch or lot identifier, which combined with a GTIN identifies a production batch.-
isbt128.dinAn ISBT 128 Donation Identification Number, tying every component derived from a single donation back to that donation event and the collecting facility.SHOULD be recorded where a component derives from a human donation and a DIN exists
isbt128.coiAn ISBT 128 Chain of Identity identifier, linking multiple donations that together deliver one therapy.The scheme for a component built from more than one donation

WWD does not define these schemes and MUST NOT redefine their syntax or semantics. A consumer MUST treat a scheme-qualified identifier as opaque unless it implements that scheme. WWD records the scheme name and identifier value only, and delegates all interpretation to an implementer holding the appropriate licence.

The chain a reader can reconstruct

From source material through build conditions to measured results.

WWD provenance MUST be representable as a directed graph of entities, activities and agents. An entity MAY represent a cell bank, vial, donor-derived source, reagent lot, scaffold, design, dataset, realization, shipment or result. An activity MAY represent derivation, expansion, differentiation, maturation, fabrication, seeding, stimulation, assay, analysis, simulation, packaging or shipping. An agent MAY be a person, organization, instrument controller or software agent. muscle-strip-asbuilt.wwd carries 8 nodes and 12 edges; neurontile-asbuilt.wwd carries 22 nodes and 41 edges.

The links in the chain
Link Slot In the as-built examples Document
Source materialcomponent.biologyTaxon, cell type, derivation, differentiation method and driver genes, custody and licensing.design.json
Bankprovenance node, entity kind cell_bankent/mcb-2 myoblast master bank and ent/wcb-7 working bank in muscle-strip-asbuilt.wwd; ent/mcb and ent/wcb in neurontile-asbuilt.wwd.results.json
Culture operationsprovenance nodes, activity kindsassay, expansion, fabrication in muscle-strip-asbuilt.wwd; differentiation, expansion, pooling, split in neurontile-asbuilt.wwd.results.json
Split and poolactivity kinds split and poolingneurontile-asbuilt.wwd splits a working bank into three flasks, pools two of them, differentiates the pool and plates eight tiles. A producer MUST NOT model biological genealogy as a single chain when pooling or splitting occurred.results.json
Lotrealization and entity kind realizationlot/WW-2026-0142 at design revision 1.3.0; lot/NT-2026-0007 at design revision 0.4.0.results.json
Build conditionsresults.context and fields with causal role controlContext on the two as-built packages: wwd:donor_id, wwd:passage_number; wwd:source_line, wwd:days_in_vitro.design.json and results.json
Assayactivity kind assay, observation_activity on each resultact/twitch-assay uses ent/lot-0142 and generates ent/twitch-data in muscle-strip-asbuilt.wwd.results.json
Resultmeasured_results, entity kind dataset4 measured results on the muscle strip, 5 on the neuron tile, each referencing exactly one acceptance criterion.results.json
Yieldresults.yield12 of 12 against AC-001; 7 of 8 against NT-001.results.json
The eight Core relations
Relation PROV-O term Endpoints
usedprov:usedactivity to entity
generated_byprov:wasGeneratedByentity to activity
derived_fromprov:wasDerivedFromentity to entity
attributed_toprov:wasAttributedToentity to agent
associated_withprov:wasAssociatedWithactivity to agent
acted_on_behalf_ofprov:actedOnBehalfOfagent to agent
revision_ofprov:wasRevisionOfSHOULD map
primary_sourceprov:hadPrimarySourceSHOULD map

Each fabrication or culture activity SHOULD identify inputs, outputs, responsible agents, start and end times, and protocol. Chain-of-custody transfers SHOULD identify sending and receiving agents, time, and shipment entity. An exporter MAY emit PROV-O or RO-Crate, and MUST preserve the one-to-one Core relation mapping.

What the validator reports

Code, trigger, and the change the writer makes.

Provenance, biology and lineage diagnostics
Code Severity Trigger Change
E01_NONLIVING_HAS_BIOLOGYERRORA component of kind scaffold or device declares biological identity.Move the biology onto a living component. A part that has a cell type is not a scaffold.
E05_SHIPPING_STATE_MISMATCHERRORA living shipping state sits on a non-living part, or a non-living state on a component carrying biological identity.Declare the shipping state that matches the part.
K01_UNKNOWN_KEYERRORA key outside the closed Core key set for a Core object. custody, custody_ref and licensing are safety-relevant keys, so a typo in one changes what the file means.Use a Core key, or namespace the key as an extension.
L01_NODE_NO_IDERRORA provenance node carries no identifier.Give every node a stable identifier and type.
L01_DUPLICATE_NODEERRORA node identifier is declared twice.Make each node identifier unique within the graph.
L01_BAD_NODE_TYPEERRORA node is not an entity, activity or agent.Declare type as exactly one of the three PROV types.
L01_BAD_NODE_KINDWARNINGA node kind sits outside the Core vocabulary for its type.Use a Core kind so a consumer can reason about what the node is.
L02_UNKNOWN_RELATIONERRORAn edge uses a relation outside the eight Core relations.Use used, generated_by, derived_from, attributed_to, associated_with, acted_on_behalf_of, revision_of or primary_source.
L02_BAD_EDGE_TYPESERRORA relation connects the wrong node types.Correct the endpoints. A mistyped edge is not the claim its producer intends.
L02_DANGLING_EDGEERRORAn edge names a node the graph does not contain, so ancestry cannot be walked.Carry the node, or remove the edge.
L03_DERIVATION_CYCLEERRORDerivation is cyclic and something is its own ancestor.Break the cycle. A recall query over a cyclic graph cannot be trusted to report everything affected.
L04_ACTIVITY_NO_TIMESWARNINGAn activity declares no start and end time.Add start and end. A lineage that cannot be ordered is not a history.
L05_UNDECLARED_POOLINGWARNINGAn activity consumes several entities without declaring itself a merge.Declare the activity kind pooling.
L05_UNDECLARED_SPLITWARNINGAn activity produces several entities without declaring itself a split.Declare the activity kind split.
T03_BUILT_BEFORE_ITS_HISTORYERRORA realization is dated before the activities in its own lineage.Correct the ordering. A graph can satisfy edge acyclicity while describing a history that could not have happened.
R05_NO_REALIZATIONERRORAn as-built package carries no realization identifier.Add realization.id naming the specimen, unit, batch or lot observed.
R05_NO_ID_SCHEMEERRORThe realization declares no scheme.Declare scheme: local, vendor.lot, gs1.gtin, gs1.lot, isbt128.din or isbt128.coi.
R05_NO_DESIGN_REVISIONERRORThe realization pins no design revision.Set design_revision to the exact revision realized.
DFM-008ERROR or WARNINGA primary population is past its replicative limit, read from biology.passage_number against derivation primary.Use an earlier passage, or switch to an immortalized or iPSC-derived source with a renewable bank. At the warning threshold, qualify the lot at this passage before committing a run.
DFM-012WARNING or ERRORCommercial derivative rights are unknown, prohibited or undeclared. The rule fires when biology[].licensing is absent, and when commercial_derivative_rights is unknown, service_only, requires_license or prohibited.Add biology[].licensing with commercial_derivative_rights. Where rights are prohibited, source an equivalent cell type under a licence permitting resale of derivatives, or restrict the design to internal research use.
DFM-013ERRORA population marked use_restriction research_use_only is presented as a saleable component.Source a commercial-grade equivalent, or sell this only as a research-use item with the restriction passed through to the customer.
DFM-014ERRORCustody is customer_supplied and no custody_ref is named.Add custody_ref naming the customer licence, MTA or consignment agreement.

A design-rule finding is advisory with respect to conformance. A package MAY conform to WWD and still fail every DFM rule, and an implementation MUST NOT report a DFM code as a conformance error and MUST NOT suppress one because the package is otherwise valid.

What the format does not attempt to record

Non-goals that touch the material chain.

Outside WWD 0.1
Subject Position
Clinical claims, regulatory approval, donor consent law, commercial licensing rightsWWD 0.1 does not standardize them. Custody and rights are recorded as declarations about a population, not as a legal instrument.
Direct personal identifiersWWD MUST NOT require them. Donor-sensitive identifiers MUST be represented by access-controlled or pseudonymous references consistent with applicable governance.
Sequence, feature, interaction and construct semanticsDelegated to SBOL 3. WWD MUST NOT duplicate them, and references an SBOL identity instead.
The content of an external vocabularyWWD references and never restates CL, Cellosaurus, ChEBI, NCBITaxon, UBERON and the ISBT 128 code tables. A consumer MUST treat a scheme-qualified identifier as opaque unless it implements that scheme.
A laboratory information system or electronic batch recordWWD 0.1 is none of these. The lineage graph is the chain a package carries, not the system of record it was copied from.
Fitness, sterility, safety, efficacy or biological functionA structurally conformant package guarantees none of them.
Whether a value is plausible for a given biologyThat is a design-rule question and the answer is advisory. A DFM code MUST NOT be reported as a conformance error.

Questions

Which vocabularies carry biological identity in WWD?

NCBI Taxonomy for source taxon, Cell Ontology for each declared cell type, UBERON for anatomical origin, Cellosaurus with RRID for a named established cell line, ChEBI for small molecules and medium components, and SBOL 3 for genetic constructs. A living component MUST identify source taxon using an NCBITaxon IRI and MUST identify each declared cell type using a CL IRI when an applicable CL term exists. A package MUST declare each ontology source by name, authoritative URI, and version or release, and a consumer MUST NOT silently substitute a different ontology release.

How is a cell line identified, and how is a primary source identified?

A named established cell line MUST use a Cellosaurus accession, SHOULD also be expressed as an RRID of the form RRID:CVCL_..., and the package MUST pin the Cellosaurus release used for resolution. The schema carries these as cell_line.accession, cell_line.rrid and cell_line.cellosaurus_release, with the accession matching CVCL_ followed by four or more upper-case alphanumerics. A primary, donor-derived or novel line absent from Cellosaurus MUST use CL plus NCBITaxon and MUST identify the derivation source and provenance. neurontile-asbuilt.wwd records the line the lot was built from as a context observation, wwd:source_line with value CVCL_1E52.

What can a package state about passage number?

Passage number and population doublings SHOULD be recorded when scientifically applicable. biology.passage_number is a quantity on the population. The Core registry carries wwd:passage_number as a count in unit 1 with causal class context, defined as the number of passages a population has undergone on receipt, with a domain of 0 to 200. wwd:population_doublings is a separate term: a passage is an operation, a doubling is a quantity of proliferation, and the Hayflick limit is stated in doublings. Passage is a context quantity, observed and not chosen by the producer.

What does the validator do with a late passage?

The design rule DFM-008 reads biology.passage_number together with derivation. A primary population at or past the failure threshold is reported as an ERROR stating that the cells are past the usual replicative limit, with the remedy to use an earlier passage or switch to an immortalized or iPSC-derived source with a renewable bank. At the warning threshold the finding is that primary cells at that passage may show reduced fusion and force, with the remedy to qualify the lot at this passage before committing a run. A DFM finding is advisory with respect to conformance and MUST NOT be reported as a conformance error.

What fires when the licensing block is absent?

DFM-012, at WARNING severity, reporting that the population declares no licensing block and that commercial derivative rights are undeclared. The remedy in the reference validator is to add biology[].licensing with commercial_derivative_rights, and the rule records that unknown is an honest answer while silence is not. Section 13.1 states the same rule as a normative reading obligation: silence is not permission, and a consumer MUST NOT infer any right from the absence of a licensing declaration. unknown is a conforming value and MUST NOT be treated as equivalent to permission.

How does custody change what the licence has to permit?

Every declared biological population MUST declare custody as one of producer_supplied, customer_supplied or third_party_supplied. A population declared customer_supplied MUST identify the agreement it is held under, and a producer that names no such agreement is asserting a defence it cannot identify, so a conforming validator MUST reject the package. The reference validator reports that as DFM-014 at ERROR severity. Where custody is customer_supplied and a custody_ref is named, DFM-012 does not run on that population and the validator emits an INFO finding that the work is a service on customer material.

What links a physical lot back to a design revision?

The realization. Every realization MUST have an identifier, MUST declare its identifier scheme and MUST reference the exact component design revision realized. The Core schemes are local, vendor.lot, gs1.gtin, gs1.lot, isbt128.din and isbt128.coi. A GTIN identifies a product type and MUST NOT alone identify a specific realization. WWD does not define these schemes and MUST NOT redefine their syntax or semantics, and a consumer MUST treat a scheme-qualified identifier as opaque unless it implements that scheme. A fuller reading of the provenance classes carried on values is at /standard/as-built.

What does the lineage graph have to support?

WWD provenance MUST be representable as a directed graph of entities, activities and agents, each node with a stable identifier and type, and each edge declaring relation, from and to. The eight Core relations map one to one onto PROV-O. Provenance derivation MUST be acyclic, and acyclicity applies to time as well as to edges: an activity MUST NOT end before it starts, an activity MUST NOT consume an entity before the activity that produced it has run, and a realization MUST NOT be dated before the activities in its own lineage. A graph MUST support splits and merges, and a producer MUST NOT model biological genealogy as a single chain when pooling or splitting occurred. Master Cell Bank to Working Cell Bank to production lot lineage SHOULD be represented with distinct entities and activities.

Continue

Related pages.