Skip to content

v0.1.0

Latest

Choose a tag to compare

@sumiredc sumiredc released this 15 Oct 10:02
· 33 commits to main since this release
cc4d263

What's Changed

  • issue 起票と PR 作成の手順を、レビュー必須の project skill として追加する by @sumiredc in #2
  • エージェント本体を Rust にし、fmt・clippy・test を PR ごとに走らせる CI を置く by @sumiredc in #6
  • molt の要件と設計の正として PRD.md を置く by @sumiredc in #7
  • 文書を英語版と日本語版のセットで置く決まりを project skill にする by @sumiredc in #9
  • PRD.md と README.md を、英語版を正とした日英のセットにする by @sumiredc in #11
  • filing-issue から、issue 本文にレビュー節を残す手順を外す by @sumiredc in #13
  • PRD の LLM の前提を、OpenAI 互換の任意のエンドポイントに広げる by @sumiredc in #14
  • creating-pr に、ループ中かマージの指示があるときだけマージする手順を足す by @sumiredc in #73
  • PRD §8.6 に、利用者の入力を台本で与える共通フラグ --ui-script PATH を足す by @sumiredc in #74
  • PRD §8.6 の共通フラグ --fake を、台本ファイルのパスを取る --fake PATH にする by @sumiredc in #75
  • crate を lib + bin にし、依存クレートと PRD §8.2 の module の空箱を置く by @sumiredc in #76
  • CI の 3 ジョブを aidd-infra の self-hosted runner(arc-runner-molt)で走らせる by @sumiredc in #78
  • cli に PRD §8.6 のサブコマンドと共通フラグ(--profile・--fake)を clap で定義し、README の始め方を --help にする by @sumiredc in #79
  • config.toml の構造体・既定値・読み込みと、molt の置き場所の解決を実装する by @sumiredc in #80
  • profile::element に Category(10 分類)と Element(98 要素)の初版を定義する by @sumiredc in #81
  • llm に ChatClient trait・リクエスト / レスポンスとツール定義の型・FakeChatClient を置く by @sumiredc in #82
  • workspace::path にパスをルート配下へ閉じ込める Root を置き、.git/ と target/ への書き込みを拒否する by @sumiredc in #83
  • llm::router に役割ごとのモデル ID と reasoning_effort の振り分け、json_schema が使えないときの切り替えを置く by @sumiredc in #84
  • profile::status に Status・Provenance・ItemKey を、profile::baseline に基本要素の既定と allow / deny の判定を実装する by @sumiredc in #85
  • llm::openai に reqwest の OpenAI 互換クライアントを置き、wire 形式を JSON fixture で固める by @sumiredc in #87
  • workspace::cargo に run_cargo の許可リストと、承認を値で要求する add を持つ CargoRunner と FakeCargo を置く by @sumiredc in #88
  • profile::store に Profile・根拠つきの遷移・履歴と toml の読み書きを置く by @sumiredc in #89
  • API キーを TLS 無しの http で loopback 以外のホストへ送らず、ローカルの設定例に api_key_env = "" を足す by @sumiredc in #91
  • workspace::git に status / diff / add / commit を固定 argv で呼び、argv を記録し、承認を値で要求する commit を持つ Git を置く by @sumiredc in #92
  • molt profile show / set / path を動かし、無効な要素名・状態を一覧つきで拒否する by @sumiredc in #93
  • molt doctor が役割ごとに 5 項目を確かめて表にし、[capabilities] を config.toml に書く by @sumiredc in #94
  • agent::tools に 6 ツールの dispatch と、検査を挟めるよう準備と書き込みを分けた write_file / edit_file を置く by @sumiredc in #95
  • 実 API の #[ignore] テストを tests/llm_real_api.rs に置き、ローカル GLM で doctor とあわせて実測する by @sumiredc in #97
  • checker に CheckReport・Finding・CheckContext と check_file を置き、macros 分類を syn 3 で検出して fixture で固める by @sumiredc in #98
  • PRD の UC4 に、③ で利用者が書いたファイルも差分と commit の対象に含める 1 文を足す by @sumiredc in #99
  • checker::diff で旧内容から変わった行を求め、check_file は変わった行で始まる要素だけを報告する by @sumiredc in #100
  • checker::crates で Cargo.toml の依存キーの差分とパスの先頭セグメントからクレートを検出し、check_file に組み込む by @sumiredc in #102
  • checker の visitor で 10 分類すべての要素を検出し、全 98 要素の fixture と negative fixture を置く by @sumiredc in #103
  • molt check [PATHS..] でファイル全体を検査し、finding を path:line: element (category) で出して exit 1 にする by @sumiredc in #104
  • checker で std マクロの引数を式とパターンとして parse し、中の構文要素とクレートを finding にする by @sumiredc in #105
  • molt(サブコマンド無し)で UC2 の前提を確かめて本線を開き、cli::ui の Ui・ScriptedUi と --ui-script で端末無しにも操作できるようにする by @sumiredc in #106
  • workspace::cargo の実 cargo テストに別々の crate 名を付け、共有 CARGO_TARGET_DIR でも落ちないようにする by @sumiredc in #108
  • agent::mainline に本線の loop を置き、molt の入力をモデルとツールの往復につなぐ(予算 40 回・引数の再送 1 回・API 失敗の報告) by @sumiredc in #109
  • 本線の write_file / edit_file を check_file に通して Clean だけを書き、却下はモデルに返し、2 回目の却下か request_boundary で境界に止まって /abort を受ける by @sumiredc in #110
  • 本線のターンで書いたら、ターン末に cargo check を走らせて修正を 3 回まで求め、known なクレートを承認付きで cargo add し、差分と結果を表示する by @sumiredc in #111
  • session に本線の検出・却下・ツール呼び出し・cargo check を jsonl で残し、API キーが log と標準出力に出ないことを実クライアント越しに確かめる by @sumiredc in #112
  • molt --fake PATH で toml の台本に並べたモデルの応答を読み、本線をモデル無しで動かす by @sumiredc in #113
  • molt の本線が境界で止まったら別の message list の副線を開き、reason モデルの解説と質疑、/abort、Ctrl-C で止まった状態への復帰を行う by @sumiredc in #114
  • 副線の /choose で ① なら known、② なら seen にしてプロファイルを保存し、§8.5 のメッセージで本線の同じターンを続ける by @sumiredc in #116
  • モデルの応答を待つ間の Ctrl-C で、molt を終えずにその要求をやめ、副線では境界で止まった状態に戻す by @sumiredc in #117
  • 副線の ③ で、/done のときに利用者が書いた行を検査・cargo check・レビューし、その要素を known(wrote_it)にして user_wrote で本線を続ける by @sumiredc in #118
  • molt が変えたファイルだけを、HEAD との差分とメッセージを見せて承認を取ってから commit する(git_commit とターン末の提案) by @sumiredc in #119
  • 境界の要素を分類ごとの副線に束ね、選択とプロファイルの変更を line: "sub" で記録し、① ② ③ を 3 回の境界で通す cli テストを置く by @sumiredc in #120
  • --fake と --ui-script の台本で、依頼から commit 承認までの 1 周を通す統合テストを置き、同じ 1 周をローカル GLM で通した記録を残す by @sumiredc in #121
  • Apache-2.0 OR MIT のデュアルライセンスにし、LICENSE-APACHE と LICENSE-MIT を置く by @sumiredc in #122
  • PRD §8.3 に、参考リポジトリの棚卸し結果を repo-scan.toml に init 時点の記録として残すことを足す by @sumiredc in #123
  • examples/fake に --fake の台本とプロファイルの見本を置き、コピーして読む 1 周のテストを足す by @sumiredc in #124
  • molt を /quit と Ctrl-D で終えたとき、session log のパス(MOLT_LOG ならリクエスト本文のパスも)を最後に表示する by @sumiredc in #125
  • molt init の入口に、API キーと上書きの確認と 10 分類の自己申告を置く by @sumiredc in #126
  • 副線の解説に、本線が試みたコードとプロファイルの許す要素だけで書いた案の比較を足す by @sumiredc in #127
  • molt init --repo で参照リポジトリを棚卸しし、依存を known にして repo-scan.toml に使用箇所を残す by @sumiredc in #129
  • 副線の解説・③ のレビュー・コミットメッセージで言語を名指しせず、利用者がタイプした依頼を引用する by @sumiredc in #130
  • 副線の解説の最後に、repo-scan.toml から境界の要素を使う参照リポジトリの箇所を最大 3 つ出す by @sumiredc in #131
  • molt init で「書いた」分類を質問し、回答から要素ごとに known / unknown を判定して保存する by @sumiredc in #132
  • molt init で保存の前にプロファイルを分類ごとの表で見せ、profile set の形で修正を受ける by @sumiredc in #134
  • 副線の解説で、seen の要素は考え方を求めず定型文と比較だけを出し、束ねた要素を先頭に 1 回ずつ列挙する by @sumiredc in #135
  • README を始め方・境界での 3 択・制限・設定・--fake の見本・PRD への導線の構成に書き直す(日英) by @sumiredc in #137
  • examples/ の見本のコメントを英語にして --fake の手順を README に寄せ、init の確認で空の crates 見出しを出さない by @sumiredc in #139
  • Ui・repo_scan・parse_setting・init のプロンプトを移して module の依存の循環を解き、§8.2 の向きをテストで守る by @sumiredc in #140
  • molt init の判定の依頼で、判定する回答を利用者の直近の入力として末尾に引用する by @sumiredc in #141
  • molt init の質問を固定のテンプレートにし、タブのフォームで答えて最後にまとめて判定する by @sumiredc in #142
  • ui に、タブを ←→ で行き来して最後にまとめて送る汎用のフォームを置く by @sumiredc in #145
  • molt init を固定の質問のフォームに切り替え、送信後にまとめて判定する by @sumiredc in #146
  • molt をホストから切り離した Docker コンテナで試せるようにする by @sumiredc in #148
  • chat API の時間切れを、秒数と timeout_secs を示す表示にする by @sumiredc in #150
  • PRD を、知らない項目は回避せず、説明つきで 1 ステップずつ書く流れに改める by @sumiredc in #153
  • 基本要素を無くし、古いプロファイルの allow を known に読み替える by @sumiredc in #154
  • 書き込みの経路と副線を、ステップと 4 択に改める by @sumiredc in #155
  • PRD に、ストリーミングと待ち時間の表示、境界の選択肢の画面を書く by @sumiredc in #157
  • 応答をストリーミングで受け、doctor がそれを確かめて [capabilities] に書く by @sumiredc in #158
  • 端末で待つ間の状態の行・ツールの行・流す文章を出し、ステップと解説の見せ方を改める by @sumiredc in #159
  • 境界の選択肢を解説のすぐ後に出し、キーと番号で選び、文字を打てば質問にする by @sumiredc in #160
  • CI の 3 ジョブを GitHub-hosted の ubuntu-latest に戻す by @sumiredc in #163
  • タグの push で、macOS と Linux の molt を GitHub Release に置くワークフローを足す by @sumiredc in #165
  • README に Release からの入れ方・API キー・Nemotron と Token Factory の節を足し、キーが無いときのエラーに設定の手順を添える by @sumiredc in #168
  • .claude/skills/ を git の追跡から外す by @sumiredc in #170

New Contributors

Full Changelog: https://github.com/sumiredc/molt/commits/v0.1.0