Plain Comment v1¶
Source schema: doc/schemas/plain-comment.v1.schema.json
Machine-readable schema for the simplest Agora content payload: a plain-text comment. Used as the inner content of an agora-record.v1 envelope when content/schema = plain-comment.v1. The envelope is the sole source of truth for schema identity: this object does NOT carry a schema discriminator, because the envelope's content/schema field already names the contract.
Governing Basis¶
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-006-node-networking-mvp.mddoc/project/50-requirements/requirements-010-middleware-executor.mddoc/project/50-requirements/requirements-011-dator-arca-contracts.md
Stories¶
doc/project/30-stories/story-001-swarm-node-onboarding.mddoc/project/30-stories/story-004-pod-client-onboarding.mddoc/project/30-stories/story-005-whisper-rumor-intake.mddoc/project/30-stories/story-006-buyer-node-components.mddoc/project/30-stories/story-006-voluntary-swarm-exchange.mddoc/project/30-stories/story-007-settlement-capable-node.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
body |
yes |
string | The textual body of the comment. Plain, unformatted text by default. Renderers MUST treat the content as untrusted input and escape appropriately before display. |
body/format |
no |
enum: text/plain, text/markdown |
Optional content type hint for rendering. text/plain is the default. text/markdown requests CommonMark rendering. Renderers MUST NOT execute embedded scripts or interpret active content regardless of format. |
thread/title |
no |
string | Optional title for a thread opened by this comment. Projection consumers MUST interpret this field only when the enclosing Agora record is a root comment without record/parent; on replies it is ignored or surfaced as a diagnostic. |
lang |
no |
string | Optional BCP 47 language tag for the comment body. Duplicates the envelope record/lang when both are present; when they disagree, the inner value takes precedence for rendering. |
| ## Field Semantics |
body¶
- Required:
yes - Shape: string
The textual body of the comment. Plain, unformatted text by default. Renderers MUST treat the content as untrusted input and escape appropriately before display.
body/format¶
- Required:
no - Shape: enum:
text/plain,text/markdown
Optional content type hint for rendering. text/plain is the default. text/markdown requests CommonMark rendering. Renderers MUST NOT execute embedded scripts or interpret active content regardless of format.
thread/title¶
- Required:
no - Shape: string
Optional title for a thread opened by this comment. Projection consumers MUST interpret this field only when the enclosing Agora record is a root comment without record/parent; on replies it is ignored or surfaced as a diagnostic.
lang¶
- Required:
no - Shape: string
Optional BCP 47 language tag for the comment body. Duplicates the envelope record/lang when both are present; when they disagree, the inner value takes precedence for rendering.