Actualización 2.65
10/6/2026
v2.65.0BETA
Seymour
PC/Crecimiento del jugador en el Atlas de datos Spira (solo lectura, `proved-candidate`, basado en bytes, work/-independent)
- Conecta la fuente REAL de crecimiento/estadísticas de PC al proveedor: nuevo
SpiraDataAtlasDetailKind.PlayerGrowthStat+ descriptor de acceso con valor protegidoSpiraDataAtlasCatalog.TryGetPlayerGrowthStat(source, characterIndex, field, currentRawValue). Fuente =ply_save.bin(estadísticas base/actuales) +ply_rom.bin(ROM de crecimiento: curva de requisitos APApReq A/B/C/Max+ coeficientes de crecimiento automático por estadística*CoefA/B), las MISMAS tablas que editaPlayerGrowthEditor(analizadorPlayerKernel_File, RT0-probado por--player-rt0). Las 20 ranuras (0–6 PC, 7 invitado=Seymour, 8–17 Aeons, 18–19 sin asignar) provienen de una tabla compilada basada en bytes (FfxLib/SpiraDataAtlas/PlayerGrowthData.cs, generada portools/ffxdataparser_bridge/build_player_growth_index.ps1 -EmitCSharpa partir de los archivos.bin), por lo que existen en CUALQUIER compilación SINwork/(a diferencia dePcAeonFineStat, que depende dework/pc_save_stats_catalog.csvy es solo una instantánea). Las etiquetas se resuelven en tiempo de ejecución a través deCharacter_Enum(fuente única de verdad). Honestidad (no obvia): los coeficientes de crecimiento de estadísticas son solo Aeon — PC/las ranuras para invitados tienen coeficientes CERO (las PC aumentan las estadísticas a través de Sphere Grid); La única perilla de crecimiento PC en esta ROM es la curva de requisitos AP. Este es un eje DIFERENTE delsum_grow.binde BRASKA (nivel automático ≠ receta de personalización). ESPECÍFICO DE LA REGIÓN:ply_save/ply_romNO son invariantes de configuración regional (la sección de datosnew_uspcdifiere de jppc/inpc; tabla compilada =new_uspc, la región que carga el editor). La fórmula de ganancia de AP por nivel/por coeficiente en el juego esRT2-pending(bytes/campos probados, aritmética de tiempo de ejecución no invertida). Valor-protector = mismo espacio de valores que edita el editor → editar el campo (no coincide sin formato), o una ranura/fuente/campo desconocido → descriptor de accesofalse→ oculta la insignia (espejo de Aeon/Tienda/Alquimia). Puerta--spiraatlas-rt021296 → 21316(+20; todo único) + 18 nuevas afirmaciones (recuento 20/8/10/2; PC coef cero; Aeon coef distinto de cero; región uspc; búsqueda Tidus BaseHp 520 / ply_rom AP max 22000 / Valefor HpCoef 6; protección de valor9999oculta; búsqueda de dominio/fuente/campo fuera de rango; Sólo lectura: sin escritor/UI/runtime/SIN; no tocaWriteSave/WriteRom, elPlayerGrowthEditorUI, el motorCommonde ANIMA (solo consumido), ni BRASKA/AURON/JECHT/RIKKU/WAKKA/VALEFOR/AURORA/SIN. Construya 0 errores/361 advertencias;--player-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS. Documentos:docs/ai/ATLAS_TIDUS_PC_GROWTH_PROVIDER_RESULT_2026-06-10.md+ explorardocs/ai/ATLAS_TIDUS_PC_GROWTH_SCOUT_RESULT_2026-06-10.md
v2.64.3
v2.65.1BETAPATCH
Seymour
Insignia de evidencia de Atlas en PlayerGrowthEditor + Esfera honesta NASHI/etiquetas pasivas (solo lectura, valor protegido, ocultar al editar)
- Atlas UI Barrido. (1) PlayerGrowthEditor: nuevo
<common:AtlasEvidenceBadgeStrip>en el "Crecimiento Tarjeta Curvas" (ply_rom.bin) que consume el descriptor de acceso ya construidoSpiraDataAtlasCatalog.TryGetPlayerGrowthStat(source, characterIndex, field, currentRawValue)(v2.65.0, TIDUS). NuevoAtlasEvidenceInfo? SelectedCharacterEvidenceenPlayerGrowthEditor_DataModel, recalculado en el cambio de ranura y enCharacterRowChanged(editar) → ocultar al editar: la insignia se ancla en 3 valores de crecimiento probados en puerta que abarcan ambos archivos/tarjetas (ply_saveBase HP +ply_romAP max + HP coef A: las mismas búsquedas--spiraatlas-rt0prueba: 520/22000/6); si algún anclaje diverge del corpus conectado a tierra por bytes, la tira se oculta automáticamente (la misma profundidad de anclaje que las insignias Alquimiav2.64.1/Aeonv2.64.3). (2) Etiquetas de esfera (honesto,partial):sphere.bin ActionValue=0x0000ahora dice "NASHI / Pasivo" yRangeValue=0x00dice "NASHI" en lugar de "Desconocido" —0x00es el tercer valor de corpus legítimo (~40 % de las esferas no tiene efecto de contacto, Jarvis-AURON explorador), no desconocido; Se incluye una opción "NASHI" en el menú desplegable + se corrige la etiqueta alternativa. (3)AiBibleWhereAppears.For: casos de solo lecturaplayer-growthymix(texto honesto "donde aparece", sin promoción de efecto de tiempo de ejecución;sphere-grid-nodeya existía). (REUTILIZACIÓN de la capacidad existente: UI consumiendo el descriptor de acceso ya construido + motorCommonde ANIMA + pulido de etiquetas; precedente directo: las insignias Alquimiav2.64.1/Aeonv2.64.3/Tiendav2.61.2eran PARCHE; desempate duda→PARCHE). No hay nuevos escritores: la insignia SphereGridExplorer ya se envió (v2.60.1); la ruta de guardado/escritor de crecimiento del jugador y la topología de la esfera están intactas. No toca el proveedor/puerta (--spiraatlas-rt0intacto), el motorCommonde ANIMA (solo consumido), tiempo de ejecución/Aurora/nativo-menú/SIN o TIDUS/BRASKA/JECHT/RIKKU/WAKKA/VALEFOR/AURORA. Construya 0 errores/361 advertencias;--spiraatlas-rt0+--player-rt0+--spheregrid-layout-rt0+--aicmdmeta-rt0PASS. Documento:docs/ai/ATLAS_LULU_PLAYER_GROWTH_SPHERE_BADGE_UI_RESULT_2026-06-10.md
v2.65.0
v2.65.2BETAPATCH
Seymour
Sphere Grid: RedundantContent de nodo vacío conservado (0xFFFF) + Atlas donde aparece pulido
- Atlas Pulido / Evidencia Mantenimiento (Jarvis-BARTHELLO). (A) Endurecimiento de Sphere Grid (fidelidad de bytes): en
SphereGrid_File.Builder.cs(el v2 escritor de DISEÑO, controlado por--spheregrid-layout-rt0), las rutas de AUTOR/EDICIÓNAddNode/NodeWithescribieronRedundantContent = (ushort)(contentIndex & 0xFF)→ para un nodo vacío (contenido0xFF) que produjo0x00FF, divergiendo de los datos enviados. El corpus (explorador Jarvis-AURON, 3444/3444 nodos: byte bajo == ContentIndex, byte alto establecido solo en los 23 nodos expertos vacíos) demuestra un nodo vacío =0xFFFF, un nodo lleno =0x00<content>. El nuevo asistente privadoRedundantContentFor(contentIndex)refleja la convención enviada (vacío→0xFFFF, lleno→0x00NN).FromExisting/Clonetodavía copiaRedundantContenttextalmente → el viaje de ida y vuelta sin edición permanece idéntico en bytes (intacto, re probado por la puerta). Nueva afirmación en--spheregrid-edit-rt0(sintético + las 3 cuadrículas del corpus):SetNodeContent(idx, 0xFF)→ el diseño escribe0xFFFFen el nodo+0x06 + byte de contenido0xFF+ re-lee vacío. Riesgo de juego bajo (campo redundante; el juego lee contenido dedat09/10/11+ listas de alcance - IDA-probado por AURON en ambos binarios), pero es una divergencia de fidelidad en un escritor ya enviado. (B) PulidoAiBibleWhereAppears.For(solo lectura): se agregó el casoaeon-growth(un dominio Atlas cerrado env2.64.0que estaba cayendo en el respaldo vacío) con texto honesto "dónde aparece/mapeo";sphere-grid-nodeactualizado (estaba obsoleto: "Unknown6 permanece sin procesar/desconocido") para reflejar el desgaste de AURON:Node.Unknown6es juego inerte (IDA probado en ambos binarios), el posible residual = diseño de menú/visual (solo metadatos), sin semántica de juego inventada. (corrige un error de fidelidad latente en un escritor ya enviado - "un consumidor se beneficiaría" → sí, fidelidad de bytes - además de pulido de texto de solo lectura; duda de desempate →PARCHE). No se ha tocado ningún escritor nuevo, ningún UI nuevo, ningún cambio de proveedor/recuento de puerta (--spiraatlas-rt0intacto), ningún motorCommon(ANIMA), tiempo de ejecución/AURORA/VALEFOR/nativo-menú/SIN, CHAPPU/guardar o topología de rojo REAL (crear/mover/volver a vincular el nodo permanece como una frontera). Construya 0 errores/361 advertencias;--spheregrid-edit-rt0+--spheregrid-layout-rt0+--spiraatlas-rt0+--aicmdmeta-rt0PASS. Documento:docs/ai/ATLAS_BARTHELLO_POLISH_RESULT_2026-06-10.md
v2.65.1
v2.65.3BETAPATCH
Seymour
SEYMOUR auditoría: las 124 ATEL `unknown-call-shape` filas del Atlas resueltas en clases honestas (de solo lectura, byte-probado)
- ATEL Llamada-Shape Auditoría (pre-SIN). El
124campo-escribe el pase semántico v8 no se pudo clasificar (field-write-unknown-call-shape) fueron auditados en el nivel de código de bytes en todo el corpus (destino/texto de FFXDataParser, 346 scripts) y se descompusieron completamente en DOS clases probadas, 0 restantes. (1)0x70A8 btlSetMotionData— 116 filas (100%): forma uniformePUSHII actor · PUSHII field · (PUSHII|PUSHF) value · CALLPOPA=(actor, field, value)en el espacio de nombres motionProperty (campos0x00..0x09, todos nombrados enAiMotionPropertyNames); el actor es un REAL ref (113× Sí mismo0xFFF3+ Monster#01/#02/#030x15/16/17h), a través de 25 monstruos → claseset-motion-data-actor-field-value(el explícito-actor hermano de0x70B2 setMotionField; NOsetStatField). (2)0x7032 setActorFacingAngle— 8 filas: NO una escritura de campo: es(actor, angle), una llamada de 2 pulsaciones sin campo-id; se filtraron en el catálogo de campos como una expresión normal falso-positive (solo los ángulos FLOAT representan.facingAngle = 90.0 [42B40000h]y la expresión normal v7 coincidió con el.0 [hex]del decimal; el 63 integer-angle los sitios hermanos= 90 [5Ah]no se filtraron) → clasenot-field-write. Cambios: el puentetools/ffxdataparser_bridge/build_atel_semantic_catalog.ps1(Get-FieldWriteSemanticKind+ notas de riesgo) reclasifica ambos llamada-identificadores; v8 se regenera con0desconocido (116+8 en las nuevas clases); el recuento deAtelFieldWriteShapepermanece202(la nueva etiqueta conserva la cardinalidad de la clavecallId|fieldHex|fieldName|semanticKind|fieldCategory, probada antes/después); el paseunknown-healthcae199 → 75(el 124 ATEL sale del depósito "bloqueado-until-audited"); las narrativasSpiraDataAtlasCatalog(atlas:field-call-shapes+ barandilla +atlas:unknown-health) están actualizadas; el--spiraatlas-rt0afirma el movimiento (detail entries 21316→21192,Unknown health rows 199→75) + 2 nuevos lock-afirma (0permanecen desconocidos llamada-shapes +0x70A8motion-datos presente). Honestidad: clasificar ≠ autorizar a un escritor: cadaAtelFieldWriteShapepermanece enread-only;not-writer-authority,70A8todavía no tiene botón/escritura, nada se promociona a SIN. De solo lectura hallazgo de fidelidad: el decodificador EDITOR (AiScript_File.cs) no brilla70A8(ausente enFieldArgBack/FieldNameForFunc) yAiStackModelcarece de aridad → un espacio de visualización entregado al carril MAGIC (docs/ai/HANDOFF_SEYMOUR_ATEL_DECODER_GLOSS_GAP_2026-06-10.md), sin efecto de juego. PARCHE (refina/clasifica un catálogo de solo lectura existente, resuelve un SIN datos-bloqueador; precedentev2.61.3/v2.62.1; tie-breaker duda→PARCHE). Ningún escritor nuevo; no toca el tiempo de ejecución/AURORA/VALEFOR/nativo-menú/SIN-cadena-constructor/CHAPPU/guardar. Verificado por un flujo de trabajo adversario (3 refutadores + crítico de integridad). Construya 0 errores/361 advertencias;--spiraatlas-rt0+--aicmdmeta-rt0+AiScriptLab --ai2(346/346) PASS. Documento:docs/ai/ATLAS_SEYMOUR_ATEL_CALL_SHAPE_AUDIT_RESULT_2026-06-10.md
v2.65.2