Files
Mohammed Abuhassan d46656d8f1 docs(rules): rewrite schema reference to match the loader grammar
The original schema doc drifted from the implementation. It used
key names the loader has never accepted (`op_index`, `reg_class`,
`imm_equals`) and omitted constraints rule authors actually need
(`flags_value_differs_in`, the raw-pair `from`/`to` form, weight,
size_delta).

This rewrite:
  * Aligns every example with the real keys the loader parses:
    `op`, `class`, `imm`, `register_blacklist`, `same_register`.
  * Documents flag handling end-to-end: how `flags_effect` interacts
    with the EFLAGS liveness pass, when to use
    `equivalent_if_dead`, and the exact bit names accepted by
    `flags_value_differs_in`.
  * Documents the targeted raw-byte pack form (`raw: { from, to }`)
    used by Sliver / Havoc / Meterpreter / UPX style packs.
  * Adds a "Not yet supported" subsection enumerating grammar
    extensions the loader does not yet implement (per-operand
    imm_min/imm_max, size_bits override on copy_from) so authors
    don't try them and silently get a no-op rule.

No code change.
2026-06-06 13:52:19 +03:00
..