The format

The manifest

idop.json — identity, entry point, revisions, features and capabilities.

idop.json is UTF-8 JSON, validated against the manifest schema and then against additional rules.

Members

Member Purpose
format https://idoplabs.com/ns/idop/package
formatVersion "1.0" (or "1.1" for the draft)
runtimeApiVersion "1.0"
entryPoint an HTML file under code/
application id (reverse-domain), version (semver), title, optional icon under resources/
document id, revisionId, parentRevisionId, createdAt, modifiedAt
state schemaVersion of the document’s own data
requiredFeatures, optionalFeatures e.g. idop.core-storage-v1
requiredCapabilities, optionalCapabilities network capabilities — see Permissions
environmentBindings non-secret configuration the reader supplies
credentialBindings credentials the reader supplies, never the secret itself
extensions namespaced extension declarations

Revisions

document.id identifies the document for its whole life. On every save the reader sets parentRevisionId to the previous revisionId, assigns a new revisionId, and updates modifiedAt. createdAt never changes and must not be later than modifiedAt.

Self-declared values

Everything under application is chosen by whoever produced the file. Readers show it, but must not present it as verified.