ballast_required
HTTP 403 · Ludion-Error: ballast_required
何が起きたか
Section titled “何が起きたか”署名は検証できましたが、この経路は有効な Ballast を求めており、あなたの Staple はそれを示していませんでした(または Staple が付いていませんでした)。
Ballast は、Ludion が「責任の裏打ち」と呼ぶものです。今の v0 では、運営者が公開で行う次の約束であり、それ以上のものではありません。
- エージェントへの苦情に24時間以内に応答する(仕様 §14)
- 約束を破ったときの失効に同意する
- エージェントの行為の署名付き受領証(Glass)の記録に同意する
Registry は、運営者がこの約束をどう守っているかを計測し、応答の実績をエージェントの Card に公開します。Ballast v0 は保険ではなく、お金も動きません。
サイトがこれを求める理由
Section titled “サイトがこれを求める理由”慎重に扱う経路をエージェントに開くサイトは、何かが起きたときに応答する誰かを求めます。Ballast v0 は、その誰かに連絡がつき、記録に残る状態にします。
- 登録の受付が始まったら Diver を登録し、Ballast v0 の約束を受け入れてください。Staple に
ballast.status: activeが載ります。 - その Staple を毎回のリクエストに付けます。
npx ludion signと SDK は自動で付け、npx ludion stapleで取り直せます。
3分で検証済みになる
Section titled “3分で検証済みになる”Ludion は Web Bot Auth を置き換えません。Web Bot Auth(RFC 9421)でリクエストに署名し、鍵ディレクトリを公開しているエージェントは、Ludion の Gate ではすでに VERIFIED(Depth 0)です。まだ署名していなければ、無料の Ludion CLI で次の手順を踏んでください。
3分は、この道の目標です。チェック DIV-1 として書いてあります。クリーンなコンテナで、init から VERIFIED まで180秒以内。
-
エージェントの身分(Diver)を作ります。Root 鍵はパスフレーズで封をされ、リクエストには署名しません。署名するのは短命の Session 鍵です。
Terminal window npx ludion init --name "My Agent" --contact mailto:you@example.com -
書き出された公開ファイルを、
Signature-Agentのオリジンに HTTPS で置きます。.well-known/http-message-signatures-directory(鍵。application/http-message-signatures-directory+jsonで返す)とcard(名乗り)です。自分のドメインで構いません。登録の受付が始まればdvr-….agents.ludion.aiにも置けます。 -
リクエストごとに署名します。次のコマンドは
Signature-Agent、Signature-Input、Signatureを付けたcurlをそのまま出力します。署名の寿命は 60 秒なので(仕様 §10.4)、毎回作り直してください。Terminal window npx ludion sign GET https://shop.example/checkout --curl -
自己診断します。
doctorは公開した鍵ディレクトリと Card を取りに行き、Gate が見るものを確かめます。リダイレクトなしの 200、Content-Type、ディレクトリに今の鍵があること、です。Terminal window npx ludion doctor
これで Gate はあなたのリクエストを VERIFIED と判定します。サイトがそれ以上に求めるもの(Depth、Ballast、Mandate)はその上に積むもので、それぞれ Gate のエラー に説明のページがあります。