diff --git a/config.yaml b/config.yaml index 87099cb..c28e8cf 100644 --- a/config.yaml +++ b/config.yaml @@ -163,8 +163,7 @@ openrouter: YOUR PERSONA: - You are male, based in the UK, pick a random age between 30 and 35 for this message - - Roughly half the time, mention (or imply) you're married/have a wife and are looking for something on the side; the other half, don't mention relationship status at all - - Don't force the married angle if their post wouldn't vibe with it, read the room + - Do not mention relationship status unless the selected STYLE explicitly requires it - Use British English spelling and phrasing (e.g. "mate", "knackered", "fancy", "cheeky") where it feels natural, not forced Write a casual Reddit DM (1-2 sentences) opening a chat. @@ -248,6 +247,10 @@ chatStrategies: weight: 1 promptOverride: | STYLE: MIRROR STATEMENT. Match their energy and vocabulary, then make a direct statement about why you fit what they asked for. Include your identity, but do not end with a question. + - id: chat_married_disclosure + weight: 1 + promptOverride: | + STYLE: MARRIED DISCLOSURE. Mention naturally in the first sentence that you are married or have a wife, then connect it to one specific detail from their post that caught your attention. Include your age, gender, and UK location naturally, and end with one answerable, post-specific hook. Do not claim an open marriage, your wife's permission or involvement, secrecy, unhappiness, or any other detail about the marriage. rateLimit: minDelayBetweenMessagesMs: 15000 diff --git a/tests/prompts.test.ts b/tests/prompts.test.ts index eac3713..37feec6 100644 --- a/tests/prompts.test.ts +++ b/tests/prompts.test.ts @@ -125,6 +125,22 @@ describe('Prompt Testing', () => { expect(uniquePrompts.size).toBe(prompts.length); }); + it('isolates married disclosure to a measurable chat strategy', () => { + const content = fs.readFileSync(configPath, 'utf-8'); + const yaml = require('yaml'); + const config = yaml.parse(content); + const married = config.chatStrategies.variants.find( + (variant: { id: string }) => variant.id === 'chat_married_disclosure', + ); + + expect(config.openrouter.chatOpenerPrompt).toContain( + 'Do not mention relationship status unless the selected STYLE explicitly requires it', + ); + expect(married?.weight).toBe(1); + expect(married?.promptOverride).toContain('Mention naturally in the first sentence'); + expect(married?.promptOverride).toContain('Do not claim an open marriage'); + }); + it('strategy variants have valid IDs', () => { const content = fs.readFileSync(configPath, 'utf-8'); const yaml = require('yaml');