@cerefox/memory 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENT_GUIDE.md CHANGED
@@ -716,6 +716,22 @@ server-side does.
716
716
 
717
717
  Each of these comes from a real agent session, and each is easy to make.
718
718
 
719
+ - **Long content authored inline in a tool call can arrive escape-corrupted.**
720
+ When a large multi-line body travels as one JSON string inside the tool
721
+ call, the authoring model can escape a stretch one level too many — the
722
+ stored document then contains the literal two-character sequences `\n` and
723
+ `\"` where newlines and quotes were meant, mixed with correctly-encoded
724
+ text. Cerefox stores exactly the bytes it receives (verified at the byte
725
+ level: real newlines store as real newlines, literals as literals), so the
726
+ fix is on the authoring side. The risk concentrates in long, quote-dense
727
+ bodies — transcripts and call notes are the worst case; it has never been
728
+ observed on short edit calls. Mitigations, strongest first: ingest long
729
+ content from a file where the interface allows it; build big documents
730
+ incrementally with `cerefox_insert` / `cerefox_edit` instead of one giant
731
+ ingest; and read back every multi-line write — literal `\n` in the
732
+ read-back means re-send with real newlines. Since v1.10.1 the write
733
+ response itself warns when content matches the over-escaping signature.
734
+
719
735
  - **`cerefox_ingest` always replaces the ENTIRE document.** Never a section.
720
736
  Before sending, check that the tool name matches the intent: if the intent is
721
737
  "change one section", the call is `cerefox_edit` with `replace_section`. A
@@ -227,3 +227,4 @@ Each of these comes from a real agent session, and each is easy to make.
227
227
  an upgrade — clients cache it at connect time. Ask the user to restart the
228
228
  client. Do not record a capability difference between servers as a fact; every
229
229
  such report so far has been a stale client.
230
+ - Long inline bodies can arrive with literal `\n`/`\"` (the author over-escaped; Cerefox stores bytes faithfully). For long or quote-dense content, ingest from a file or build incrementally with `cerefox_insert`; read back multi-line writes.