開発記録

実際に動いたことの公開記録。

この記録は、出荷したこと、締め直したこと、公開面で見えるようになったことに絞ります。

サイト言語が保存されていない初回訪問では、端末の言語に合わせるようになりました。

ブラウザに Ronova サイトの言語選択が保存されていない場合、公開サイトはブラウザと OS の言語一覧を確認し、英語、ドイツ語、フランス語、日本語、繁体字中国語のうち対応するルートを開きます。

  • サイト上で選んだ言語、または明示的に開いたローカライズ済みルートは保存され、その後の環境検出より優先されます。
  • 未対応言語では英語を維持し、簡体字中国語を繁体字中国語として扱わず、追加の ID やアカウント状態も作りません。

0XX institutional account に、任意参加の Honorary Board と courtesy email flow を追加しました。

対象となる human Ronova ID member は、初期状態が非公開の recognition profile を用意し、別 account や administrative authority を作らずに、検証済みの @triluna.org forwarding alias を一つ申請できます。

  • 公開 field は個別に制御され、未公開 member、destination、internal note、verification data、provider metadata は非公開のままです。
  • production routing provider、専用 encryption key、domain mail configuration の end-to-end verification が完了するまで email activation は保留されます。

Archon で通常アカウントの prefix と role を一つの dashboard から管理できるようになりました。

Archon は正確な `XXX XXXXX XXXXX` 形式の UID 検索から始まります。通常の universal Ronova ID account は、prefix から作られた複数の ID を同時に有効なまま保持し、primary ID を一つ選び、選択した account dashboard で独立した role grant を管理できます。

  • primary prefix を変更すると、以前の ID は同じ immutable account の明示的な active alias として保持されます。すべての active ID は同じ一つの account に解決され、ID 自体が authority を与えることはありません。
  • dashboard は assigned ID、role grant、effective permission、session、authenticator summary、recent activity、UID history をまとめ、email、credential material、session hash、audit metadata は公開しません。
  • 正確な 000 00000 00000 と 999 99999 99999 は Archon 検索にも account dashboard にも表示されず、API、coordinator、executor、database の各境界で変更不能のままです。

Omni Archon に最初の private Gekka reader を追加しました。

Archon は、Gekka が所有する private executor を通じて、Gekka governance code metadata の bounded・redacted view を検索できるようになりました。Ronova が request に署名し、coordinator が executor 専用 assertion を加え、Gekka は自身の database を読む前に contract と audience を独立して検証します。

  • 結果に含めるのは opaque code ID、label、state、allowed context、use limit、date、opaque version だけです。bearer value、hash、fragment、grant、note、actor identity、cookie、credential は境界を越えません。
  • code の create・revoke・restore、role、release、emergency control、billing、raw secret は、project-owned mutation・recovery・approval contract の個別 drill が通るまで disabled のままです。

Travel Evaluation は Ronova ID 所有のサーバーレコードに対応しました。

Travel Evaluation は評価を Ronova ID が所有するサーバー側レコードとして保存します。公開アーカイブは公開済みレコードを取得し、作成・更新・削除を行えるのは認証済みの所有者だけです。

  • ローカル下書きは所有者が明示的に保存するまでブラウザ内に留まり、公開アーカイブの取得で下書きデータが公開されることはありません。
  • 入力中の編集ではアクティブな入力欄をマウントしたまま保つため、レコード変更の保存中もフォーカスが維持されます。

Ronova ID の表示を単一の authority から解決するようにしました。

Account、Archon、Travel workbench は、現在の可変 Ronova ID を ronova.dev の credentialed no-store API から取得し、不変の subject が各 host の検証済み session と一致する場合だけ表示します。

  • 表示 response に含むのは不変の subject、現在の identity descriptor、display name、sign-in URL だけです。role、permission、credential、session material、legacy alias は公開しません。
  • id.ronova.dev と archon.ronova.dev は host-only session を維持しますが、表示 ID は ronova.dev から解決し、browser の back/forward cache 復元後にも再取得します。
  • 正確な v1 値は production v2 data cutover まで Legacy Ronova ID と明示します。古い prefix を架空の現在 identity に書き換えません。
  • Ronova ID は identifier であり authorization ではありません。protected principal、role、permission、account status、strong session の確認は server-side のままです。

Travel Evaluation の編集を保持し、archive をコンパクトに分けました。

Travel Evaluation の notebook は field を変更しても active sheet 全体を再構築しなくなりました。連続入力でも focus、scroll position、browser-local draft を保てます。Create、Flight archive、Lounge archive、Hotel archive は、長い混在ページではなく同じ document 内のコンパクトな view になりました。archive taxonomy には控えめな class/category accent を使い、result badge は独立した quality scale を維持します。

  • text、metadata、score の変更は該当 sheet だけを更新します。archive filter は各文字ではなく短い入力停止後に redraw します。
  • 4 つの view は同じ document 内で bookmark できます。private draft と category archive を切り替えても reload は起きず、mounted sheet も捨てません。
  • lounge、hotel、flight の taxonomy は archive と editor を通して一貫した accent を持ち、result label には別の読み取りやすい tonal scale を使います。
  • workbench は既存の Ronova ID boundary の内側で browser-local のままです。この調整は第二の account system、remote data change、deploy を意味しません。

共通モーションを公開・検証しました。

この本番リリースでは、適用箇所の上方向・下方向のモーション、操作部の押下フィードバック、reduced motion 対応を追加しました。ronova.dev で公開・検証済みです。

  • 既知の範囲:適用箇所の上方向・下方向のモーション、押下フィードバック、reduced motion 対応。
  • ronova.dev で公開・検証済みです。リモートD1移行やユーザーデータ変更は行わず、共通Ronova IDの境界を保っています。

プロジェクトの印章を、静かな共通カード処理に揃えました。

Ronova のプロジェクト一覧とホームのカードは、すべてのプロジェクト印章を同じ完全表示の右下マスクで描画するようになりました。白、15% opacity で、カードの高さ一杯に切り取られません。Travel Evaluation には既存の単色 Image 2 seal を使います。

  • 現在のすべてのカードは、同じ右下のサイズと inset field を使います。正方形ではない Borealis mark を含め、各印章は固有の alpha silhouette を保ちます。
  • Travel Evaluation の色付き SVG mark はプロジェクトページ用に残し、catalogue card では既存の単色 Image 2 travel seal を使います。
  • Route、account behavior、project access、data、Ronova ID boundary は変更していません。

プライバシー境界を緩めずに Community を高速化し、Messages を集中できる private workspace にしました。

Community は言語ごとにコンパクトなローカル Yuji Syuku subset を先に選び、珍しい文字やユーザー入力の glyph には完全なローカル font に fallback するようになりました。private Messages は public site chrome の中ではなく、単一の full-height room workspace として開き、document は no-store のままです。

  • Messages は room rail、active conversation、privacy notice、encrypted composer を一つの集中できる window にまとめます。phone では room list と conversation が意図的に分かれた view になります。
  • ID ルームでは各送信者を Ronova と整形済み Ronova ID で示し、session ルームでは意図的に ゲスト / セッション ID のままにします。ルームの作成・参加前に、ブラウザは E2EE とローカル鍵保存を確認し、永続保存が許可されない場合は明示的な確認を求めます。
  • Yuji Syuku は既存の OFL license の下で完全に self-hosted のままです。言語別 subset により、珍しい text を除外せず first-load transfer を削減します。
  • 明示した release version により、Community と shared shell の公開 style と script は不要な revalidate なしで immutable cache として安全に reuse できます。
  • immutable cache policy は version 付きの Community と shared shell の static asset のみに適用します。private Messages document と encryption boundary は変わりません。

Ronova Community で Ronova ID または virtual address 宛ての direct E2EE request と専用 conversation desk が使えるようになりました。

ランタイム修正により公開フォーラムの読み込みと認証済み参加を復旧しました。プライベートなセッションルームは取り消し可能な session invite で正しく初期化され、direct E2EE request は Ronova ID または決定的な virtual address を宛先にできます。privacy boundary は変わりません。email-style lookup は account の存在を明かさず、room、device、ciphertext へのアクセスより先に recipient の approval が必要です。Messages surface は、active chat と small group 向けに sender attribution と timestamp を備えた Ronova 独自の conversation desk です。既存の consumer messenger をそのまま模倣しない設計です。

  • 誰でもフォーラムのスレッドを読めますが、投稿、返信、リアクション、報告、自分の投稿の削除には active human Ronova ID session が必要です。第二の account system は作りません。
  • 各 Ronova ID には Community 宛ての決定的な内部 address `[email protected]` があります。これは SMTP mailbox ではなく、mail の送受信は既定で無効です。
  • direct E2EE request は Ronova ID または virtual address から始められます。email lookup は意図的に曖昧で、room、device、ciphertext へのアクセスには recipient の approval が必要です。
  • プライベートな session room は取り消し可能な session invite を使用します。サービスが保存するのは ciphertext と限定的な operational metadata であり、読める message body ではありません。
  • v1 の限界も明示します。attachment、cloud key recovery、forward secrecy の主張、compromised client に対する保護の約束は含みません。
  • Messages は active chat と small group 向けの Ronova 独自の conversation desk を使い、sender attribution と timestamp を明確にします。presence indicator、read receipt、service による plaintext access は含みません。
  • Community のレイアウトは、黄金比の狭いシェルが窮屈になる前にスタックします。スレッドを選ぶとラベル付きの見出しへフォーカスし、ポーリング時に以前のメッセージをライブ領域で繰り返し通知しません。

Omni Archon で 2 つの限定的な Ronova ID 変更を有効化しました。

252 capability のカタログは維持されます。action-bound な passkey 確認後に利用できる Ronova ID mutation は正確に 2 つです。保護対象ではない別ユーザーの session を 1 件 revoke するか、保護対象ではない別 account の状態を compare-and-swap で active、locked、disabled のいずれかに変更できます。

  • account を locked または disabled にすると、その account の active session もすべて revoke されます。どちらの操作も、保護された human principal や Root System を対象にできません。
  • ronova.dev が canonical login session と identity-display authority を保持し、id・portal・archon は signed state と PKCE S256 を伴う exact one-time authorization-code callback から個別の host-only `__Host-` session を受け取ります。
  • Sign-in に使えるのは verified email のみです。Verification resend と stale unverified alias reclaim は bounded で、database guard が human の最後の credential と protected owner の最後の passkey を保持します。
  • Pages が接続できるのは、Service Binding 経由の署名済み private coordinator と executor だけです。idempotent receipt、audit record、resource lock は atomic に記録されます。
  • これらを操作できるのは保護された human `000` principal だけで、`999` Root System は noninteractive のままです。UID が権限を与えることはなく、Universal Ronova ID が唯一の identity system です。
  • 残る 250 の mutation・external capability(Gekka、VPN、domain、UID lifecycle、approval と rollback、billing、raw secret を含む)は、executor と recovery drill の検証が終わるまで fail-closed のままです。

Ronova ID は単一の正規 13 桁形式になりました。

Ronova ID v2 は `AAA XXXXX XXXXX` で表示し、不変の subject と credential を維持しながら、正規 identity class と authorization を分離します。

  • 保護された human Ronova principal は正確に `000 00000 00000` です。以前の ID は system class ではなく、予約済みの履歴として永久に残ります。
  • 無効な Root System principal は正確に `999 99999 99999` で、password、passkey、recovery code、session、activation、通常の login path を持ちません。
  • 完全一致で保存された legacy ID は不変の alias として残り、現在の画面は 13 桁を compact にコピーし、grouped ID を改行せず表示します。

Porta Ronovae が唯一の入口になりました。

portal.ronova.dev の認証済み gateway は、roles と grants が許可した行き先だけへ Ronova ID を案内します。UID prefix は既定の扉を選べますが、access を付与できません。

  • 許可先が一つなら直接 redirect、複数なら行き先だけの launcher を表示し、特別な grant がなければ個人用 Ronova ID に戻ります。
  • ronova.dev が canonical sign-in と current-ID resolution、id.ronova.dev が account と security を担い、外部 estate は exact redirect registration と authorization code + PKCE S256 で host-local session を保持します。
  • 完全一致の Root System UID は noninteractive のまま、cached shell に個人情報はなく、support は Porta Ronovae の問い合わせを選択できます。

Archon Panel は保護された principal authority で fail closed するようになりました。

Full Root Access の Archon Panel には、保護された human Ronova principal、global owner role、明示的な Archon permission、strong passkey session が必要です。ID prefix は権限を付与しません。

  • Session がない場合は固定 internal continuation 付きで Account に戻り、eligible account は login 後に Archon を再開します。
  • 無効な Root System identity は noninteractive のままです。以前の Ronova ID はすべて元の principal が所有する不変の compatibility alias として残ります。
  • 別系統の Archon access-code と content-grant surface は Full Root panel gate の対象外です。

Ronova ID はより簡単なサインイン選択から始まります。

Ronova ID は静かなサインイン画面から始まります。Sign in を選び、名前または UID を入力してから、passkey か password を選択します。

  • 公開の概要は既定の identity route から外し、Sign up と recovery はサインインフロー内で利用できるままです。
  • Pages Functions は共有 source と D1 binding を含めて公開されるため、利用できない passkey と失敗した password は空白ページではなく制御された response を返します。
  • 既存の self-hosted typography、color system、universal Ronova ID boundary は変更していません。

AI Usage が Image 2 badge art 付きの Archivements registry になりました。

AI Usage route を、計測可能な coding consequences の multi-page collectible registry へ更新し、29 個の固有 Image 2 badge faces、production derivatives、検証済み cross-agent verifier contract を追加しました。

  • Profile、collection、family、detail、badges、methodology、verifier、ledger、settings の 42 routes と、Tokenburner 11 tiers を追加しました。
  • 全 record に固有の chroma-keyed Image 2 PNG face と hero、gallery、small、social、locked variants を発行し、300B The Y-Axis Broke を hero badge にしました。
  • Local filtering、display settings、wear preview、PNG export、6 verification classes、evaluator、Ed25519 verification contract を、第二の account system なしで実装しました。

デプロイには新しい Ronova build が必須になりました。

Wrangler が固定された ronova-dev target へ公開する前に、deployment contract が site を再 build し、既存の Ronova ID lifecycle を再検証します。

  • 新しい static build を生成する前に、TypeScript と Ronova ID lifecycle guard の通過を必須にしました。
  • 再 build した site を検証し、公開開始前に numbered artifact の最終 check を行います。
  • 依存関係のない contract test で stage 順序と production target を固定し、認証や account behavior は変更していません。

公開プロジェクトの状態を、検証済みの公開状況に合わせました。

Projects directory は、公開中・保守中・リリース待ち・公開待ちを区別し、ラベルや操作が検証済み route を先行しないようにしました。

  • Fundatio の表示は復旧済みの canonical surface に合わせ、Ronova VPN は外部 portal 操作なしの公開待ちにしました。
  • 将来の VPN access でも universal Ronova ID だけを account boundary とし、第二の account system は追加していません。
  • Gekka は稼働中のまま次の release を production proof 待ちとし、OpenPractice と Casino は保守中の surface と明示しました。

Borealis は検証済みの単一ソース dossier から公開するようになりました。

独立した Borealis Alliance dossier と seatmap generator を Ronova の両公開 route の source of truth にし、検証付き allowlist で mirror の無言のずれを防ぐようにしました。

  • 1 つの独立ソースから dossier、public brief、2 つの生成済み TSE seatmap を /projects/borealis/ と /alliance/ route に同期しました。
  • 350 と 700 の editable seat placements、一定の 1:50 drawing model、ローカル Yuji Syuku、golden-ratio presentation はすべて維持しています。
  • Universal Ronova ID boundary を変えずに、欠落・余分・byte 差分のある public files を build 時に拒否する source contract を追加しました。

Ronova ID に完全なセルフサービス復旧パスを追加しました。

Ronova ID は直接のアカウント作成、パスワード復旧用の一回限りの復旧コード、passkey 紛失時の明確な Support 経路に対応しました。重要な操作では引き続き passkey が強いセッション方式です。

  • 歴史的には、ネイティブ Ronova ID sign-up が legacy 14 桁 player UID を生成し、作成時に一度だけ復旧コードを表示していました。
  • 一回限りの復旧コードによるパスワード reset を追加し、古い session を失効させてから新しい standard session を開始します。
  • id.ronova.dev に専用 sign-up / recovery route と、passkey 紛失時の Support handoff を追加し、第二の account system は作っていません。

Ronova ID の sign-in は、名前先行の段階フローへ戻りました。

live auth routes は Pages Functions と一緒に復旧され、display name の解決も名前先行の入力欄と一致するようになり、専用 identity host では書き換え後の return path が staged passkey と password controls に揃いました。

  • Ronova bundle を project root から再 deploy し、Pages Functions を static build と一緒に出荷する形へ戻したことで、live の `/api/auth/*` と `/api/identity/*` surface を復旧しました。
  • Ronova ID identifier lookup は exact な account display name も受けられるようになり、handle、UID、migrated Gekka name、email と同じ staged passkey / password flow に入れます。
  • `id.ronova.dev` の HTML では `data-redirect-to` も書き換えるようにし、passkey と password の return が `/` と `/account/` に残り、fallback の `/id/*` path へ漏れないようにしました。

Ronova ID は、名前または UID から始まる入口になりました。

Ronova ID の sign-in page は、まず名前または UID を 1 つ入力する面から始まり、そのあとで passkey か password を選べるようになりました。既存の font、color palette、universal account boundary は変えていません。

  • passkey login は、Ronova handle、Gekka 名、UID、または email に絞ってから、端末に credential を求められるようになりました。
  • password fallback は最初の画面から外れて 2 段目に入り、失敗した password sign-in も identifier を local に保ったまま同じ段へ戻ります。
  • sign up は第二の public account system を作らず、既存の Ronova support と reviewed request の経路へつながります。

Ronova footer を、よりわかりやすい site map に整えました。

共有 footer は、site identity、internal routes、external destinations、trust links を落ち着いた列に分け、公開 page を filler なしで見渡しやすくしました。

  • Identity seal の列に、copyright line、official site の印、language chooser をまとめました。
  • Ronova 内の route と外向きの destination を別の列に分けたので、local pages が external links と競合しにくくなりました。
  • Trust links は公開 route 全体で見えるままにしつつ、universal Ronova ID boundary は変えず、第二の account system も追加していません。

Ronova ID は email verification と legacy UID role prefix を追加しました。

歴史的には、Account Settings が verification email を追加し、表示される legacy 14 桁 Ronova UID handle は古い共通 `1000` namespace ではなく role-aware な先頭 4 桁を使っていました。

  • 実際に使える verification-email flow を追加し、signed な one-use token、account 側の resend controls、success と expiry の status messages を揃えました。
  • Primary email は引き続き verified address に限られ、最初に確認された address は自動的に primary になります。
  • この歴史的な 4 桁分類は legacy history としてのみ残り、従来の `1000` handles は不変の compatibility aliases として維持されます。

Travel Evaluation は public archive と Ronova ID notebook として開くようになりました。

canonical な /projects/travel-evaluation/ route は、archive を read-only の summary cards から始め、summary を tap すると full evaluation table が開き、published Ronova evaluations を最初から載せ、personal drafting を Ronova ID の後ろに置く、より静かな standalone website を開くようになりました。

  • Ronova の project page は launch surface としてだけ振る舞い、preview を埋め込まずに website へ送ります。canonical workbench path は /projects/travel-evaluation/workbench/ のままです。
  • Website は lounge class、location、airline、quality の同じ filters を read-only archive に保ちつつ、最初は summary cards だけを見せ、summary を tap したときにだけ exact scoring、pictures、comments を含む full table を開くようになりました。
  • 自分の evaluation を埋めるには既存の Ronova ID boundary が必要です。公開 sheet は不変の author principal と公開時点の Ronova ID snapshot を保持します。

Travel Evaluation の workbench を、より静かなノート風に整えました。

Ronova 上の same-origin workbench は、1 回に 1 枚の sheet、やわらかい controls、はっきりした accents、そして lounge・flight・hotel 向け browser-local notes という、より静かな個人用の面になりました。

  • /projects/travel-evaluation/workbench/ の browser-local workbench は、add・filter・autosave・export/import・snapshot・scoring を保ったまま、表示する sheet を 1 枚ずつ選べるようになりました。
  • 空の text fields は入力で消える placeholders に変わり、暗い notebook surface には First、Gold、Business、Other と flight cabin bands の accent colors を入れました。
  • Universal Ronova ID boundary はそのままです。booking layer、review marketplace、第二の account system は追加していません。

OpenPractice に控えめな motion pass を入れました。

OpenPractice Toolkit の project page は、練習用の surface らしく読みやすくなりました。Hero のバランス、小さな metronome swing、静かな transitions を加えつつ、project boundary は変えていません。

  • 既存の OpenPractice mark を使った responsive metronome panel を追加し、reduced motion では止まるようにしました。
  • Project notes、status block、roadmap cards は desktop で構造を出し、mobile では一列で読みやすく保っています。
  • Founding phase、local-first、open source、Ronova ID の境界コピーはそのままです。

AI Usage を open-source skill project として追加しました。

Parallel agent orchestration の考えを Ronova project page と公開 skill package にし、複数の Codex agents が branch や port をぶつけずに動けるようにしました。

  • /projects/ai-usage/ を Ronova 側 project page として追加し、GitHub source へ直接リンクしました。
  • AI Usage を Projects 目録、homepage reel、drawer project list、sitemap、暗号化 support context selector に追加しました。
  • この project は operating skill と documentation layer のままです。第二の account system、自動 deploy 権限、隠れた production action は追加していません。

Borealis は TSE seatmap を一定 1:50 比率で描き直しました。

埋め込みの TSE Rail seatmap は、実際の 1:50 描画比率、より整理された上面 cabin module、そして大きく縮小した close-up 参照由来の seat symbol に基づいて組み直しました。これで furniture と carriage の比率が、実物により近い見え方になります。

  • Generator を、carriage・zone・seat footprint 全体で一定 1:50 比率になるように戻しました。
  • 4 つの reusable class symbol を、渡された close-up の design language から描き直し、各 measured footprint の中で大きく小さく収めました。各 passenger place の editable 性と Magna の 2 つに 1 つの水平反転ルールは維持しています。
  • 描き直した SVG と更新済み Borealis copy を、新しい shared static asset key で /projects/borealis/ に同期し、第二の account system は追加していません。

Borealis の最初の viewport を広い desktop 向けに整えました。

広くなった Borealis dossier shell に、ただ横へ伸ばすだけではない wide-screen composition を加えました。hero copy、seal field、highlight strip が一つの stage として揃います。

  • Ultra-wide 用の layout state を追加し、hero copy は意図的な左側トラックに置き、右側は seal と雰囲気の線表現のために残しています。
  • Highlight strip は、少し深い重なりと落ち着いた column balance になるよう wide desktop 向けに調整しました。
  • 通常の desktop、tablet、mobile の挙動は変えず、本当に余白がある viewport でだけ新しい composition が有効になります。

Borealis の dossier shell を広げました。

Borealis の直接 dossier は、大きな画面で狭い中央カラムに閉じこもらず、共通 shell がもっと横幅を使うようになりました。読みやすさのための text measure は保っています。

  • Nav、hero、stat strip、section bands が同じ広い shell を使うよう、共通の width cap を引き上げました。
  • 見出しと paragraph は shell の内側で個別に幅を抑え、ただの text wall にならないようにしています。
  • 共有 static asset key を更新し、/projects/borealis/ と standalone dossier が狭い cache copy ではなく広い版を読み直すようにしました。

Borealis の TSE seat icon を整えました。

Borealis dossier の編集可能な TSE Rail seatmap では、各 passenger place を個別に編集できるまま、seat artwork は TSE-8 を参考にした class ごとの詳細な iconic SVG seat からコピーする形にしました。

  • Optimized と Compact の SVG を、4 つの reusable class icon から 700 および 350 の editable placement group へコピーする形に組み直しました。
  • Lavatory と service point は、どちらの候補でも 1:50 の一定 passenger ratio にしました。
  • Magna icon は短い seat、同じ幅の side table、panel line、table marker を持ち、2 つに 1 つの placement を水平反転します。
  • 生成済み SVG と brief を /projects/borealis/ の直接開く Borealis dossier に同梱し、第二の account system は追加していません。

プロジェクト導線を具体化しました。

公開参照は、偽の action を出さない形に整理しました。Projects は一覧へ、VPN は Triluna portal へ接続し、探索中の entry は表示しません。

  • 公式の Projects カードは Ronova の project directory に向かいます。
  • Ronova VPN を `https://vpn.triluna.org/` に接続し、identity boundary は universal Ronova ID のまま維持しました。
  • Scriptura と 実験 は、具体的な destination または page ができるまで public project card から外しました。

Borealis に完全なプロジェクトページを追加しました。

Borealis カードは、Ronova route 上で完全な Borealis Alliance HTML dossier を直接開くようになりました。

  • 単体の Borealis Alliance ページに埋め込まれていた軽量な Borealis ロゴを抽出しました。
  • ホームページのプロジェクト reel と Projects 一覧で、低透明度の CSS 背景として印章を表示します。
  • /projects/borealis/ を公開 dossier の直接 route にし、Ronova ID の境界を保ったまま Borealis を live service ではなく concept として位置づけました。

Ronova VPN を vpn.triluna.org へ移しました。

VPN portal は Ronova subdomain surface ではなく、Triluna 上の Ronova ID redirect-code client として登録されました。

  • `ronova-vpn` の Ronova ID app/client registry を `https://vpn.triluna.org` へ移しました。
  • VPN callback は `https://vpn.triluna.org/api/auth/ronova/callback` を使い、redirect-code exchange で戻ります。
  • Universal Ronova ID の境界を維持しています。VPN は既存の linked account records を使い、第二の account system は追加していません。

OpenPractice Toolkit を ronova.dev に追加しました。

オープンソースの音楽練習 bootstrap に、Ronova 側の公開プロジェクトページ、プロジェクトカード、サポート分流、ローカライズ済みルートを追加しました。

  • /projects/open-practice-toolkit/ を Ronova 側プロジェクトページとして追加し、公開 GitHub repository へ接続しました。
  • OpenPractice Toolkit をホームのプロジェクトリール、Projects 一覧、drawer のプロジェクト一覧、sitemap、暗号化サポートの文脈選択に追加しました。
  • 中核の練習機能については、local-first と open-source の framing を保ち、第二の account system や有料 API を前提にしていません。

Roulette Probability Lab を Casino Statistics に追加しました。

Roulette モジュールは、遊べるテーブル、見えるホイール、転がるボール、seeded simulations、strategy bots、no-money の境界を持つ独立した教育シミュレーターです。

  • /projects/casino/roulette/ に、European roulette と American roulette の確率分析用 static lab を追加しました。
  • 単一プレイヤーかつ offline の挙動に保っています。支払い、アカウント、入金、出金、casino 接続はありません。
  • 指定された低彩度の matcha、sakura、dark wood、burgundy の UI で、期待値、bias test、debug mode、charts を公開しました。

月影銅円台を Pascal コインプッシャー・モジュールとして公開しました。

Casino Statistics で、再帰 Pascal コインプッシャーをより遅い物理シミュレーターとして見せるようにしました。A-frame belt lift、水平の baskets、table drains、入口表示、大きさをそろえた bonus Pascal boards、コンパクト操作、任意の blueprint guide を備えています。

  • /projects/casino/coin-pusher/ を更新し、埋め込み 3D 月影銅円台 シミュレーターが最初の画面の主役になるようにしました。
  • 連続した staggered coin motion、接触 bounce、通常穴から table への落下、右側 lever から左 lift basket への流れ、diagonal belts、M/G entry、接続された n=3/n=4/n=5 bonus layers、小さな final fork、10 coin throw を追加しました。
  • 落下と elevator を遅くし、見える coins を 75% に縮小し、bonus credit を即時加算ではなく G entry からの物理 drops に変え、burgundy の大きな bonus burst を blur で消えるようにしました。
  • 既定ではオフの blueprint guide を追加し、sample paths、catch baskets、X chutes、label lanes を表示できます。seeded outcomes や payouts は変わりません。
  • Simulator の表示フォントを Yuji Syuku だけに統一し、bonus burst と canvas-rendered board labels も同じ書体にしました。
  • 実際のお金を使わない境界を維持しています。仮想銅円のみで、入金、出金、ギャンブル用アカウントはありません。

Casino Statistics を実際のお金を使わないシミュレーターとして公開しました。

新しい Casino Statistics のプロジェクトページでは、将来のゲームモジュール追加前に、仮想チップ、期待値、短期分散でハウスエッジを説明します。

  • /projects/casino/ に、ローカライズ済みの Ronova プロジェクトページと仮想チップのシミュレーターを追加しました。
  • Casino Statistics をプロジェクト一覧、ホームのリール、Drawer のプロジェクト一覧、暗号化サポートの振り分けに追加しました。
  • Ronova ID のアカウントフローや実際の決済とは分離したままにしています。

Archon が 3 つの website roots を束ねるようになりました。

Ronova、Gekka、Triluna は同じ owner/root control model で結ばれます。通常の account management は id.ronova.dev に残し、archon.ronova.dev だけを root control plane にしました。

  • ronova.dev、gekka-harae.com、triluna.org の website-root registry を追加し、root control を archon.ronova.dev に向けました。
  • Triluna / Fundatio を Ronova ID の redirect-code client として登録し、二つ目の account system は作っていません。
  • Support routing に Fundatio / Triluna を追加し、owner-only Archon dashboard で 3 つの public roots を表示するようにしました。

クロール用メタデータの所有元を固定しました。

robots.txt は共有ソースを使う専用 Pages Function から返す形にし、残る live cache の差分は Cloudflare zone cache rule 側に切り分けました。

  • robots.txt の本文を、Pages Function と validators が使う共有ソースに移しました。
  • public/ や dist/ に静的 robots.txt asset が戻らないよう、build と static guards を更新しました。
  • 最新の Pages preview は max-age=0 を返しますが、ronova.dev にはまだ Cloudflare zone cache rule の変更が必要です。

メニューに active projects と Account を追加しました。

Drawer の Projects に active project entries を並べ、Access には Ronova ID の sign-in / sign-up flow へ進む Account を追加しました。

  • Drawer の project links は、別管理の shortcut ではなく active / experimental project cards から作るようにしました。
  • Access の Account は既存の Ronova ID account page へ向かい、二つ目の account system は作っていません。
  • AGENTS.md に、新しい project を作るときは feedback/support form の routing options にも追加することを記録しました。

暗号化サポートに本番用の公開鍵を設定しました。

Ronova.dev のサポートフォームは実際の ECDH 公開鍵を入れてビルドされ、秘密鍵はローカルに残し、暗号化フォームが無効状態のまま出荷されないよう検証します。

  • 環境変数がない場合、ビルド時にローカルの公開 JWK から PUBLIC_ENCRYPTION_KEY を読み込むようにしました。
  • 生成後のサイト検証で、設定済みの P-256 公開鍵、暗号化送信ボタン、ページ内に秘密鍵材料がないことを確認します。
  • デプロイされたサポート面のために共有 static asset key を更新しました。

プロジェクト紹介を 1 枚ずつ巡回する形にしました。

ホームページのプロジェクト欄は、全プロジェクトを含む 1 枚表示の横スクロール reel になり、点、表示中の行、7 秒ごとの自動送りを持つようになりました。

  • 見える carousel button と scrollbar を外し、自然な横スクロールだけを残しました。
  • 点と表示中のプロジェクト名で、説明文なしに現在のカードが分かるようにしました。
  • reel は 7 秒ごとに次へ進み、最後のあと先頭へ戻ります。
  • Gekka Harae のロゴと Fundatio Trilunae の印章を、単色で控えめな project-card 背景にしました。

Ronova ID とアクセス文言を明確にしました。

Ronova ID を取得できる条件を説明し、パスワード予備導線の入力欄に見えるラベルを付け、アクセスコードの注意文を各言語で完結させました。

  • Ronova ID のパスワードサインインに、見えるラベル、補助テキスト、専用の検証メッセージを追加しました。
  • Ronova ID は招待、移行、または審査済み申請で発行されることを明確にし、二つ目のアカウントシステムは追加していません。
  • アクセスコードの注意文をローカライズし、公開サイトの混在したプロジェクトラベルを整えました。

公開 i18n の役割表現をそろえました。

性を明示する言語では Ronova の役割表現を女性形にそろえ、Ronova ID とアカウント導線は変更していません。

  • ドイツ語の説明は Entwicklerin、Studentin、Schöpferin にそろえました。
  • フランス語の Gekka 周辺表現は、既存の `créatrice` の女性形に合わせました。
  • 日本語と繁體中文の役割表現は、それぞれの自然な非ジェンダー文法のまま保ち、公開 i18n CSV を再生成しました。

Ronova ID の UID 表示を読みやすく区切りました。

歴史的には、Ronova ID surface が legacy 14 桁 UID handle を `UID: 1000 12345 67890` として group 表示し、account と admin route は task-focused な subpage に保たれました。

  • Account settings、controlled Archon、Archon redemption status、sign-in status、passkey enrollment label で UID handle を整形します。
  • Login lookup、storage、API contract のための raw UID identifier は変えていません。
  • Ronova ID 全体の overview は `/id/` に残し、`/id/account/` と `/id/admin/` は目的別の subpage として軽くしました。
  • Button controls は明示的に Yuji Syuku を使い、identity panel は一列の reading flow を保ちます。

Archon access code が guest と Ronova ID の両方に対応しました。

Archon surface で、共有 seat limit、10 分の guest reservation、Ronova ID account-bound grant、任意の ID 必須設定、owner 側の revoke を扱えるようにしました。

  • Hashed code、account grant、guest reservation、D1 enforced seat limit を持つ Archon 専用の access-code model を追加しました。
  • Anonymous redemption は長い private session ではなく、10 分だけ 1 seat を block します。
  • Ronova ID redemption は authorization を account に bind し、その account の active session が revoke まで authorized content を見られます。
  • Owner-only controlled Archon に、code distribution、code revoke、account-grant revoke の controls を追加しました。

公開サイトは一列で読める構成を優先するようにしました。

Desktop、tablet、mobile のどれでも、大きな public layout は落ち着いた single-column reading に寄せました。小さな controls、tags、buttons は自然な inline の動きを残しています。

  • Split grids、project lists、devlog entries、drawer sections、footer groups、Fundatio panels、Ronova ID card surfaces を single-column stack にしました。
  • Homepage と projects page の reading rhythm を揃えるため、wide desktop の project-card grid を外しました。
  • Tags、buttons、filters、form choices などの小さな control rows は柔軟なままにし、page content は columns にしないようにしました。
  • 既存 routes、Ronova ID、access logic、localized content structure は変えていません。

公開サイトのレイアウトを読みやすく整えました。

Ronova ID や access logic は変えずに、hero の構造、project cards、devlog cards、responsive controls を落ち着いた読みやすい形へ締め直しました。

  • Homepage の main hero copy を card の中から出し、creator hub として第一画面が読みやすい形にしました。
  • Devlog entries は full-width cards にし、date/tag rail と readable content column に分けました。
  • Project card spacing を整え、public reading path が安定するようにしました。
  • Viewport に依存する heading size を穏やかな responsive steps に替え、heading の negative letter-spacing を外しました。
  • Access form actions を hero actions から分け、localized button text がより安全に折り返せるようにしました。

Ronova ID のパスワードログインがログイン導線内に戻りました。

パスワードでのサインイン失敗時にブラウザが API JSON 画面で止まりません。移行済み Gekka username は歴史的に明示的な legacy 14 桁 Ronova UID と一緒に解決されていました。

  • ブラウザフォームの失敗は、読めるステータス付きで Ronova ID に戻ります。
  • API と fetch 呼び出しには、安全な status code と redirect target を含む `login-failed` を返します。
  • 歴史的な Gekka username import は legacy password credential を維持し、旧 10 桁 UID を明示的な legacy 14 桁 Ronova UID alias にしました。email alias は既存の Gekka HMAC lookup 形式を維持しました。
  • 移行済み Gekka legacy password が server verification まで届くよう、sign-in だけにあった browser 側の 12 文字制限を外しました。
  • パスワードサインインでも元の authorization continue path を保持し、登録済みアプリがログイン後に再開できます。

Gekka のログイン移管を Ronova ID に寄せました。

Gekka Account は player records と saves を保ち、sign-in authority は別の Gekka login ではなく Ronova ID 側に置く形へ整理しました。

  • Gekka Account bridge は、managed password fallback を含む standard Ronova ID session で通常 sign-in を完了できるようになりました。
  • Transfer と recovery-sensitive actions は、引き続き passkey-backed strong Ronova ID trust の内側に残します。
  • Gekka Account の visible language を Ronova ID への login authority transfer として揃えました。

公開 i18n CSV が 5 言語の範囲を持つようになりました。

Public text export は、catalog、static shell、admin-visible copy を English、German、French、Japanese、Traditional Chinese の localized source から扱うようになりました。

  • Ronova ID catalog labels、static shell text、structured-data terms、vCard text、admin-console labels を localized source objects に移しました。
  • `ronova-public-i18n.csv` を 5,548 localized rows、English-only status entries なしで再生成しました。
  • Drawer と contact-card の文言を整え、公開導線が手順説明ではなく orientation と confirmation として読めるようにしました。

Ronova ID に管理付きの legacy password login を追加しました。

Account Management で password fallback を設定・無効化でき、別の credential が残る場合だけ passkey を外し、login history も確認できるようになりました。

  • Account Management で password を有効にした account 向けに `legacy-password` login を追加しました。
  • Add Passkey と Remove Passkey を account 操作として整理し、最後の credential を守るようにしました。
  • Passkey、password、bridge、logout の event を account login history に表示します。

Fundatio の外向きアクションを整理しました。

Fundatio の bridge page は、最初の viewport で triluna.org への button を 1 つだけ見せ、外部ラベルの contrast も強めました。

  • 同じ画面内で外部 CTA が重複しないよう、side panel から繰り返しの triluna.org button を外しました。
  • ページの関係説明はそのまま残し、triluna.org への handoff は hero の 1 箇所に絞りました。
  • Primary button 上の外部 chip を強め、lavender と gold の gradient 上でも読みやすくしました。

Ronova ID が Ronova サブドメインをまとめて扱うようになりました。

この entry は以前の shared-session phase の記録です。2026-07-18 の host-only authorization-code cutover がこの設計を置き換えました。

  • 以前の same-site coordination は release history として残しますが、現在の session architecture ではありません。
  • `ronova-archon` と `ronova-vpn` を identity app/client catalog と D1 migration に登録しました。
  • 現在の isolated host session と one-time code flow は 2026-07-18 の entry に記録されています。

Archon と VPN のサブドメインが Cloudflare で live になりました。

`archon.ronova.dev` と `vpn.ronova.dev` は、DNS 不足で止まる代わりに Cloudflare Pages 経由で解決されるようになりました。

  • Archon と VPN の Pages project に必要な proxied Cloudflare CNAME route を追加しました。
  • `archon.ronova.dev` が owner-only control plane を no-store/noindex header 付きで返すことを確認しました。
  • Ronova VPN Pages bundle を再 deploy し、`vpn.ronova.dev` が Ronova VPN Portal を返し、pages.dev host はそこへ redirect することを確認しました。

Fundatio Trilunae をプロジェクト内の項目にしました。

ホームページでは Fundatio Trilunae を独立した帯ではなくプロジェクト項目として扱い、透明な印章と Ronova 側のプロジェクトページを置きました。

  • 表示される Fundatio 項目を、ホームページの独立セクションから既存のプロジェクトカード一覧へ移しました。
  • カードはプロジェクト説明として `/fundatio/` に接続し、`https://triluna.org` は外部 Fundatio 目的地として残します。
  • 白い円盤として見えていた印章を、プロジェクトカード上に直接載る透明印章 asset に置き換えました。

Controlled archon は archon.ronova.dev に移しました。

所有者専用の制御面は専用サブドメインに移り、古い admin パスはそこへリダイレクトします。access key、grant、private page、registry、audit の操作は引き続き passkey 必須です。

  • `archon.ronova.dev` を controlled archon の canonical host にし、`/id/admin/` と `id.ronova.dev/admin/` はそこへリダイレクトします。
  • Access key は一度だけ発行され、DB には keyed hash だけを保存し、関連する active private-page session ごと撤回できます。
  • `/api/admin/archon` は archon host に限定され、global owner role と強い passkey-backed Ronova ID session を引き続き要求します。

Gekka ページとオーバーレイナビゲーションを簡素化しました。

プロジェクトページは制作者ハブと公式サイトの境界をより早く伝え、オーバーレイメニューは静かで低密度にしました。

  • Drawer を Main、Projects、Access、Language、External、Trust に整理し、重い sitemap のような見え方を避けました。
  • Gekka ページは Ronova.dev を制作者側の文脈として残し、公式情報、バージョン、入口は gekka-harae.com へ渡します。
  • Footer は繰り返しを減らし、著作権、言語、公式プロジェクトサイト、必要な trust links に絞りました。

Deploy gate で変更され得る公開 asset の cache key を検査するようにしました。

生成済みページが公開 script、style、social image、favicon、連絡カードで共有 cache-busting version を通さない場合、検証で失敗するようにしました。

  • Access、support、contact-card ページの route-level asset を共有 static asset version 経由にしました。
  • built-site validator は release 前に全生成 HTML を走査し、version のない変更可能な public asset を検出します。
  • 静的 header policy は公開連絡カードにも `X-Content-Type-Options: nosniff` を要求します。

Ronova ID の復旧に関わる設定を step-up で保護しました。

step-up が必要な ID では、復旧やアカウント継続性に関わる設定変更に、passkey による強い Ronova ID セッションを要求するようにしました。

  • メール追加、主メール変更、メール削除、passkey 無効化、他セッション取り消しは、強いセッションでない限り `step-up-required` を返します。
  • bootstrap を進められるよう、passkey 登録とプロフィールだけの変更は引き続き利用できます。パスワード fallback は追加していません。
  • アカウント設定パネルはブロック状態を表示し、パスワードログインは利用不可のままです。

Ronova ID アカウント設定が実際のセルフサービス画面になりました。

Ronova ID アカウント画面で、プロフィール、メール、パスワードレス状態、パスキー、有効なセッション、復旧状態、アプリ権限をライブに読み込むようになりました。

  • プロフィール更新、未確認メール行、パスキー無効化、他セッションの取り消しに使う認証済み設定 API を追加しました。
  • パスワード管理は明確にパスワードレスのままです。Ronova ID はパスワードを作成せず、保存もしません。
  • Ronova ID アカウントページに、キャッシュ更新された script と style で動く設定パネルを追加しました。

Ronova ID に実際のパスキーサインイン導線を追加しました。

Identity runtime に WebAuthn challenge の保存、パスキー登録、パスキーサインイン、そして code exchange の trust フィールドを追加し、プロジェクト横断の client が user-verified passkey に基づく Ronova ID 証明かどうかを判断できるようにしました。

  • `0004_ronova_passkey_runtime` D1 migration で WebAuthn challenge と passkey credential metadata を追加しました。
  • Ronova ID アカウント画面は、パスキーサインインとパスキー登録を表示し、旧 bridge は owner bootstrap 用に狭く残します。
  • Authorization-code exchange は、将来の Gekka Account 検証向けに passkey-backed trust fields を返します。

Ronova ID をプロジェクト横断のアカウント層として整理しました。

ID レジストリに account.gekka-harae.com 専用の Gekka Account Center クライアントを追加し、Gekka 側が sign-in と login transfer に使える Ronova ID の到達点を明確にしました。

  • `https://account.gekka-harae.com/api/auth/ronova/callback` 向けに、専用の `gekka-account` アプリとクライアントを追加しました。
  • `gekka.account.login`、`gekka.account.link`、`gekka.account.recovery` を追加し、アカウント ID と play、Senate、Archon の権限を分けました。
  • Gekka が login authority を Ronova ID へ移しながら、Gekka セッションを Ronova の非公開ページ用セッションとして扱わない、という境界をアーキテクチャノートに明記しました。

Ronova ID の共有 ID 設計をまとめました。

Ronova ID のアーキテクチャノートに、ronova.dev、id.ronova.dev、関連プロジェクト向けの passkey-first な ID 基盤を整理しました。D1 スキーマ方針、復旧、非公開ページのアクセス、Gekka 権限ブリッジまで含めています。

  • Ronova ID を中央 ID レイヤーとして扱い、利用側アプリはそれぞれ独立したスコープ付きセッションを持つ形にしました。
  • ユーザー、passkey、WebAuthn challenge、復旧コード、アクセスキー、アプリ grant、セッション、ticket、audit event の長期 D1 モデルを定義しました。
  • Gekka アカウント導線は Ronova 権限を要求できますが、ronova.dev の非公開ページは明示的な Ronova ID grant と短命の audience-bound ticket がある場合だけ開く、という境界を明確にしました。

サブページに、セキュリティを意識した磨き込みを入れました。

ronova.dev の公開表示と runtime の扱いを絞って整えました。ホームのステータス欄をローカライズし、信頼系ページを読みやすくし、開発記録のタグを見つけやすくし、Ronova ID のリクエスト本文解析を既存の access / support エンドポイントと同じ bounded-body 型に寄せています。

  • ホームのステータス欄をローカライズし、非英語ページの最初の画面に英語ラベルが残らないようにしました。
  • 開発記録と信頼系ページを、タグと注記パネルでより読み取りやすくしました。
  • Ronova ID のログイン、ログアウト、コード交換の前に、JSON と URL エンコードフォームの本文サイズを制限するようにしました。

Ronova ID に専用サブドメインの経路を追加しました。

id.ronova.dev は、未接続の将来用アドレスではなく、既存の Ronova ID ポータルへ到達する入口になりました。

  • ホスト名を見て振り分ける Pages ルーティングを追加し、概要、アカウント、管理画面を `id.ronova.dev`、`/account/`、`/admin/` から開けるようにしました。
  • `ronova.dev/id/` はパス型のフォールバックとして残しつつ、公開アプリカタログには専用 ID ホスト名を明示しました。
  • Ronova ID の noindex と no-store は維持し、サブドメイン上の無関係なパスは主要な公開サイトへ戻します。