Skip to content

v0.1.0

Choose a tag to compare

@pooza pooza released this 31 Jul 02:43
· 92 commits to main since this release
0f66218

**基盤の決定と土台。**未決事項を確定し、台詞コーパスを実データとして載せ、Mastodon への投稿が 1 通通るところまで。

⚠ **稼働はしていません。**ステージング検証とデプロイは実施していません(下記)。

決めたこと

決定
スタック#2 Ruby + ginseng-* 系 gem。常駐プロセス 1 本 + プロセス内スケジューラ
LLM#3 Anthropic Claude claude-opus-5。全機能で同じモデル
データストア#4 SQLite + Sequel
CI#6 GitHub Actions で rubocop / rake config:lint / rake test

台詞コーパス 561 件(6,969 文字)はシステムプロンプトに収まることを実測で確認したため、ベクトル検索も RAG 基盤も採りません

作ったもの

  • リポジトリの骨組み#5) — bin/makoto(Thor の CLI)、bin/makoto_daemon.rb(start / stop / restart / status)、syslog への JSON ログ、スケジューラのハートビート
  • Mastodon への投稿疎通#7) — makoto whoami / makoto post。恒久的な失敗と一時的な失敗を分けて上げる
  • 台詞コーパスのスキーマと投入#8) — makoto corpus import / stat。何度実行しても同じ結果になる

実データの件数

docs/makoto-legacy.md の記載と一致。

quote: 956
  応答可: 561(キュアソード 165 / 剣崎真琴 395 / ちびキュアソード 1)
message: 388(morning 237 / template 109 / birthday 23 / calling 13 / holiday 6)

リリース前レビュー

赤 0 件。黄 5 件は #33 へ繰越。セキュリティレビューは bundler-audit・Dependabot ともに脆弱性 0 件

⚠ ステージング検証とデプロイを省略しています

検証先の環境がまだ存在しないため。bydo はレシピ未適用で、MAKOTO 本体のデプロイレシピも未着手(pooza/chubo2#98)。

環境が無いことによる一度きりの例外で、前例にしません。0.2.0 以降は bydo が整うまでリリースしません。

開発中に塞いだ穴

  • tmp/db/makoto.db が git に追跡されていた — そのままコーパスを投入すると、第三者の著作物である台詞 956 件が public リポジトリに乗る経路だった
  • Sequel の例外メッセージは ASCII-8BIT — 台詞を含む SQL が失敗すると Encoding::CompatibilityError になり、エラー処理自体が落ちて本当のエラーが隠れる
  • テストの通信遮断が super 依存だった — サブクラスが setup を定義した瞬間に無言で外れる。投稿するボットなので、外れるとテストが実サーバーに書き込む
  • 投稿の再送で二重投稿 — Mastodon が受理した後に応答だけ失われると、再送が同じ投稿をもう 1 つ作る。Idempotency-Key を全試行で使い回すよう修正

0.2.0 は 11/4 バースデーライブSONGBIRD PARTY 2026)。予告開始が 11/1 のため、これが機能的な締め切りです。