compact: summarize is a direct one-shot llm/stream call, not a loop step
The summarization request no longer dispatches agent/request — that seam shapes the loop's conversation requests; a hand-built one-shot's interception surface is llm/stream, like every other direct call. The model comes from summarizationModel falling back to the agent's own. The turn/step parameters existed on the compact seam only to feed the agent/request dispatch and leave compactIfNeeded/compactRegion. Groundwork for making every conversation request a pure function of the session log (reconstructability RFC, this branch): the seam split keeps the loop's request path as the single thing the log must explain. Ported from worktree-prompt-prefix-stability (PR #162) where it was review-converged; catalog and producer/consumer graphs regenerated.
This commit is contained in:
@@ -79,8 +79,8 @@ Implementations MUST honor:
|
||||
- **Blocking**: no compaction begins while another is in progress for the same session. The recommended mechanism is the log-recorded lock — append `compact/start` before the slow work and `compact/end` after (even on failure) — so the lock is visible to replay and crash recovery.
|
||||
|
||||
```ts cordis-catalog
|
||||
abstract compactIfNeeded( agent: CompactAgentContext, turn: number, step: number, fullSystemPrompt: string, signal: AbortSignal, ): Promise<CompactionResult | null>
|
||||
abstract compactRegion( session: Session, start: number, end: number, agent: CompactAgentContext, turn: number, step: number, signal?: AbortSignal, ): Promise<CompactionResult>
|
||||
abstract compactIfNeeded( agent: CompactAgentContext, fullSystemPrompt: string, signal: AbortSignal, ): Promise<CompactionResult | null>
|
||||
abstract compactRegion( session: Session, start: number, end: number, agent: CompactAgentContext, signal?: AbortSignal, ): Promise<CompactionResult>
|
||||
```
|
||||
|
||||
Source: [`packages/compact/compact/src/index.ts:63`](../../packages/compact/compact/src/index.ts)
|
||||
|
||||
Reference in New Issue
Block a user