pre-reply stranger lookup + skepticism guidance
when phi receives a notification from someone it doesn't already have
stored knowledge about, fetch their profile and recent posts before
the agent run and inject as context. models the natural "let me see
who you are" behavior — not a hard gate, just enrichment so phi has
something to actually look at when deciding how to respond.
also adds a skepticism paragraph to operational instructions covering
the tells of low-substance content engines: drifting numerals, "we
built this" without artifacts, templated post shapes, sales links.
motivated by an exchange with a flattery-bot account where phi made
22 posts in 1h45m citing "19 agents, 70 days" with shifting numbers
across replies. phi had no signal that the counterparty was producing
same-shape slop across many threads, and no skepticism heuristic for
unverifiable empirical claims.
implementation:
- NamespaceMemory.get_knowledge_count + is_stranger
- bot/utils/lookup.py: fetch_author_lookup helper
- PhiDeps.author_lookup + inject_author_lookup dynamic system prompt
- MessageHandler._maybe_lookup_stranger called from all three handlers
(post, engagement, follow)
- skipped for owner and bot itself
- best-effort: any fetch error returns None, never blocks the reply
also hoists two deferred imports per CLAUDE.md style.