post

Every canonical field of a post record, how one is keyed tier by tier, and the relations its fields mint, generated from spec/fields/post.json

What you'll learn

You're mapping a column or a vendor field to a post field and need the exact name, its tier, and its normalization rule.

  • every canonical field of a post, with its tier and type
  • how a post is keyed, tier by tier
  • which fields mint a relation to another type

Canonical field registry for post records (SPEC.md §4a, ADR-054): a signal type — something a pipeline finds and traverses from, never delivers to. Keyed on the platform-public URL and nothing else: a post without a URL is not a post the ledger can hold, so a signal declares no hash tier. Seeded with the first traverse binding; grows by demand under the rule of two.

Identity

A post is keyed by the first of these tiers the record has, strongest first.

TierFromKey
1urlthe normalized value

As the type file states it:

[
  {
    "field": "url"
  }
]

Fields

FieldTierTypeNormalizationDescription
urlidentitystring (uri)urlThe post's platform-public URL — the one key tier (SPEC.md §4, the url rule: scheme and host lowercased, fragment and trailing slash dropped, path and query kept).
platformcorestringlowerThe platform the post lives on, lowercased. No locked value domain yet (rule of two).
textcorestringtrimThe post's body text, as published.
published_atcorestring (date-time)trimWhen the post was published, RFC3339.
likescoreintegernoneReaction count at read time.
commentscoreintegernoneComment count at read time.
repostscoreintegernoneRepost/share count at read time.

Examples

FieldExample value
urlhttps://www.linkedin.com/posts/jane-doe_outbound-activity-7123456789
platformlinkedin
textWe just shipped …
published_at2026-09-01T14:30:00Z
likes42
comments7
reposts3