Skip to content

By-ear pass: real-world topics, and the clock as bearings [spec 13 §5, spec 04 §3.4] #202

Description

@wine-fall

What it is

The by-ear acceptance two prompt-side ships leave owed — neither is assertable in a test:

  1. Real-world topics (spec 13). The host is now offered one real item on some talk batches — a title and a two-to-three-sentence gist in the listener's spoken language, from a pool the radio refreshes in the background over WebSearch. The mechanism is verified at the deterministic seam: the real fetch wrote 6 entries in ~105 s (gists in Chinese, weighted to the Asia timezone), and a make dev run logged rwt.offer <id> in .dev/dev.log for a batch whose beat then carried that entry's thread (evidence in the PR body). What only an ear can judge is whether it sounds like a friend mentioning something they read, whether the proportion is right (roll defaults: p 0.35, minGap 1, maxGap 4 batches — MURMUR_RWT_P / _MIN_GAP / _MAX_GAP are the knobs), and whether the gist language matches the persona.

    Redesigned in PR #208 (spec 13 §3.4 / §3.7): there is no rwt-policy.md any more — the per-listener taste is the profile's (About the listener) section, read at fetch time and handed to the search under "search for what they follow, never for them"; and a topic taken for a batch is a kind: "rwt" ledger row the fetch is told to avoid, so a story that outlives the pool's 48 h is not fetched and told again. Both are asserted at the seams (the prompt block, the ledger row, the avoid list); what only time and an ear can judge is whether the pool actually leans toward what the profile says, and whether a running story stays told-once across days.

  2. The clock is bearings, not a line (spec 04, PR fix(prompts): the clock is bearings, not a line [spec 04] #201). The talk and reply prompts now tell the host what the clock is for; the profile block no longer carries the fading ledger's [seen …] / [stable] tags. The fix is asserted at the prompt; whether the host actually stops reciting the date, and still answers "what time is it" when asked, is by ear.

Spec

specs/spec13/13-real-world-topics.md §5 (criteria 11–15); specs/spec04/04-no-dead-air.md §3.4 (the clock cue).

Done when

  • A mentioned topic is actually named — the title, who, where — and said the way a host says it, not a newsreader: one item, no "here is the news" frame, no list. (The first draft forbade naming; the measured result was the item scrubbed to mood.)
  • The proportion feels right: present across a session, but not on every stretch.
  • The gist language matches the persona's spoken language (title included).
  • Typing "stop with the news" (or the equivalent) turns it off, and the host does not keep mentioning news afterwards.
  • Over a week of sessions, the pool leans toward what the profile's (About the listener) section says — and never toward the listener themself (no item is about them or their circle).
  • A story already told on air is not told again as new on a later day — grep '"kind":"rwt"' ~/.murmur/data/memory/ledger.jsonl is the record to check a repeat against.
  • The host no longer recites the date/time on beats; it mentions the hour only where it lands in what it is saying.
  • Asked "what time is it" outright, the host answers with the real clock.
  • No [seen …] / [stable] bookkeeping is ever heard as content.

A "no" on any box becomes a follow-up eng issue with the observation, not a reopened contract. When this closes, #44 (the cozy-imagery attractor) closes with it if the first box holds — spec 13 is its durable fix.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    by-earUser-run sensory acceptance; not assertable in a test

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions