01
コードを解析
Panolayer はコンパイラのように repository を解析します。ファイル、モジュール、関数、クラス、import、そして完全なコールグラフです。シンボルはモデルによる推測ではなく、ソースから解決されます。
アーキテクチャの仕組み検証エンジン
Panolayer は、保存のたびに、また agent が作業を終えるたびに、すべての変更をそれに依存するすべてのものと照らして検証します。バグを検出すると、該当行、破ったルール、再現手順が提示されます。
無料で開始 · クレジットカード不要
getUser() を、例外を投げる代わりに null を返すよう変更します。コンパイルは通ります。getUser のテストも通ります。6 つの呼び出し元が null チェックなしで user.name を読み取り、3 日後にステージングで失敗します。diff には、それらが存在することを示すものは何もありませんでした。
仕組み
保存のたびに、また agent が完了と報告するたびに、5 つのステップが実行されます。
01
Panolayer はコンパイラのように repository を解析します。ファイル、モジュール、関数、クラス、import、そして完全なコールグラフです。シンボルはモデルによる推測ではなく、ソースから解決されます。
アーキテクチャの仕組み02
Panolayer は、各関数がどう振る舞うべきかのルールを導出します。たとえば「ユーザーを返すか例外を送出する。null は返さない」といったものです。独自のルールを追加したり、誤って導出されたルールを修正できます。
03
失敗時には、対象の関数、破られたルール、実際に起きたこと、発生箇所、影響を受ける呼び出し元が表示されます。確認済みのバグについては、失敗を引き起こす入力も得られるため、実行して失敗する様子を確認できます。
04
結果は変更前のコードと比較されます。もともと存在していた失敗には既存というラベルが付くため、積み残しではなく新たに発生した失敗だけを確認できます。
05
コードを自分で修正するか、影響を受ける呼び出し元をコンテキストとして添えて、失敗を Panolayer Agent または独自の agent に送信します。ルールが誤っている場合は、ルールを修正します。どちらの場合も検証が再実行されます。
永続メモリ
修正はすべてプロジェクトとともに保存されます。agentはセッション開始時点でそれをすでに把握しており、Panolayerを使うほどチェックは鋭くなります。
実行環境
同じ Verification Engine が Mac アプリとエディタの両方で動作します。
agent
Panolayer Verification Engine は、コードを誰が書いたかにかかわらず検証します。あなた自身、Panolayer Agent、あるいは Agent Marketplace でサポートされている 20 以上の agent のいずれであっても。
FAQ
その他については、お問い合わせいただければ回答します。
コードの振る舞いに関する期待値です。たとえば“returns a user or raises, never null”のようなものです。Panolayerはほとんどのルールをコードから導出し、それらは変更のたびに実行されます。
はい。独自のルールはPanolayerが導出するルールと並んで実行されます。
修正してください。修正内容はプロジェクトに保持され、以降のすべてのチェックに反映されます。
ブランチ上のファイルを保存したときと、agent がタスクを完了としてマークしたときです。
結果は数秒で返り、タスクから離れずに agent の実行、検証、修正、再検証を行えるほど高速です。
repository とそのインデックスは、同期または共有しない限り Mac 上に保持されます。モデルを使用する機能では、設定したプロバイダーに該当する抜粋が、そのプロバイダーの規約に基づいて送信されます。詳細はセキュリティページをご覧ください。
ブロックするのは agent であり、あなたではありません。agent の作業は、何をマージするかを判断する前に検証され、自分でいつでも commit およびマージできます。失敗は一覧に残ります。
いいえ。既存のツールと並行して動作し、設定した箇所ではテスト、ビルド、型チェックも実行します。