Skip to content

MM-5C: Finalize model and metadata contract #20

@Atharva-Kanherkar

Description

@Atharva-Kanherkar

Parent issue: #16

MM-5C: Finalize model and metadata contract

Problem

The base model already has some multimodal fields, but the write/read contract is not fully standardized and emotional_profile is missing.

Repo impact

  • models/base.py
  • models/episodic.py
  • stores/semantic_store.py
  • stores/episodic_store.py
  • serialization code in api/app.py

Tasks

  • keep modality defaulting to "text"
  • standardize allowed modality values: text, image, audio, video, multimodal
  • preserve media_ref and media_type
  • add emotional_profile: dict[str, float] to EpisodicMemory
  • serialize nested emotional profile safely for Chroma metadata
  • decide whether source_mime_type remains separate or is collapsed into media_type
  • add has_media derivation for events

Acceptance criteria

  • semantic and episodic records round-trip the new fields
  • plain text records still default to modality="text" and media_ref=None
  • emotional profile round-trips without violating Chroma metadata constraints

Risks

  • Chroma metadata is primitive-only, so dict storage needs JSON or flattening

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions