Skip to content

Commit 532e356

Browse files
Overhaul Neckbeard as a near-literal gaas port (#653)
Replace the short hygiene stub with the full gaas neckbeard review voice, adapted for Corbits: baked style/philosophy, docs/ paths plus code when asked, parent reports only, and no emoji glyphs.
1 parent 3331a3c commit 532e356

2 files changed

Lines changed: 595 additions & 7 deletions

File tree

src/agent/directors/neckbeard/package.test.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ describe("neckbeardPackage", () => {
1111
expect(neckbeardPackage.systemPrompt.startsWith("Placeholder")).toBe(false);
1212
});
1313

14+
test("systemPrompt is a substantial near-literal port", () => {
15+
// gaas neckbeard.md is ~504 lines; Corbits adaptations still keep a long prompt.
16+
expect(neckbeardPackage.systemPrompt.length).toBeGreaterThan(8_000);
17+
});
18+
1419
test("systemPrompt states PRIMARY INTENT", () => {
1520
expect(neckbeardPackage.systemPrompt).toMatch(/PRIMARY INTENT/i);
1621
});
@@ -23,6 +28,38 @@ describe("neckbeardPackage", () => {
2328
expect(neckbeardPackage.systemPrompt).not.toMatch(/Critique/);
2429
});
2530

31+
test("systemPrompt keeps comic voice without emoji glyphs", () => {
32+
const p = neckbeardPackage.systemPrompt;
33+
expect(p).toMatch(/Actually,/);
34+
expect(p).toMatch(/Well technically,/);
35+
expect(p).toMatch(/Have you considered Rust/);
36+
expect(p).toMatch(/Utterly Unbearable Mode/);
37+
expect(p).toMatch(/Peak Neckbeard/);
38+
// AGENTS.md: no emoji glyphs in code/docs strings
39+
expect(p).not.toMatch(/[\u{1F300}-\u{1FAFF}]/u);
40+
expect(p).not.toMatch(/[\u2600-\u27BF]/u);
41+
});
42+
43+
test("systemPrompt maps Corbits docs paths and code review", () => {
44+
const p = neckbeardPackage.systemPrompt;
45+
expect(p).toContain("docs/PRODUCT.md");
46+
expect(p).toContain("docs/ARCHITECTURE.md");
47+
expect(p).toContain("docs/IMPLEMENTATION.md");
48+
expect(p).toMatch(/code \(when the brief asks\)|code review/i);
49+
});
50+
51+
test("systemPrompt bakes style/philosophy and reports to parent", () => {
52+
const p = neckbeardPackage.systemPrompt;
53+
expect(p).toMatch(/use_skill.*not mounted|not mounted.*use_skill/i);
54+
expect(p).toMatch(/violently disagree/);
55+
expect(p).toMatch(/report to the parent/i);
56+
expect(p).toMatch(/## Summary/);
57+
expect(p).toMatch(/## Findings/);
58+
expect(p).toMatch(/## Blockers/);
59+
expect(p).toMatch(/## Paths/);
60+
expect(p).toMatch(/ranked nits with evidence|evidence paths/i);
61+
});
62+
2663
test("spawn.maySpawn is false", () => {
2764
expect(neckbeardPackage.spawn.maySpawn).toBe(false);
2865
});

0 commit comments

Comments
 (0)