Select the types of activity you want to include in your feed.
refactor(chat): update sol identity copy
Chat copy: owner-facing voice canon, retiring surveillance register and incorrect acting subjects in favor of sol taking in and keeping experience in the owner's journal.
···6767# but not yet analyzed"). Backend-only — no chat_copy.js twin. Substance locked
6868# (wording VPX-refinable). Copy-canon compliant: no surveillance verbs.
6969CHAT_DEFERRED_NOT_ANALYZED = "Today's segments aren't analyzed yet — they'll process during your deferred window."
7070-CHAT_THINKING_ENGINE_NOT_CHOSEN = "No thinking engine is chosen yet. Choose one in Thinking so I can answer from your observations."
7070+CHAT_THINKING_ENGINE_NOT_CHOSEN = "no thinking engine is chosen yet. choose one in thinking so i can answer from your journal."
7171# fmt: on
72727373from typing import Literal
···171171 return [event for event in read_chat_events(day) if event["kind"] == kind]
172172173173174174+def test_thinking_engine_not_chosen_copy_is_pinned_byte_for_byte():
175175+ assert (
176176+ CHAT_THINKING_ENGINE_NOT_CHOSEN
177177+ == "no thinking engine is chosen yet. choose one in thinking so i can "
178178+ "answer from your journal."
179179+ )
180180+181181+174182def test_compose_honest_degradation_fires_for_deferred_today_pending():
175183 import solstone.convey.chat as chat
176184