2026-06-28

週次オープンソース:test262 の 93% を通す JS エンジン、二つのデータエンジン、そしてハードウェアへ

これまでで最も広い週の一つ——Pure-Rust スタックのほぼすべての層が 一度に動いた。JavaScript エンジンが公式適合性スイートの 93% を 超えた。二つのデータエンジン——キーバリューストアと SQL データ ベース——が並行して進んだ。暗号の床が深まり、rsurl の向かいに座る HTTP サーバが着地し、UI ツールキットは改名され——そして意外にも、 作業は FPGA ゲートウェアと USB Power Delivery で実際のハードウェア に届いた。

kataan:test262 の 93%

kataan——argus ブラウザ を動かすことになる Pure-Rust の JavaScript エンジン——は今週を test262(公式 ECMAScript 適合性スイート)を挽くことに費やし、 44,189 テスト中およそ 41,000(約 93%)が通る ところに到達した。 その数字が物語だ:ゼロから作った JS エンジンが、言語の大半で 主流エンジンと適合性のパリティに並んだ。

コミットはそこへ至る仕様忠実さの長い尾だ:with 文のオブジェクト 環境を字句的にスコープする、Promise.resolve/reject がサブ クラスに NewPromiseCapability を使う、__proto__ セッタを SetPrototypeOf のように検証、JSON.parse 文字列で未エスケープの 制御文字を拒否、for ヘッダ内の [+In] 文法、regex の早期エラー、 Array / Object が本物の呼び出し可能な関数セルになる——各修正が 再祝福された台帳に対してさらに数十テストを緑に反転させる。

pebbledb:Pebble の移植

pebbledbCockroachDB の Pebble の Rust 移植だ。LevelDB / RocksDB 系譜の LSM キーバリューエンジン。 掲げる目標は 完全な 移植——機能とオンディスク形式の 100%——で、 今週それを広範なパリティまで押し進めた:WAL、バックグラウンド フラッシュとレベル化コンパクション、境界と prefix seek 付きの スナップショット一貫な双方向イテレーション、range キー、value ブロックと blob ファイル、チェックポイント、外部 sstable の取り込み。

相互運用の基準が本物だ:Pebble が読める table-format-v7 の カラムナ sstable を書き、Pebble が書く value 分離データベース (format 24)を読む、両方向。さらに自前の minlz-rs 上の MinLZ ブロック圧縮、非同期と flushable-ingest の経路、ApplyNoSyncWait、 遅延 value フェッチ、limited / next_prefix イテレータ一族も得た。

graphitesql:Pure-Rust の SQLite

graphitesql は 純粋で安全な no_std 対応の Rust による SQLite 再実装で、 単一クレート、SQLite 3 ファイル形式とのバイト単位の互換を狙う。 週あたりおよそ百コミットのペースで走っており、W26 はクエリ エンジンへの重い押し込みだった。本物の SQLite ファイルを開き、 sqlite3PRAGMA integrity_check = ok で開けるデータベースを 作り、本物の sqlite3 CLI に対して差分検証される(1,600 超の クエリコーパスと 360 超の focused スイート)。ライセンスは blessing(パブリックドメイン)。

今週の通底線は VDBE——SQLite のレジスタマシン型バイトコード エンジンで、graphitesql はこれをデフォルトで走らせ、まだ コンパイルできない形だけツリーウォーカーにフォールバックする。 W26 は長いリストの形を VDBE に載せた:join / 派生テーブル / CTE / ビュー / テーブル値関数の上のウィンドウ関数、json_each / json_tree ソース、兄弟 CTE と複合 FROM ソース、非相関サブクエリ の畳み込み。並んで ALTER TABLE がクロスオブジェクト伝播を覚えた ——RENAME COLUMN が依存するトリガ・ビュー・ネストしたサブクエリ を書き換え、DROP COLUMN が依存ビューを壊す場合は拒否する—— prepare 時の正しさチェックの一群(join とサブクエリ越しの未知 カラム/関数を拒否、2⁵³ を超える整数を f64 経由でなく厳密に 比較)とともに。

usbmagic:ハードウェアへの転回

今週の意外な一手は usbmagic—— プログラマブルな USB テスト計測器 向けの Rust ライブラリ/CLI で、 最初の対象は Cynthion (Great Scott Gadgets の FPGA ボード)——加えて usbmagic-gateware、 FPGA ゲートウェアそのもの(ECP5 で USB 2.0 ホストコントローラ)。 これはスタックがソフトウェアの先、線の上へ届いたということだ。

ホスト側は nusb(Pure-Rust USB、libusb なし)の上に建ち、今週は深く低レベルへ行った:Rust ネイティブの Apollo クライアントとその上の JTAG トランスポート(ハードウェア 検証済みの IDCODE 読み)、本物の .bit ビットストリームを焼く JTAG 越しの ECP5 SRAM コンフィグ、FUSB302B USB-PD コントローラを 駆動するゲートウェア内 I2C マスタ、そして端から端までの USB Power Delivery——本物の Source_Capabilities(PPS 含む) のキャプチャとデコード、TARGET-C VBUS の駆動、iPhone との スペック時間どおりの PD Rev 3.0 交渉、双方向 pcapng トレース付き。 フォレンジックデバイス API は意図的に非準拠なトラフィックを 発行できる。

httpsd:rsurl のサーバ側

httpsd は Pure-Rust の HTTP サーバ——HTTP/1.1、HTTP/2、HTTP/3——で、sans-I/O コア差し替え可能ランタイム(ブロッキングスレッドプール、tokio、 mio)を持つ。rsurl が Pure-Rust スタックのクライアントなら、 httpsd はサーバだ:自前ハンドラのライブラリか、ディレクトリや TOML 設定を配る CLI として使う。ACME(自動 TLS)、権限ドロップ、 IP ごとの接続上限、SIGHUP 証明書リロード付きのグレースフル シャットダウンを備える。今週の多くはセキュリティ:五つの HTTP/2 DoS findings、HTTP/3 のフィールドセクション上限、正しく アンカーした QUIC ロスリカバリタイマー、percent-decode 済みパスの ルーティング、静的ファイルのレースフリーな confined open (TOCTOU / シンボリックリンク脱出)。

stipple:forma、改名——コンポジタとテーマ

forma UI ツールキットは 今週 stipple に改名 された。ブラウザが必要とする部品を完成 させた:ゼロコピー GPU フレーム共有付きのクロスプラットフォーム コンポジタ——Linux では DRI3 / Present 経由の dma-buf(フレーム 同期の wait-fence 付き)、macOS では共有 IOSurface、Windows では 共有テクスチャハンドル——加えて CPU shm 経路越しのコンテンツ プロセスコンポジット、そしてコンテンツプロセス向けの seccomp サンドボックス。その上に:Material 3(Material You)のダイナミック カラーテーマ、そして AT-SPI(Linux)、UI Automation(Windows)、 NSAccessibility(macOS)越しの完全なアクセシビリティ要素ツリー。 これはマルチプロセスブラウザが載る、描画と分離の土台だ。

今週その他

  • purecrypto も 独自に百コミットのペースを保った(v0.6.23v0.6.25):新しい ハッシュ関数(Streebog、Whirlpool、MarsupilamiFourteen、MD2)、 ClientHello からのサーバ側 TLS 1.2/1.3 バージョン交渉、HTTP/3 の 証明書選択向け QUIC peek_initial_sni、Falcon ポスト量子署名の 堅牢化、OpenSSL 3.5 と相互運用する PQC PKCS#8。
  • libwallet は広い セキュリティ監査パスを取った(0.4.680.4.70):RPC URL の SSRF ガード、名前のホモグラフガード、panic 回復と秘密ゼロ化付きの 堅牢化された FFI ライフサイクル、swap スリッページのクランプと execute tripwire、MEV 保護の opt-out。
  • minlz-rs — pebbledb が依存する MinLZ コーデック — も独自の押し込みを得た。
  • rsurlpuressh は、この 二週間の torrent と証明書の作業を進め続けた。
  • OxideAV のコーデックごとの スイープは音声/動画/コンテナのクレート全体で続いた (mpeg4video、vorbis、mp4、mov、vp9、…)。
  • azusa-kernel — AzusaOS のカーネルリポジトリが、先週の 5fs ファイルシステムと並んで 現れた。

来週

kataan は test262 の残り数パーセントを詰め続ける。pebbledb は 完全な Pebble パリティに達する。httpsd と rsurl は Pure-Rust HTTP スタック上の対になるクライアント/サーバになる。usbmagic は ハードウェアと話せるようになった今、USB スタックを登り続ける。