J-Quants Local-first PWA v7e-alpha24

1.12GBレスキューSQLiteをCloudflare側OPFSへストリーミングImportし、公式SQLite-WASMで直接開く実機PoC。

v7e-alpha24 起動確認

JavaScript起動: PASS(ボタンが反応すれば正常)
日付エンジン確認中…

Web版 DataLake

J-Quants DataLake

普段はここだけ使えばOKです。

日次更新

未実行

データの抜け確認・自動補完

未実行
①のチェック後に利用できます

①は全ての年別Shardを確認します。②は候補日だけJ-Quantsへ照会し、実際の取引日だけ補完します。祝日・休場日は0件として除外します。

Web版 Screening Core 1

正式Screening移植の第1段階です。日足だけで再現できる価格・出来高系のCore指標をCatalog + Shardから計算します。

未実行

Core 1では、MA5/25/75、乖離率、5日/20日騰落率、RSI14、出来高20日比、20日/60日レンジ位置を監査対象にします。仮ランキングは表示確認用で、正式な銘柄選定ロジックにはまだ使用しません。

現在の本番DataLake導線です。Catalog + Shards方式で、必要な小型DBだけを使います。旧巨大DataLake操作は開発者診断へ移しました。
未実行

未実行

未実行

年別Shard移行

最新年を既定値として、1暦年分の日足を専用Shardへ移します。
未実行

過去年を一括Shard化

Legacy DataLakeに実在する年を自動検出し、未移行年を新しい順に1年ずつ検証しながらShard化します。
未実行

未実行

未実行

不足期間をJ-Quantsから直接補完

旧巨大DataLakeを作り直さず、実機PASS済みの date=YYYYMMDD 取得方式で 2020〜2025年を日ごとに取得し、年別Shardへ直接保存します。 途中停止してもUPSERTなので同じ期間を再実行できます。
未実行

未実行

未実行
安全設計: 土日を自動スキップ / 祝日・休場日はAPI 0件としてスキップ / 1日ごとに取得→年別ShardへCommit / 年完了ごとにquick_check→Catalog ready登録 / Legacy DataLakeは未使用・未変更。

SAH Pool 緊急診断

固定Storage identity: origin=https://jquants-pwa-test.pages.dev / pool=jq-sahpool / directory=.jq-sahpool-v7c-r5
DataLakeを書き換えず、まずPoolの論理ファイル一覧を確認します。次に候補名をread-onlyで1つずつ開きます。
未実行

未実行

未実行

J-Quants DataLake 更新

普段はこちらだけ使います。J-Quants V2 APIキーはセッション中だけ利用し保存しません。 日次更新と過去データ穴埋めは、既存DataLakeへ日付単位で直接Commitします。
未実行

未実行

未実行

未実行

高速バックフィル v7e-alpha24

書込みを1行ごとの db.exec から prepared statement 再利用へ変更しました。 祝日ではなく「実際に株価データがある欠損営業日」を自動で探し、API取得+SQLite書込みを1日分実測してから大量穴埋めを開始します。
未実行

未実行
開発者診断(通常は開かなくてOK)

本番 日次更新

J-Quants V2の日足を取得し、bars_recent+当年Shardへ同時保存します。旧巨大DataLakeは使いません。

未実行
未実行

保存先: jq_bars_recent_v1.sqlite(直近30取引日)+ jq_bars_YYYY_v1.sqlite。両方を検証後Catalogを更新します。

DataLake 読み取り / Catalog

日付範囲を渡すとCatalogが必要な年別Shardだけを選び、利用側からは1つのDataLakeとして読み取ります。

未実行
未実行

年をまたぐ場合も自動で複数Shardを解決します。年別Shardを優先し、bars_recentは年Shardが無い場合だけfallbackします。

日足Gap 自動補完

Catalog監査で見つかった長期GapをJ-Quants V2から日ごとに取得し、該当年Shardへ直接UPSERTします。旧巨大DataLakeは使いません。

未実行
未実行

土日はAPIを呼ばずスキップ。平日の祝日・休場日はAPI 0件としてスキップ。1日ごとに取得→該当年ShardへCommit→日次行数+quick_checkを検証します。再実行はUPSERTなので安全です。

正式バックアップ / 復元

Catalog+年別ShardをiPhoneのFilesなどブラウザ外へ保存します。 SAH Pool内だけのコピーではなく、Safariのサイトデータ消失にも備える正式バックアップです。

長時間バックフィル実行中はバックアップしないでください。2020〜2025の補完がPASSしてから実行してください。
未実行
未実行
未実行
Safariが複数ダウンロードを止める場合は、下の選択式で1ファイルずつ保存できます。
未実行

外部バックアップから復元

保存した jq_catalog_v1.sqlite / jq_bars_YYYY_v1.sqlite 等を複数選択できます。 各ファイルはStreaming Import後に quick_check を実行します。

未実行
未実行
旧・同一ブラウザ内スナップショット

Legacy巨大DataLake向けの旧機能です。外部バックアップの代わりにはなりません。

未実行
未実行
旧sql.jsのようにDB全体をRAMへ読み込みません。レスキューSQLiteはストリームでOPFSへコピーし、 SQLite-WASMはWorkerからOPFS上のDBを直接開きます。
Import先はCloudflare Pages側OPFSの jq_market_v7c.sqlite です。 GitHub Pages側の元DBや、Filesに保存したレスキューSQLiteは変更しません。

自動連続バックフィル v7e-alpha24

穴を再検出しながら連続処理。日付単位Commitなので安全停止・再開できます。Safariは前面表示のままにしてください。

未実行

1. v7c前提チェック

Cloudflare配信条件とOPFS容量見積りを確認します。
未実行

2. レスキューSQLiteをストリーミングImport(Direct Open前に必須)

Filesから1.12GBのレスキューSQLiteを選択。4MB前後のチャンク単位でOPFSへコピーし、全体をRAMには載せません。
未実行

3. SQLite-WASM同一オリジン配信チェック

Cloudflare Pages Function経由で index.mjs / sqlite3.wasm を pages.dev 同一オリジンから取得できるか確認します。
未実行

4. SQLite-WASM初期化テスト(opfs-sahpool)

DBをまだ開かず、SQLite 3.53の新しい opfs-sahpool VFSだけを有効化して初期化します。opfs-sahpoolは意図的に無効化します。
未実行

5. SAH Pool基本動作テスト(小型DB)

巨大DBの前に、小型SQLiteを作成→INSERT→Worker終了→別Workerで再Open→SELECTし、永続化を確認します。
未実行

6. 公式SQLite-WASMで直接Open(opfs-sahpool)

Worker内で公式 @sqlite.org/sqlite-wasm を起動し、SQLite 3.53の opfs-sahpool VFSへ1.12GB DBをストリーミングImportし、read-onlyで直接開きます。
未実行

7. 整合性チェック(任意・重め)

PRAGMA quick_checkを実行します。1GB超DBを走査するため時間がかかる可能性があります。
未実行

7. v7e-alpha24総合判定

未判定

v7e-alpha24 実運用同期エンジン前段テスト

既存1.12GB DataLakeの実スキーマを検査し、日付単位Transaction → Commit → Checkpoint → Worker再起動後Resumeを同じSQLiteへ直接書き込みます。DB全体RAM展開・db.export()は使いません。
未実行

未実行

未実行

v7e-alpha24 J-Quants 実データ同期

J-Quantsの日足をブラウザから取得し、既存1.12GB DataLakeへ日付単位で直接Commitします。 認証情報はこの画面のメモリ内だけで使用し、SQLite・localStorage・GitHubには保存しません。
未実行

未実行

未実行

v7e-alpha24 自動Catch-up Sync

DataLakeの最終取得日と専用Checkpointを自動判定し、その翌日から指定日まで順番に同期します。 土日はAPI呼出しを省略。祝日などAPIが0件の日も「確認済み」としてCheckpointを進めます。 iPhoneでは前景実行のため、このカードの同期中はSafariを閉じないでください。
未実行

未実行

未実行

10. 更新履歴 / Build情報

正式な更新履歴は CHANGELOG.md / release_history.json / このUIの3層で管理します。
Version: v7e-alpha24 Build date: 2026-09-01 Schema version: catalog-shards-v1 Migration version: history-4

本番 日次更新

J-Quants V2の日足を取得し、bars_recent+当年Shardへ同時保存します。旧巨大DataLakeは使いません。

未実行
未実行

保存先: jq_bars_recent_v1.sqlite(直近30取引日)+ jq_bars_YYYY_v1.sqlite。両方を検証後Catalogを更新します。

DataLake 読み取り / Catalog

日付範囲を渡すとCatalogが必要な年別Shardだけを選び、利用側からは1つのDataLakeとして読み取ります。

未実行
未実行

年をまたぐ場合も自動で複数Shardを解決します。年別Shardを優先し、bars_recentは年Shardが無い場合だけfallbackします。

日足Gap 自動補完

Catalog監査で見つかった長期GapをJ-Quants V2から日ごとに取得し、該当年Shardへ直接UPSERTします。旧巨大DataLakeは使いません。

未実行
未実行

土日はAPIを呼ばずスキップ。平日の祝日・休場日はAPI 0件としてスキップ。1日ごとに取得→該当年ShardへCommit→日次行数+quick_checkを検証します。再実行はUPSERTなので安全です。

正式バックアップ / 復元

Catalog+年別ShardをiPhoneのFilesなどブラウザ外へ保存します。 SAH Pool内だけのコピーではなく、Safariのサイトデータ消失にも備える正式バックアップです。

長時間バックフィル実行中はバックアップしないでください。2020〜2025の補完がPASSしてから実行してください。
未実行
未実行
未実行
Safariが複数ダウンロードを止める場合は、下の選択式で1ファイルずつ保存できます。
未実行

外部バックアップから復元

保存した jq_catalog_v1.sqlite / jq_bars_YYYY_v1.sqlite 等を複数選択できます。 各ファイルはStreaming Import後に quick_check を実行します。

未実行
未実行
旧・同一ブラウザ内スナップショット

Legacy巨大DataLake向けの旧機能です。外部バックアップの代わりにはなりません。

未実行
未実行
旧sql.jsのようにDB全体をRAMへ読み込みません。レスキューSQLiteはストリームでOPFSへコピーし、 SQLite-WASMはWorkerからOPFS上のDBを直接開きます。
Import先はCloudflare Pages側OPFSの jq_market_v7c.sqlite です。 GitHub Pages側の元DBや、Filesに保存したレスキューSQLiteは変更しません。

自動連続バックフィル v7e-alpha24

穴を再検出しながら連続処理。日付単位Commitなので安全停止・再開できます。Safariは前面表示のままにしてください。

未実行

1. v7c前提チェック

Cloudflare配信条件とOPFS容量見積りを確認します。
未実行

2. レスキューSQLiteをストリーミングImport(Direct Open前に必須)

Filesから1.12GBのレスキューSQLiteを選択。4MB前後のチャンク単位でOPFSへコピーし、全体をRAMには載せません。
未実行

3. SQLite-WASM同一オリジン配信チェック

Cloudflare Pages Function経由で index.mjs / sqlite3.wasm を pages.dev 同一オリジンから取得できるか確認します。
未実行

4. SQLite-WASM初期化テスト(opfs-sahpool)

DBをまだ開かず、SQLite 3.53の新しい opfs-sahpool VFSだけを有効化して初期化します。opfs-sahpoolは意図的に無効化します。
未実行

5. SAH Pool基本動作テスト(小型DB)

巨大DBの前に、小型SQLiteを作成→INSERT→Worker終了→別Workerで再Open→SELECTし、永続化を確認します。
未実行

6. 公式SQLite-WASMで直接Open(opfs-sahpool)

Worker内で公式 @sqlite.org/sqlite-wasm を起動し、SQLite 3.53の opfs-sahpool VFSへ1.12GB DBをストリーミングImportし、read-onlyで直接開きます。
未実行

7. 整合性チェック(任意・重め)

PRAGMA quick_checkを実行します。1GB超DBを走査するため時間がかかる可能性があります。
未実行

7. v7e-alpha24総合判定

未判定

v7e-alpha24 実運用同期エンジン前段テスト

既存1.12GB DataLakeの実スキーマを検査し、日付単位Transaction → Commit → Checkpoint → Worker再起動後Resumeを同じSQLiteへ直接書き込みます。DB全体RAM展開・db.export()は使いません。
未実行

未実行

未実行

v7e-alpha24 J-Quants 実データ同期

J-Quantsの日足をブラウザから取得し、既存1.12GB DataLakeへ日付単位で直接Commitします。 認証情報はこの画面のメモリ内だけで使用し、SQLite・localStorage・GitHubには保存しません。
未実行

未実行

未実行

v7e-alpha24 自動Catch-up Sync

DataLakeの最終取得日と専用Checkpointを自動判定し、その翌日から指定日まで順番に同期します。 土日はAPI呼出しを省略。祝日などAPIが0件の日も「確認済み」としてCheckpointを進めます。 iPhoneでは前景実行のため、このカードの同期中はSafariを閉じないでください。
未実行

未実行

未実行

10. 更新履歴 / Build情報

正式な更新履歴は CHANGELOG.md / release_history.json / このUIの3層で管理します。
Version: v7e-alpha24 Build date: 2026-09-01 Schema version: catalog-shards-v1 Migration version: history-4