[
Category.new(
external_key: "goals",
internal_kind: :goal,
snapshot_field: :goals,
prompt_description: "stated goals or desired outcomes from the conversation",
item_shape: :text
),
Category.new(
external_key: "decisions",
internal_kind: :decision,
snapshot_field: :decisions,
prompt_description: "decisions the participants have already made",
item_shape: :text
),
Category.new(
external_key: "terms",
internal_kind: :term,
snapshot_field: :terms,
prompt_description: "project-specific terms with their definitions",
item_shape: :term
),
Category.new(
external_key: "constraints",
internal_kind: :constraint,
snapshot_field: :constraints,
prompt_description: "limits, requirements, or non-negotiables",
item_shape: :text
),
Category.new(
external_key: "open_questions",
internal_kind: :open_question,
snapshot_field: :open_questions,
prompt_description: "questions that are still unresolved",
item_shape: :text
),
Category.new(
external_key: "next_actions",
internal_kind: :next_action,
snapshot_field: :next_actions,
prompt_description: "concrete follow-up actions that someone should take",
item_shape: :text
)
].freeze