Skip to content

summary_timeout_seconds is ignored by checkpoint explain --generate #1198

@numman-ali

Description

@numman-ali

Summary

summary_timeout_seconds is accepted by settings, but entire checkpoint explain --generate still uses the hardcoded 30s timeout.

This makes the setting look configurable even though it has no effect for the current summary generation path.

Environment

  • Entire CLI: 0.6.1 (774ee21f)
  • OS/Arch: darwin/arm64
  • Go: go1.26.2

I also checked current main / nightly v0.6.2-nightly.202605130712.1622abc5, and the generate path still appears to use the hardcoded checkpointSummaryTimeout.

Reproduction

With a large checkpoint transcript:

entire checkpoint explain --checkpoint ebd73f222193 --generate

Output:

Using Claude Code for summary generation.
Generating checkpoint summary...
✗ Summary generation timed out after 30s

Then configure a longer timeout:

{
  "enabled": true,
  "summary_timeout_seconds": 3600
}

Run the same command again:

entire checkpoint explain --checkpoint ebd73f222193 --generate

It still times out after 30s.

Expected Behavior

summary_timeout_seconds should either:

  1. be honored by checkpoint explain --generate, or
  2. be removed/hidden until it is supported.

Ideally:

  • unset or non-positive: keep current default behavior
  • positive value: use that value as the summary generation deadline

Actual Behavior

The setting round-trips through config, but explain --generate still uses the package-level default:

const defaultCheckpointSummaryTimeout = 30 * time.Second
var checkpointSummaryTimeout = defaultCheckpointSummaryTimeout

The settings field exists:

SummaryTimeoutSeconds int `json:"summary_timeout_seconds,omitempty"`

and has a helper:

func (s *EntireSettings) SummaryTimeoutValue() time.Duration

but that helper does not appear to be consumed by the generate path.

Related Context

There is an open PR that appears related:

That PR seems to move toward stream-driven progress and a different deadline model, but it is still open. In the meantime, the released CLI exposes a setting that appears configurable but does not affect the behavior.

Why This Matters

Large real-world checkpoints can exceed 30 seconds to summarize, especially when the transcript is long. In that case the only workaround is to avoid --generate or patch/build the CLI locally.

A small fix could wire SummaryTimeoutValue() into the summary deadline selection while preserving the current 30s default.

Happy to open a narrow PR if maintainers prefer that over waiting for #964.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions