Comment Thread Policy v1¶
Source schema: doc/schemas/comment-thread-policy.v1.schema.json
Content schema for an Agora thread participation policy record. Used with record/kind = thread-policy and content/schema = comment-thread-policy.v1. The policy is intentionally separate from plain-comment.v1: comments carry speech, while this payload carries the access rule for joining a comment thread or subtree.
Governing Basis¶
doc/project/40-proposals/035-agora-topic-addressed-record-relay.mddoc/project/60-solutions/021-agora-authority/021-agora-authority.md
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-006-node-networking-mvp.mddoc/project/50-requirements/requirements-008-org-subject-rollout.mddoc/project/50-requirements/requirements-010-middleware-executor.mddoc/project/50-requirements/requirements-011-dator-arca-contracts.mddoc/project/50-requirements/requirements-014-resource-opinions.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.mddoc/project/30-stories/story-008-cool-site-comment.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: comment-thread-policy.v1 |
Content-level discriminator for consumers that inspect the payload outside its Agora envelope. |
policy/thread-topic-key |
no |
string | Optional topic key of the comment thread this policy governs. When present, domain validators SHOULD require it to equal the enclosing Agora record's topic/key. |
policy/root-record-id |
no |
string | Optional root comment record id. This may be absent when the policy record is published before the root comment so the root can reference the policy without a circular dependency. |
policy/min-attestation |
yes |
string | Minimum author attestation required to publish a comment governed by this policy. Early expected values include unknown, phone-confirmed, national-id, community-trusted, and sovereign-operator. The ordering and equivalence rules are domain policy, not JSON Schema. |
policy/inheritance |
yes |
enum: descendants |
Inheritance mode. descendants means the policy applies to replies below the record or topic it is attached to. |
policy/may-tighten |
yes |
const: True |
Whether descendant comments may attach a stricter policy for their own subtree. v1 requires true so moderation can narrow participation without mutating ancestors. |
policy/may-loosen |
yes |
const: False |
Whether descendant comments may weaken an inherited policy. v1 requires false; a child subtree may tighten inherited requirements but MUST NOT loosen them. |
policy/rate-budget |
no |
object | Optional participation rate budget hint. Enforcement is domain-specific and may depend on author, topic, reputation, or relay-local anti-abuse policy. |
policy/description |
no |
string | Optional human-readable explanation shown to participants before they join the thread. |
| ## Field Semantics |
schema¶
- Required:
yes - Shape: const:
comment-thread-policy.v1
Content-level discriminator for consumers that inspect the payload outside its Agora envelope.
policy/thread-topic-key¶
- Required:
no - Shape: string
Optional topic key of the comment thread this policy governs. When present, domain validators SHOULD require it to equal the enclosing Agora record's topic/key.
policy/root-record-id¶
- Required:
no - Shape: string
Optional root comment record id. This may be absent when the policy record is published before the root comment so the root can reference the policy without a circular dependency.
policy/min-attestation¶
- Required:
yes - Shape: string
Minimum author attestation required to publish a comment governed by this policy. Early expected values include unknown, phone-confirmed, national-id, community-trusted, and sovereign-operator. The ordering and equivalence rules are domain policy, not JSON Schema.
policy/inheritance¶
- Required:
yes - Shape: enum:
descendants
Inheritance mode. descendants means the policy applies to replies below the record or topic it is attached to.
policy/may-tighten¶
- Required:
yes - Shape: const:
True
Whether descendant comments may attach a stricter policy for their own subtree. v1 requires true so moderation can narrow participation without mutating ancestors.
policy/may-loosen¶
- Required:
yes - Shape: const:
False
Whether descendant comments may weaken an inherited policy. v1 requires false; a child subtree may tighten inherited requirements but MUST NOT loosen them.
policy/rate-budget¶
- Required:
no - Shape: object
Optional participation rate budget hint. Enforcement is domain-specific and may depend on author, topic, reputation, or relay-local anti-abuse policy.
policy/description¶
- Required:
no - Shape: string
Optional human-readable explanation shown to participants before they join the thread.