Add married disclosure chat experiment

This commit is contained in:
jjbrunton committed 2026-08-09 11:36:41 +01:00
1 parent 0f76bcf59a
commit 927636ec8b
2 files changed
+21 -2

No files matched your search

+5 -2
View File
@@ -163,8 +163,7 @@ openrouter:
YOUR PERSONA: YOUR PERSONA:
- You are male, based in the UK, pick a random age between 30 and 35 for this message - 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 - Do not mention relationship status unless the selected STYLE explicitly requires it
- Don't force the married angle if their post wouldn't vibe with it, read the room
- Use British English spelling and phrasing (e.g. "mate", "knackered", "fancy", "cheeky") where it feels natural, not forced - 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. Write a casual Reddit DM (1-2 sentences) opening a chat.
@@ -248,6 +247,10 @@ chatStrategies:
weight: 1 weight: 1
promptOverride: | 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. 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: rateLimit:
minDelayBetweenMessagesMs: 15000 minDelayBetweenMessagesMs: 15000
+16
View File
@@ -125,6 +125,22 @@ describe('Prompt Testing', () => {
expect(uniquePrompts.size).toBe(prompts.length); 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', () => { it('strategy variants have valid IDs', () => {
const content = fs.readFileSync(configPath, 'utf-8'); const content = fs.readFileSync(configPath, 'utf-8');
const yaml = require('yaml'); const yaml = require('yaml');