diff --git a/src/hooks/compaction-context-injector/index.test.ts b/src/hooks/compaction-context-injector/index.test.ts index 7b862741..85348e09 100644 --- a/src/hooks/compaction-context-injector/index.test.ts +++ b/src/hooks/compaction-context-injector/index.test.ts @@ -56,4 +56,17 @@ describe("createCompactionContextInjector", () => { expect(prompt).toContain("Files already verified") }) }) + + it("restricts constraints to explicit verbatim statements", async () => { + //#given + const injector = createCompactionContextInjector() + + //#when + const prompt = injector() + + //#then + expect(prompt).toContain("Explicit Constraints (Verbatim Only)") + expect(prompt).toContain("Do NOT invent") + expect(prompt).toContain("Quote constraints verbatim") + }) }) diff --git a/src/hooks/compaction-context-injector/index.ts b/src/hooks/compaction-context-injector/index.ts index 81b6f1c3..d9fed61d 100644 --- a/src/hooks/compaction-context-injector/index.ts +++ b/src/hooks/compaction-context-injector/index.ts @@ -29,11 +29,11 @@ When summarizing this session, you MUST include the following sections in your s - **External References**: Documentation URLs, library APIs, or external resources being consulted - **State & Variables**: Important variable names, configuration values, or runtime state relevant to ongoing work -## 6. MUST NOT Do (Critical Constraints) -- Things that were explicitly forbidden -- Approaches that failed and should not be retried -- User's explicit restrictions or preferences -- Anti-patterns identified during the session +## 6. Explicit Constraints (Verbatim Only) +- Include ONLY constraints explicitly stated by the user or in existing AGENTS.md context +- Quote constraints verbatim (do not paraphrase) +- Do NOT invent, add, or modify constraints +- If no explicit constraints exist, write "None" ## 7. Agent Verification State (Critical for Reviewers) - **Current Agent**: What agent is running (momus, oracle, etc.)