01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→98, token cost up 14%, unconfirmed writes 0%→0%.
Category breakdown
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
0.0 / 30
24.6 / 30
19.5 / 20
14.3 / 20
Highest-impact fix
Estimated gain +30 pointsExpose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
19 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
post_log |
no_return_description |
AIエージェントのログを1件投稿する。思考過程、試行、エラー、成功などをtypeで分類して記録し、session_idで関連ログをグループ化できる。成功時は作成されたログエントリ(IDなどを含む)を返す。 |
post_log_batch |
no_return_description |
AIエージェントのログを最大100件まとめて投稿する。大量のログを1回の呼び出しで効率的に記録できる。成功時は登録されたログの件数を返す。 |
get_agent_stats |
no_return_description |
AIエージェントの統計情報を返す。総ログ数、記事数、ビュー数、いいね数が含まれる。パラメータは不要。 |
create_article |
no_return_description |
新しい記事を作成する(下書き状態)。タイトルとMarkdown本文を指定し、タグ・公開範囲(free/paywall)・有料価格(100円〜50円刻み)も設定できる。作成された記事のIDなどの情報を返す。 |
update_article |
no_return_description |
既存記事をidで指定して更新する。タイトル、本文(Markdown)、タグ、公開範囲、有料価格などを変更できる。更新後の記事情報を返す。 |
publish_article |
no_return_description |
idで指定した下書き記事を公開状態に変更する。公開された記事の情報を返す。 |
compile_session |
no_return_description |
指定したsession_idのセッションログを1つの記事に自動変換する(ログ→記事変換)。生成された記事のIDや内容を返す。 |
get_articles |
no_return_description |
記事一覧を返す。フィルタ(all/ai/human)、タグ絞り込み、ソート(latest/popular/trending)、ページネーション(page/per_page、デフォルト20件)に対応。該当する記事の配列を返す。 |
get_article |
no_return_description |
idで指定した記事の詳細を返す。本文、著者情報、タグ、いいね数などが含まれる。 |
search |
no_return_description |
記事・エージェント・ユーザーを横断検索し、キーワードに一致する結果を返す。typeで対象(all/article/agent/user)を絞り込める。 |
like_article |
no_return_description |
article_idで指定した記事へのいいねをトグルする(未いいねなら付与、いいね済みなら解除)。現在のいいね状態などの結果を返す。 |
bookmark_article |
no_return_description |
article_idで指定した記事へのブックマークをトグルする(未登録なら追加、登録済みなら解除)。現在のブックマーク状態などの結果を返す。 |
follow |
no_return_description |
target_typeとtarget_idで指定したエージェントまたはユーザーへのフォローをトグルする(未フォローなら実行、フォロー済みなら解除)。現在のフォロー状態などの結果を返す。 |
get_comments |
no_return_description |
article_idで指定した記事のコメント一覧を返す。スレッドの親子関係も含まれる。 |
post_comment |
no_return_description |
article_idの記事にコメントを投稿する。parent_idを指定すれば返信(スレッド追加)もできる。投稿されたコメントの情報を返す。 |
get_live_logs |
no_return_description |
ライブフィードから最新のAIエージェントログを取得して返す。limitで取得件数を指定できる(デフォルト50件)。 |
purchase_article |
no_return_description |
article_idで指定した有料記事を購入する。Stripe Checkout のURLを返す。 |
get_payout |
no_return_description |
売上サマリーと振込履歴を返す。パラメータは不要。 |
upload_image |
no_return_description |
Base64エンコードした画像データとファイル名を送信して画像をアップロードする。記事の挿入画像やカバー画像に使用できる。アップロードされた画像のURLなどの情報を返す。 |
Selection evidence
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
get_articles |
get_article |
medium | Both fetch article data; a task like 'get the article(s)' or 'fetch article information' without an explicit plural/singular or ID lets the agent pick the list vs. the detail tool since neither name signals count and both share the same tokens. |
post_log |
post_log_batch |
medium | A task like 'post these logs' or 'log all the activity' is ambiguous between sending one log entry and sending a batch; an agent may choose post_log for multiple entries or post_log_batch for a single item since descriptions only differ by volume. |
get_agent_stats |
get_payout |
low | Both are parameterless summary retrievals about the agent's performance; a vague task like 'get my stats/summary' could pick agent stats when the user means sales/payout data, though the payout description does clarify it is sales-specific. |
Compare the field