451c21a5b6
The review made every name a JSON string with `<`, `>`, and `&` escaped. The hazards behind that are real and each is now covered: a control character splits one entry across lines, `</` closes the envelope, and a regular file named `x@` reads as a socket named `x` under the non-regular marker. Quote those, and only those. `list` is the tool an agent reaches for first and its output sits in every transcript, so `"archive"/` on every ordinary line is a permanent cost for a case that almost never occurs. A name is now emitted verbatim unless it matches a control character, a leading quote, a backslash, `</`, or a trailing `@`, and is otherwise a JSON string with `</` neutralized — the delimiter treatment `dsh-workspace-context` already applies to instruction text, extended to an interpolated path as its `instruction-frame-paths` TODO asks.
7 lines
429 B
YAML
7 lines
429 B
YAML
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
# after editing either side, bring the other along and re-record with:
|
|
# pnpm run verify-translation-pairing --write packages/fs/tool-fs/README.md
|
|
README.md: 8fdd54fb36353ca6c1dbcf71cdad38c4bcf26b7d
|
|
README.zh.md: 567c8e0df58950369c59785859948e32cbccdef4
|