{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://composium.app/machine/contracts/card.v1.schema.json","title":"Composium.app Owner Card v1","description":"The owner-authorized Card response. A recipient share uses the narrower recipientCard definition and excludes payment, source, custody, and authority metadata.","x-composium":{"document":"machine-readable application contract","status":"CURRENT — runtime-aligned","date":"2026-10-23","scope":"Owner Card response with four composed fields and private transaction/authority metadata; recipientCard exposes only Card fields and reference; source Click and writing remain outside both Card payloads","placement":"4-D CONDUCT-A-COMPOSITION / composium.app / domain/contracts","authority":"server/child/carmelita.js, server/child/cardApi.js, and their tests","source":"Standalone CHILD runtime and Composition, purchase, access, and Vault ledger","confidentiality":"Schema is public; Card contents are private customer data","permissions":"Card reference alone is not access authority; read-only retrieval may be explicitly granted to a share capability; no machine execution is enabled","contractVersion":"1"},"type":"object","properties":{"ok":{"type":"boolean","const":true},"issuance_state":{"type":"string","const":"issued","description":"The Card has been durably issued."},"one_line":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[^\\r\\n]*\\S[^\\r\\n]*$","description":"A short, distinctive title (240 characters maximum, usually two to seven words) naming the complete Composition–Conduct. It is grounded in the writing and original Click, which remains stored unchanged; it is not a task summary or rewritten imperative."},"tone":{"$ref":"#/$defs/composedFields/properties/tone"},"composition":{"$ref":"#/$defs/composedFields/properties/composition"},"conduct":{"$ref":"#/$defs/composedFields/properties/conduct"},"reference":{"type":"string","format":"uuid"},"composium_id":{"type":"string","format":"uuid","description":"The Composition UUID is the single identity shared with the purchase and Card."},"canonical_address":{"type":"string","format":"uri","description":"The server-generated Card URL; by itself it is not read permission."},"issued_at":{"type":["string","null"],"format":"date-time"},"payment":{"type":"object","properties":{"status":{"type":"string","enum":["paid","refunded","unknown"]},"mode":{"type":"string","enum":["test","live","unknown"]},"amount_cents":{"type":["integer","null"],"enum":[400,null]},"currency":{"type":["string","null"],"enum":["EUR",null]},"verified_at":{"type":["string","null"],"format":"date-time"}},"required":["status","mode","amount_cents","currency","verified_at"],"additionalProperties":false},"authorization":{"type":"object","properties":{"purchase":{"type":"string","enum":["verified-eur-400","refunded","unverified"]},"retrieval":{"type":"string","enum":["owner-capability-required","vault-account-required","share-link-read-only"]},"conduct_execution":{"type":"string","const":"human-decision-required"}},"required":["purchase","retrieval","conduct_execution"],"additionalProperties":false}},"required":["ok","issuance_state","one_line","tone","composition","conduct","reference","composium_id","canonical_address","issued_at","payment","authorization"],"additionalProperties":false,"$defs":{"composedFields":{"type":"object","properties":{"one_line":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[^\\r\\n]*\\S[^\\r\\n]*$","description":"A short, distinctive title (240 characters maximum, usually two to seven words) for the complete Composition–Conduct, not a task summary or rewritten imperative."},"tone":{"type":"string","minLength":1,"maxLength":180,"pattern":"^[^\\r\\n]*\\S[^\\r\\n]*$","description":"The particular work's grounded voice and tension, in one short, precise sentence; 180 characters maximum."},"composition":{"type":"string","minLength":1,"maxLength":280,"pattern":"^[^\\r\\n]*\\S[^\\r\\n]*$","description":"Exactly one concise sentence forming one specific, grounded movement; no source recap, false either/or, moralizing, or invented facts or commitments; 280 characters maximum."},"conduct":{"type":"string","minLength":1,"maxLength":240,"pattern":"^[^\\r\\n]*\\S[^\\r\\n]*$","description":"One actionable outward movement in one concise sentence, with a recognizable direction and result; no menu, false either/or, moralizing, coaching, or invented authority; 240 characters maximum."}},"required":["one_line","tone","composition","conduct"],"additionalProperties":false},"recipientCard":{"type":"object","description":"Read-only share response. Contains only the persisted Card and its reference; it does not expose payment, source, owner-custody, or internal authority data.","properties":{"ok":{"type":"boolean","const":true},"issuance_state":{"type":"string","const":"issued"},"one_line":{"type":"string","minLength":1},"tone":{"type":"string","minLength":1},"composition":{"type":"string","minLength":1},"conduct":{"type":"string","minLength":1},"reference":{"type":"string","format":"uuid"}},"required":["ok","issuance_state","one_line","tone","composition","conduct","reference"],"additionalProperties":false}}}