@kenkaiiii/ggcoder 4.15.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/dist/app-sidecar.js +193 -1
  2. package/dist/app-sidecar.js.map +1 -1
  3. package/dist/cli/command-routing.d.ts +1 -1
  4. package/dist/cli/command-routing.d.ts.map +1 -1
  5. package/dist/cli/command-routing.js +1 -3
  6. package/dist/cli/command-routing.js.map +1 -1
  7. package/dist/cli/command-routing.test.js +0 -1
  8. package/dist/cli/command-routing.test.js.map +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +1 -29
  11. package/dist/cli.js.map +1 -1
  12. package/dist/core/agent-session.d.ts +50 -1
  13. package/dist/core/agent-session.d.ts.map +1 -1
  14. package/dist/core/agent-session.js +120 -6
  15. package/dist/core/agent-session.js.map +1 -1
  16. package/dist/core/ideal-review.d.ts +12 -1
  17. package/dist/core/ideal-review.d.ts.map +1 -1
  18. package/dist/core/ideal-review.js +52 -2
  19. package/dist/core/ideal-review.js.map +1 -1
  20. package/dist/core/ideal-review.test.js +41 -1
  21. package/dist/core/ideal-review.test.js.map +1 -1
  22. package/dist/core/ken-context.d.ts +35 -0
  23. package/dist/core/ken-context.d.ts.map +1 -0
  24. package/dist/core/ken-context.js +121 -0
  25. package/dist/core/ken-context.js.map +1 -0
  26. package/dist/core/ken-context.test.d.ts +2 -0
  27. package/dist/core/ken-context.test.d.ts.map +1 -0
  28. package/dist/core/ken-context.test.js +118 -0
  29. package/dist/core/ken-context.test.js.map +1 -0
  30. package/dist/core/ken-prompt.d.ts +25 -0
  31. package/dist/core/ken-prompt.d.ts.map +1 -0
  32. package/dist/core/ken-prompt.js +186 -0
  33. package/dist/core/ken-prompt.js.map +1 -0
  34. package/dist/core/session-manager.d.ts +18 -0
  35. package/dist/core/session-manager.d.ts.map +1 -1
  36. package/dist/core/session-manager.js +29 -0
  37. package/dist/core/session-manager.js.map +1 -1
  38. package/dist/core/session-manager.test.js +63 -1
  39. package/dist/core/session-manager.test.js.map +1 -1
  40. package/dist/system-prompt.d.ts +1 -0
  41. package/dist/system-prompt.d.ts.map +1 -1
  42. package/dist/system-prompt.js +1 -1
  43. package/dist/system-prompt.js.map +1 -1
  44. package/dist/ui/App.d.ts +3 -7
  45. package/dist/ui/App.d.ts.map +1 -1
  46. package/dist/ui/App.js +17 -105
  47. package/dist/ui/App.js.map +1 -1
  48. package/dist/ui/components/ActivityIndicator.d.ts +1 -1
  49. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  50. package/dist/ui/components/AnimationContext.d.ts +1 -1
  51. package/dist/ui/components/AnimationContext.d.ts.map +1 -1
  52. package/dist/ui/components/AssistantMessage.d.ts +1 -1
  53. package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
  54. package/dist/ui/components/BackgroundTasksBar.d.ts +1 -2
  55. package/dist/ui/components/BackgroundTasksBar.d.ts.map +1 -1
  56. package/dist/ui/components/Banner.d.ts +1 -2
  57. package/dist/ui/components/Banner.d.ts.map +1 -1
  58. package/dist/ui/components/ChatFooterPane.d.ts +1 -2
  59. package/dist/ui/components/ChatFooterPane.d.ts.map +1 -1
  60. package/dist/ui/components/ChatInputStack.d.ts +1 -1
  61. package/dist/ui/components/ChatInputStack.d.ts.map +1 -1
  62. package/dist/ui/components/ChatLayout.d.ts +4 -4
  63. package/dist/ui/components/ChatLayout.d.ts.map +1 -1
  64. package/dist/ui/components/ChatLivePane.d.ts +1 -1
  65. package/dist/ui/components/ChatLivePane.d.ts.map +1 -1
  66. package/dist/ui/components/ChatScreen.d.ts +1 -2
  67. package/dist/ui/components/ChatScreen.d.ts.map +1 -1
  68. package/dist/ui/components/ChatScreen.js +1 -1
  69. package/dist/ui/components/ChatScreen.js.map +1 -1
  70. package/dist/ui/components/ChatStatusRow.d.ts +1 -1
  71. package/dist/ui/components/ChatStatusRow.d.ts.map +1 -1
  72. package/dist/ui/components/CompactionNotice.d.ts +2 -3
  73. package/dist/ui/components/CompactionNotice.d.ts.map +1 -1
  74. package/dist/ui/components/DiffFrame.d.ts +1 -1
  75. package/dist/ui/components/DiffFrame.d.ts.map +1 -1
  76. package/dist/ui/components/DiffView.d.ts +1 -2
  77. package/dist/ui/components/DiffView.d.ts.map +1 -1
  78. package/dist/ui/components/Footer.d.ts +1 -2
  79. package/dist/ui/components/Footer.d.ts.map +1 -1
  80. package/dist/ui/components/FooterStatusRow.d.ts +1 -2
  81. package/dist/ui/components/FooterStatusRow.d.ts.map +1 -1
  82. package/dist/ui/components/FullScreenOverlayRouter.d.ts +2 -9
  83. package/dist/ui/components/FullScreenOverlayRouter.d.ts.map +1 -1
  84. package/dist/ui/components/FullScreenOverlayRouter.js +1 -5
  85. package/dist/ui/components/FullScreenOverlayRouter.js.map +1 -1
  86. package/dist/ui/components/IdealHookMessage.d.ts +1 -1
  87. package/dist/ui/components/IdealHookMessage.d.ts.map +1 -1
  88. package/dist/ui/components/InputArea.d.ts +1 -2
  89. package/dist/ui/components/InputArea.d.ts.map +1 -1
  90. package/dist/ui/components/InputArea.js +1 -6
  91. package/dist/ui/components/InputArea.js.map +1 -1
  92. package/dist/ui/components/LiveToolPanel.d.ts +1 -2
  93. package/dist/ui/components/LiveToolPanel.d.ts.map +1 -1
  94. package/dist/ui/components/Markdown.d.ts +2 -2
  95. package/dist/ui/components/Markdown.d.ts.map +1 -1
  96. package/dist/ui/components/ModelSelector.d.ts +1 -2
  97. package/dist/ui/components/ModelSelector.d.ts.map +1 -1
  98. package/dist/ui/components/Overlay.d.ts +1 -1
  99. package/dist/ui/components/Overlay.d.ts.map +1 -1
  100. package/dist/ui/components/PlanApproval.d.ts +1 -2
  101. package/dist/ui/components/PlanApproval.d.ts.map +1 -1
  102. package/dist/ui/components/PlanBanner.d.ts +1 -2
  103. package/dist/ui/components/PlanBanner.d.ts.map +1 -1
  104. package/dist/ui/components/PlanModeLogo.d.ts +1 -2
  105. package/dist/ui/components/PlanModeLogo.d.ts.map +1 -1
  106. package/dist/ui/components/PlanOverlay.d.ts +2 -3
  107. package/dist/ui/components/PlanOverlay.d.ts.map +1 -1
  108. package/dist/ui/components/PlanProgress.d.ts +1 -2
  109. package/dist/ui/components/PlanProgress.d.ts.map +1 -1
  110. package/dist/ui/components/QueueIndicator.d.ts +1 -2
  111. package/dist/ui/components/QueueIndicator.d.ts.map +1 -1
  112. package/dist/ui/components/RewindOverlay.d.ts +1 -2
  113. package/dist/ui/components/RewindOverlay.d.ts.map +1 -1
  114. package/dist/ui/components/SelectList.d.ts +1 -2
  115. package/dist/ui/components/SelectList.d.ts.map +1 -1
  116. package/dist/ui/components/ServerToolExecution.d.ts +1 -2
  117. package/dist/ui/components/ServerToolExecution.d.ts.map +1 -1
  118. package/dist/ui/components/SessionSelector.d.ts +1 -2
  119. package/dist/ui/components/SessionSelector.d.ts.map +1 -1
  120. package/dist/ui/components/SessionSummary.d.ts +1 -2
  121. package/dist/ui/components/SessionSummary.d.ts.map +1 -1
  122. package/dist/ui/components/SettingsSelector.d.ts +1 -2
  123. package/dist/ui/components/SettingsSelector.d.ts.map +1 -1
  124. package/dist/ui/components/SkillsOverlay.d.ts +1 -2
  125. package/dist/ui/components/SkillsOverlay.d.ts.map +1 -1
  126. package/dist/ui/components/SlashCommandMenu.d.ts +1 -2
  127. package/dist/ui/components/SlashCommandMenu.d.ts.map +1 -1
  128. package/dist/ui/components/SlashStyledSelectList.d.ts +1 -2
  129. package/dist/ui/components/SlashStyledSelectList.d.ts.map +1 -1
  130. package/dist/ui/components/Spinner.d.ts +1 -2
  131. package/dist/ui/components/Spinner.d.ts.map +1 -1
  132. package/dist/ui/components/StreamingArea.d.ts +1 -1
  133. package/dist/ui/components/StreamingArea.d.ts.map +1 -1
  134. package/dist/ui/components/SubAgentPanel.d.ts +1 -2
  135. package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
  136. package/dist/ui/components/TaskPickerMenu.d.ts +1 -2
  137. package/dist/ui/components/TaskPickerMenu.d.ts.map +1 -1
  138. package/dist/ui/components/ThemeSelector.d.ts +1 -2
  139. package/dist/ui/components/ThemeSelector.d.ts.map +1 -1
  140. package/dist/ui/components/ThinkingBlock.d.ts +1 -1
  141. package/dist/ui/components/ThinkingBlock.d.ts.map +1 -1
  142. package/dist/ui/components/ToolExecution.d.ts +1 -2
  143. package/dist/ui/components/ToolExecution.d.ts.map +1 -1
  144. package/dist/ui/components/ToolGroupExecution.d.ts +1 -2
  145. package/dist/ui/components/ToolGroupExecution.d.ts.map +1 -1
  146. package/dist/ui/components/TranscriptViewport.d.ts +1 -1
  147. package/dist/ui/components/TranscriptViewport.d.ts.map +1 -1
  148. package/dist/ui/components/UserMessage.d.ts +1 -2
  149. package/dist/ui/components/UserMessage.d.ts.map +1 -1
  150. package/dist/ui/hooks/useAgentLoop.d.ts +1 -1
  151. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  152. package/dist/ui/hooks/useAgentLoop.js +1 -3
  153. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  154. package/dist/ui/layout-decisions.d.ts +1 -1
  155. package/dist/ui/layout-decisions.d.ts.map +1 -1
  156. package/dist/ui/render.d.ts +4 -12
  157. package/dist/ui/render.d.ts.map +1 -1
  158. package/dist/ui/render.js +1 -3
  159. package/dist/ui/render.js.map +1 -1
  160. package/dist/ui/transcript/MiscRows.d.ts +7 -8
  161. package/dist/ui/transcript/MiscRows.d.ts.map +1 -1
  162. package/dist/ui/transcript/StatusRow.d.ts +1 -1
  163. package/dist/ui/transcript/StatusRow.d.ts.map +1 -1
  164. package/dist/ui/transcript/ToolRows.d.ts +6 -7
  165. package/dist/ui/transcript/ToolRows.d.ts.map +1 -1
  166. package/dist/ui/transcript/TranscriptItemFrame.d.ts +1 -1
  167. package/dist/ui/transcript/TranscriptItemFrame.d.ts.map +1 -1
  168. package/package.json +4 -5
  169. package/dist/cli/pixel.d.ts +0 -27
  170. package/dist/cli/pixel.d.ts.map +0 -1
  171. package/dist/cli/pixel.js +0 -103
  172. package/dist/cli/pixel.js.map +0 -1
  173. package/dist/core/pixel-fix-agent.d.ts +0 -24
  174. package/dist/core/pixel-fix-agent.d.ts.map +0 -1
  175. package/dist/core/pixel-fix-agent.js +0 -49
  176. package/dist/core/pixel-fix-agent.js.map +0 -1
  177. package/dist/core/pixel-fix.d.ts +0 -70
  178. package/dist/core/pixel-fix.d.ts.map +0 -1
  179. package/dist/core/pixel-fix.js +0 -338
  180. package/dist/core/pixel-fix.js.map +0 -1
  181. package/dist/core/pixel-fix.test.d.ts +0 -2
  182. package/dist/core/pixel-fix.test.d.ts.map +0 -1
  183. package/dist/core/pixel-fix.test.js +0 -310
  184. package/dist/core/pixel-fix.test.js.map +0 -1
  185. package/dist/core/pixel.d.ts +0 -37
  186. package/dist/core/pixel.d.ts.map +0 -1
  187. package/dist/core/pixel.js +0 -378
  188. package/dist/core/pixel.js.map +0 -1
  189. package/dist/core/pixel.test.d.ts +0 -2
  190. package/dist/core/pixel.test.d.ts.map +0 -1
  191. package/dist/core/pixel.test.js +0 -269
  192. package/dist/core/pixel.test.js.map +0 -1
  193. package/dist/ui/components/PixelOverlay.d.ts +0 -12
  194. package/dist/ui/components/PixelOverlay.d.ts.map +0 -1
  195. package/dist/ui/components/PixelOverlay.js +0 -117
  196. package/dist/ui/components/PixelOverlay.js.map +0 -1
  197. package/dist/ui/hooks/usePixelFixFlow.d.ts +0 -57
  198. package/dist/ui/hooks/usePixelFixFlow.d.ts.map +0 -1
  199. package/dist/ui/hooks/usePixelFixFlow.js +0 -102
  200. package/dist/ui/hooks/usePixelFixFlow.js.map +0 -1
  201. package/dist/ui/pixel.d.ts +0 -23
  202. package/dist/ui/pixel.d.ts.map +0 -1
  203. package/dist/ui/pixel.js +0 -393
  204. package/dist/ui/pixel.js.map +0 -1
  205. package/dist/ui/pixel.test.d.ts +0 -2
  206. package/dist/ui/pixel.test.d.ts.map +0 -1
  207. package/dist/ui/pixel.test.js +0 -138
  208. package/dist/ui/pixel.test.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { type Skill } from "./core/skills.js";
2
2
  import type { LanguageId } from "./core/language-detector.js";
3
3
  import type { Provider } from "@kenkaiiii/gg-ai";
4
+ export declare function collectProjectContext(cwd: string): Promise<string[]>;
4
5
  /**
5
6
  * Build the system prompt dynamically based on cwd and context.
6
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAsKjD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,KAAK,EAAE,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EACjC,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA4HjD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB1E;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,KAAK,EAAE,EAChB,QAAQ,CAAC,EAAE,OAAO,EAClB,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,EAC7B,eAAe,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EACjC,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
@@ -107,7 +107,7 @@ function renderToolsSection(toolNames) {
107
107
  parts.push(toolLines.join("\n"));
108
108
  return parts.length > 0 ? `## Tools\n\n${parts.join("\n\n")}` : null;
109
109
  }
110
- async function collectProjectContext(cwd) {
110
+ export async function collectProjectContext(cwd) {
111
111
  const contextParts = [];
112
112
  let dir = cwd;
113
113
  const visited = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
package/dist/ui/App.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { type Message, type Provider, type ThinkingLevel } from "@kenkaiiii/gg-ai";
3
2
  import type { AgentTool } from "@kenkaiiii/gg-agent";
4
3
  import type { ProcessManager } from "../core/process-manager.js";
@@ -55,8 +54,6 @@ export interface AppProps {
55
54
  skills?: Skill[];
56
55
  /** Per-session file checkpoint store backing the /rewind command. */
57
56
  checkpointStore?: CheckpointStore;
58
- initialOverlay?: "pixel";
59
- rebuildToolsForCwd?: (cwd: string) => Promise<AgentTool[]>;
60
57
  /** Rebuild the `read` tool for a model (reuses the read tracker). Used on
61
58
  * model switch so the tool's video capability tracks the active model. */
62
59
  rebuildReadTool?: (model: string) => AgentTool;
@@ -97,7 +94,7 @@ export interface AppProps {
97
94
  * a full unmount/remount is the only consistent reset.
98
95
  *
99
96
  * Used by every path that previously did a bare ANSI screen clear:
100
- * `/clear`, plan accept/reject, overlay open/close, pixel fix.
97
+ * `/clear`, plan accept/reject, overlay open/close.
101
98
  *
102
99
  * Runtime state (model, provider, thinking) survives via
103
100
  * `onRuntimeStateChange`; conversation/session state survives via
@@ -146,7 +143,7 @@ export interface AppProps {
146
143
  sessionId?: string;
147
144
  sessionTitle?: string;
148
145
  sessionTitleGenerated: boolean;
149
- overlay?: "model" | "skills" | "plan" | "theme" | "pixel" | null;
146
+ overlay?: "model" | "skills" | "plan" | "theme" | null;
150
147
  planAutoExpand?: boolean;
151
148
  pendingAction?: {
152
149
  prompt: string;
@@ -159,11 +156,10 @@ export interface AppProps {
159
156
  isAgentRunning?: boolean;
160
157
  pendingResetUI?: boolean;
161
158
  runAllTasks?: boolean;
162
- runAllPixel?: boolean;
163
159
  planMode?: boolean;
164
160
  sessionStats?: SessionStats;
165
161
  idealReviewEnabled?: boolean;
166
162
  };
167
163
  }
168
- export declare function App(props: AppProps): React.JSX.Element;
164
+ export declare function App(props: AppProps): import("react/jsx-runtime").JSX.Element;
169
165
  //# sourceMappingURL=App.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
package/dist/ui/App.js CHANGED
@@ -7,7 +7,6 @@ import { useTaskPickerController } from "./hooks/useTaskPickerController.js";
7
7
  import { useModeState } from "./hooks/useModeState.js";
8
8
  import { useSessionPersistence } from "./hooks/useSessionPersistence.js";
9
9
  import { useContextCompaction } from "./hooks/useContextCompaction.js";
10
- import { usePixelFixFlow } from "./hooks/usePixelFixFlow.js";
11
10
  import { useDoublePress } from "./hooks/useDoublePress.js";
12
11
  import { useTaskBarStore, useTaskBarPolling, focusTaskBar, exitTaskBar, expandTaskBar, collapseTaskBar, navigateTaskBar, killTask, } from "./stores/taskbar-store.js";
13
12
  import { playNotificationSound } from "../utils/sound.js";
@@ -43,7 +42,7 @@ import { getNextPendingTask, markTaskInProgress } from "../core/tasks-store.js";
43
42
  import { buildUserContentWithAttachments } from "./prompt-routing.js";
44
43
  import { submitPromptCommand } from "./submit-prompt-command.js";
45
44
  import { handleUiSlashCommand } from "./submit-slash-commands.js";
46
- import { buildIdealReviewMessage, evaluateIdealReview } from "../core/ideal-review.js";
45
+ import { buildIdealReviewMessage, evaluateIdealReview, detectTestDrift, } from "../core/ideal-review.js";
47
46
  import { buildLoopBreakMessage, evaluateLoopBreak } from "../core/loop-breaker.js";
48
47
  import { buildRegroundingMessage } from "../core/regrounding.js";
49
48
  import { getNextThinkingLevel, isThinkingLevelSupported } from "./thinking-level.js";
@@ -143,9 +142,8 @@ export function App(props) {
143
142
  // separate from `liveItems` (the scrollback record) so tool calls mutate in
144
143
  // place above the activity bar instead of spamming the transcript.
145
144
  const [liveToolFeed, setLiveToolFeed] = useState([]);
146
- // overlay seeded from sessionStore (lives across remount). Falls back to
147
- // props.initialOverlay (CLI launched with one), then null.
148
- const [overlay, setOverlay] = useState(props.sessionStore?.overlay ?? props.initialOverlay ?? null);
145
+ // overlay seeded from sessionStore (lives across remount), then null.
146
+ const [overlay, setOverlay] = useState(props.sessionStore?.overlay ?? null);
149
147
  const [updatePending, setUpdatePending] = useState(() => getPendingUpdate(props.version) !== null);
150
148
  // Signal that pushes text into the InputArea composer (e.g. restoring queued
151
149
  // messages after an interrupt). Bumping `nonce` triggers the injection even
@@ -155,11 +153,9 @@ export function App(props) {
155
153
  const [runAllTasks, setRunAllTasks] = useState(props.sessionStore?.runAllTasks ?? false);
156
154
  const runAllTasksRef = useRef(props.sessionStore?.runAllTasks ?? false);
157
155
  const startTaskRef = useRef(() => { });
158
- const runAllPixelRef = useRef(props.sessionStore?.runAllPixel ?? false);
159
- const currentPixelFixRef = useRef(null);
160
- const startPixelFixRef = useRef(() => { });
161
156
  const cwdRef = useRef(props.cwd);
162
- const [displayedCwd, setDisplayedCwd] = useState(props.cwd);
157
+ // The project root is fixed for the session's lifetime, so this never changes.
158
+ const displayedCwd = props.cwd;
163
159
  // /rewind overlay: holds the checkpoint list while the picker is open.
164
160
  const [rewindCheckpoints, setRewindCheckpoints] = useState(null);
165
161
  // Monotonic user-turn counter keying per-turn checkpoints.
@@ -214,7 +210,7 @@ export function App(props) {
214
210
  /**
215
211
  * Languages whose style packs are currently injected into the system prompt.
216
212
  * Grown by `maybeInjectLanguagePacks` after `write`/`bash` tool results when
217
- * the language detector sees new marker files. Reset on `chdir` (pixel-fix).
213
+ * the language detector sees new marker files.
218
214
  * Only grows within a session; we never strip packs once injected (cheaper
219
215
  * than invalidating prompt caching, and stale guidance is harmless).
220
216
  */
@@ -362,8 +358,7 @@ export function App(props) {
362
358
  const activeProjectId = currentCreds?.projectId ?? props.projectId;
363
359
  const activeBaseUrl = currentProvider === "gemini" ? undefined : (currentCreds?.baseUrl ?? props.baseUrl);
364
360
  const contextWindowOptions = useMemo(() => ({ provider: currentProvider, accountId: activeAccountId }), [currentProvider, activeAccountId]);
365
- // Load git branch — re-runs whenever the displayed cwd changes (e.g. when
366
- // a pixel fix moves the agent into a different project root).
361
+ // Load git branch — re-runs whenever the displayed cwd changes.
367
362
  useEffect(() => {
368
363
  getGitBranch(displayedCwd).then(setGitBranch);
369
364
  }, [displayedCwd]);
@@ -513,8 +508,7 @@ export function App(props) {
513
508
  * tools that can introduce new marker files (package.json, Cargo.toml, etc.).
514
509
  * Other tool kinds skip detection entirely to avoid wasted filesystem stats.
515
510
  *
516
- * No restart required: the system prompt is mutated in place, same mechanism
517
- * used for pixel-fix chdir.
511
+ * No restart required: the system prompt is mutated in place.
518
512
  *
519
513
  * Stored in a ref so `onToolEnd` (whose useCallback dep array is intentionally
520
514
  * empty to keep agent-loop options stable) can call the freshest version.
@@ -597,21 +591,25 @@ export function App(props) {
597
591
  projectId: activeProjectId,
598
592
  resolveCredentials,
599
593
  transformContext,
600
- getIdealReviewMessage: (stats) => {
594
+ getIdealReviewMessage: (stats, touchedFiles) => {
601
595
  if (!idealReviewEnabledRef.current)
602
596
  return null;
603
597
  const decision = evaluateIdealReview(stats);
604
- if (!decision.shouldReview)
598
+ // Test drift fires the review even when the volume score is too low to
599
+ // trigger on its own \u2014 a stale sibling test is invisible to typecheck.
600
+ const driftedFiles = detectTestDrift(touchedFiles, process.cwd()).slice(0, 5);
601
+ if (!decision.shouldReview && driftedFiles.length === 0)
605
602
  return null;
606
603
  log("INFO", "ideal", "Injecting ideal review before final response", {
607
604
  score: String(decision.score),
608
605
  reasons: decision.reasons.join(", "),
606
+ testDrift: driftedFiles.join(", "),
609
607
  });
610
608
  setLiveItems((prev) => [
611
609
  ...prev,
612
610
  { kind: "ideal_hook", text: IDEAL_HOOK_NOTICE_TEXT, tone: "review", id: getId() },
613
611
  ]);
614
- return buildIdealReviewMessage(decision.reasons);
612
+ return buildIdealReviewMessage(decision.reasons, driftedFiles);
615
613
  },
616
614
  getLoopBreakMessage: (stats) => {
617
615
  if (!idealReviewEnabledRef.current)
@@ -1252,46 +1250,9 @@ export function App(props) {
1252
1250
  }
1253
1251
  }, 500);
1254
1252
  }
1255
- // Pixel fix: observe branch + commits, patch status, optionally pick
1256
- // up the next open error if run-all is active.
1257
- const pendingFix = currentPixelFixRef.current;
1258
- if (pendingFix) {
1259
- currentPixelFixRef.current = null;
1260
- void (async () => {
1261
- try {
1262
- const { finalizePixelFix } = await import("../core/pixel-fix.js");
1263
- const result = await finalizePixelFix(pendingFix);
1264
- log("INFO", "pixel", `Pixel fix done: ${result.outcome}`, {
1265
- errorId: pendingFix.errorId,
1266
- reason: result.reason,
1267
- });
1268
- }
1269
- catch (err) {
1270
- log("ERROR", "pixel", `Pixel finalize failed: ${err.message}`);
1271
- }
1272
- if (runAllPixelRef.current) {
1273
- setTimeout(() => {
1274
- void (async () => {
1275
- const { fetchPixelEntries } = await import("../core/pixel.js");
1276
- const data = await fetchPixelEntries();
1277
- const next = data.entries.find((e) => e.status === "open");
1278
- if (next) {
1279
- startPixelFixRef.current(next.errorId);
1280
- }
1281
- else {
1282
- setRunAllPixel(false);
1283
- log("INFO", "pixel", "Run-all complete — no more open errors");
1284
- }
1285
- })();
1286
- }, 500);
1287
- }
1288
- })();
1289
- }
1290
1253
  }, []),
1291
1254
  onAborted: useCallback(() => {
1292
1255
  log("WARN", "agent", "Agent run aborted by user");
1293
- setRunAllPixel(false);
1294
- currentPixelFixRef.current = null;
1295
1256
  setDoneStatus(null);
1296
1257
  setLiveItems((prev) => {
1297
1258
  const next = prev.map((item) => {
@@ -2082,35 +2043,6 @@ export function App(props) {
2082
2043
  useEffect(() => {
2083
2044
  agentRunningRef.current = agentLoop.isRunning;
2084
2045
  }, [agentLoop.isRunning]);
2085
- const { startPixelFix, setRunAllPixel } = usePixelFixFlow({
2086
- agentLoop,
2087
- cwd: props.cwd,
2088
- currentProvider,
2089
- currentModel,
2090
- rebuildToolsForCwd: props.rebuildToolsForCwd,
2091
- sessionStore: props.sessionStore,
2092
- currentPixelFixRef,
2093
- runAllPixelRef,
2094
- startPixelFixRef,
2095
- cwdRef,
2096
- currentToolsRef,
2097
- injectedLanguagesRef,
2098
- setupHintShownRef,
2099
- messagesRef,
2100
- persistedIndexRef,
2101
- sessionManagerRef,
2102
- sessionPathRef,
2103
- setDisplayedCwd,
2104
- setCurrentTools,
2105
- setHistory,
2106
- setLiveItems,
2107
- setLastUserMessage,
2108
- setDoneStatus,
2109
- rebuildSystemPrompt,
2110
- clearPendingHistory,
2111
- getId,
2112
- initialRunAllPixel: props.sessionStore?.runAllPixel ?? false,
2113
- });
2114
2046
  // Starts a single task: opens a fresh session + chat and runs the task
2115
2047
  // prompt through the agent loop. Wired into startTaskRef so both the task
2116
2048
  // picker (Enter = start one, r = run all) and the run-all auto-advance in
@@ -2210,7 +2142,6 @@ export function App(props) {
2210
2142
  useEffect(() => {
2211
2143
  liveLayoutRef.current = { columns, liveAreaRows: measuredLiveAreaRows };
2212
2144
  }, [columns, measuredLiveAreaRows]);
2213
- const isPixelView = overlay === "pixel";
2214
2145
  const hasLiveAssistantItem = liveItems.some((item) => item.kind === "assistant");
2215
2146
  const rawVisibleStreamingText = hasLiveAssistantItem ? "" : agentLoop.streamingText;
2216
2147
  // The live text is sliced by the COMMITTED `flushedChars` only. When the
@@ -2520,18 +2451,6 @@ export function App(props) {
2520
2451
  setPlanAutoExpand(false);
2521
2452
  setOverlay(null);
2522
2453
  };
2523
- const handlePixelFixOne = (entry) => {
2524
- setOverlay(null);
2525
- startPixelFix(entry.errorId);
2526
- };
2527
- const handlePixelFixAll = (entries) => {
2528
- const first = entries.find((entry) => entry.status === "open") ?? entries[0];
2529
- if (!first)
2530
- return;
2531
- setOverlay(null);
2532
- setRunAllPixel(true);
2533
- startPixelFix(first.errorId);
2534
- };
2535
2454
  const handleApprovePlan = (planPath) => {
2536
2455
  log("INFO", "plan", "Plan approved — transitioning to implementation", {
2537
2456
  planPath,
@@ -2640,17 +2559,11 @@ export function App(props) {
2640
2559
  const handleToggleTasks = () => {
2641
2560
  taskPicker.toggle();
2642
2561
  };
2643
- const fullScreenOverlay = isPixelView
2644
- ? "pixel"
2645
- : isSkillsView
2646
- ? "skills"
2647
- : isPlanView
2648
- ? "plan"
2649
- : null;
2562
+ const fullScreenOverlay = isSkillsView ? "skills" : isPlanView ? "plan" : null;
2650
2563
  if (quittingSummary) {
2651
2564
  return (_jsx(Box, { flexDirection: "column", width: columns, flexShrink: 0, flexGrow: 0, children: _jsx(SessionSummaryDisplay, { summary: quittingSummary }) }));
2652
2565
  }
2653
- return (_jsx(Box, { flexDirection: "column", width: columns, flexShrink: 0, flexGrow: 0, children: rewindCheckpoints ? (_jsx(RewindOverlay, { checkpoints: rewindCheckpoints, onRestore: handleRewindRestore, onCancel: handleRewindCancel })) : fullScreenOverlay ? (_jsx(FullScreenOverlayRouter, { overlay: fullScreenOverlay, version: props.version, cwd: props.cwd, agentRunning: agentLoop.isRunning, planAutoExpand: planAutoExpand, onClosePixel: handleCloseRemountableOverlay, onPixelFixOne: handlePixelFixOne, onPixelFixAll: handlePixelFixAll, onCloseSkills: handleCloseRemountableOverlay, onClosePlan: handleClosePlanOverlay, onApprovePlan: handleApprovePlan, onRejectPlan: handleRejectPlan })) : (_jsx(ChatScreen, { columns: columns, liveItems: uniqueItemsById(liveItems), renderItem: renderItem, isRunning: agentLoop.isRunning, visibleStreamingText: visibleStreamingText, streamingThinking: agentLoop.streamingThinking, thinkingMs: agentLoop.thinkingMs, reserveStreamingSpacing: shouldReserveStreamingSpacing, renderMarkdown: renderMarkdown, measuredLiveAreaRows: measuredLiveAreaRows, fullscreen: props.fullscreen, rows: rows, transcriptLines: transcriptLines, viewportRows: viewportRows, assistantMarginTop: shouldTopSpaceStreamingText || streamingContinuesFlushed ? 1 : 0, streamingContinuation: streamingContinuesFlushed, controlsRef: mainControlsRef, hiddenQueuedCount: hiddenQueuedCount, queueIndicatorMarginTop: shouldTopSpaceQueueIndicator ? 2 : 1, theme: theme, statusSlotVisible: statusSlotVisible, activityVisible: activityVisible, stallStatusVisible: stallStatusVisible, liveToolFeed: liveToolFeed, doneStatus: doneStatus, activityPhase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, runStartRef: agentLoop.runStartRef, isThinking: agentLoop.isThinking, thinkingLevel: thinkingLevel, tokenEstimate: agentLoop.streamedTokenEstimate, charCountRef: agentLoop.charCountRef, realTokensAccumRef: agentLoop.realTokensAccumRef, lastUserMessage: lastUserMessage, activeToolNames: agentLoop.activeToolCalls.map((tc) => tc.name), retryInfo: agentLoop.retryInfo, planDone: planSteps.filter((s) => s.completed).length, planTotal: planSteps.length, formatDuration: formatDuration, inputControls: {
2566
+ return (_jsx(Box, { flexDirection: "column", width: columns, flexShrink: 0, flexGrow: 0, children: rewindCheckpoints ? (_jsx(RewindOverlay, { checkpoints: rewindCheckpoints, onRestore: handleRewindRestore, onCancel: handleRewindCancel })) : fullScreenOverlay ? (_jsx(FullScreenOverlayRouter, { overlay: fullScreenOverlay, cwd: props.cwd, planAutoExpand: planAutoExpand, onCloseSkills: handleCloseRemountableOverlay, onClosePlan: handleClosePlanOverlay, onApprovePlan: handleApprovePlan, onRejectPlan: handleRejectPlan })) : (_jsx(ChatScreen, { columns: columns, liveItems: uniqueItemsById(liveItems), renderItem: renderItem, isRunning: agentLoop.isRunning, visibleStreamingText: visibleStreamingText, streamingThinking: agentLoop.streamingThinking, thinkingMs: agentLoop.thinkingMs, reserveStreamingSpacing: shouldReserveStreamingSpacing, renderMarkdown: renderMarkdown, measuredLiveAreaRows: measuredLiveAreaRows, fullscreen: props.fullscreen, rows: rows, transcriptLines: transcriptLines, viewportRows: viewportRows, assistantMarginTop: shouldTopSpaceStreamingText || streamingContinuesFlushed ? 1 : 0, streamingContinuation: streamingContinuesFlushed, controlsRef: mainControlsRef, hiddenQueuedCount: hiddenQueuedCount, queueIndicatorMarginTop: shouldTopSpaceQueueIndicator ? 2 : 1, theme: theme, statusSlotVisible: statusSlotVisible, activityVisible: activityVisible, stallStatusVisible: stallStatusVisible, liveToolFeed: liveToolFeed, doneStatus: doneStatus, activityPhase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, runStartRef: agentLoop.runStartRef, isThinking: agentLoop.isThinking, thinkingLevel: thinkingLevel, tokenEstimate: agentLoop.streamedTokenEstimate, charCountRef: agentLoop.charCountRef, realTokensAccumRef: agentLoop.realTokensAccumRef, lastUserMessage: lastUserMessage, activeToolNames: agentLoop.activeToolCalls.map((tc) => tc.name), retryInfo: agentLoop.retryInfo, planDone: planSteps.filter((s) => s.completed).length, planTotal: planSteps.length, formatDuration: formatDuration, inputControls: {
2654
2567
  onSubmit: handleSubmit,
2655
2568
  onAbort: handleAbort,
2656
2569
  injectText: composerInject,
@@ -2659,7 +2572,6 @@ export function App(props) {
2659
2572
  onShiftTab: handleToggleThinking,
2660
2573
  onToggleTasks: handleToggleTasks,
2661
2574
  onToggleSkills: () => openOverlay("skills"),
2662
- onTogglePixel: () => openOverlay("pixel"),
2663
2575
  onToggleMarkdown: () => setRenderMarkdown((prev) => !prev),
2664
2576
  cwd: props.cwd,
2665
2577
  commands: allCommands,