Skip to content

datapackage.json omits the Frictionless schema field descriptors versioning.md requires #74

Description

@maehr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions