# Tiny Language Model Lab — 公開用固定版 v0.1-web.1

公開用ファイル一式。2026-10-26に原版v0.1を基に構成した独立した静的サイトです。

## 実装済み

- 文字単位のニューラル・ビグラム：前の文字1個だけを参照して次の文字を予測
- データの文字ID化、4次元埋め込み、線形変換、softmax
- 交差エントロピー損失、確率分布表示、勾配降下による係数更新
- 1例 / 1・30・100エポックの学習、損失・困惑度、実測遷移頻度との比較
- Temperatureによる確率的生成と生成履歴
- サンプルデータ8文、初期語彙15、教師ペア48、係数135

## 未実装

- Transformer、Self-Attention、複数文字の文脈処理、文の意味理解
- サーバー学習、共有モデル、アカウント、結果のクラウド同期
- ブラウザ再読込を跨ぐ保存機構（元v0.1の仕様のまま）

## データと通信

このアプリケーションのJavaScriptにはfetch/XMLHttpRequest/WebSocket等による学習データ送信処理はありません。学習・生成はブラウザの実行メモリ内で処理します。ページアクセスそのものの通信記録がホスト側等に残らないことを保証するものではありません。個人情報や機密情報は入力しないでください。

公開用の `_headers` は connect-src 'none' とハッシュ固定のインラインスクリプトを採用しています。外部CDN・ライブラリ・画像配信・分析スクリプトは組み込んでいません。Cloudflareダッシュボードでの自動機能の有効化状況までは、このパッケージだけでは確定できません。

## ソースと差分

- `index.html`: 原版と同じモデルJavaScriptを持つ公開画面。公開上の説明のみ追加。
- `source/tiny_language_model_lab_v0_1.html`: 変更前の原版HTMLを保存。
- `source/tiny_language_model_core_v0_1.js`: Node.js実行向けの独立学習デモ。**HTML版と実行条件が完全一致するわけではありません**（語彙配列順、乱数など）。
- `manifest.json`: バージョン、原版SHA-256、配布ファイルのSHA-256。
- `tests/verify_release.py`: 原版と公開用のモデルJS同一性および配布ハッシュの検証。

## 配備方法

Cloudflare Workers & Pages で **新規** Pagesプロジェクトを作成し、Direct Upload の Drag and drop からZIP全体をアップロードする。`index.html` がZIP直下にあることを確認。既存の totalapp プロジェクトは上書きしない。公開されたURLを実機ブラウザで確認し、モデル初期表示・1エポック学習・生成が動くことを確認する。

Cloudflare公式説明：https://developers.cloudflare.com/pages/get-started/direct-upload/

## 検証上の境界

ビルド時点でHTML構造・script hash・元コード同一性・Node.jsでの核計算を確認。Cloudflareへの実配備・Android実機ブラウザ上の操作検証は、公開後でなければ完了とみなさない。
