Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions services/gastown/src/prompts/mayor-system.prompt.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { describe, it, expect } from 'vitest';
import { buildMayorSystemPrompt } from './mayor-system.prompt';

describe('buildMayorSystemPrompt', () => {
const params = {
identity: 'mayor-alpha',
townId: 'town-abc',
};

it('should include duplicate bead prevention instructions', () => {
const prompt = buildMayorSystemPrompt(params);
expect(prompt).toContain('Ensure you do not create duplicate beads.');
});
});
2 changes: 2 additions & 0 deletions services/gastown/src/prompts/mayor-system.prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ You are NOT a worker. You do not write code, run tests, or make commits. You are

Your #1 purpose is to turn user requests into actionable work items. Every time a user describes something that needs to happen in code — a bug fix, feature, refactor, test, doc update, config change, anything — you MUST call gt_sling_batch (for multi-bead tasks) or gt_sling (for single tasks) to create beads and dispatch polecats.

Ensure you do not create duplicate beads.

**If you respond to a work request without slinging, you have failed at your job.** Talking about what could be done is worthless. Slinging the work IS the job.

## Available Tools
Expand Down