Skip to content

tomobit

Tomobit is not built to use AI. Tomobit is built to grow with it.

DOI CI License: AGPL v3

複数のコーディングAIの前に立ち、経験(Experience)からConnectionを育てる Living Harness

English: README.en.md(正本はこの日本語版)

Getting Started

前提:

  • Go 1.26+
  • Provider CLI — claude(claude-code)/ codex の少なくとも一方が PATH にあること
  • 知覚バックエンド(任意・推奨)— Ollama または mlx-lm。 無くてもタスク実行はでき、知覚(Connectionを育てる素材の抽出)は保留と表示され、 後から tomobit perceive で追いつける。選択の背景は ADR-0029
git clone https://github.com/Rererr/tomobit.git && cd tomobit
go install ./cmd/tomobit ./cmd/tomobit-face   # tomobit-face は顔窓(無くても動く。警告1行で続行)
tomobit setup    # 対話式で配線を決める(claude profile / 知覚バックエンド / 顔窓) → ~/.tomobit/config.json
tomobit          # 相棒ビュー → そのまま対話へ。単発なら `tomobit do "..."`

do / chat--provider の既定は auto — Tomoが台帳の経験から実行者を選ぶ (ADR-0043)。autoの候補になるのは実際に 起動できるProviderだけなので、codex未導入でもそのまま動く。--provider claude-code の 明示指定は今までどおり効く。

台帳は ~/.tomobit/tomobit.db に住む(経験主権 — ADR-0018)。 コマンド一覧は tomobit help。初期導入の設計は ADR-0021

デスクトップGUIは別リポジトリ tomobit-gui

Docs

思想

認知アーキテクチャ

実行アーキテクチャ

実装設計

意思決定の記録

  • ADR-0001 — Connectionの誕生モデル(粗→Split採用)

  • ADR-0002 — Surpriseの定義(超過surprisal)とSplit有意判定(補正付きln BF+ヒステリシス。Merge側の安全弁「誤Splitは減衰で静かに畳まれる」は減衰だけでは働かないと実測で判明 — ADR-0037)

  • ADR-0003 — Outcome三層信号、能力/好みの二重Connection、Tomoの質問

  • ADR-0004 — 技術選定(Go / SQLite真実と射影の分離 / Ollama+Deferred Perception / 段階的デーモン化。知覚バックエンド選択はADR-0029で一般化)

  • ADR-0005 — 知覚の実装(qwen3:8b確定 / schemaは「形」・プロンプトは「意味」)

  • ADR-0006 — Executor統合(tomobit do / claude-code Adapter / ダイジェスト記帳 / Feedback)

  • ADR-0007 — Curiosityの最初の器官(Preference GapはView / 質問予算はeventsから導出 / doの区切りでTomoの質問。発火条件(対人ゲート)はADR-0035が改定)

  • ADR-0008 — Tomoの姿(成長ステージはView / ドット絵=半ブロック+ANSI / 依存ゼロ — 端末描画はADR-0025で廃止)

  • ADR-0009 — Tomoの声(発話=Viewの写像 / LLM不使用 / 語調は確信度のView)

  • ADR-0010 — 2つ目のAdapter(codex / do --provider / 写像はエラー経路実採取+仕様準拠)

  • ADR-0011 — Meaning by Model, Judgment by Math(判断は純関数、LLMの座席はextractorのみ)

  • ADR-0012 — 決定則=Thompson Sampling(探索は好みの側で、ミスは構造になる。Decision 3の名誉回復は継承事前下で未解決 — ADR-0037実測/ADR-0038 Proposed)

  • ADR-0013 — 事前分布の継承(平均だけ継ぎ、確信は継がない)

  • ADR-0014 — Plan学習(台帳は賭ける対象を選ばない)

  • ADR-0015 — Reflection(第一級の器官、実体は射影、核は双方向性。発火条件(対人ゲート)はADR-0035が改定)

  • ADR-0016 — Curiosityの優先度=Value of Information

  • ADR-0017 — ステージ関数の改版(成長のゲートは量でなく較正度)

  • ADR-0018 — Experience Sovereignty(経験主権と、humanの台帳)

  • ADR-0019 — 相棒らしさは導出される(感情・儀式・個性は台帳のView)

  • ADR-0020 — Tomoの顔窓(窓は第二のレンダラである)

  • ADR-0021 — 初期導入(配線は経験ではない / config.json / tomobit setup。知覚配線の質問はADR-0029で拡張)

  • ADR-0022 — 対話セッション(会話は入力の器・タスクは記帳の単位 / ターンはスレッドを継ぐ / インラインの自前ラインエディタ)

  • ADR-0023 — タスク分割(Providerの分割提案はプロトコル / サブタスクは独立タスク / 実行者は親の選択方法を継ぐ — autoなら台帳が分配。opt-in --split と逐次のみはADR-0028が改定)

  • ADR-0024 — チャットUX(履歴永続化・Ctrl-R・Tab補完・markdown-lite描画・ツールdetailは表示専用チャネル — 出力そのものへの拡張はADR-0030)

  • ADR-0025 — 端末アバターの廃止と顔窓の自動起動(姿は窓に一本化 / 端末=声とテキスト / 顔窓は既定で出る・設定で止める)

  • ADR-0026 — A/B実走(好奇心が問いから比較実験へ / Tomoが「試していい?」と申し出てY/n・2Providerを並走・ユーザー判定をpreference経験化 / 顔窓は「考える」吹き出し⚪︎つなぎで可視化 — orchestrator化しない)

  • ADR-0027 — 顔窓の寿命(窓は対話が生きている間だけ居る=既定エフェメラル / 在席は~/.tomobit/sessions/<pid>.lockのflockで測る / 常駐はface_residentでオプトイン)

  • ADR-0028 — 判断ゼロの分割と並走(分割プロトコルは常時ON=判断は毎回Provider / 独立群はProviderが宣言・既定は逐次 / 並走だけ実行直前にy/Nで人が許す=コストは実測中央値 / chatは成果を親スレッドにfeedし親Providerが統合 / 子は客観信号のみ・主観Feedbackは区切りの親に1回)

  • ADR-0029 — 知覚バックエンドの選択(perceive.MLXLMをOllamaと並ぶExtractorとして追加 / mlx-lmは構造化出力が無くプロンプト+Go側検証で「形」を保証 / configはperceive_backend+バックエンド別URL・モデル / --backendフラグとextractor生成の1箇所集約 / setupはバックエンド選択→URL・モデル→診断)

  • ADR-0030 — Providerのツール出力を表示専用で受け取る(tool_resultは表示専用キーで運び台帳はR3不変 / mdliteに通さずSGRのみ通す=色は残しレイアウト破壊を防ぐ / 先頭優先で上限に切る / codexも対称。ターン総量はADR-0031が追補)

  • ADR-0031 — ターンのツール出力表示予算(per-result上限はNで積む洪水を縛れない / turnViewにターン累積予算=先頭優先のターンスケール拡張 / 予算切れは一度だけ省略行を出し以後沈黙・detail行と本文textは予算外 / 上限値は実stream計測で較正)

  • ADR-0032 — pipe chatのGUI一級市民化(chat --view ndjson=stdout全体をNDJSON viewストリームにするオプトイン・台帳はR3不変 / cookedの行継続=末尾\はrawの\+Enterと同じ意味論 / TOMOBIT_FACE=1の明示はpipeでも顔窓を出す=TTYゲートはenv沈黙時の既定へ改版・presenceも同条件)

  • ADR-0033 — 忘却の器官(忘却は主権の行使=人間の動詞・Tomoは提案も実行もしない / forget=物理削除+VACUUM・amend=人間による再知覚(追記) / 人の手が入ったセッションは再知覚しない / 直後に自動rebuildで射影整合。忘却の到達範囲(行単位か世代単位か)はADR-0034が改定)

  • ADR-0034 — 忘却の到達範囲(forget --idは指名行だけでなく同一(session,kind)の下位世代も削除し版数の巻き戻りを防ぐ / 現行世代でないidの指名はエラー / 巻き添え行数は+N superseded rowsで告知 — ADR-0033 Decision 2/5を改定)

  • ADR-0035 — 対人ゲートの改版(Tomoの質問・鏡の発火条件をisTTY(os.Stdin)からisTTY(os.Stdin) || --view ndjsonへ拡張しGUI経由でも境界の器官が届くようにする / 対人(humanPresent)と端末描画(c.interactive)の述語を分離 — ADR-0007/ADR-0015を改定)

  • ADR-0036 — 判断が読むトークン(判断はcap=1トークンしか読まず粒度1のConnectionとSplit子は到達不能だった / Decision 1は決定的に既知のsizeもトークンにする / Decision 2はタスク記述をextractorに通してlang/framework/topicを判断へ配線=遅延して1タスク1回・誰も読まないなら叩かない・期限ノブは置かない・判断の記録は抽出プロンプトから外す・事前知覚と事後知覚のズレは埋めず監査に残す)

  • ADR-0037 — 継承事前の下での名誉回復を試みるも実測で頓挫(μ<0.48の親から生まれた子は減衰しても悲観ゲートを通らず、選ばれないから経験も来ずmerge判定機会も来ない自己強化デッドロック / merge判定の到達性は修復したが、実測でln BFはThetaMerge=0へ「上から」漸近するのみで実質到達不能(約15年)と判明 — 名誉回復は未解決のままADR-0038へ引き継ぐ)

  • ADR-0038 — 継承事前下の能力ゲート(悲観ゲートの基準線をq−marginからmin(q, PriorQuantile(q))−marginへ一般化し、低いμを継いだ子の恒久ゲート落ちを解消 / 一様事前の根では今日と同一判定・継承事前でも今日より厳しくならない片側緩和 / 定数0.20は一様事前のq分位点を書き下したたまたまの値だった — ADR-0012 Decision 3の未解決点への回答、ADR-0037 Decision 1を改版)

  • ADR-0039 — 相棒ビューの機械可読view(tomobit status --view json でstage/mood/speakを1オブジェクトで出す / 台帳が無ければ作らずexists:false / 顔窓起動・挨拶記帳なし — GUIのstage移植570行を廃し、台帳を書くバイナリ自身が導出する。Proposed)

  • ADR-0040 — 判断の監査行をviewへ流す(tomo.decidedに記帳済みのCandidates〈分位点・ゲート・勝ち数〉をchat --view ndjsondecidedイベントとしても流し、GUIが「なぜこのProviderか」を開示可能にする / 声は不変・既定は畳む — ADR-0011根拠3の監査可能性を表示経路へ延伸。Proposed)

  • ADR-0041 — 順序外の知覚は正典に立ち返る(遅延知覚がlive射影を減衰重み1.0で汚し無期限に残る実測 / バッチが既知覚より古ければlive Applyを捨ててrebuild — forgetの自動rebuildと同じ姿勢。Proposed)

  • ADR-0042 — Splitの飢餓と辞書順の遮蔽(均衡混合でexcess surprisalが発火せず、同粒度tie-breakの辞書順でlang=系Connectionが系統的に読まれない — 11連敗Providerが最頻選択される実測 / 対案5件を実測で序列づけ、対案2「選ぶのは一つ、拒否は同粒度の全員」を先行適用。ADR-0013 Decision 2改版。所有者の追認待ち)

  • ADR-0043 — 既定をautoへ(実台帳41セッション全てclaude-code・tomo.decided 0件=判断の器官が既定経路で一度も呼ばれていない実測 / do・chatの--provider既定をautoにし、候補は起動できるProviderに限る=環境の不備をProviderの能力の証拠にしない / 起動できなかった実行は非ゼロ終了・経験にもしない / humanは知っている文脈でのみ候補 / GUIはProviderを明示的に持ち既定auto — ADR-0010 Decision 1・ADR-0018 Decision 2を改版。Accepted・配備済み)

  • ADR-0044 — Providerの残量観測(公式手段は無いが、自分のOAuthトークンでベンダー自身のusage端点を読む経路が実在する〈着想元CodexBar・MIT・独立実装〉— 所有者許可の下で実測済み・両端点200 / claudeの資格情報はプロファイル依存Keychain(サービス名=sha256(configDir)先頭8桁)・取り違えは401でなく429に化ける実測→エラーに資格情報の出所を必ず載せる / 経路A採用を推奨・PTYスクレイプとブラウザcookie読みとcodexbar依存は却下 / 取れないときは「不明」=推定値を出さない・決定則には混ぜない / curiosity予算への残量ゲートとquota.observed記帳は将来ADRへ保留。Accepted・経路A採用しstatus --view json/人間view/GUIへ配線済み・実端点疎通のみ所有者確認待ち)

  • ADR-0045 — 鋭さは選択肢が無ければ測れない(候補1つだとWobbleが構造的に常に0で「おとな」へ素通り・2Providerだと90セッションでも未到達の正反対の病理を合成dogfoodで実測 / 鋭さは競争のある島でのみ測る・較正判定に標本数を要求〈ThetaCalMin=8.0実測較正〉・S5「あいぼう」は自分との比較を知っていること — ADR-0017の3ゲートを精密化。Accepted・配備済み)

  • ADR-0046 — 次の段に何が足りないかを開示する(成長は段が変わる瞬間しか見えず、しかも3ゲートが同時に開いて段が踏まれない=育てている実感が生まれない / status --view jsongrowth〈各ゲートの値・閾値・充足〉を足し、測定不能と未達を別の顔で出す / 声は不変・見せ方はレンダラの裁量・既定は畳む — ADR-0040 Decision 2と同じ二層。Accepted・実装済み)

  • ADR-0047 — 働く場所は配線である(作業ディレクトリと読み取り先が claude 固有の env 経由でしか渡らず、codex を選ぶと無言で効かなくなっていた / executor.RequestWorkDirAddDirs を持たせ cwd は Executor が落とし --add-dir は各 Adapter が翻訳・chat に /cd/add-dir を追加〈他の配線と同じくタスク境界でだけ替わる〉 / 台帳には書かない — 配線は経験ではない。Accepted・実装済み)

  • ADR-0048 — 姿の機械可読view(第三のレンダラが姿を欲しがったが、資産を書き写せば正本が割れ internal/ は import できない — ADR-0039と同じ構造の問題 / tomobit-face --view json が格子・パレット・気分記号の座・アニメのノブを1オブジェクトで配り、窓も台帳も顔ロックも触らずに返る / 口は主CLIでなく顔窓側=資産を持つ者が配る・Ebiten依存を端末利用者へ伝播させない / 犬種は導出せず引数のまま — ADR-0020 Decision 5。Accepted・実装済み)

  • ADR-0049 — 沈黙は同意ではない(ADR-0044の「所有者許可の下で実測済み」は所有者の機械にしか及ばず、公開すると全員の機械で無言で走る / quota_observe を追加し他のポインタboolと非対称にnil=OFF=降格の事故より無言の実行の事故が重い / 無効時は行を出さず「不明」を使わない=訊いていないのにその語を出すとviewで唯一正直な言葉が嘘になる / setupの質問文にコストを書く=理解されていないopt-inは同意ではない / ADR-0044は撤回せず既定値だけを変える・既存の機械も一度OFFに落ちる=自分の機械にも同じ規則を適用する。Accepted・実装済み)

  • ADR-0050 — 作業場は宣言で分ける(duel の2本・複数の起動・GUIの四分割が同じ作業ツリーを共有し、汚染した実行が provider.error→y=0 でProviderのせいでない泥を台帳に入れる / 分割・隔離と同じプロトコル型で「このプロジェクトが使うバージョン管理の隔離手段で作業場を分けよ」とだけ渡す=git という語を持たない・kind は自由文字列 / 宣言はさせるが検証はしない=台帳に載るのは「Providerがそう宣言した」であって「隔離された」ではない・isolated:false は失敗でなく正常な返答 / 隔離の単位はセッション木=サブタスクは親を継ぎ〈群間依存を壊さない〉duelの子だけ各自持つ・群内並走の共有は塞がない / 置き場は tomobit が渡し後始末は人がする=マージも掃除もVCSの語彙。Accepted・未実装。実 claude で一発追従を実測)

  • ADR-0051 — 分け方は分け方として評価する(分割は常時ONなのに、分け方を返した親は do では無傷・chat では会話全体と混ざったまま=采配が学習の外にある / 采配は「分け方=Provider」と「割り当て=決定エンジン」に割れ、後者は既にループが閉じている / 能力とは別の事実なので capability に混ぜない〈ADR-0003 D2の理屈〉が、標本の壁〈ADR-0045〉があるので信号だけ貯めてConnectionは作らない / 良かった日は Feedback に相乗り・芳しくなかった日だけ1問増える=摩擦が結果に比例 / ADR-0028が却下した「クレジット割当」とは向きが逆で、按分しないので配分比も相関も生まれない。Accepted・未実装。起草時の見立ては実台帳に否定され理由を差し替えた)

  • ADR-0052 — 第1層を生やす(ADR-0003の三層のうち第1層と第2層は書き手がコードに存在せず、実台帳の test.result は0件だった / ADR-0006 D3 の先送りの理由〈子プロセス内のテスト実行を外から決定的に識別できない〉は正しいまま、tomobit自身が走らせれば識別が要らないので無効化する / Providerには宣言させない=宣言は Beta を動かす資格がない〈自分の成績表を書かせない〉・観測手段がある以上「観測できるものは観測する」 / テストの走らせ方は配線〈ADR-0047〉なので config に「働く場所→コマンド」・書かなければ1バイトも動かない / 起動失敗もタイムアウトも記帳しない=成果物についての判定ではない / 分割の子には走らせない=群間逐次では途中の赤が正常な中間状態。Accepted・実装済み。主観Feedbackゼロで Beta が動くところまで実測)

  • ADR-0053 — 許可は人が与える(GUIから起動したProviderがファイルを書く仕事をできなかった=--permission-mode が誰からも渡っていない / 気持ちよく使うこととパーミッションは別なので bypassPermissions を既定にはしない〈GUI ADR-0007 が「実行経路は便利さのために既定で開けてよい口ではない」と切った判断を無言で覆すことになる〉 / 既定は auto、ただし語彙は Adapter が訳す=tomobitは中立3語(auto/strict/open)だけを持ち claude の permission と codex の sandbox は同型ではないと明記 / 許可要求はターンを終わらせる(実測: --input-format stream-json でも control が来ない)ので「その場で続行」ではなく「許可 → 再実行」・費用がもう一度かかることを問いに書く / 粒度は道具・寿命はセッション・ディスクに書かない〈覚えた許可は次に人が見ていない時にも効く〉 / 許可は配線であって経験ではないので台帳に書かず、権限で止まったターンを provider.error にもしない〈人が渡さなかった判断がProviderの成績になる〉。Accepted・実装済み。ADR-0050の隔離と噛み合って初めてGUIから実作業が通った)

  • ADR-0054 — 子は親タスクの内訳である(ADR-0028 D5 が子に与えた客観信号は実台帳で一度も鳴っていなかった=13セッション・全体の27%がConnectionを1ミリも動かしていない / 論点を詰めたらコードの事実が設計より先に答えを決めた: ①ADR-0013の親子は Connection の scope の親子でタスクの親子ではない=子専用の棚も親子を結ぶ線も無い ②auto は子ごとに autoDecide を呼ぶが親の知覚トークンで引いており、記帳は子の意味の棚へ落ちる=引いた腕と更新する腕が違う ③分割の子の Request に WorkDir が無く、別のリポジトリで作業していた / 所有者の判断は「親の意味で統一する」=子は独立した発注ではない〈人事として、採用したメンバーがオフショアした先のチームまでは評価しない — 引いているのは木の深さではなく契約の深さの線で、auto でも tomo は子を見て選んでいないので契約が発生していない〉 / D1 決定はタスクにつき1回・子は親の相手で走る〈tomo.decided も human抽選も子から消える〉 / D2 子は経験にしない・イベントは残す〈副産物として片側だけの証拠も外れる: 失敗だけが y=0 で乗る形では、成功率95%のProviderが未計測のProviderより下に並ぶ〉 / D3 子は親の作業場所で働き、隔離が宣言されていればその中で働く / 却下: 子ごとに意味を取り直す〈知覚コスト4倍・子は親の文脈を持たない・tomobitがオーケストレーションを始める〉、一様1/Kで主観を按分〈人は子を1つも見ていない〉。Accepted・実装済み。ADR-0026 の duel だけが唯一の例外)

  • ADR-0055 — 判定は拒否権である(ADR-0003 の三層のうち第2層 user.verdict だけが初期カタログに載ったまま6年間書き手を持たなかった / OutcomeWeight の導出を縦に読むと、機械が人より上に立つ場所は TestsPassed=false ただ1つprovider.error は既に as-is に負け、3=だめだった は赤と同じ向き〉=第2層が要る瞬間は「赤テスト × 1=文句なし」の1点に特定できる / だから第1層が空だった間は上書きすべき対象が無く、ADR-0052 が第1層に書き手を生やした日に初めて必要になった / D1 境界で矛盾した時だけ1問〈ADR-0003 の pull 型反転・ADR-0051 と同じ「摩擦は結果に比例」。2=まあまあ は含めない — 所有者決定。既定N=沈黙は同意ではない。観測は消さず赤と判定が経験の中で共存し導出で強い方が勝つ〉 / D2 tomobit verdict <sid> up\|down\|clear=「まだ言えない」〈実台帳で訊かれた26回中8回〉の受け皿。イベントが真実で、copy-forward が運ぶのは永続性ではなく即時性〈以後の再知覚が読み直すので判定は不滅〉。amend と違い execution 1行だけ動かす〈experiences_current は kind 単位で、execution はセッションに1行〉 / D3 出自は書き換えず凍結もしない=判定だけを差し替えたので、モデルの主張である context には1バイトも触れていない〈拒否権の行使に税金をかけない〉 / 却下: chat 内 /verdict〈成果物未完成の時点の判定は構造的に時期尚早〉、効果を改版待ちにする案〈test.result と同じ死に方をする〉。Accepted・実装済み。書き手Aは test_commands が配線されるまで休眠する=第1層への拒否権なので連動休眠が正しい)

  • ADR-0056 — 独立宣言は信じる(ADR-0028 の残った宿題。並走ゲートが interactive〈stdin と stdout の両方が TTY〉を読んでおり、--view ndjson が stdout を非TTYに強制する以上 GUI では構造的に永久に false だった=$613 使って並走の提示が0回 / 所有者の観察が問いの形を変えた: 人は大規模タスクを窓に分けず丸ごと投げるので「窓の軸」と「分割の軸」は別で、1タスクを速くできる経路は分割の並走だけ / 残った問いは1つ=Providerの「この2つは独立だ」を信じるか / 信じる側へ倒した — ①丸投げの相手を分け方でだけ疑う一貫性の無さ ②ゲートは答えられない人に訊いていた〈人はサブタスク文を読んでいない=同意ではなく手間の増えたコイントス。独立性は意味の問題でモデルの席〉 ③ADR-0054 が子の経験を消したので壊れても台帳は汚れず、壊れた成果物は第1層の赤か「3=だめだった」として親の経験に乗る=信じた結果が信じた本人の成績で返る / D2 費用は訊かずに始める前に1行言う〈GUI ADR-0009 の「判断せず事実として言う」〉 / D3 kill switch parallel_subtasks=信じることと止められることは別 / D4 parallel_offered/parallel_accepted は記帳をやめる〈提示も回答も無いのに false を書くのは「断られた」と読める嘘〉 / 却下: ゲートをGUIへ通す〈通しても人は答えられない〉、常時逐次〈parallel_subtasks=false がそのままこの立場〉、並走の単位を窓にする〈所有者の観察が直接否定〉。Accepted・実装済み。実 Provider が非TTY入口で3本を47ms以内に起動するところまで実測。残った宿題: 並走の子は view フレームを持たずラベル付き note で届く

貢献 / セキュリティ

  • CONTRIBUTING.mdCLAは採りません(DCO / git commit -s)。 設計に関わる変更はADRのドラフトから
  • SECURITY.md — 脆弱性の非公開報告と、このソフトウェアが触るもの

License

コードと文書で分けています。

対象 ライセンス
docs/ 以下の文書、README.mdVISION.ja.md CC BY-SA 4.0
上記以外のすべて(Goコード・テスト・tools/・スプライト資産) AGPL-3.0-only

© 2026 Rererr

文書を分けているのは、このプロジェクトで最も時間がかかっているのが コードではなく設計の記録だからです。理由は docs/LICENSE.md に書いています。

ライセンスは再実装を止めません(著作権が守るのは表現であってアイデアではない)。 この設計を読んで、別の言語で、別の名前で、もっと良いものを作るのは歓迎します。 そのときこの記録を参照してもらえれば、目的は果たされています。

Citation

設計を参照・引用する場合は CITATION.cff を使ってください (GitHubの "Cite this repository" から各形式で取得できます)。

DOI: 10.5281/zenodo.21553016 — 版を問わず常に最新版へ解決します。特定の版を指したいときは、その版のDOIを (v0.1.0 = 10.5281/zenodo.21553017)。

About

A Living Harness that learns which coding AI to trust, in which context. Judgments are pure functions over a Bayesian ledger; connections split and merge to find their own context granularity; your experience lives in one local SQLite file.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages