standard/versioning.md § "Frictionless requirements" lists schema: field descriptors for each resource among the things each datapackage.json MUST include. The compiler does not emit it.
writeDump in scripts/compile.ts builds each resource with name, path, profile, format, mediatype, encoding, bytes and a sha256: hash — no schema key, so the published data package has no field descriptors at all.
Found while preparing v0.1.0 (#68). Since the first citable baseline should not claim conformance it does not have, the release softens the spec text to SHOULD and states that exports through v0.1.0 omit it. This issue tracks doing it properly.
What is needed
Frictionless schema.fields for the four resources — works, citation-systems, references, mappings — with at least name and type per field, ideally description.
The record shapes already exist as Zod schemas in standard/schema/. Zod 4 ships z.toJSONSchema(), but Frictionless field descriptors are a different vocabulary (string/integer/datetime rather than JSON Schema types), so this needs a deliberate mapping rather than a direct dump — including a decision about nested objects such as resolver_targets, which Frictionless describes poorly.
Related
Reverting the SHOULD back to MUST in versioning.md is part of closing this.
standard/versioning.md§ "Frictionless requirements" listsschema: field descriptors for each resource among the things eachdatapackage.jsonMUST include. The compiler does not emit it.writeDumpinscripts/compile.tsbuilds each resource withname,path,profile,format,mediatype,encoding,bytesand asha256:hash— noschemakey, so the published data package has no field descriptors at all.Found while preparing v0.1.0 (#68). Since the first citable baseline should not claim conformance it does not have, the release softens the spec text to
SHOULDand states that exports throughv0.1.0omit it. This issue tracks doing it properly.What is needed
Frictionless
schema.fieldsfor the four resources —works,citation-systems,references,mappings— with at leastnameandtypeper field, ideallydescription.The record shapes already exist as Zod schemas in
standard/schema/. Zod 4 shipsz.toJSONSchema(), but Frictionless field descriptors are a different vocabulary (string/integer/datetimerather than JSON Schema types), so this needs a deliberate mapping rather than a direct dump — including a decision about nested objects such asresolver_targets, which Frictionless describes poorly.Related
Reverting the
SHOULDback toMUSTinversioning.mdis part of closing this.