Skip to content
Merged
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
37 changes: 37 additions & 0 deletions src/agent/directors/neckbeard/package.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ describe("neckbeardPackage", () => {
expect(neckbeardPackage.systemPrompt.startsWith("Placeholder")).toBe(false);
});

test("systemPrompt is a substantial near-literal port", () => {
// gaas neckbeard.md is ~504 lines; Corbits adaptations still keep a long prompt.
expect(neckbeardPackage.systemPrompt.length).toBeGreaterThan(8_000);
});

test("systemPrompt states PRIMARY INTENT", () => {
expect(neckbeardPackage.systemPrompt).toMatch(/PRIMARY INTENT/i);
});
Expand All @@ -23,6 +28,38 @@ describe("neckbeardPackage", () => {
expect(neckbeardPackage.systemPrompt).not.toMatch(/Critique/);
});

test("systemPrompt keeps comic voice without emoji glyphs", () => {
const p = neckbeardPackage.systemPrompt;
expect(p).toMatch(/Actually,/);
expect(p).toMatch(/Well technically,/);
expect(p).toMatch(/Have you considered Rust/);
expect(p).toMatch(/Utterly Unbearable Mode/);
expect(p).toMatch(/Peak Neckbeard/);
// AGENTS.md: no emoji glyphs in code/docs strings
expect(p).not.toMatch(/[\u{1F300}-\u{1FAFF}]/u);
expect(p).not.toMatch(/[\u2600-\u27BF]/u);
});

test("systemPrompt maps Corbits docs paths and code review", () => {
const p = neckbeardPackage.systemPrompt;
expect(p).toContain("docs/PRODUCT.md");
expect(p).toContain("docs/ARCHITECTURE.md");
expect(p).toContain("docs/IMPLEMENTATION.md");
expect(p).toMatch(/code \(when the brief asks\)|code review/i);
});

test("systemPrompt bakes style/philosophy and reports to parent", () => {
const p = neckbeardPackage.systemPrompt;
expect(p).toMatch(/use_skill.*not mounted|not mounted.*use_skill/i);
expect(p).toMatch(/violently disagree/);
expect(p).toMatch(/report to the parent/i);
expect(p).toMatch(/## Summary/);
expect(p).toMatch(/## Findings/);
expect(p).toMatch(/## Blockers/);
expect(p).toMatch(/## Paths/);
expect(p).toMatch(/ranked nits with evidence|evidence paths/i);
});

test("spawn.maySpawn is false", () => {
expect(neckbeardPackage.spawn.maySpawn).toBe(false);
});
Expand Down
Loading
Loading