Skip to content

[FEAT] Story 2.3 Multi-Timeline Character Consistency #20

@yeomin4242

Description

@yeomin4242

한줄 설명

Implement character trait preservation system that maintains core personality traits across different scenarios while adapting to scenario-specific changes.

문제·기회

No response

제안 내용

No response

완료 기준(AC)

  • CharacterTraitExtractor service extracts core traits from base_story using Gemini 2.5 Flash (one-time per character)
  • Trait database: character_traits table with character_name, base_story, core_traits JSONB, extracted_at
  • Core traits categorized: personality (brave, intelligent), skills (magic, sword fighting), relationships (friends, enemies), values (loyalty, ambition)
  • Scenario adaptation preserves core traits while modifying scenario-specific ones
  • Example: Hermione in Slytherin preserves "intelligent, studious" but adapts "friends" from Harry/Ron to Draco/Pansy
  • /api/ai/character-traits/{base_story}/{character} endpoint retrieves or extracts traits
  • Prompt injection: "PRESERVE: [core_traits], ADAPT: [scenario_changes]"
  • Trait cache with Redis (TTL 7 days, popular characters cached indefinitely)
  • Gemini API cost optimization: Batch extract all characters from popular stories, cache aggressively
  • VectorDB integration: Store extracted traits in ChromaDB for semantic similarity search
  • Unit tests for trait preservation logic >80% coverage

관련 참고자료

No response

관련 이슈·블로커

No response

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