はじめに
自作のタスク管理ツールを、いっそファイルベース(1 タスク 1 ファイル + index、vim で直接編集して grep/git できる)に作り直したくなって、あれこれ掘っていた。その途中でこう思った。
会話も考えごとも全部 Markdown の vault に貯めてるのに、タスク管理だけ別システムなのは無駄では? タスクも vault の note にすれば、AI から見ても全部一箇所で grep できて都合がいいのでは?
理屈は通っている。なのに、やってみる前から強烈にキモかった。この記事は、その「キモさ」の正体を言語化しようとしたら、ブログ下書きの置き場所まで巻き込んで vault を作り替えることになった、という話だ。
知識とタスクは「適合方向」で分かれる
キモさの正体は direction of fit(適合方向)(Anscombe / Searle)で説明がついた。心と世界のどちらが「正」で、どちらをどちらに合わせにいくか。
- 知識 = 信念。心 → 世界。 世界が正で、自分の記述をそれに合わせる。ズレたら直すのは記述(知識)のほう。
true / falseで評価し、「完了」がなく、書き換えながら蓄積する。durable。 - タスク = 意図。世界 → 心。 意図が正で、世界をそれに合わせにいく。ズレ(未完)なら直すのは世界のほう。
done / undoneで評価し、達成したら消える。stateful。
判定テストはこれ一発:
保存する前に「これは true/false で評価するもの? それとも done/undone?」と問う。true/false なら知識(vault)、done/undone ならタスク(専用ストア)。
高回転の状態機械(タスク)を知識グラフに混ぜるのは、百科事典に TODO を綴じ込むようなものだ。git 履歴は完了/未完のトグルで汚れ、消えたタスクへのリンクは切れる。「分離が無駄」と感じた正体は実は 2 システム運用の手間であって、統合で解こうとすると壊れる。欲しかった効率は、汚れる merge ではなくリンクで取れる。
キモさのスペクトラム ─ ここでブログが出てくる
面白いのは、キモさが 0/1 ではなく連続していることだ。評価軸(真/偽 / 済/未)のどれが乗っているかで並ぶ:
- permanent note … 真/偽のみ → そのままで綺麗(純知識)
- ブログ下書き … 真/偽 + 済/未 → 部分的にキモい(ハイブリッド)
- 純タスク … 済/未のみ → 最もキモい(vault 外一択)
タスクと一見無関係に見えるブログ下書きが、同じ物差しの真ん中に座る。内容としては真/偽(良い記事か)だが、公開ライフサイクル(draft/published/rejected)という済/未も背負う。だから純知識ほど綺麗ではない。
そして自分の vault には、まさにその中間物が放置されていた。05_Blog/(draft/ published/ rejected/)というフォルダだ。タスクの件を言語化して初めて、「これも同じ病気の軽症版だ」と分かった。
手を動かした ─ 中間物を片付けてパイプにした
タスクはもともと自作の専用ツールに居る。残っていたのはスペクトラム中間のブログ下書きだったので、そこを片付けた。
05_Blog/をまるごと削除。記事は今後ブログ用リポジトリだけに存在する。- vault の README からブログのライフサイクル規約を撤去し、「関連する permanent note を束ねる」という収集規約だけ残した。
- 知識 → 公開物の stateless なパイプを新設。vault(source)から素材を集め、対話で記事を形にし、マスクしてブログリポジトリ(artifact)へ出す。下書きという成果物はどこにも残さない——下書きは「会話そのもの」。
ここで効くのが durability の軸(source / cache / artifact)だ。判定は「消したら不可逆に失うか?」。vault の知識は source、公開記事は artifact(生成後は外部に実体を持つ導出物)、下書きはそのどちらでもない作業状態。だから永続させない。
結果
- vault が「真/偽だけ」のクリーンな知識ベースに戻り、ライフサイクル状態という task 臭が消えた。
- 置き場所の判断が機械化された:「真/偽 か 済/未 か」「消えたら不可逆か」の 2 問を保存前に問うだけ。
- ついでに言うと、この記事自体がその新しいパイプを通って出てきた第一号だ。
まとめ
- 知識とタスクは適合方向で分かれる:真/偽(知識・vault)vs 済/未(タスク・専用ストア)。
- キモさは連続する:純知識 → ブログ下書き(ハイブリッド)→ 純タスク。ブログはこのスペクトラムの真ん中。
- 下書きは知識でもタスクでもなく、source から組む途中の状態。永続させない。
- 分離は無駄ではない。proximity は merge でなくリンクで取れる。
参考リンク
- Plugin は WHEN だけ、vault は HOW を持つ — 同じ「責務を分離して drift に強くする」原則の別応用
- Zettelkasten の本来の目的は「出力」だった — vault を育てすぎて手段が目的化する綱引きの話