Wetware World

Specification

WWD 0.1 draft, section by section

The normative document has 25 sections and three appendices and no code blocks. The examples live in a separate document generated from shipped conformance vectors. This page maps what each section fixes.

Status
Editor’s draft 0.1
Sections
25 plus 3 appendices
Key words
RFC 2119 and RFC 8174
Licence
CC BY 4.0

How to read it

Three documents, in order.

An implementer is directed to read the by-example document first, since every fragment in it is copied from a shipped conformance vector and cannot drift from what the reference validator accepts. Then the conformance suite: 64 vectors and a manifest stating the diagnostic codes a conforming validator must report for each one. The normative document is for the exact wording, when the exact wording is what is in dispute.

The diagnostic codes are normative and the message wording is not. Two conforming implementations reject the same package for the same stated reason. A withdrawn code is marked withdrawn and its number is never reused.

Status is 0.1 draft. Implementable, and expected to change. The version lives inside the file, in the wwd key, and never in the extension.

Normative sections

In document order.

0 Status, conventions, and design thesis

Declares the document an editor’s draft rather than an adopted standard, binds MUST and SHOULD to RFC 2119 and RFC 8174, and states the thesis: a wetware component is a shape plus a set of spatially varying property fields, and the fields are the design. The fields divide into two causal kinds, and that division is normative.

1 Scope

What WWD 0.1 specifies: a portable package for the design, transfer, verification and traceable realization of engineered living components, printed and non-printed alike. Includes the non-goals, and the deferral of registry breadth.

1.1 Non-goals · 1.2 Deferred registry breadth

2 Terminology

The defined terms: package, manifest, design document, component, assembly, realization, region, property, field, backing, causal role, control, response, context, process deviation, interface, requirement, acceptance criterion, measured result, model, run, and the five provenance classes.

3 Package and container conformance

The physical form: a ZIP archive, filename ending in .wwd, first entry mimetype stored uncompressed containing exactly application/vnd.wwd+zip, exactly one wwd/manifest.json. Manifest completeness with byte length and SHA-256 per payload, asset roles including opaque, the obligation on a rewriter to refuse rather than repair, and the draft flag.

3.1 Physical form · 3.2 Manifest completeness · 3.3 Roles and rewrites · 3.4 Refusal is part of rewriting · 3.5 Draft packages

4 Identifiers and versioning

Immutable package and component identifiers, identifiers unique within a package for everything else, no reassignment, and no identifier change on reorder or rename. Editorial republication is distinguished from semantic revision, and a criterion identifier changes only when the acceptance proposition does.

4.1 Identifier classes · 4.2 Revisions · 4.3 Specification and extension versions

5 Coordinate frames, transforms, dimensions, and units

One right-handed component frame with an explicit origin, additional frames by homogeneous transform, units on every dimensional quantity in UDUNITS-2-compatible strings with 1 for dimensionless, and a bare JSON number refused. A named dimension is a scientific assertion carrying both a causal role and a provenance class, because the moulded dimension and the compacted dimension are not the same fact.

5.1 Component frame · 5.2 Additional frames · 5.3 Units and quantities · 5.4 Physical dimensions

6 Delegated geometry and asset formats

WWD describes semantics and relationships and does not duplicate payload models. Geometry conformance requires at least one of 3MF, STEP AP242, glTF/GLB, STL or VTK. Exactly one representation is authoritative per purpose. OME-Zarr for chunked bioimaging, NWB for electrophysiology, SBOL for genetic constructs, 3MFBio permitted but strictly delegated.

7 Core binding-layer data model

The heart of the format: design root, components including the non-living scaffold and device kinds, regions, properties and fields, interfaces, requirements, provenance on every scientific assertion, causal role on every scientific assertion, the Core property registry, unknown-key handling, protocols as ordered control trajectories, derived quantities that state their inputs and rule, libraries of reusable parts, and producer-authored design rules.

7.1 Design root · 7.2 Components · 7.2.1 Non-living components · 7.3 Regions · 7.4 Properties and fields · 7.5 Interfaces · 7.6 Requirements · 7.7 Provenance · 7.8 Causal role · 7.9 The Core property registry · 7.10 Unknown keys · 7.11 Protocol · 7.12 Derived quantities · 7.13 Libraries · 7.14 Producer design rules

8 Exact scalar-or-field semantics

One property slot, two spellings: a quantity string such as "12 kPa", or a field object with an explicit backing discriminator. The string is normative sugar for a constant field, and upgrading from uniform to spatially varying never changes the property location, target, identity or quantity kind. Expression evaluation is total or refused.

8.9 Expression evaluation is total or refused

9 Common field contract

Every field declares backing, property identity, quantity kind, unit, value type, frame, domain, interpolation, out-of-domain behaviour and provenance. Interpolation must be declared even when the answer is analytic or constant. The default out-of-domain policy is error, and an implicit fallback of zero is forbidden.

10 The five Core field backings

constant, expression, mesh_attribute, image_volume and table, plus an external escape hatch that is a namespaced extension rather than a sixth backing. Expressions use a closed deterministic function set aligned with the 3MF Implicit node set: no code execution, no file or network access, no clocks, no randomness. Categorical label volumes must use nearest-neighbour interpolation.

10.1 constant · 10.2 expression · 10.3 mesh_attribute · 10.4 image_volume · 10.5 table · 10.6 External escape hatch

11 Normative evaluate(x,y,z,t) contract

Every backing answers the same conceptual operation in the field’s declared frame and units: validate the query against the domain, map into backing coordinates, obtain samples or compute the expression, apply the declared interpolation, return the declared value type and unit. Deterministic for identical bytes, and never silently non-finite.

12 Scalar, vector, tensor, composition, and alignment semantics

Uniaxial alignment is a unit director plus an order parameter S in [0,1], with the orientation tensor A = ((1 - S)/3)I + S(d ⊗ d) as its normative meaning. The director is nematic, so d and -d are equivalent and naive signed averaging is forbidden. A 2D planar order parameter may not be presented as a 3D one. Compositions declare whether they are normalized.

12.1 Scalars and vectors · 12.2 Tensors · 12.3 Alignment · 12.4 Alignment spatial tiers · 12.5 Compositions

13 Biological identity and delegated vocabularies

Taxon by NCBITaxon, cell type by Cell Ontology, anatomy by UBERON, chemicals by ChEBI, established lines by Cellosaurus accession and RRID with the release pinned, genetic constructs by SBOL. Custody and commercial derivative rights are first-class facts, because identity does not imply permission and silence is not permission. Every closed Core vocabulary is listed in full, and the realization identifier schemes are named.

13.1 Custody and commercial rights · 13.2 Core controlled vocabularies · 13.3 Realization identifier schemes

14 Physical and functional interfaces

Mechanical, electrical, fluidic and optical interfaces, each with a local frame, a direction convention, mating geometry or a referenced standard, and testable compatibility rather than compatibility asserted by name. Fixtures are components, because a force read from pillar deflection is a property of the tissue and of the pillar.

14.1 Common semantics · 14.2 Mechanical · 14.3 Electrical · 14.4 Fluidic · 14.5 Optical · 14.6 Fixtures

15 Statistical requirements and acceptance

A criterion carries an immutable UUID, measurand, statistic, comparator, limit, method, conditions and criticality from closed vocabularies. Location and dispersion are separate linked criteria. Sampling plans state the sampling unit, because n = 6 says nothing until it says six of what. Limits must be physically possible, plans must be executed as stated, and the Core assay registry fixes which conditions make two results comparable.

15.1 Criterion structure · 15.2 Sampling · 15.3 Decision rules · 15.4 Multiple criteria · 15.5 Physical possibility · 15.6 Execution of the sampling plan · 15.7 The Core assay registry

16 As-designed, as-built, and result linkage

There is no mode flag: as-built is derived from the presence of measured results. Appending results never mutates criteria. Every measured result references exactly one criterion UUID, and a dangling reference is a hard error. A consumer recomputes every verdict rather than trusting the recorded status, and lot disposition is derived by a rule a producer cannot configure.

16.1 Recomputed verdicts

17 Lineage and PROV mapping

A directed graph of entities, activities and agents whose eight Core relations map one to one onto PROV-O. Splits and merges must be representable, master and working cell bank lineage uses distinct entities and activities, and acyclicity applies to time as well as to edges: an activity may not consume an entity before the activity that produced it ran.

18 Simulation separation and solver-neutral envelope

WWD may carry simulation and is not a solver. Models and runs live in the design document, simulation results in the results document. A run declares completion status and convergence status as two separate facts, names every solver deck by integrity, and a parameter override never mutates its model. A simulated value may not satisfy a lot acceptance criterion.

18.1 Separation rule · 18.2 Model envelope · 18.3 Run envelope · 18.4 Simulation-result envelope · 18.5 Where models, runs and decks live

19 Extensions and refusal behavior

extensionsUsed and extensionsRequired in the manifest, each identifier a versioned absolute URI. An unsupported required extension forces refusal before manufacture, simulation, acceptance or conversion. An editor must carry every namespaced key it did not interpret through a round trip, and must refuse to rewrite rather than emit a package that asserts less than its author wrote.

19.6 What an editor must carry through a round trip

20 Integrity and external assets

An external asset record carries a logical name, an absolute URI, an exact byte length, a media type, an access timestamp and a SHA-256 digest. The URI is a retrieval location; the digest is the identity. Credentials may not be embedded in a URI, and a directory-tree asset such as an OME-Zarr store must reference an inventory whose integrity covers the tree.

21 Security and deterministic expression constraints

Every package and referenced asset is untrusted input. Path traversal prevented, resource limits enforced, duplicate JSON member names rejected, non-finite numbers rejected, no package-provided code executed, network retrieval disabled by default. Expressions are side-effect free, acyclic, terminating, and free of randomness and clocks.

22 Conformance classes

Six classes: WWD-Package-Core, WWD-Design-Core, WWD-Field-Evaluator, WWD-As-Built, WWD-Simulation and WWD-Manufacturing-Ready. A claim names the version and every class claimed, and passing structural validation alone may not be described as scientific or manufacturing conformance.

22.2 WWD-Package-Core · 22.3 WWD-Design-Core · 22.4 WWD-Field-Evaluator · 22.5 WWD-As-Built · 22.6 WWD-Simulation · 22.7 WWD-Manufacturing-Ready

23 Non-normative walkthrough A, aligned contractile muscle strip

A worked reading of one component end to end: frame and geometry, loop interfaces, a graded stiffness expression field, a director plus order parameter alignment field, a solver-neutral mechanical model, and acceptance criteria for median twitch force, force CV, alignment floor and loop integrity, then a realized lot linking measured results back to criterion identifiers.

24 Non-normative walkthrough B, MEA-ready NeuronTile

The same machinery on a different component class: a neural culture on an electrode substrate, a channel map binding physical electrodes to NWB channel identities, criteria for active-electrode proportion, firing rate, burst rate and network-burst participation, a registered shipping state with a transit limit, and an arrival criterion defining recovery time.

25 V0.1 irreversibles and future-extension boundary

What a minor release may not reverse: the ZIP package, the mimetype rule, the single manifest entry point, JSON as a binding layer, the field-first component model, the two spellings of one scalar-or-field type, the five backings, error as the out-of-domain default, distinct provenance classes, derived as-built mode, delegated biological identity, and refusal on unknown required extensions. Then what is left open.

Appendices

References, traceability, and the normative code space.

Appendices
AppendixContents
Appendix APrimary normative and informative references.
Appendix BLocal research traceability index.
Appendix CNormative diagnostic codes, grouped by family: P for package and container, C and F for coordinates, units and fields, V for the property registry, K for unknown keys, U for physical possibility, M for verdict recomputation, S for sampling and decision rules, X for frames, I for identity and references, N for interfaces, L for the lineage graph, A8 for the causal axis, R for requirements and results, DFM for design rules, W for draft packages, and further families for dimensions, materials, protocol, libraries, assays and the simulation envelope.

A DFM finding is advisory with respect to conformance. A package may conform to WWD and still fail every design rule, because WWD does not own the physics. An implementation may not report a DFM code as a conformance error, and may not suppress one because the package is otherwise valid.