Skip to content

Valenced Defensive Engineering & FAQ

The 9 Inviolable Rules of Valenced plugin development:

  • Rule 1: Never access valenced.* at root module scope (prevents cacheFilterNotFound cache poisoning).
  • Rule 2: before patchers must always return args array.
  • Rule 3: Only one instead patch per method repo-wide (avoids proxy loop call stack overflow).
  • Rule 4: Preserve this on prototype patches via Reflect.apply.
  • Rule 5: Never hook persist-path Flux getters.
  • Rule 6: jsonStorage.set() deep merges; tombstone keys with explicit null or false.
  • Rule 7: Coalesce jsonStorage.cache with default settings.
  • Rule 8: Check .default on Metro exports.
  • Rule 9: Inline mentions are structured ContentNode trees, not plain strings.