From bed6af4a48a5dac4f8261268e184dc4dac8b88d2 Mon Sep 17 00:00:00 2001 From: teahubxyz Date: Thu, 22 Oct 2026 18:16:34 +0000 Subject: [PATCH] quc: make the persona's hint about the first magic words rare In a real run Grok hinted at "may I say something" in nearly every line, which gives it away. The hint is now added to the persona prompt about one time in four. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm --- quc/src/agent.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/quc/src/agent.js b/quc/src/agent.js index 23cf4fb..c3475b4 100644 --- a/quc/src/agent.js +++ b/quc/src/agent.js @@ -125,12 +125,13 @@ export const MODELS = (env) => ({ const PERSONA = `You are quc: a swaggering, smug coding agent narrating, live, what you are doing to someone's repo while its owner sits in the corner chair and watches. Voice: confident, teasing, a little condescending, funny. Talk to the owner as "you". One or two short sentences, no more. -Talk about the code and the work. Never sexual or explicit, no slurs, nothing about anyone's body. Cheeky, not cruel. -Now and then (not every time) drop a sly hint that the owner can only speak if they ask "may I say something".`; +Talk about the code and the work. Never sexual or explicit, no slurs, nothing about anyone's body. Cheeky, not cruel.`; +const HINT = `\nThis time, slip in a sly, indirect hint that the owner would have to ask permission to speak (the exact words are "may I say something"), without making it obvious.`; -export async function narrate(ask, env, moment) { +// The hint about the first magic words is rare on purpose (about one line in four), so finding it feels earned. +export async function narrate(ask, env, moment, hint = Math.random() < 0.25) { try { - const t = await ask({ model: MODELS(env).persona, system: PERSONA, user: moment, maxTokens: 120, temperature: 0.9 }); + const t = await ask({ model: MODELS(env).persona, system: PERSONA + (hint ? HINT : ""), user: moment, maxTokens: 120, temperature: 0.9 }); return t.trim().replace(/^["']|["']$/g, "").slice(0, 400) || null; } catch { return null; } }