2026-10-18

週次オープンソース:LawCodex が 198 の法域に、そして Pure-Rust の openEMS

今週は三つのことが目立った。前の日曜に 61 のリポジトリで始動した LawCodex は三倍以上になった:木曜にはカバレッジ表に 198 の法域が 並んだ。Ledger Nano X の調査は、一枚の基板のマップから、報告された 事例の追跡と、それを見つけるための道具の設計へ進んだ。そして日曜には 新しいクレートが三つ同時に現れた:openEMS の置き換えを目指す FDTD 電磁界ソルバ ems、その CSXCAD 互換の幾何層 csx、ソルバの出力の ための Pure-Rust の HDF5 hdf5rs。その下で purecrypto は 0.10 に達した。

LawCodex:198 の法域

LawCodex は法令をプレーンな Markdown で git に公開し、法域ごとにリポジトリを一つ持つ。今週は 約 550 コミットと、どのプロジェクトよりも多かった。月曜にさらに 20、火曜に 118 の リポジトリが作られた。新しい組織プロフィールへのステータスコミットは 地域ごとに世界を巡った:中央アジアとモンゴル、湾岸諸国、北アフリカと 西アフリカ、東南アジア、カリブ海、ラテンアメリカ、太平洋。木曜に 生成されたカバレッジ表の内訳は 完全 74、部分 81、最小 43。 LawCodex の用語で「最小」は、たいてい出典の利用条件が一括 ダウンロードを禁じているか、サイトがアクセスを遮断していることを 意味する。どの行も出典と欠けているものを示している。憲法しか 取れなかった、あるいは何も取れなかった、とはっきり書いた項目も ある。プロフィールのリポジトリには共通の規約も置かれている: ファイル形式、フロントマター、出典の優先順位。優先順位は公式の オープンデータ API から Internet Archive のコピーまでで、後者は 常にそうと明記される。

最大の二つのリポジトリは完成した:

  • be(119 コミット):Justel から 取った 現行の 17,320 文書(フランス語)と 17,319 文書 (オランダ語)。憲法、86 の法典ファイル、6,653 の法律、協力協定、 そしてすべての地域・共同体の decree と ordinance を含む。 キャッシュからの最後の再生成で、オランダ語の法典ディレクトリ名と 廃止の検出が直された。
  • ua(60 コミット):6,843 ファイル。内訳は憲法、23 の法典、6,819 の法律で、各ファイルが 取得日を記録し、README には既知の欠落についての節がある。

Ledger の作業:基板、追跡サイト、検出器

ledger_nano_x_pads (54 コミット)は、ネットを追う段階から部品を特定する段階へ進んだ。 PWR1 は ST の L6924D 充電器、PWR2 は ST の STC3115 燃料ゲージ、PWR3 は TI の BQ29729 バッテリ保護 IC。X10 は OLED の昇圧コンバータ TLV61046A で、Y1 は刻印から読んだ 32 MHz の水晶だ。配線はいま実測の 幅で描かれ、基板間コネクタは実物のヒロセ製部品に倣ってモデル化され、 3D ビューアはスマートフォンでも動く。三つ目のインプラント標本 C ——「手配線の第 1 世代インプラント」で、小さな eSIM 基板を持つ——が A と B に加わった。コードは MIT、内容は CC BY 4.0 でライセンスされた。

新しい二つのリポジトリが範囲を広げる。 ledger_implant_osint (36 コミット)は「ハードウェアインプラントが見つかったと公に報告 された Ledger デバイスを追跡する」公開サイトだ。各報告は、デバイスを どこで買ったか、モデル、分かっていればインプラントの世代、元の投稿 へのリンクを記録する。写真はリポジトリに保存され、各事例には confirmed、suspected、counterfeit、clean、unverified、 pending のいずれかが付く。新しい事例は issue テンプレートから 報告できる。今週の項目には、オリジナルの Nano X インプラントについて の Joe Grand の分解、インプラントとは区別して扱われる偽造デバイス、 そして clean と記録された購入報告が一件ある。

ledger_implant_detector (9 コミット)はハードウェアの構想で、README はまだ製作も検証も されていないとはっきり書いている。LTE モデムのインプラントが アンテナのために必要とする余分な銅を見つけるための手持ちの基板だ。 二つの FDC2214 コンバータが読む八つの静電容量電極を、同じモデルの 本物と分かっている個体と比べ、NanoVNA 用の近傍界 RF ループも持つ。 コミットは回路図、配線済みの 4 層 PCB、アンテナとデバイスの バッテリを並べた静電界および FDTD シミュレーション、そして実際に インプラントの入った Nano X での最初の NanoVNA 測定を加えている。 その測定では 820–850 MHz にはっきりした応答が出たが、プローブが アンテナの給電部の真上にあるときだけだった。README はシミュレーション で分かった限界も記録している:バッテリの外形の内側に完全に収まった 銅は、静電容量では検出できない。

ems、csx、hdf5rs:Pure-Rust の openEMS

ems(新規、73 コミット)は 「openEMS の置き換えを意図した、Pure-Rust の FDTD(時間領域差分法) 電磁界ソルバ」だ。クリーンルーム実装で(openEMS や CSXCAD の コードは参照していない)、ブラックボックスとして動かした openEMS と 突き合わせて検査される。目標は既存の openEMS XML モデルを変更なしで 走らせること。ems バイナリは openEMS 実行ファイルと同じ オプションを取るので、openEMS を呼ぶスクリプトは代わりに ems を 呼べる。今週で四つのマイルストーンを通過した。厳密なエネルギー 不変量を持つマルチスレッドのエンジン、Mur と CPML の境界、集中定数・ マイクロストリップ・導波管のポート、分散性媒質(Drude/Lorentz/ Debye)。続いて NF2FF の放射パターン、SAR、平面波と周期的な Bloch 境界、コンフォーマル PEC、細線モデル、そして専用の PML を持つ 円筒座標のエンジンが入った。

ems は同じ日に生まれた二つの相棒クレートの上に立つ。 csx(54 コミット、v0.0.2) は CSXCAD 互換のモデルだ:幾何プリミティブ、材料、プローブと励振、 パラメトリックな式、メッシュ生成、CSXCAD/openEMS XML の読み書き。 実行時の依存はゼロで、幾何のセマンティクスは CSXCAD 相手に 「ブラックボックスで検証」されている。 hdf5rs(35 コミット、 v0.0.1)は HDF5 を読み書きする。読み込みはあらゆるレイアウトと チャンクインデックス、一般的なフィルタ、仮想データセットに対応する。 書き込みはチャンク化・フィルタ付き・サイズ変更可能なデータセットと、 既存ファイルを開いての変更に対応する。ファイルは CI で h5py と 突き合わせて検査され、deflate と LZF は compcol を通る。

これは cadlab (33 コミット)につながる。ヘッドレスな基板ツールは、基板の一領域を 段階的なメッシュ付きの CSXCAD 幾何として openEMS 向けにエクスポート できるようになった。ems が走らせるために作られている形式だ。ほかに 2D 境界要素法のインピーダンスソルバ、周波数依存の損失、組み込みの 3D FDTD sim.sparams も得た。3D モデルはいま oxideav-step と oxideav-vrml を通って入ってくる。

purecrypto 0.10:速さ、そして堅牢化

purecrypto は v0.10.0 と v0.10.1 をリリースした(139 コミット)。その約半分が perf: だった。AArch64 は AES-CTR と GHASH を融合したカーネル、 NEON の ChaCha20 と BLAKE3、二ストリームの SHA-2 と Keccak の カーネルを得た。ARIA、Camellia、SM4、SEED はビットスライスの S-box を得た。Ed25519 の検証は静的な wNAF テーブルを使う Straus 法になり、 Ed25519 の固定基底テーブルは 115 KB から 60 KB に半減し、BLS12-381 は GLV/GLS 分割と融合した Miller ループのステップを得た。残りは 堅牢化だ。TLS 1.3 の key_share と HRR の扱いが厳しくなり、QUIC の 鍵更新の順序が RFC 9001 どおりに強制され、X.509 の解析はより厳格に なり、復号された鍵のバッファは消去され、PSK とパスワードはコマンド ラインに載らなくなり、JOSE、SCT リスト、チェーン検証の fuzz ターゲットが加わった。性能改善の後には Valgrind の定数時間ハーネス がもう一度回され、その指摘はリリース前に修正された。

今週のその他

  • reticle(88 コミット、 v0.0.7)— 文書化されたすべてのエンコーディングを扱う T ステート 精度の Z80、乗算器を使わない DCT を持つ MJPEG エンコーダ、ffmpeg と 突き合わせた IMA ADPCM、タイミング駆動のルータ、そして XC7A35T 上で 「ビルドできるところまで」ビルドした NewAE の ChipWhisperer-Husky の ゲートウェア。
  • puressh — v0.1.9 から v0.2.0 まで:トンネルデバイスの転送(ssh -w)、エージェントが 保持する証明書と宛先制約、ML-DSA-44+Ed25519 鍵、OpenSSH のエスケープ コマンド。server/agent はデフォルトの feature でなくなり、 クライアントだけのビルドは nix を引き込まない。
  • puregit — v0.0.2。 本物の git CLI との相互運用ハーネス(ディスク上の形式、ワイヤ プロトコル、CLI の出力)と、Linux・macOS・Windows での libgit2 との 相互運用ハーネスを持つ。
  • rsurl — v0.1.17 から v0.1.19。HTTP/1.1、HTTP/2、HTTP/3 と小さなプロトコルクライアント 全体でアロケーションを削り、purecrypto 0.10.1 の上に載った。
  • oxideav-image — oxideav の画像ゲートウェイ、v0.0.3〜v0.0.4:メタデータの ブロブを通して運び、コンテナとコーデックの許可/拒否リストを持ち、 ピクセルに触れずに「保存できるか」を答える。

来週

LawCodex は広さから深さへ移り、使える出典が見つかるところで部分・ 最小の項目を埋めていく。インプラント検出器は、基板が作られて測定 されるまでは構想のままだ。ems はブラックボックスのオラクル相手に openEMS との同等性の作業を続け、csx と hdf5rs はその必要に合わせて 進む。