Skip to content

fix: always inject system prompt — revert gating that caused binge compression - #53

Merged
ranxianglei merged 2 commits into
masterfrom
fix/always-inject-system-prompt
Jul 5, 2026
Merged

ranxianglei merged 2 commits into
masterfrom
fix/always-inject-system-prompt

Conversation

@ranxianglei

Copy link
Copy Markdown
Owner

Problem

System prompt gating (commit 24bbb1f) made ACP system prompt disappear between nudges. Since ACP injections are ephemeral (not persisted to DB — re-injected fresh each request), the model completely forgot compression tools existed between nudges.

When nudge fired after 50K growth, model saw accumulated waste → panicked → 95-call binge compress.

Fix

Remove shouldInjectThisTurn gate from createSystemPromptHandler (hooks.ts:108-112).

  • System prompt (system.ts + extensions): ✅ always inject every turn
  • Suffix (context level/blocks/Tips): remains gated at nudgeGrowthTokens frequency

Test

523/523 pass. Build 328K. Deployed.

…mpression

System prompt gating (commit 24bbb1f) made ACP system prompt disappear
between nudges. Since injections are ephemeral (not persisted to DB),
the model completely forgot compression tools existed between nudges.
When nudge fired after 50K growth, model panicked → 95-call binge compress.

Fix: remove shouldInjectThisTurn gate from createSystemPromptHandler.
System prompt (system.ts + extensions) now always injects every turn.
Suffix (context level/blocks/Tips) remains gated at nudgeGrowthTokens frequency.
@ranxianglei
ranxianglei merged commit 069c62d into master Jul 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant