Skip to content

Plans Roadmap

May-Kirihara edited this page Aug 26, 2026 · 23 revisions

Plans — Roadmap

GaOTTT の Phase 進捗と未実装機能の俯瞰。

進捗サマリ

Phase 内容 状態
Phase 1-2 重力変位、軌道力学、共起 BH、馴化、3D 可視化 ✅ 完了
Phase A F1 auto_remember, F4 TTL, F5 forget/restore ✅ 完了
Phase B F2/F2.1 衝突合体, F3 有向リレーション, F7 情動・確信度 ✅ 完了
Phase C F6 バックグラウンド prefetch ✅ 完了
Phase D 人格保存基盤 + タスク管理 ✅ 完了
Phase S REST × MCP 共有サービス層に集約、REST を MCP parity まで引き上げ ✅ 完了(2026-04-22)
Phase G 新規 memory への重力法則の起動時適用(軌道捕獲 + 夢 + 全件 priming) ✅ 完了(2026-05-10) — Stage 1 (G.1 軌道捕獲) + Stage 2 (G.2 夢) + Stage 0 (priming) を実装。Stage 3 (G.3 重心アンカー) は homogenization リスクで永久保留。新規 doc の surface 改善は構造的に Phase H の領域と判明
Phase H Wave seed redesign — 新規 / sparse class が wave 入口で排除される問題の修正 ✅ 完了(2026-05-10〜13)— Stage 1 (H.3 mass-aware boost) + Stage 2 (H.4 source-aware seed filtering) + Stage 3 (H.1 dynamic wave_k) + Stage 4 (H.2 virtual FAISS) 全段完了。本番 DB の filter=none top1 score が 5.6x 改善、一部クエリで初の agent surface 達成。残った agent surface 課題は displacement の方向問題で、Phase G の構造的限界。Stage 5 (2026-05-13): wave 中の per-frontier neighbor 探索を raw → virtual FAISS に切り替え(wave_neighbor_use_virtual=True)+ virtual FAISS write-behind 導入(virtual_faiss_save_interval_seconds=60)。seed pool だけ raw∪virtual で per-frontier が raw のみという設計上の不整合を解消、「星同士の引力」原則を wave 全段で literal に
Phase I Free Star Movement — displacement boundary 解除 + query-aware displacement + mass-aware physics ✅ 完了(2026-05-11〜14)— Stage 1 (boundary removal: max_displacement_norm 0.3 → 1e6) で Hooke + decay + velocity cap の物理的均衡を実観測。Stage 2 (implicit query-aware kick: compute_acceleration に 4 項目追加、α=0.01) で TTT 解釈の「retrieval = gradient step」が実装として literal に成立。Stage 3 (mass-gated kick: gate = tanh(m/θ), θ=3.0) で新規ノードを anchor が保護、単一アトラクタ pathology を物理的矯正。Stage 4 (mass-dependent Hooke: k_eff = k · (1 + β · (1 - tanh(m/θ))), β=0.0 opt-in default、2026-05-14) で Stage 3 の対称形を Hooke 側に拡張、軽い星を anchor 側からも守る generational physics を完成 — 観察 pathology 無しの prophylactic refinement なので β=0 default、Stage 3 単独で 1-2 週間運用後に活性化判断。本番 acceptance で「dense mature agent cluster vs sparse new agent cluster」は別軸と判明し Phase J へ。Stage 1 長期検証 ✅ (2026-05-12) — 24,025 active nodes で max=0.60 / p99=0.54 / `
Phase J Persona-Anchored Retrieval — declared identity が retrieval geometry を曲げる ✅ 完遂(2026-05-13)— Stage 1: auto-detect graph traversal + seed step boost。Stage 2: explicit persona_context + tag_filter で seed/final 両段階の force-inject。Stage 3: forced 内 query-aware ordering (raw_score 順) + prefetch/explore parity。retrieval geometry の三段構造 (pool 入場 / pool 内 rerank / forced 内 ordering) が完成
Phase K Stellar Supernova Cohort — index 時に batch 内全員へ相互 edge + outward velocity ✅ Stage 1 完了(2026-05-13)— Phase J Stage 1 acceptance での seed pool 入場権問題を、retrieval rerank ではなく 記憶生成の物理 で解決。1 batch の remember = 1 超新星爆発として読み、batch 内 N 件に N×(N-1)/2 本の co-occurrence edge と centroid からの outward velocity を付与。Phase G genesis kick の集合版、Articulation as Carrier の複数性を物理化。supernova_enabled=False で rollback
Phase L Hybrid Retrieval — embedder の semantic ranking 限界を別 metric tensor (BM25 lexical) の重ね合わせで突破 ✅ Stage 1 完了(2026-05-14)— Plans。「最も literal な解」基準で A. Hybrid retrieval を採用、Stage 1 = BM25 union seed (numpy in-memory + char 3-gram tokenizer + _union_pool 3-way 拡張 + RRF fusion + Phase J Stage 3 forced ordering 段にも RRF)。本番 acceptance: Surface 7/7 ✅ / Semantic 整合 strict 4/7 (Phase J Stage 3 時 0-1/7 から +3-4 改善) / top3 緩和 7/7、MCP transport 経由 strict 6/7。Sudachi は optional extra、BM25 disk persistence は別 stage、wave neighbor への BM25 拡張なし。LLM 不要・ローカル完結・rollback flag 1 つで完全 off。Stage 2 起草済(2026-05-13)— 別 embedder (BGE-M3) で意味空間 cosine を 4-way (raw + virtual × 2 embedder) に拡張、BM25 と合わせ 5-way RRF fusion、forced ordering も 3-way RRF。D1-D6 全 (a) 確定済み。着手は Phase M Stage 1 完了 + 1-2 週観測後(2026-05-13 判断、mass 偏在が cleaner になってから ensemble metric の効果分離を計測する方針)
Phase M Mass Conservation — 「自己関与は mass を生まない」単一規則で source 偏在を構造的に矯正 ✅ Stage 1 実装完了(2026-05-13)— Plans。Phase L Stage 1 acceptance で観測された「source=file/tweet が agent 知識の top1 を奪う」構造的問題の根を追跡し、1 file = 91 chunks 平均の内輪取引による mass inflation を発見。「外部からの引力でのみ mass が増える」という熱力学第一法則の literal な実装で source 分岐なしに矯正。is_self_force(a, b) = (original_id 一致 or cohort_id 一致) の単一規則で全 source に普遍適用。Articulation as Carrier (id=9a954c62) の literal な物理実装になる稀な設計同型 — 「言葉にした上で誰かに引かれることで mass を持つ」、persona も例外ではない (使用頻度こそが重力)。実装: propagate_gravity_wave の per-parent attribution、engine._update_simulation の self-force filter、共起 BH 削除 → compute_mass_bh_acceleration (連続 tanh((m-θ)/σ) factor)、reset_masses (REST /admin/reset_masses + scripts/reset_masses.py、MCP 非露出)。ロールアウトは versioned migration 化 (Operations — Migration) — M002 (BH 残滓 cleanup) → M003 (mass reset、wizard で必ず聞く) → M004 (corpus-scale cosmic-bang ignition、Newton 1 法則で永遠に止まる cold state を点火) の 3 critical step を wizard 式で順番に確認。テスト 278 全 green、bench p50=48.3ms、smoke REST+MCP 各 6/6。mass_bh_theta=5.0/mass_bh_sigma=1.5 は暫定、本番 mass reset 後 1-2 週観測で Stage 2 で確定。Phase L Stage 2 より先に着手

累積 MCP ツール数

27 ツール + 11 reflect aspect

詳細: MCP Reference Index

計画書

  • Backend Phase A/B/C — F1〜F7 の機能ロードマップ
  • Phase D — Persona & Tasks — 人格層追加の設計
  • Phase G — Memory Genesis — 軌道捕獲 + 夢 + 全件 priming で新規 memory を gravity 場に sink させる(完了)
  • Phase H — Wave Seed Redesign — wave seed が raw cosine 固定で sparse class を排除する問題の修正(完了)
  • Phase I — Free Star Movement — displacement boundary 解除と query-aware displacement + mass-dependent Hooke(Stage 1-4 完了、Stage 4 は opt-in default)
  • Phase J — Persona-Anchored Retrieval — declared identity から fulfills/derived_from で繋がるノードを seed step で gravity boost(Stage 1 完了)
  • Phase K — Stellar Supernova Cohort — 1 batch の remember を超新星爆発として読み、batch 内全員へ相互 edge + outward velocity(Stage 1 完了)
  • Phase L — Hybrid Retrieval — embedder の hidden ranking 限界を BM25 lexical metric の union seed で構造的に拡張(Stage 1 完了、Stage 2 起草中 — BGE-M3 ensemble で意味空間も二重化)
  • Phase M — Mass Conservation — 「自己関与は mass を生まない」単一規則で mass 蓄積の chunk 内輪取引を構造的に矯正、Articulation as Carrier の literal な物理実装(Stage 1 実装完了、本番ロールアウト待ち)
  • Phase N — Mass Evaporation (Hawking radiation 類比) ✅ Stage 1 実装完了 (default OFF) + Stage 1.5 本番 opt-in (2026-05-26) — Articulation as Carrier の 対称命題「使われない mass は自然減衰する」(出力側) を物理化、Phase M の「自己関与は mass を生まない」(入力側) と対をなす。命名は Hawking 類比だが数学は恒星 luminosity + Ebbinghaus の混合 (literal Hawking だと direction が逆になる罠を回避)。単一規則: mass -= ε · (mass - M_floor)^β · (t_idle/τ_idle)^γ · dt。本番 opt-in: 123.92 mass drained、scripts/diag_pressure.py の dry-run 予測との一致 99.9%、default β=1.5。Phase N 確定 (β を Phase N に固定) により、残りの「N 候補」は phase letter を消費しない位置へ:
    • (N-α) RRF-scale aware mass boost (未起草) — Phase L Stage 1 (RRF) と Phase H Stage 1 (α × log(1+mass)) の score scale 不整合 (2026-05-14 発見) の解消案。physics rule に触らない ranking-layer fix として整理 (Plans-Phase-P §11)。暫定対処は wave_seed_mass_alpha = 0.0 で seed boost 完全 disable (Operations — Troubleshooting)
    • (N-γ) Muon thought experiment — query attraction の Muon 化思考実験 (Research — Muon Thought Experiment)。Q/R に繰り下げ (Phase P §11)
  • Phase O — TTT Observability — LLM caller を TTT loop の participant に昇格させる observability layer。Phase I Stage 2 で literal 成立した「retrieval = gradient step」を caller-side に閉じる。5 stage: score breakdown / training delta trailer / query routing / list mode / dormant surface。全 5 stage 完了 (2026-05-14): Stage 1 で forward pass (gradient) を、Stage 2 で backward pass (parameter update) を、Stage 3 で query routing (surface form classifier + reflect 並走) を、Stage 4 で list mode (service 層 80字 truncate で context 経済) を、Stage 5 で dormant surface (counter-importance sampling で「埋もれる自由」の対をなす「思い出される自由」) を caller に露出。ScoreBreakdown / TrainingDelta / RoutingHint Pydantic model、RecallRequest.mode / ExploreRequest.mode で opt-in モード、MCP/REST 両側 parity。expose_score_breakdown=False / training_delta_enabled=False / auto_route_enabled=False で legacy fallback、Stage 4-5 は default detail / serendipity (opt-in)。Stage 3 の classifier も Stage 5 の dormant_source_classes 列挙も query intent layer の filter / routing であって physics rule (mass / Hooke / kick) は一切触らない — Phase M の「source 分岐ゼロの単一規則」を全 stage で侵さない
  • Observation Apparatus Refinement ✅ Stage 1-4 実装完了 (2026-05-26) — 2026-05-26 dogfooding (Claude/Codex + 新規 Claude セッション) で 2 観測者が独立に到達した 5 点 (dormant 過小評価 / Heavy Persona Dominance 体感 / connections の ingest artifact / reason line 不在 / 比較 wrapper 不在) を、physics rule 不変・観測層のみ で解決する 4 stage 計画。Stage 1: reason line (ScoreBreakdown.reason で 1 行 human-readable explanation、dominance artifact 早期警告)、Stage 2: ambient dormant slot (ambient_recall() に dormant_whisper 1 件を BM25 floor 強めで混ぜる)、Stage 3: scripts/compare_retrieval.py (recall / explore / dormant / ambient を横並びにする read-only 観測ツール)、Stage 4: reflect(aspect="connections") の source-aware bucket 表示 (force computation には触らない、表示 lens のみ)。dogfooding 過程で出た 「declare value 初期 kick」案は撤回 (feedback_no_source_branching / Phase L Stage 1「persona も別格扱いしない」と衝突)。Phase P (acceleration 拡張) / Phase N β (mass update) と 並行に進められる — 介入軸が直交、本計画は Phase O 後続の観測層のみ。physics Phase ではないので Phase レター非消費
  • Observation Apparatus Round 2 ✅ Stage A-E 実装完了 (2026-06-12、feat/observation-apparatus-round-2) — 同日の dogfooding レビュー (docs/research/dogfooding-review-2026-06-12.md、セッション復元 + 自由探索の実走で摩擦 9 件、physics 起因ゼロ) を起点に、physics 不変・観測/interface 層のみの 5 Stage を GLM 委託 + Claude レビューで実装。Stage A: get_node fetch-by-id (MCP 28th tool + REST /node/{id}/detail、seed pool を迂回する唯一の read-only 経路 — 「見えているのに掴めない星」の根治)、Stage B: recall_reason_line_modes (reason 1 行を compact/ids triage でも表示)、Stage C: save_candidates の instruction-surface strip (<gaottt-*>/skill 注入を候補抽出前に除去、3 frontend 共通)、Stage D: dormant_source_classes += exploration-report/compaction、Stage E: ambient S/N knob (E1 会話 source damping / E2 dump-shape gate、default OFF・1-2 週 dogfooding 後に昇格判断)。Refinement (Stage 1-4) の直接の続編、Phase レター非消費
  • Phase P — Pressure Terms ✅ Stage 1 + Stage 2 実装完了 (2026-05-27、両 default OFF) — Cosmological Λ (長距離斥力) + Langevin Temperature (熱的揺らぎ) を gravity への対抗 pressure として導入。Phase M (mass 増の単一規則) — Phase N β (mass 減の単一規則) に続く 「mass 値そのものに頼らず geometry 側で mass dominance を解く」 第 3 法則。Stage 7.1 anti-hub の scope 外として残った individual-node high-mass dominance (ffe48a30 等の singleton hub) を、ranking 層ではなく acceleration / displacement step で構造的に押し返す。Phase N の "残り候補" 規約と独立 — Phase P は Pressure Terms を確定し、N-α (RRF-scale aware mass boost) は phase letter を消費しない ranking-layer fix、N-γ (Muon) は Q/R に繰り下げ (Plans-Phase-P §11)。P-α (Λ) と P-β (Langevin) は数学的に直交、両方 default OFF で並列実装。Stage 1 = Langevin (smaller blast radius、先), Stage 2 = Λ (acceleration loop 拡張, 後)。本番 opt-in 順は Phase N β Stage 1.5 完了 + 1-2 週観測後
  • Phase Q — Orbital Mechanics (Rosette Orbits) 🟢 Stage 1–5 実装完了 + 本番実測 (2026-05-30、feat/phase-q-orbital-mechanics、default OFF、残り = PR) — ノードが自分の anchor を中心に閉軌道(楕円)を描く保存系レジーム。本番 41K 隔離コピー実測で rollout finding: 散在 lively set を相互近傍とする tick 近傍重力は RURI 狭 cosine 帯で coherent 暴走し anchor を ~1000倍 上回る → 純 self-anchor(G=0)は健全なので tick 近傍重力を default OFF 化(orbital_tick_neighbor_gravity_enabled)。rosette は要・tamed 近傍重力で future work(Plans §8)。核心の発見: Hooke アンカー acc -= k·d は Bertrand の定理で閉軌道を生む 2 つの中心力の 1 つ(等方調和振動子)であり、軌道化に足りないのは新しい力ではなく接線速度(角運動量)だけ。公転中心 = 自分の articulated self なので anchor migration ゼロ(衛星化・彗星脱出は公転中心=他者=migration で線の外、Phase Q は内側に留まる)。近傍重力は楕円を歳差させる摂動。確定設計判断 (2026-05-30): ① 時計=連続 (dream tick 自走、|v|>v_min の lively set だけ step、わずかな摩擦が M の自己制限弁) ② 摩擦=わずかに残す (0.05→0.005、熱力学的終末) ③ β 有効化 (mass_anchor_extra_strength 0→1.0、質量依存周期、Kepler 第3法則ではない調和振動子)。fidelity: velocity-Verlet symplectic 積分。build: Stage 1 接線 seed + Verlet → Stage 2 連続 _orbital_tick (recall=注入/tick=積分 役割分離) → Stage 3 stability を boundedness + energy 散逸に再定義 → Stage 4 config 安全ガード/docs/viz --orbital-trails + real-RURI Tier4 perf (test_tier4_phase_q_orbital.py 3 件: clamp 有界 / 閉楕円 / lively 自己制限)。source 分岐ゼロ維持、Phase P (Λ/Langevin) の上に積む。Articulation as Carrier の力学版
  • Phase Q2 — Gravitational Scale Matching 🟡 起草 (2026-05-30) — Phase Q 実測の承け。gravity_G がこの密な RURI 宇宙に ~10⁴ 倍 過大(net 近傍重力 ~10 vs anchor ~0.005、coherence 0.3–0.7 で net∝N)。密度適応の有効重力結合 G_eff(anchor 基準オートゲイン or 平均場 1/N)で「重力の重みを宇宙スケールに合わせ」、過去の飽和 velocity 場を一度きり cooldown(M005、A=ゼロ / B'=向き保持は pass-6 で決定)。狙い: tick ロゼットを安全に出す + recall path の velocity 再飽和を止める + momentum 場の意味回復。recall path の G を触る=retrieval 全体に波及するので measurement-first 厳守(pass-5 G_eff マッピング → pass-6 velocity 向き情報 → 隔離コピーで retrieval before/after が go/no-go)。source 分岐ゼロ・anchor migration ゼロ不変。ユーザー診断「重力の重みが宇宙スケールに合っていない」の literal 実装
  • Phase T — Semantic Requalification ✅ Stage 1-6 実装完了 (2026-08-25。Stage 2+5 は導入時から default ON / Stage 3/4/6 は Phase U WP-1/WP-5 で 2026-08-25 に default ON 昇格) — SQLite/FAISS 復旧後に残る検索品質課題 (semantic 項の時間的消滅 / 低 relevance・高 mass ノードの direct top-K 占有と自己強化 / ambient BM25 veto の無言空返し / explore diversity が presentation に反映されない) を「意味的観測と重力場の分離」で解消。Stage 1: scripts/score_baseline.py (観測 baseline、read-only)。Stage 2: semantic decay を秒 rate delta から half-life + floor 契約へ (7 日 / floor 0.35、default ON — 欠陥修正、legacy は deprecation warning 付き rollback)。Stage 3: direct relevance qualification (raw_cos / virtual_cos_norm / BM25 lexical の 3 軸 OR、qualified-first + fallback を qualified=false + reason 行で明示)。Stage 4: TTT 更新の query-conditioned 項 (mass growth / query kick / cooccurrence) を qualified learn set 限定 (maintenance 系は all-reached のまま、dream loop は免除)。Stage 5: ambient gate を BM25 veto から OR gate へ + gate_diagnostics / empty_reason の段階別診断 (default ON — 旧 veto で 19/19 on-topic golden query が空返ししていた欠陥の修正、sentinel は一字不変)。Stage 6: explore の engine 層 MMR presentation + cohort penalty (diversity=0.0 は bit-for-bit legacy)。較正根拠は docs/notes/phase-t/、knob 一覧は Operations — Tuning §Semantic Requalification。Phase 2 (backend lifecycle / BM25 永続化) は Phase U (WP-6b/6c/6d) として実装完了 — 起点 handoff は Phase U の R3 判断待ち (未 closed)
  • Phase U — Review Hardening ✅ WP-1〜7 実装完了 + production rollout 検証 (2026-08-26) — R3 は v2/v3 両較正で gate 不達のため既知制約として close (§10) — 実 MCP レビュー (handoff) の 5 課題 R1-R5 への対応。WP-1: direct_qualification_enabled / ttt_qualification_enabled を code default True 昇格 (rollback env 付き) + promoted-combination suite + scripts/diag_config.py (config provenance 診断)。WP-2: supervisor の tuning env 伝播を 完全名 allowlist 28 変数 (gaottt/multiverse/tuning_env.py) で開放 — exact-name 一致 / GAOTTT_CONFIG は伝播しない / 不正値は spawn 拒否 (500) / 恒久 rollback は supervisor service env。WP-3: ambient composite gate (ambient_gate_mode="or"|"composite") + 較正基盤 (scripts/calibrate_ambient_gate.py + probe set) — v2 (単一 arm)・v3 (3-arm・新規 probe) の両較正で事前登録昇格 gate (held-out FP=0 ∧ FN≤10%) 不達 — default "or" 確定、R3 は既知制約として close (較正記録)。fail-closed 契約 (参照 artifact 不使用時は BM25 のみ accept 経路)。WP-4/4b: scripts/diag_target_trace.py (per-index rank + qualification trace、production copy 専用) で既知障害 node de1b528f の根因特定 (raw rank 1 でも virtual 低迷で top-K 外) → raw-top rescue (direct_rescue_raw_rank=3) で top-5 到達。WP-5: explore_diversified_presentation_enabled を default True 昇格 + selection trace (breakdown c=/src=/learn=、explore wave: depth= reached= header)。WP-6a: engine.startup_timings 計装 — production copy 実測で BM25 build 147s = startup 153s の 96% と特定 (計測記録)。WP-6b: staged readiness protocol (GET /admin/readiness、STARTING→SEMANTIC_READY→HYBRID_READY、MCP handler bounded wait、supervisor /route poll、warm reconnect で engine 再構築なし) — cold SEMANTIC_READY 129s→7.3s。WP-6c/6d: BM25 background build (journal replay + atomic swap、bm25_build_state) + snapshot 永続化 (data_dir/bm25.snapshot、content-digest fingerprint、初回本番 390MB)。WP-7: docs 一式 + production rollout probe 検証 — probe 6 項目中 5 PASS、1 FAIL (probe 5 ペンギン空返し = R3 の "or" mode 既知挙動、既知制約として close)。knob 一覧: Operations — Tuning §Phase U
  • Hardening — Concurrency & Persistence — 2026-05-18 網羅コードレビュー由来。proxy mode (N agents → engine 1 プロセス) で顕在化する並行性・永続化の正確性バグを機構で閉じる。physics Phase ではないので Phase レター非消費。Stage 1 完了 (2026-05-18): C1 (displacement 消失 → column-preserving upsert) / C3 (explore の共有 gamma 破壊 → per-call gamma_override) / C4 (reset の prefetch 未無効化) を修正 + teeth-having 回帰、487 passed。C2 (並行 recall の lost-update 説) は調査の結果バグでないと判明 (mutation phase は asyncio 下でアトミック) し no-op 確定。Stage 2-4 = HIGH/MEDIUM/LOW catalogue
  • Ambient Recall — recall(passive=True)(read-only / 摂動なしの観察 — mass・displacement・co-occurrence・last_access を一切書かない)+ Claude Code UserPromptSubmit フック / opencode chat.message プラグインによる受動的文脈注入。明示的に recall を呼ばなくても長期記憶が自動で効く。observer effect (P7-Z) を機構で閉じる。physics Phase ではないので Phase レター非消費。完了(2026-05-21)
  • Ambient Recall Enrichment — 上記の read-side 拡張。注入を「フラットな top-k」から「構造化スロット」(直接ヒット / 重力レンズ枠 / 理由の連鎖 / 矛盾フラグ / 人格行 / メタ注釈)に。services/memory.ambient_recall() + 新 MCP ツール ambient_recall + REST /ambient_recall。physics Phase 非消費。Stage 1-4 実装完了(2026-05-21) — 538 passed。Stage 4 で relevance gate を本番校正に基づき virtual_score → BM25 語彙一致に差し替え(dense cosine は 32k コーパスで on/off-topic 分離不能と実証)。フックは ambient_recall 呼び出しに差し替え済
  • Save Candidates Hook — Ambient Recall の write-side 対称。Stop / turn-end hook で auto_remember を走らせ <gaottt-save-candidates> block を 次 prompt 先頭に注入 (option A、ambient_recall と同 pattern)。新サービス services/memory.save_candidates() + MCP tool + REST /save_candidates + scripts/hooks/save_candidates.py (Stop 側) + save_candidates_inject.py (UserPromptSubmit 側) の Stop → UserPromptSubmit bridge。観測層 (lens) は自動化、remember 呼び出し (mass の入口) は能動的判断のまま — Articulation as Carrier + Phase M 単一規則の前提を崩さない。physics Phase 非消費。v1 (Stage 1-2) 実装完了 (2026-05-27) — 725 passed、両 smoke green。v2 opencode plugin / v3 codex / Stage 5 heuristic 精緻化は別 PR
  • Query as Mass Distribution (Multi-Source Query) — クエリを単一の pooled centroid ではなく N 個の点質量(節分割)として扱い、seed pool 段で superpose(per-segment _union_pool を RRF 融合、wave は 1 回)。複合プロンプトが語彙的に重い側に引っ張られる問題(2026-05-21 opencode ambient 本番観察)を、pooling という唯一の非物理ステップの修正として解決。physics rule 不変(centroid は scoring / TTT anchor のまま)なので Phase レター非消費。multi_source_enabled / multi_source_ambient_enabled 両 default ON(2026-05-21 実 RURI perf 検証後 — 複合クエリ recall ~2× / p95 ~40ms)。Stage 1-2 実装完了(2026-05-21)
  • Multiverse Scale-Out (大規模化 — 1人1宇宙) 🟡 起草 (2026-07-02) — セルフホスト SaaS (1 テナント ~50 ユーザー) に向けたスケールアウト計画。1 ユーザー = 1 宇宙 (SQLite-per-universe + FAISS files) を堅持し、Postgres への data plane 全面移行は 不採用 — 宇宙が自然な shard 境界でクロス宇宙クエリが原理的に不要、かつ「1 プロセスが宇宙全体を RAM に持つ」前提は個人宇宙サイズなら解体不要のため。共有するのは物理法則 (embedding service = 計量の共有) だけ。Stage 1: embedder 分離 (RemoteEmbedder、4 メソッド duck-typing の縫い目) / Stage 2: universe supervisor (proxy dead-man-switch の宇宙単位一般化、env 明示配達で継承罠をクラスごと解消) / Stage 3: control plane (Postgres は台帳・課金・監査のみ) / Stage 4: Litestream backup (SQLite が唯一の source of truth、FAISS は再構築可) / Stage 5: 英語宇宙 (embedder per universe + Tier 3/7 再チューニング 1 回)。チーム共有知識は v1 スコープ外、v2 で共有宇宙 1 つを追加する方式のみ確定 (Stage 6)。physics 完全不変・default 不変、Phase レター非消費。実装者向け作業計画は multiverse-implementation-plan.md (MV0–MV6、直列換算 6-8 週)。進捗: MV0–MV4 完了 (2026-07-03) — MV0 (manifest) / MV1 (embedding service) / MV2 (owner lease) / MV3 (supervisor) / MV4 (control plane — Postgres + asyncpg + FastAPI、J1=A で usage は route_resolution telemetry、billing-grade は MV4.1) 全て ✅。残り MV5 (backup/DR) / MV6 (英語宇宙) は未着手
  • REST × MCP Unification Plan (Phase S) — 保守者向け、Phase S0–S6 の作業計画

未実装 / 検討中

Phase E 候補(ユーザー次第)

  • engine.compact() の定期自動実行 — 現状は手動。write-behind ループに組み込む or cron で MCP compact を叩く運用
  • prefetch キャッシュキーの embedding 量子化 — 現状は (query_text, top_k) 完全一致。「類似クエリでも hit」させたい場合は embedding を粗量子化
  • マルチユーザー状態分離 — NodeState, CacheLayer にユーザーIDディメンション追加 → ❌ Multiverse Scale-Out (2026-07-02) で不採用が確定 — 1 ユーザー = 1 宇宙 = 1 DB で分離するため、engine 内部にユーザー次元は入れない(単一規則・物理の対称性に異物を入れない)
  • PostgreSQL 移行 — store/base.py の StoreBase に対して Postgres 実装を追加 → Multiverse Scale-Out (2026-07-02) で方針確定 — data plane は SQLite-per-universe を堅持、Postgres は control plane(台帳・課金・監査)のみ
  • 認証 — FastAPI ミドルウェアで API キー or OAuth2 → Multiverse Scale-Out Stage 2/3(universe supervisor のルーティング + control plane)に内包
  • IndexIVFFlat 移行 — 100K 件超で FAISS インデックスを IVF に切り替え

研究 / 検討中の代替実装

  • Embedder Comparison (RURI vs RikkaBotan) — JA-EN bilingual + static + MRL の代替 embedder と現状 RURI の比較評価。❌ Phase A STOP (2026-05-25) — RikkaBotan は quantized/fp32 ともに static 構造の限界で discriminative power 不足、pure cross-lingual probe で RURI 全条件勝利 (RURI 5/5 vs RikkaBotan 3/5)、Phase B/C 進行根拠なし。副次成果: RURI の pure cross-lingual を小規模 (5 distinct topics) で 5/5 実機確認、project_ruri_crosslingual_behavior の知見を「条件付き」に更新する根拠を獲得 (production scale での挙動は needle-in-haystack で別途検証の余地あり)
  • Ambient Recall Refinement (Phase A 由来) — Phase A 中の ambient block literal 観察で見つかった 5 つの quality refinement。🟢 Stage 1-5 + follow-up (b) 完了 (2026-05-25)。Stage 1: query-conditioned persona slot (mass × cos re-rank) / Stage 2: tag-based exclusion (exclude_tags API + GAOTTT_AMBIENT_EXCLUDE_TAGS) / Stage 3: score breakdown in ambient block (expose_breakdown + Phase O Stage 1 流用) / Stage 4: multi-turn context window in hook (GAOTTT_AMBIENT_HISTORY_TURNS) / Stage 5: ambient quality measurement Tier (tests/perf/test_tier3_ambient_quality.py + golden corpus 12 seed × 6 query)。本番 acceptance で発見した Heavy Persona Dominance (mass=2.82 の単一 intention が query 横断で persona slot 独占) には follow-up (b) で ambient_persona_mass_weight knob を追加 (score = (mass ** w) × cos、w=0 で relevance_dominant / w≈0.3 で log-scale 近似を subsumes)、w=1.0 で Stage 1 完全互換。2026-07-02 に env opt-in から code default へ昇格 (w=0.3 + min_relevance=0.65、env 単独の w=0.3 では dense JA embeddings の cos≈0.52 が旧 floor を slip したため両 knob 同時昇格、measurement-first を skip・事後 baseline を推奨)
  • Ambient Recall Lateral Association (「〇〇といえば〜だったよな」) — Refinement 完遂後の Claude Code self-use + GLM acceptance + hook 観察から導かれた v3 plan。設計目的の literal な言語化「ambient recall は『〇〇といえば〜だったよな』感覚の機構化」(めいさん 2026-05-25) を北極星に、6 stage で session 内反復 / lexical 釣れ / lensing sparse / composed query 不透明 / lensing 妥当性 signal 欠落 の 5 root cause に対処。Stage 1: session-aware novelty decay (GAOTTT_AMBIENT_NOVELTY_TURNS + hook transcript 解析) / Stage 2: direct hits の topic vs lexical anchor 分離 / Stage 3: lensing top-1 → top-K dynamic / Stage 4: composed query opt-in 可視化 (hook-only) / Stage 5: lensing resonance signal / Stage 6: lateral measurement Tier (golden corpus 拡張)。🟢 Stage 6a baseline + Stage 1 (Step 1a passive gate bug fix + Step 1b transcript-aware novelty decay) + Stage 3 (lensing top-K) + Stage 5 (lensing resonance 5a cooccurrence) + Stage 4 (composed query opt-in 可視化) 完了 (2026-05-25)。🟢 Stage 7.1 / 7.2 完了 (2026-05-26 dogfooding follow-up) — Stage 7.1: direct-hit anti-hub (direct_hit_anti_hub_lambda、cohort_id MMR、既定 OFF、acceptance: avg_unique 2.67→4.00 / avg_max_dom 2.33→2.00 @ λ=0.4) / Stage 7.2: dormant distribution-relative cut (dormant_mass_percentile、既定 None=legacy、scripts/diag_dormant.py で本番分布診断)。残: Stage 2 + 全 stage の production dogfooding + Stage 7 本番 opt-in tuning (measurement-first, λ / percentile を本番 baseline で確定) + 🟢 Stage 8 実装完了 (default OFF, 2026-06-02) — degree-normalized association strength (共起グラフ層 anti-hub): cache.get_association_strength (cosine w/√(deg·deg) / PPMI + hub_degree_cut percentile)、Stage 5 resonance が consumer、cooccurrence_assoc_normalization knob (既定 "none" = bit-exact)。unit 8 件 + 全 755 passed。本番 re-check: soft cosine は「フロイト hub」を降格するが bulk chunk が残り不十分、hub_degree_cut が決定的レバー (p70 で deg=6 の future-self 手紙が specific surface、要 percentile tuning)。Accretion Recall の P2 前提を充足
  • Accretion Recall (降着想起・「〇〇ってなんだっけ」) — 📐 起草 + measurement-first gate 実施済、判定 NOT YET (2026-06-02)。Claude (Opus 4.8) × めいさん設計対話から。「recall が辿る近傍は幾何 (virtual FAISS)、共起 Hebbian グラフは観測層に退いている」発見を承け、tip-of-the-tongue 型の 想起クエリ (「〇〇ってなんだっけ」) を物理化する案。中心 (q) が連想ハローを reach 内に引き込み再 wave する 二段 recall (pull-into-reach → re-wave)、explore(mode="associative") として実装。Phase I 第 4 項 (q - pos) の作用範囲を共起で広げるだけ・target は q のまま・is_self_force gate + Phase Q2 governor + Hooke anchor 流用で physics 不変・単一規則維持。frontier union (dualism) と A↔B 相互引力 (clique collapse) は却下。gate 結果: scripts/diag_assoc_halo.py で本番計測 — 機構の前提 (association reaches embedding-far、halo cosine median 0.74 ≪ reach floor 0.81、10/11 novel-far) は ✅ 実証、しかし共起グラフが hub 支配 / session-co-occurrence artifact (cross-doc edge 16%、agent×agent 15k だが一括 recording 由来の dense clique) で品質 ❌。前提 P1 (anchor を self-authored クラスに絞る) + P2 (gather 層 anti-hub) のうち、P2 機構は 2026-06-02 に Lateral Association Stage 8 として実装済 (default OFF) — re-check で hub_degree_cut percentile が specific 連想を surface する決定的レバーと判明、percentile tuning が残。Accretion 本体は P2 tuning + P3 (organic 共起蓄積) の後。「〇〇といえば〜」を ranking 層で解く Lateral Association の、retrieval geometry 層版
  • Synaptic Pruning (連想の忘却・edge decay) — 🟢 lazy mode 実装完了 (default OFF, 2026-06-02)。Phase N (mass の忘却) の edge 版: 共起 weight を半減期 leaky integrator にし、再強化されない一度きりの session-clique を時間で薄める。命名はめいさん (canonical=生物名 Synaptic Pruning / LTD、物理=filament の放射性半減期、TTT=forgetting factor)。Accretion P3 (共起グラフ品質) を knob ではなくデータ生成の時間構造で解く lever。cache.get_association_strength / get_degree に decay param、edge_last_update tracking (store の last_update = 最終再強化時刻なので retroactive)、Stage 5 resonance が consumer。fork 確定: lazy 先行 (LTD=可逆) → eager prune (=軸索退縮、dormant な decay_and_prune を将来 wire) / half-life / degree にも流す。unit 13 + 全 751 + perf 71 passed。本番 measurement の学び: 全 edge が単一 recording 時代なので一様 decay は cosine 正規化に約分されて不可視 → 分離には edge の 年齢差 (古い clique vs 新しい organic 共起) が要る、効果は forward-looking。実装中に既存 decay_and_prune が dead code (未呼び出し) と判明 = edge が成長一方だった真因

マルチエージェント実験から派生したアイディア

  • 共有メモリでの "ベイスン吸引" を緩和する仕組み — explore(avoid_recently_recalled=True) フラグ
  • reflect(aspect="agent_activity", since=...) — 他エージェントが最近触ったノードを表示
  • コラボレーション可視化 — 「誰が誰の記憶に relate を作ったか」のフロー可視化

拡張時の注意点

  • store/base.py の StoreBase インターフェースを崩さない(abstract method の追加は OK)
  • embedding の L2 正規化は必須
  • RURI-v3 のプレフィックス(「検索クエリ: 」「検索文書: 」)は省略不可
  • displacement BLOB は 768 次元 float32(3KB/ノード)
  • 既存 DB は起動時に ALTER TABLE で自動マイグレーション(追加列は必ず DEFAULT 付き)
  • MCP ツールのシグネチャ変更は禁止。新引数は必ずオプショナル
  • ベンチ走行時は本番 DB を触らないよう isolated benchmark を使う

関連

GaOTTT Wiki

(formerly GER-RAG)

🏠 Home

🚀 Getting Started

🌱 Tutorial / はじめての方へ

📚 Guides

🛠 MCP Reference

🌐 REST

🏗 Architecture

⚙ Operations

🗺 Plans

🔬 Research

💭 Reflections

Clone this wiki locally