helm — 機能ロードマップ

生成: 2026-07-03 | 出典: docs/constitution.md, docs/design/*, docs/spec/*, docs/runbooks/*, system/*, git log, ~/.claude/skills(正典はそれぞれの原本。この HTML は使い捨て surface・再生成前提)
helm とは何か。 hygiene-gated・foresight-driven な自律システム。ひとつの統治カーネル(Transaction・Event Spine・Autonomy Ladder・Hygiene Model・Horizon)が個人プレーンと事業プレーンの2つに乗る。すべての変更はログ付きで可逆な Transaction であり、未来(Horizon)は過去・現在と並ぶ一級のストアであり、自律性は操作クラスごとに・使われるプレーン上で獲得される。名前はそのまま役割 — 一人で人生全体を操舵する舵輪(wheelhouse)。(出典: docs/design/2026-07-02-helm-architecture.md)

アーキテクチャ — 2プレーン・1カーネル

正典は2つ(憲法§1): ~/helm git リポジトリ(知識 MD)と 状態DB(tasks/events/horizon、Mac mini・未構築)。事業側の顧客 PII は helm に置かない。

GOVERNANCE KERNEL(共有憲法) — Transaction・Event Spine・Autonomy Ladder・Hygiene Model・Horizon

個人プレーン 稼働中

  • 知識: ~/helm git repo(memory/ MD 正典)
  • 状態: SQLite on Mac mini(tasks/events/horizon)未構築
  • サーフェス: PWA(未構築)+ 生成 HTML(surfaces/・稼働中)
  • PII: なし

事業プレーン 未着手

  • トランザクショナル: hub DB(顧客・問合せ・書類・水質)
  • 店舗: Postgres on mini が既定、Supabase は公開エンドポイント要件が出た時のみ(Δ8 未決)
  • 顧客 PII はここにのみ存在

カーネルはサービスでなく契約 — 両プレーンが同じ Transaction 形状・イベントスキーマ・ラダー規則・Horizon フィードを実装する。クライアントに関する知識的文脈(プロフィール・履歴・決定)は vault に、トランザクショナル/PII データは hub store に、ID で連結。

ゾーン契約(リポジトリ内部)

iPhone / Siri / Reminders
→
mini launchd drain(30分毎)
→
memory/inbox/
→
育ったら project 化
→
memory/work/<slug>.md
ゾーン役割衛生規則
memory/正典知識。現行 vault がそのまま移行済み全ルール対象(type/tags/categories/status/updated/summary/sources)
projects/作業場。誕生時に memory/work/<slug>.md へ登記project-close の蒸留を経ずアーカイブ不可
surfaces/使い捨て生成物(この HTML 含む)生成日+出典スタンプ必須・gitignore・引用禁止(lint エラー)
docs/憲法・design・spec・runbooks・handoffこの文書自身の出典層
状態DB(外部・mini)tasks/events/horizon単一ライター・git に置かない

実行トポロジー — 2台 + GitHub

MacBook
対話・外出
終了時 auto-commit/push
Mac mini(母艦)
常時稼働・自律ジョブ
単一自律ライター
GitHub jukiyak/helm
両機のハブ
mini 不達時のフォールバック

セッション開始: session-pull フックが git pull --ff-only(憲法も同時注入)。終了 (Stop): session-commit が dirty なら auto-commit + push。押し出し失敗は非致命的(次回再送)。外出時は Tailscale SSH で mini セッションに接続。

5つのプリミティブ

アーキテクチャ設計文書が定義する統治カーネルの構成要素。実装状況は「稼働中/部分実装/設計のみ」の3段階で示す。

1. Transaction 稼働中

動機: すべての正典書き込みが「なぜ・いつ・誰の承認で」を後から辿れること(来歴)と、間違えても戻せること(可逆性)を保証するため。個人プレーンでは git commit がこれを無料で提供する — 別立てのトランザクションログを作らない。

しくみ: 提案 → ゲート → 可逆な適用(git commit)→ 来歴(commit trailer)→ 記録(次の git log/digest から可視)の5段階。commit prefix(feat: fix: docs: chore(schema): chore(lint): chore(session):)が「どんな変更か」を、trailer(Helm-Actor: Helm-Txn: Helm-Source:)が「誰が・何のために」を分担して記録する。バッチ書き込みは全スキル共通の Batch Approval Plan テンプレート(CREATE/UPDATE/COUNT)で提示 — 1件ずつでなくバッチ単位で承認する。

ゲート: 削除・verified 上書き・risk:high・外部送信・金銭は永久 L0(自動化不可)。

詳細: docs/spec/transaction.md

2. Event Spine 部分実装

動機: 自律性を"証拠"に基づいて拡張するには、何が起きたかを AI の自己申告でなく機械的に記録する層が要る(進捗報告は自己批評でなく証拠と突合、が運用原則)。

しくみ: events テーブル1本(ts, type, actor, target, outcome, meta)+ system/spine/log-event.sh。SQLite はリポジトリ外(~/.helm/spine.sqlite)— 秘密でなく可変状態だから。fail-open 設計(sqlite3 が無ければ何もせず exit 0)、再帰ガード付き。

現状: スキーマとロガーのみ実装済み。フック(PostToolUse 等)への配線は未接続 — secrets runbook 完了とオートノミー・ラダーの解禁待ち。Mac mini への配備・Litestream 継続バックアップも未着手。

詳細: system/spine/README.md

3. Autonomy Ladder 設計完了・全クラス L0 運用中

詳細は 次章「Autonomy Ladder」を参照。

4. Hygiene Model 稼働中

動機: 手で管理するフィールドを最小限にし、新鮮さ(freshness)や孤立度(isolation)のような派生値は保存せず都度計算する — フロントマターの二重管理を避けるため。

しくみ: 手で持つのは status と、高リスクページのみ risk/confidence。updated は内容変更でのみ bump(スキーマ修正・改名・移動では bump しない)。system/lint がこの模型を17ルールで検査(後述)。

5. Horizon MD 暫定実装

動機: vault が過去・現在を記録するのに対し、期限・更新・カデンス・マイルストーンという「未来」を持つ一級のストアが要る。期日不明の項目は隠さず「要確認」として出続ける。

しくみ(現状): memory/system/horizon/(horizon.md + obligations.md + ログ)への暫定 MD 台帳。カレンダー・メール更新通知の harvest で更新。行の削除は禁止、完了は Archived セクションへ移動。

目標(未構築): 状態DBの horizon テーブルへ移行し、この MD フォルダは再生成可能なビューになる。専用スキルファイルは現状なく、dashboard/daily-log/weekly-review が読みに行く共有台帳という位置づけ。

Autonomy Ladder — 昇格は宣言でなく実績で

操作クラスごとに1段ずつ、Digest が示せる証拠の上で昇格し、失敗があれば自動で降格する。「AI が提案し人間が価値判断する」原則はどのレベルでも変わらない — 変わるのはゲートの位置だけ。

L3・スケジュール自律 — 無人で定期実行、事後レポート人間はレポートを読む・サンプリング監査
L2・自動+事後レビュー — 適用後に次回 Digest で確認事後ゲート
L1・自動+可逆 — 即適用・ログ済み・簡単に戻せる適用前ゲートなし
L0・提案のみ — 適用前に必ず人間が承認適用前ゲート(既定)

永久 L0(昇格不可): 家族外への外部送信(メール/LINE/投稿)、金銭移動・購入・契約、正典ファイルの削除、status: verified 上書き、risk: high ページの変更、helm 自身の統治(このラダー・憲法・permission 設定)の変更、逆操作が実証されていない操作。

現在地(2026-07-03 時点)

操作クラス現在目標昇格に必要な証拠
Vault-first 参照・自動読み込みL3L3既存(grandfathered)
trivial lint 自動修正L0L2(夜間)監督付きバッチ 3回・誤修正ゼロ(現在 0/3) — 直近の解禁対象
inbox キャプチャ構造化・daily-log 整形L0L2連続20回・訂正1回以下
問合せ分類(事業)L0L22週間・誤分類率2%未満
返信下書き生成(事業)L0L1(下書きのみ)下書きは定義上不活性 — 人間が送信
週次/月次レビュー生成L0L3無修正で連続4回受理

詳細: docs/design/2026-07-02-helm-autonomy-ladder.md

実装済み機能

カテゴリ別。各カードに目的・しくみ・実例を記載。稼働中 部分実装 未着手 で状態を示す。

同期・実行基盤

セッションフック4系統 稼働中

目的: 憲法をセッション開始時に強制注入し、2台のマシン間で正典を自動同期する — 人間が commit/push を意識しなくてよい状態にする。

しくみ: inject-constitution.sh(SessionStart で憲法注入)、session-pull.sh(ff-only pull、fail-open)、session-commit.sh(Stop で dirty なら auto-commit + push、fail-open)。すべて HELM_HOOK_GUARD で再帰防止。

実例: 本セッション冒頭の system-reminder に憲法全文が注入されているのがこの機構の直接の証拠。

知識管理(vault / memory)

headless lint engine(system/lint) 稼働中(自律適用は未解禁)

目的: Obsidian に依存せず、スキーマ違反(フロントマター不備・リンク切れ・構造問題)を機械的に検出・分類する。Autonomy Ladder のリング1のツール基盤。

しくみ: 4ファイル・17ルール(a-schema.js 必須項目/日付引用/廃止キー、b-links.js orphan/デッドリンク、c-structure.js ディレクトリ構造・命名、property-renames.js 旧キー統合)。すべての issue が tier(trivial/standard/review)を持ち、tier がレポート区分と自動適用可否を兼ねる唯一のモデル。_lint_skip: true が唯一のファイル単位オプトアウト。raw/** はスキーマ対象外。

実例: 2026-07-03、~/helm/memory 807ファイルの初回フルスキャンで trivial 681件・standard 2586件・review 1369件(計4636件)を検出。まだ --apply は未実行。

詳細: docs/spec/lint.md

wiki スキーマ・sub-wiki 再編ルール 稼働中

目的: フォルダが肥大化しても「いつ分割し、いつそのまま持つか」を毎回考え直さずに済む一貫した基準を持つ。

しくみ: 4+ ファイル & 独自語彙で sub-wiki 昇格候補(c1-subwiki-threshold が review tier で検出、自動分割はしない)。最大4階層(Directory Depth Rule)。分類は階層でなくフロントマター(taxonomy ≠ sub-domain)。アーカイブは status: archived が既定、5+件で物理移動。

詳細: docs/spec/reorganization.md, docs/spec/wiki-conventions.md

add-page / query-wiki / vault-lint スキル 稼働中

目的: 取り込み(ingest)・引用付き回答・lint 実行という3つの vault 操作を、Batch Approval の一貫した契約の上で提供する。

しくみ: add-page はインタビュー→ドラフト→Batch Approval Plan 提示→承認で page + 親 index + log を1回のトランザクションで書き込み+commit。query-wiki は index-first walk→grep フォールバック→[[Page]] 引用必須、3ページ以上を統合した回答は wiki への昇格を提案。vault-lint は headless engine の薄いラッパー。

日次・週次運用

daily-log / weekly-review / dashboard(+morning-briefing) 稼働中(interim)

目的: 「3行で終わる日報」「月曜の振り返り」「1画面の現在地」という3つの定期リズムを摩擦なく回す。

しくみ: daily-log は3行契約 + streak を Horizon に反映。weekly-review は daily logs + Horizon + lint 差分から生成し停滞プロジェクトを検出。dashboard は morning-briefing を統合済み(2026-07-03)— カレンダー・メール件数・Horizon を1枚に再生成し、同一 claude.ai Artifact URL に上書き(iPhone から閲覧可)。目標の「状態プレーン PWA v1(Tailscale)」はまだ無く、これは interim 実装。

Horizon 台帳 MD 暫定実装

「5つのプリミティブ」章を参照。専用スキルファイルは無く、dashboard/daily-log/weekly-review が読みに行く共有 MD 台帳(memory/system/horizon/)。

プロジェクト管理

project-init / project-close 契約 稼働中(会話契約・専用スキルファイルなし)

目的: 「vault が知らないプロジェクトは存在できない」— 登記なきプロジェクトを助長しない。誕生時登記と終了時蒸留をセットで強制する。

しくみ: スキルファイルでなく会話パターンとして実装(「プロジェクト立ち上げ: <名前>。ゴールは◯◯。経緯は…。期限は△△」と言うだけ)。不足質問≤4問→Batch Approval→承認で projects/<slug>/PROJECT.md(チャーター)+ memory/work/<slug>.md(登記)+ 期限があれば Horizon 行 を一括作成。close は蒸留(結果・決定・学びの書き戻し)を経るまでアーカイブ不可。

実例: 2026-07-03、進行中プロジェクトの棚卸し retrofit で traffic-accident-2026 / email-migration / household-finance-automation の3件を登記。helm 自身も同じ契約の第一適用例として自己登記済み。

詳細: docs/runbooks/project-playbook.md

キャプチャ

brain-dump パイプライン(Apple Reminders) 稼働中(launchd 登録は次の mini セッション待ち)

目的: 移動中・運転中・オフラインでも思いつきを取りこぼさず、単一ライター規律を保ったまま inbox に届ける。

しくみ: iPhone(Siri/ウィジェット/Watch/共有シート)→ Reminders リスト「helm Inbox」→ iCloud がオフラインキューを兼ねる → mini の launchd が30分毎に排水 → memory/inbox/brain-dump-YYYY-MM-DD.md(キャプチャ時刻を保持)→ 書き込み成功後にのみ Reminders 側を完了化(削除しない・可逆)→ chore(capture): commit。多重起動は lock dir でガード。

実例: 2026-07-03、dry-run で検証済み。launchd 本登録は TCC(オートメーション権限)の対話承認が必要なため次の mini セッションに持ち越し。

将来の合流先: Spine/PWA の自前 capture UI ができ次第、この経路と並走→置換判断。dashboard への排水件数タイル統合も予定。

詳細: docs/runbooks/capture-pipeline.md

メール自動化

email-automation(L0〜L3 レーン運用) v1 稼働・送信は永久ゲート

目的: 最長3ヶ月滞留していた未返信をゼロに近づける。送信は事業の対外行為であり永久に人間ゲート(Autonomy Ladder の pinned-L0)。

しくみ: 2026-07-03、送信済み58スレッド(2026-01-01〜07-03)を3並列エージェントでマイニングし、文体ガイド・分類taxonomy・取引先台帳を正典化。L0(機械的フィルタ)/ L1(トリアージ)/ L2(本人文体の下書き半自動)/ L3(要人間)のレーンに分離。email-triage / email-respond スキルが実装層(v2 改修対象)。承認サーフェスは Gmail 下書きフォルダ(モバイルファースト — iOS/iPad 移動中の処理が主要ユースケース)。Gmail API は drafts.send(gmail.compose 最小権限)を採用、無人化(mini 直 OAuth)は Spine 合流後の v2。

実例: 前セッションで `search_threads` がスレッド内メッセージを全部返さない不具合(9通中5通のみ)を発見 — トリアージは必ず get_thread で全文確認する設計に修正。

その他の個人スキル(helm 化済み・そのまま統合)

invoice-generator / quest-tracker / content-draft / research-note / learn / supplement-audit 稼働中

helm 誕生以前から存在した個人スキル群。統治カーネル(Transaction/Ladder)の対象ではあるが、独立に運用中。invoice-generator は請求書/領収書/見積書 PDF を会社プロフィール(Private/ 配下)から自動生成。quest-tracker は LifeQuest ゲーム状態(4層クエストアーキテクチャ)を追跡。learn はセッションの学びを memory/rule/skill/hook の適所へ格納 — このドキュメント自体の生成もこの学習ループの延長にある。

取り込みドクトリン

外部機能の再基礎づけ「5問チェック」 稼働中

目的: Hermes / OpenClaw のような外部エージェント基盤は「便利な常駐能力(capability convenience)」を最適化するが、helm は「証拠とともに拡大する信頼できる自律(trustworthy autonomy)」を最適化する。機能をそのまま輸入(ポート)すると前者の思想が混入するため、必ず5問で再基礎づけしてから採用する。

#問い通らない場合
1来歴を持てるかEvent として記録できる形に再設計
2永久 L0 との交点は明示できるか提案制に落とす
3蒸留経路(正典への graduation)はあるか経路を付けるか surfaces 扱いに
4所有かビューかビューなら生成物化、正典にしない
5単一ライター(mini のみ)を壊さないかmini 限定 or 提案制に変換

実例(初適用、Hermes、2026-07-03): bounded memory → 「正典の実体化ビュー(各行が正典に遡れる)」に再設計。cron→messaging 配信 → 「通知は使い捨て surface、送信事実だけ Spine に記録」に再設計。skill 自己昇格 → 「_pending/ に証拠付き起票し人間昇格」に再設計。

詳細: docs/design/2026-07-03-adoption-doctrine.md

ロードマップ(依存順・単一クリティカルパス)

並行する複数ロードマップを統合した唯一の依存順パス(design/roadmap 文書 I0)。各フェーズは「何を解禁するか」で読む。

Phase 0 — 基盤 完了

解禁対象: 構造的可逆性(恐れ#1)。repo scaffold・secrets 方針・backup・vault 移行(Obsidian 依存除去含む)・同期自動化(session-pull/commit)。すべて完了、2026-07-02〜03 の commit 群で実証。

Phase 1 — Spine と統治 完了

解禁対象: 信頼できるテレメトリ。State DB bootstrap(events テーブル+ロガー)、Transaction 規約(trailer + Batch Approval)、≤100行憲法 + オンデマンド spec、headless lint runner。すべて実装済み(Event Spine はフック未配線というスコープ内保留あり)。

Phase 2 — 状態プレーンとループ入口 部分実装

解禁対象: 5番目の恐れ(I5)+ モバイル生活。

Phase 3 — 要石の可視化 未着手

解禁対象: 心理的に安全な自律性。Health Digest(4つの恐れ + Horizon「接近中」の5パネル)、派生的な新鮮さ/プロジェクト停滞度の可視化。

Phase 4 — 獲得された自律性・デュアルトラック 未着手(リング1昇格 0/3)

解禁対象: I2。個人リング1(夜間 trivial-lint 自動修正・L2)、個人リング2(inbox/daily-log 構造化・L2)、事業リング1(問合せ自動分類+返信下書き・L1下書きのみ)。昇格は Digest 提示のエビデンスによってのみ。

Phase 5 — 複利化 未着手

解禁対象: I0 完全解消・I4 終局。自己改善ループ(Spine フィード→改善提案→回帰ゲート)、事業AI昇格(テンプレ化可能な問合せクラスの自動送信)、coral-pipeline のカーネル合流、ネイティブアプリ go/no-go(PWA 摩擦の実測後)。

並行トラック — 事業静的削減 依存なし・いつでも開始可

FAQ ページ公開・LINE リッチメニュー・チャネル統合(LINE + support@ へ集約)・スパムフィルタ。AI 不要・helm 非依存。問合せ量の約70%(I4)に直接効く。

出典: docs/design/2026-07-02-helm-roadmap.md(この章はロードマップ文書と実際の git history/現状を突合した「現在地つき」版)

実際の運用事例

2026-07-02 夜間
自律実行での Phase 0-1 完走。 「朝までに可能な限り進めて。破壊的操作と外部送信は止めておいて」という一言だけで、repo/憲法/secrets/バックアップ/vault 移行(Plan A)と headless lint 17ルール + baseline 4,636件計測 + Spine 最小版 + 仕様3本(Plan B)が一晩で完走。実装者→独立レビュアー→修正→再レビューのループ(SDD)が8/8タスクで実際に欠陥を検出。永久 L0(削除・外部送信)は自然に守られた — ゲートを都度明示しなくても憲法が効いた実例。
2026-07-03
lint baseline スキャン。 ~/helm/memory 807ファイルに対する初回フルスキャンで trivial 681 / standard 2586 / review 1369、計4636件。どの1件もまだ自動適用されていない — リング1の3バッチ実績が貯まるまで L0 のまま。
2026-07-03
メールコーパスの並列マイニング。 送信済み58スレッドを3並列エージェントで読み、文体ガイド・分類taxonomy・取引先台帳を1セッションで正典化。副産物として search_threads がスレッド内メッセージを欠落させる不具合(9通中5通のみ返却)を発見し、トリアージ設計を get_thread 必須に修正 — ツール結果を鵜呑みにせず突合する運用原則の実例。
2026-07-03
brain-dump キャプチャの dry-run。 Reminders リスト「helm Inbox」からの排水スクリプトを dry-run で検証。本番の launchd 登録は TCC(オートメーション権限)の対話承認が要るため、次の mini 対面セッションに意図的に持ち越し — 「今できること」と「人間の対話操作が要ること」を明示的に切り分けた実例。
2026-07-03
プロジェクト retrofit。 進行中だった3件(交通事故対応・メール移管・家計自動化)を「5分インタビュー:今どこ/次の一手/期限」だけで登記。既存の作業場所(他リポジトリ等)は動かさず、チャーターから参照するだけに留めた — 「vault が知らないプロジェクトは存在できない」原則の最小摩擦な適用例。

クイック索引 — 何をしたい時にどれを使うか

日々の操作の全文は surfaces/helm-cheatsheet.html(検索可能な早見表)を参照。ここでは「機能とその位置づけ」だけを一覧する。

やりたいこと使うもの本文書の節
今日の予定・メール件数を1枚で見るdashboard スキル日次・週次運用
思いつきをどこかに投げる「inbox に入れて」/ Siri → helm Inboxキャプチャ
新しいプロジェクトを始める「プロジェクト立ち上げ: …」(会話契約)プロジェクト管理
vault にページを追加・外部ソースを取り込むadd-page スキル知識管理
vault に質問して引用付きで答えてほしいquery-wiki スキル知識管理
vault の健全性をチェック・直すvault-lint スキル(system/lint 経由)知識管理
メールを仕分け・返信下書きしたいemail-triage / email-respondメール自動化
請求書・見積書を作るinvoice-generatorその他の個人スキル
helm 全体がどこまで進んでいるか知りたい本文書の「ロードマップ」章ロードマップ
外部ツールの機能を helm に取り込みたい取り込みドクトリン 5問チェック取り込みドクトリン