アップデート 2.65
2026/6/10
v2.65.0BETA
Seymour
PC/プレイヤー成長を Spira Data Atlas に追加(read-only、`proved-candidate`、byte-grounded、work/-independent)
- PC の成長/ステータスの REAL ソースをプロバイダーに組み込む: 新しい
SpiraDataAtlasDetailKind.PlayerGrowthStatと value-guarded アクセサーSpiraDataAtlasCatalog.TryGetPlayerGrowthStat(source, characterIndex, field, currentRawValue)。ソース =ply_save.bin(基礎/現在ステータス)+ply_rom.bin(成長 ROM: AP-requirement 曲線ApReq A/B/C/Max+ per-stat auto-growth 係数*CoefA/B)、SAME テーブルをPlayerGrowthEditorが編集する(パーサーPlayerKernel_File、RT0-proved は--player-rt0による)。20スロット(0–6 PC、7 guest=シーモア、8–17 Aeons、18–19 unmapped)は byte-grounded コンパイル済みテーブル(FfxLib/SpiraDataAtlas/PlayerGrowthData.cs、tools/ffxdataparser_bridge/build_player_growth_index.ps1 -EmitCSharpが.binファイルから生成)に由来するため、ANY のビルド WITHOUTwork/に存在する(PcAeonFineStatとは異なり、これはwork/pc_save_stats_catalog.csvに依存するスナップショットにすぎない)。ラベルは実行時にCharacter_Enumで解決する(単一の正本)。正直さ(non-obvious): stat-growth の係数は Aeon-only — PC/guest スロットには ZERO 係数があり(PCは Sphere Grid でステータスを成長させる)、この ROM における唯一の PC 成長つまみは AP-requirement 曲線である。これは BRASKA のsum_grow.binとは別の DIFFERENT 軸(auto-level ≠ カスタマイズレシピ)。REGION-SPECIFIC:ply_save/ply_romは NOT locale-invariant である(new_uspcのデータセクションは jppc/inpc と異なり、コンパイル済みテーブル =new_uspc、エディターが読み込む地域)。in-game AP-per-level / per-coefficient の獲得式はRT2-pending(バイト/フィールドは証明済み、実行時の算術は逆算していない)。 Value-guard = エディターが編集するのと同じ value-space → フィールド(raw不一致)を編集した場合、または未知のスロット/ソース/フィールドの場合 → アクセサーfalse→ バッジを非表示(Aeon/Shop/調合 のミラー)。ゲート--spiraatlas-rt0は21296 → 21316(+20、すべて一意)と 新規アサーション18件(件数20/8/10/2、PC 係数ゼロ、Aeon 係数 non-zero、地域uspc、Tidus の検索 BaseHp 520 / ply_rom AP 最大22000 / ヴァルファーレ の HpCoef 6、value-guard9999は非表示、out-of-range スロット/ソース/フィールド不在、ドメイン検索、BIBLE のドメイン player-growth)。Read-only: writer/UI/runtime/SINはなし。WriteSave/WriteRom、PlayerGrowthEditorUI、ANIMA のCommonエンジン(消費のみ)、BRASKA/AURON/JECHT/RIKKU/WAKKA/VALEFOR/AURORA/SIN には触れない。ビルドはエラー0件 / 警告361件;--player-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS。ドキュメント:docs/ai/ATLAS_TIDUS_PC_GROWTH_PROVIDER_RESULT_2026-06-10.md+ scoutdocs/ai/ATLAS_TIDUS_PC_GROWTH_SCOUT_RESULT_2026-06-10.md
v2.64.3
v2.65.1BETAPATCH
Seymour
PlayerGrowthEditor の Atlas 根拠バッジと、正直な Sphere なし/Passive ラベル(read-only、value-guarded、hide-on-edit)
- Atlas UI スイープ。 (1) PlayerGrowthEditor:
<common:AtlasEvidenceBadgeStrip>を「Growth Curves」カード(ply_rom.bin)に追加し、already-built アクセサーSpiraDataAtlasCatalog.TryGetPlayerGrowthStat(source, characterIndex, field, currentRawValue)(v2.65.0、TIDUS)を利用する。AtlasEvidenceInfo? SelectedCharacterEvidenceをPlayerGrowthEditor_DataModelに追加し、スロット変更時とCharacterRowChanged(編集)で再計算 → hide-on-edit: 2つのファイル/カードにまたがる3つの gate-proven 成長値(ply_saveBase HP +ply_romAP max + HP coef A)にバッジを固定する—同じ検索を--spiraatlas-rt0が証明: 520 / 22000 / 6。どれか1つのアンカーが byte-grounded コーパスから外れるとストリップは self-hides(調合v2.64.1/Aeonv2.64.3バッジと同じアンカー深度)。(2) Sphere ラベル(正直、partial):sphere.bin ActionValue=0x0000は 「なし / Passive」 と読み、RangeValue=0x00は 「なし」 と読むようになった。「ふめい」ではなく、0x00は正当なコーパス値の3つ目である(約40%のsphereには on-touch 効果がなく、Jarvis-AURON scout で確認)。これは unknown ではない。ドロップダウンに「なし」オプションを追加し、フォールバックラベルも修正した。(3)AiBibleWhereAppears.For: read-onlyplayer-growthとmixのケースを追加(正直な「どこに現れるか」の文言、runtime-effect の昇格なし。sphere-grid-nodeはすでに存在)。(既存機能の REUSE、すなわち UI が already-built アクセサーと ANIMA のCommonエンジンを利用し、ラベルも整える。直接の前例では、調合v2.64.1/Aeonv2.64.3/Shopv2.61.2バッジが PATCH され、tie-breaker の疑いはPATCHになった)。新しいwriterはない: SphereGridExplorer バッジはすでに出荷済み(v2.60.1)。player-growth writer/save パスとSphereのトポロジーは 変更していない。プロバイダー/ゲート(--spiraatlas-rt0は維持)、ANIMA のCommonエンジン(消費のみ)、runtime/Aurora/native-menu/SIN、または TIDUS/BRASKA/JECHT/RIKKU/WAKKA/VALEFOR/AURORA には触れない。ビルドはエラー0件 / 警告361件;--spiraatlas-rt0+--player-rt0+--spheregrid-layout-rt0+--aicmdmeta-rt0PASS。ドキュメント:docs/ai/ATLAS_LULU_PLAYER_GROWTH_SPHERE_BADGE_UI_RESULT_2026-06-10.md
v2.65.0
v2.65.2BETAPATCH
Seymour
Sphere Grid: empty-node RedundantContent preserved (0xFFFF) + Atlas where-appears polish
- Atlas Polish / Evidence Housekeeping (Jarvis-BARTHELLO). (A) Sphere Grid hardening (byte fidelity): in
SphereGrid_File.Builder.cs(the v2 LAYOUT writer, gated by--spheregrid-layout-rt0), the AUTHORING/EDIT pathsAddNode/NodeWithwroteRedundantContent = (ushort)(contentIndex & 0xFF)→ for an empty node (content0xFF) that produced0x00FF, diverging from shipped data. The corpus (Jarvis-AURON scout, 3,444/3,444 nodes: low byte == ContentIndex, high byte set only on the 23 empty Expert nodes) proves an empty node =0xFFFF, a filled node =0x00<content>. New private helperRedundantContentFor(contentIndex)mirrors the shipped convention (empty→0xFFFF, filled→0x00NN).FromExisting/Clonestill copiesRedundantContentverbatim → the no-edit round-trip stays byte-identical (untouched, re-proved by the gate). New assert in--spheregrid-edit-rt0(synthetic + the 3 corpus grids):SetNodeContent(idx, 0xFF)→ layout writes0xFFFFat node+0x06 + contents byte0xFF+ re-reads empty. Gameplay risk low (redundant field; the game reads content fromdat09/10/11+ reach-lists — IDA-proved by AURON on both binaries), but it is a fidelity divergence in an already-shipped writer. (B)AiBibleWhereAppears.Forpolish (read-only): added theaeon-growthcase (an Atlas domain closed inv2.64.0that was falling through to the empty fallback) with honest "where it appears / mapping" text; updatedsphere-grid-node(was stale: "Unknown6 stays raw/unknown") to reflect AURON's burn-down —Node.Unknown6is gameplay-inert (IDA-proved on both binaries), the possible residual = menu layout/visual (metadata-only), with no invented gameplay semantics. (fixes a latent fidelity bug in an already-shipped writer — "a consumer would benefit" → yes, byte fidelity — plus read-only text polish; tie-breaker doubt→PATCH). No new writer, no new UI, no provider/gate-count change (--spiraatlas-rt0intact), noCommonengine (ANIMA), runtime/AURORA/VALEFOR/native-menu/SIN, CHAPPU/save, or real grid topology (create/move/relink node stays a frontier) touched. Build 0 errors / 361 warnings;--spheregrid-edit-rt0+--spheregrid-layout-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS. Doc:docs/ai/ATLAS_BARTHELLO_POLISH_RESULT_2026-06-10.md
v2.65.1
v2.65.3BETAPATCH
Seymour
SEYMOUR 監査: Atlas の124 ATEL `unknown-call-shape` 行を正直なクラス(read-only、byte-proven)に解決
- ATEL Call-Shape 監査(pre-SIN)。 v8 の意味解析で分類できなかった
124field-writes(field-write-unknown-call-shape)を、全コーパス(FFXDataParser のtarget/text、スクリプト346本)にわたって バイトコード レベルで監査し、TWO の実証済みクラスだけに 完全に分解した。未分類は 0件。(1)0x70A8 btlSetMotionData— 116行(100%): 均一な形PUSHII actor · PUSHII field · (PUSHII|PUSHF) value · CALLPOPA=(actor, field, value)を motionProperty 名前空間に書き込む(フィールドは0x00..0x09、すべてAiMotionPropertyNamesで命名)。アクターは REAL 参照(Self0xFFF3が113件 + Monster#01/#02/#030x15/16/17h)で、25体のモンスターにまたがるため、クラスはset-motion-data-actor-field-value(explicit-actor の0x70B2 setMotionField兄弟、NOTsetStatField)。(2)0x7032 setActorFacingAngle— 8行: NOT はフィールド書き込みではなく、(actor, angle)、field-id を伴わない2-push call である。これは regex false-positive としてフィールドカタログに漏れた(FLOAT の角度括弧だけが.facingAngle = 90.0 [42B40000h]を描画し、v7 regex が十進数の.0 [hex]に一致したため。兄弟サイト63件の integer-angle= 90 [5Ah]は漏れなかった)→ クラスnot-field-write。変更点: ブリッジtools/ffxdataparser_bridge/build_atel_semantic_catalog.ps1(Get-FieldWriteSemanticKind+ リスクメモ)が両方の call-ids を再分類する。v8 は0unknown で再生成(新クラス内は116+8)。AtelFieldWriteShapeの件数は202のまま(ラベル変更後もcallId|fieldHex|fieldName|semanticKind|fieldCategoryキーのカーディナリティーを保持することを変更前後で証明)。unknown-healthパスでは199 → 75を減らし、124件の ATEL が「blocked-until-audited」バケットを離れる。SpiraDataAtlasCatalogのナラティブ(atlas:field-call-shapes+ ガードレール +atlas:unknown-health)も更新した。--spiraatlas-rt0のアサーションを移動(detail entries 21316→21192、Unknown health rows 199→75)し、新規 lock-asserts 件を2件追加(0に残る unknown call-shapes +0x70A8motion-data が存在)。正直さ: 分類することは writer を認可することではない—すべてのAtelFieldWriteShapeはread-only;not-writer-authorityのまま、70A8にもボタン/書き込みはなく、SIN に昇格したものもない。Read-only の忠実度に関する発見: EDITOR デコーダー(AiScript_File.cs)は70A8を 補足表示しない(FieldArgBack/FieldNameForFuncには存在せず)、AiStackModelも引数個数を欠くため、MAGIC レーンに引き継ぐ表示上の空白となる(docs/ai/HANDOFF_SEYMOUR_ATEL_DECODER_GLOSS_GAP_2026-06-10.md)。ゲームプレイへの影響はない。PATCH(既存の read-only カタログを精密化/分類し、SIN data-blocker を解決する。前例はv2.61.3/v2.62.1、tie-breaker の疑いはPATCH)。新しいwriterはない。runtime/AURORA/VALEFOR/native-menu/SIN-chain-builder/CHAPPU/save には触れない。敵対的ワークフロー(反証役3名 + 完全性批評家)で検証済み。ビルドはエラー0件 / 警告361件;--spiraatlas-rt0+--aicmdmeta-rt0+AiScriptLab --ai2(346/346)PASS。ドキュメント:docs/ai/ATLAS_SEYMOUR_ATEL_CALL_SHAPE_AUDIT_RESULT_2026-06-10.md
v2.65.2