No internet connection
  1. Home
  2. LOGOS
  3. REQUIREMENTS

Arbitrary post metadata

By @IvanTheGeek
    2026-03-01 17:30:57.883Z

    Every post and topic in LOGOS must support arbitrary key-value
    metadata — structured data attached to content beyond the built-in
    fields the platform provides.

    Why It's Needed

    Talkyard posts have a fixed schema. There is no way to attach
    additional structured data to a post — no custom fields, no
    key-value store, no extension point. This became a concrete
    problem in two situations:

    When designing the chat import pipeline, Claude conversation
    exports do not include the AI model version that generated each
    response. Even if Anthropic adds this in future, LOGOS needs
    somewhere to store it per imported post — model version,
    temperature, context size, thinking block presence, import
    source, and any other generation metadata.

    More broadly, any content in LOGOS may need domain-specific
    metadata that cannot be anticipated at platform design time.
    A spec topic might carry an event model reference ID. An
    imported post might carry its original external ID for
    deduplication. A requirement topic might carry a priority
    score. The platform should not limit what can be attached.

    The Requirement

    Every post and topic supports an arbitrary set of key-value
    metadata pairs. Metadata is:

    • Typed — values have a type (string, number, date,
      boolean, reference)
    • Indexable — metadata fields can be searched and
      filtered
    • Displayable — metadata can be shown in topic listings
      and post views, configurable per field
    • API accessible — metadata is fully readable and
      writable through the API with the same fidelity as
      built-in fields

    No predefined schema is required. Fields are added as needed.

    Acceptance

    An imported conversation post carries model version, import
    timestamp, and source conversation ID as metadata. A user
    can filter the Chat Import Pipeline category to show only
    posts imported from a specific model. The metadata is
    returned in full when the post is accessed via the API.

    Sources

    • 0 replies