Katala

Katala Platform Flow & Code Map(コード単位の機能整理)

最終更新: 2026-02-21

このドキュメントは、Katalaの必要性を説明するために、 「どのコードが何をしているか」「全体フロー」 を蒸留して示す。


0. Katalaが必要な理由(要約)

AI時代のボトルネックは、生成能力ではなく信頼性と合意形成

Katalaはこの問題に対して、 意志の正規化(Detox)→ 交渉 → 合意 → 不変ログ化(Ledger) を提供する。


1. 全体フロー(実装ベース)

[Human Input]
   ↓
/api/intent/normalize
   - テキスト正規化
   - 優先度推定
   - 意志スキーマ化
   ↓
/api/mediation/propose
   - A→Bへの提案作成
   - 中立表現へ変換
   ↓
/api/mediation/resolve
   - 人間署名の検証
   - 合意/否決を確定
   - Ledgerへ記録
   ↓
Immutable Ledger (hash chain)
   ↓
Board UI (直近合意イベント表示)

2. コードマップ(機能ごと)

A. Human Layer(本人性・責任帰属)

src/lib/auth/humanSignature.ts

src/auth.ts


B. Mediation Layer(意志変換・交渉)

src/lib/mediation/detox.ts

src/app/api/intent/normalize/route.ts

src/app/api/mediation/propose/route.ts

src/app/api/mediation/resolve/route.ts


C. Trust Layer(不変ログ・監査)

packages/katala/core/ImmutableLedger.ts

src/lib/ledger/store.ts

src/app/api/ledger/route.ts


D. UI Layer(可視化)

src/app/page.tsx


E. Profiling / Matchmaking / Import(既存機能)

src/app/api/profiling/route.ts

src/app/api/matchmaking/route.ts

src/app/api/import/route.ts

src/app/api/batch/route.ts


3. 蒸留する仕組み(重要)

Katalaの本質は、情報をそのまま増やすことではなく、意味を蒸留してから残すこと

蒸留パイプライン

  1. Raw Input
    • 人間の自然文、感情、ノイズ
  2. Normalization
    • Intent Schema化
    • 目的/制約/期限/優先度を抽出
  3. Detox
    • 感情ノイズ除去
    • 交渉可能な中立表現へ変換
  4. Decision Point
    • 提案/合意/否決を明示
    • Human署名で責任帰属
  5. Open Threshold判定
    • L0/L1/L2を機械判定
    • 高リスクは収集禁止、 中リスクは蒸留後のみ
  6. Distilled Audit判定
    • Purpose(safety/reliability/compliance)
    • TTL自動設定
    • Human Override(オプトアウト)
  7. Immutable Record
    • 必要最小の事実だけをLedgerへ記録
    • 後から検証可能な形で保存

なぜこれが必要か

目的: 記録を増やすことではなく、意思決定コストを下げること。


4. 現在の限界(正直ベース)


5. 次に実装すべき4点

  1. WebAuthn assertion検証(Human署名の本番化)
  2. nonce再利用防止(replay対策)
  3. Ledger永続化(DB/ファイル)
  4. 蒸留ポリシーの設定可能化(領域別Detox)

6. 関連ドキュメント


この文書は「必要性を説明するための技術根拠」として維持する。