fix(memory-core): reject nudge hints that address the agent
A recalled note is reference material: the header says so and the persona now
asks for observations about what the note records, but nothing at the boundary
enforced it, and 54% of delivered hints were phrased as instructions (#8355).
describeInvalidHint is the full admission contract and names the reason:
"addresses-agent" for a hint carrying the second person (you/your/yours/
yourself), opening with an imperative or negated imperative (do not, don't,
never, always, make sure, ensure, verify, check, run, use, read, stop, avoid,
remember, keep, prefer, skip, consider) or ending in a Korean request form
(...하세요/하십시오/마세요/마십시오/해 주세요/하라/해라/합니다/하십시요, a trailing ...지 마(라), or 하지 마),
next to the shape reasons empty, too-long, multiline and decision-commentary.
Only the OPENING is scanned for imperative verbs, so an observation quoting a
rule mid-sentence ("the release note records that publish must follow the
green-main guard") and Korean plain-form endings (...한다 / ...이다) stay valid.
validateNudges now drops a hint the full contract refuses.
isValidHint keeps its shape-only meaning on purpose: it is the replay predicate
behind parseNudge and omo-senpi's stored-entry renderers, and a nudge accepted
before this contract existed must keep rendering and keep being delivered. Y
YeonGyu-Kim committed
eab95b5fcb0bab7806782b6681d360e5abfecca8
Parent: cd37760