Skip to content

[Phase B4] Seed persona library with terisuke and cloudia profiles #24

@terisuke

Description

@terisuke

Tracked under ADR 0002 — Phase B. Detail: implementation plan §B4.

Problem

The owner operates under two distinct authorial identities, and they must be kept tonally separate:

  • てりすけ (cor_instrument, cor-jp.com) — 一人称「僕」「私」、内省+実体験ナラティブ、起業・キャリア・AI駆動開発、「~した話」「~てしまった件」スタイル。
  • 宇宙野クラウディア (zenn.dev/cloudia, qiita.com/Cloudia_Cor_Inc) — 博多弁混じりキャラクター、感嘆符多用、「クラウディア流!」「探検記【前編】」「最強の…」、技術チュートリアル中心。

Mixing them in one style guide produces drafts that read as neither voice.

Scope

Seed two personas in internal/domain/persona/seed.go (or data/personas/*.yaml if YAML is preferred):

- id: terisuke
  display_name: てりすけ
  default_format: note_article
  sources:
    - kind: note
      ref: cor_instrument
    - kind: rss
      ref: https://cor-jp.com/blog/rss.xml   # confirm during impl
  voice_notes:
    first_person: 
    tone: 内省+実体験ナラティブ
    title_patterns:
      - "~した話"
      - "~てしまった件"
      - "【完全5言語対応】"
      - "【爆速15分】"
    anti_patterns:
      - "過度に断定的な経営論"
      - "クラウディア風の感嘆符連打"

- id: cloudia
  display_name: 宇宙野クラウディア
  default_format: zenn_article
  sources:
    - kind: zenn
      ref: cloudia
    - kind: qiita
      ref: Cloudia_Cor_Inc
  voice_notes:
    first_person: クラウディア
    tone: 博多弁混じりキャラクター解説
    title_patterns:
      - "クラウディア流!…"
      - "~探検記【前編】"
      - "~を探せ!"
    anti_patterns:
      - "てりすけ風の内省的書き出し"
      - "断定的な経営論"

Add a scenario command cmd/scenario/persona_seed/ that runs analyze for both personas and writes their guides under tmp/personas/.

Acceptance criteria

  • Both personas exist in the registry at boot.
  • Scenario command produces two distinct WritingStyleGuide files.
  • Cross-style sanity check: rebuilding Cloudia's guide from Terisuke's articles scores lower style-similarity than Cloudia's own articles. Encoded as a unit-style assertion in the scenario test.
  • User can override default_format per session.
  • Adding a third persona requires only a new entry; no code change in handlers or application services.

Dependencies

  • B1 (domain), B2 (fetchers).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions