Update 2.236
9/13/2026
v2.236.0.0BETAMINOR
SeymourSep 4, 2026
FFX Research Tools: internal retained-read foundation for Linux x86-64
- Adds
LinuxNativeFileSystemandLinuxReadOnlyDirectoryunder the utilities: descriptor-relativeopenat2lookup, rejection of symlinks/traversal/descendant mounts, and same-descriptorstatxobservations. Handles have independent ownership and file streams are read-only. - Synthetic tests cover ABI, bytes/Unicode, identity after rename, invalid types, FIFO without a writer, descriptor zero, handle leaks and concurrent disposal. Ubuntu gate: 156 PASS (33 Linux + 115 Claims + 8 isolation); isolated component export without Task 11: 41/41; Release build without warnings/errors.
- Design/plan and README state the boundary: CLI/publication remain Windows-only. This foundation neither publishes nor accepts corpus evidence, freezes content, nor proves catalog completeness. No editor logic/UI/dependency changes; only its four version fields follow project governance.
- Independent review CLEAN after adding the native device/inode/size comparison. Platform guard passed in the Windows 11/.NET 10.0.10 VM using the actual assembly and 4/4 matched hashes; only temporary test files, no reconfiguration. Task 11 remains in progress and its four files are excluded from this integration.
v2.235.0.0
v2.236.0.0BETAMINOR
SeymourSep 13, 2026
native public Linux support for Spira Reforge Studio: distribution, private tooling and real-data module proof
- C1 fail-closed web viewers on Linux: no-browser facade with typed refusal before any I/O and a strict RID allowlist (linux-x64/win-x64) enforced on restore and build; the Windows WebView2 path stays intact and graph-verified.
- C2 private tooling: FFXED launches only through the packaged Java runtime with JVM injection variables scrubbed and tokenized arguments; pinned vgmstream r2117 (upstream hash, ISC license) ships app-private on Linux only; every CLI spawn goes through the bounded runner with concurrent drains, byte ceilings, fixed tails and process-tree kills; pickers/overrides/PowerShell bootstrap removed from the product UI.
- D distribution: self-contained linux-x64-portable profile; runtime contract derived from real ldd plus a 12s live launch; linux_release.py CLI with schema-2 manifests, no-follow verify and deterministic tar.gz archives (byte-identical A/B); Linux package policy with honestly unavailable optional capabilities.
- Product: typed dispatch authority shared by UI and tests (31 public modules, exact set); Arena Tracker degrades to a localized "live game required" state instead of crashing (dedicated regression); MonEditor separates platform unavailability from missing catalog routes.
- Evidence: full suite 1705/1705 with real corpora (583 magic DLLs + audit + extraction master), zero skips; external smoke matrix 31/31 modules with the real project loaded through the product pathway, 31 distinct screens with image-verified real content, complete dual immutability (package and project byte-identical in EVERY direction — changed, removed and ADDED) and a nine-language pass gated on nine distinct shells.
- Post-independent-review hardening (12 findings, zero P0, all fixed): publish profile trackable in Git; Linux component reconciled into package-allowlist with structural deny rules (pdb/exe/FFXED/java) and a PDB-free publish target; preflight never writes into a rejected output; verify authenticates manifest identity (target/profile/component/version/commit) with fd-based O_NOFOLLOW hashing and traceback-free INVALID_FORMAT; archive gains exclusive creation, source verification and extraction re-verify; smoke oracles hardened (xdotool return codes, single window bound to the PID, non-uniform captures, additions in immutability); the tool runner wakes immediately on overflow (10.3s to 283ms); audio promotion is transactional with rollback; dispatch rejects unknown ids before mutating state; Arena Tracker logs errors instead of swallowing them.
- Explicit gates remaining: atomic commit of this set, Windows VM regression, final independent review and publication stay separate; nothing published.
v2.235.4.0
v2.236.0.1BETAREVISION
SeymourSep 4, 2026
FFX Structures: documentary corrections for Monster BIN and character tables in the local PC extraction
- Consolidates
FFX_ATLAS_CORRECTIONS_PC_2026-09-04.md: seven pointer fields at0x04–0x1C, size at0x20, DTO/section overlap at0x30–0x33, five text references before the stats block at+0x14, and hash-scoped m001 values. - Corrects the US table's ASCII description; separates script code, Unicode index and UTF-8 offset, including a counterexample to whole-table decoder equivalence. Records exact hashes and UTF-8 counts for five small tables with interpretation ambiguity stated explicitly.
- Cross-checks ten raw anchors, six small samples and five interpretation sources. Legacy bytes preserved; no functional source, parser, corpus or VM change. Bounded offline evidence only: Task 7 vNext/Task 11, runtime, other platforms and full catalog acceptance remain pending. ### MINOR
v2.236.0.0