This page explains what kind of output you should expect from Fission at a conceptual level: how lifted semantics flow through normalization and structuring into rendered pseudocode.
It does not restate full IR definitions—those belong in the architecture documentation.
At a high level:
--json on the CLI).Think of CLI pseudocode as the surface projection of deeper IR stages—not every IR detail appears verbatim in text output.
decomp: Optimized for reading; omits internal bookkeeping by default.decomp --json: Carries machine-readable fields suitable for tooling; exact schema and evolution live in docs/CLI.md and implementation contracts—do not rely on undocumented JSON keys across releases without checking changelog notes.Rendered identifiers may combine recovered symbols, synthetic labels, and type hints inferred from analysis passes. Precision varies by binary richness (DWARF/PDB exports vs stripped binaries).
When comparing across tools, align on address-level identity first (list, disasm), then compare structured shape—not only Pretty-printed spelling.
Outputs that feed snapshots, automation lanes (nir-check), or benchmarks are designed to be deterministic under fixed toolchain + corpus inputs. If you observe drift, capture inputs (binary hash, CLI version, flags) before concluding a semantic regression—see Performance triage.