- Empty sopPath now falls back to the mode's bundled SOP (master switch
useBuiltinSops, default on); a filled path always wins, and a broken
path falls back to built-in instead of dropping the analysis block.
- Settings: Analysis SOPs section with per-row state line (built-in /
custom / off) and a Customize button that forks the built-in into
<base>/SOPs and points the path at the copy. Install-all button removed.
- sopPath accepts vault-relative paths (readFileSync resolves them).
- Bundled SOP files carry no personal vault frontmatter (regression test).
- All strings bilingual (en + zh).