HORIZON SHIELD / TSUGI (継) / 実事件 2 / 2026-09-20

回復を証明する層を、あなたのブラウザで再計算する

この頁は 12 記録の連鎖を、この頁の中だけで検算する。hash の再計算も、運営者の署名の検証も、あなたのブラウザが今やる。HORIZON SHIELD を信用する必要は無い。JavaScript が動かん環境なら、下の JSON と検証器 (JavaScript と Python) で同じ事ができる。

何が起きたか

gate.horizonshield.dev の A2A agent card は version を持つ。運営者が版を 0.4.8、0.4.9 と 2 回上げ、2 回とも card に署名し直さずに撒いた。日次の証人 (drift witness) が初回の走りで、配られとる card が署名と合わんことを見つけた。規則 R3 が「署名し直せ (resign_agent_card)」を提案し、「撒き直せ (redeploy_pinned)」を「署名の無い本体をまた撒くだけ」と却下した。運営者が Ed25519 の運営者鍵で許可に署名し、署名し直して、門 (deploy_gate.sh) 経由で撒き直した。証人がもう一度測って 0 drift。以後、署名の合わん version は門で止まる (test/card_signature)。

外部の証人 (Agenstry) が 09-19 に見つけた 1 件目は、原因が別 (生 deploy) やった。今回は彼らの読み「変更のたびに署名し直せ」がそのまま当たっとる。両方とも記録に残しとる。

結果

記録の hash計算中
連鎖 (prev)計算中
運営者の署名計算中
運営者鍵 (本番)取得中
期限計算中
file の bytes取得中
外部証人の定足数満たさん。籤で引いた証人は 0 (池が空)。記録が自分でそう言うとる

12 記録

#記録recorded_atrecord_sha256 (焼いてある値 / 再計算)

立証せんこと (verify 記録の does_not_establish、そのまま)

自分で確かめる

canonical bytes = JSON、鍵は全段でコードポイント順、区切りは ,:、非 ASCII は逃がさん、record_sha256 と署名 2 欄を除く。Python なら json.dumps(obj, ensure_ascii=False, sort_keys=True, separators=(",",":")) の UTF-8 の sha256。署名は Ed25519、同じ bytes の上。