skip version checks on prerelease versions#401
Conversation
PR SummaryHigh Risk Overview Replaces the stringly-typed hook handler registry with a generic Expands E2E coverage around carry-forward cleanup, ended-session commits, deletion commits, mid-turn agent commits, and trailer-removal opt-out; adds supporting testenv helpers and adjusts hook logging tests. Also updates CI E2E workflow to use Written by Cursor Bugbot for commit ad10221. Configure here. |
Entire-Checkpoint: ae622cf9b522
ad10221 to
0ff0ce8
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates Entire CLI’s version notification logic to ignore prerelease/dev builds, and (in the same diff) includes a broad set of related lifecycle/strategy refactors and new hook-management warnings.
Changes:
- Skip update notifications when the running binary version is a prerelease/dev build (including git-describe style versions).
- Rename strategy checkpoint APIs (
SaveChanges→SaveStep,SaveTaskCheckpoint→SaveTaskStep) and propagate across strategies/tests/docs. - Introduce normalized agent lifecycle events + dispatcher plumbing, add hook-manager detection warnings, and expand unit/integration/e2e coverage.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Bumps golang.org/x/mod dependency version. |
| go.sum | Updates sums for the golang.org/x/mod bump. |
| cmd/entire/cli/versioncheck/versioncheck.go | Skips outdated checks for prerelease current versions. |
| cmd/entire/cli/versioncheck/versioncheck_test.go | Updates prerelease expectations and adds git-describe style cases. |
| cmd/entire/cli/transcript.go | Removes unused transcript extraction helpers. |
| cmd/entire/cli/trailers/trailers.go | Uses shared short-ID length constant for hash truncation. |
| cmd/entire/cli/strategy/strategy.go | Renames contexts and Strategy interface methods to “Step” terminology. |
| cmd/entire/cli/strategy/session_state.go | Adds more detailed debug logging for transitions. |
| cmd/entire/cli/strategy/registry.go | Removes ireturn nolints (paired with lint config update). |
| cmd/entire/cli/strategy/phase_postcommit_test.go | Updates tests to call SaveStep. |
| cmd/entire/cli/strategy/manual_commit_test.go | Updates tests and renames SaveChanges-related test cases to SaveStep. |
| cmd/entire/cli/strategy/manual_commit_staging_test.go | Updates staging-related tests to SaveStep. |
| cmd/entire/cli/strategy/manual_commit_migration.go | Updates comments for renamed APIs. |
| cmd/entire/cli/strategy/manual_commit_hooks.go | Adds debug logging and adjusts carry-forward/transcript offset behavior. |
| cmd/entire/cli/strategy/manual_commit_git.go | Renames SaveChanges/SaveTaskCheckpoint implementations and uses ShortIDLength. |
| cmd/entire/cli/strategy/manual_commit_condensation.go | Updates comments and behavior around SaveStep + transcript staleness. |
| cmd/entire/cli/strategy/manual_commit.go | Removes ireturn nolints from constructors. |
| cmd/entire/cli/strategy/hooks.go | Refactors hook command prefix selection into a helper. |
| cmd/entire/cli/strategy/hook_managers.go | Adds hook-manager detection and warning output. |
| cmd/entire/cli/strategy/hook_managers_test.go | Unit tests for hook-manager detection/warnings and command extraction. |
| cmd/entire/cli/strategy/content_overlap.go | Adds debug logging in name-based subtraction fallback. |
| cmd/entire/cli/strategy/auto_commit.go | Renames to SaveStep/SaveTaskStep and updates related helpers. |
| cmd/entire/cli/strategy/auto_commit_test.go | Updates auto-commit strategy tests for renamed APIs. |
| cmd/entire/cli/state.go | Unifies transcript position into TranscriptOffset, updates capture, adds HEAD-content filter helper. |
| cmd/entire/cli/state_test.go | Updates tests for unified transcript offset + agent-based capture. |
| cmd/entire/cli/setup.go | Emits hook-manager warnings after hook installation. |
| cmd/entire/cli/session/phase.go | Adds Compaction event handling + debug logging during transition application. |
| cmd/entire/cli/rewind.go | Removes minimal context file helper (now-unused). |
| cmd/entire/cli/resume_test.go | Updates resume test to use SaveStep. |
| cmd/entire/cli/lifecycle_test.go | Adds lifecycle dispatcher tests and compaction offset reset coverage. |
| cmd/entire/cli/integration_test/testenv.go | Adds helpers for staged commits/deletions with hooks. |
| cmd/entire/cli/integration_test/subdirectory_test.go | Renames subdirectory test to SaveStep terminology. |
| cmd/entire/cli/integration_test/mid_session_rebase_test.go | Updates comments to SaveStep. |
| cmd/entire/cli/integration_test/manual_commit_workflow_test.go | Updates comments to SaveStep. |
| cmd/entire/cli/integration_test/hooks.go | Adds session-end hook simulation helper. |
| cmd/entire/cli/integration_test/attribution_test.go | Updates comments to SaveStep. |
| cmd/entire/cli/hooks_claudecode_posttodo.go | Adds Claude-specific PostTodo hook handler for incremental subagent checkpoints. |
| cmd/entire/cli/hooks.go | Removes old shared session-start handler path (migrated to lifecycle dispatcher). |
| cmd/entire/cli/hook_registry.go | Switches hook execution to ParseHookEvent + DispatchLifecycleEvent, with PostTodo special-case. |
| cmd/entire/cli/hook_registry_test.go | Adjusts hook logging tests to use real hook paths/inputs. |
| cmd/entire/cli/e2e_test/testenv.go | Adds staged-commit and branch-listing utilities for e2e scenarios. |
| cmd/entire/cli/e2e_test/scenario_checkpoint_workflows_test.go | Adds new e2e scenarios/assertions (shadow branch cleanup, deletions, trailer removal, etc.). |
| cmd/entire/cli/config.go | Removes nolint comment for returning Strategy interface. |
| cmd/entire/cli/checkpoint/id/id.go | Introduces ShortIDLength constant for consistent ID truncation. |
| cmd/entire/cli/agent/event.go | Adds normalized lifecycle Event and EventType. |
| cmd/entire/cli/agent/agent.go | Expands core Agent interface (events + transcript storage) and introduces optional interfaces. |
| cmd/entire/cli/agent/agent_test.go | Updates mock agent to satisfy expanded Agent interface. |
| cmd/entire/cli/agent/chunking.go | Uses core Agent methods for chunk/reassemble with fallback behavior. |
| cmd/entire/cli/agent/claudecode/lifecycle.go | Adds Claude Code lifecycle parsing + transcript preparation/token hooks. |
| cmd/entire/cli/agent/claudecode/lifecycle_test.go | Tests Claude lifecycle hook parsing. |
| cmd/entire/cli/agent/claudecode/claude.go | Fixes JSONL line counting at EOF; adds subagent-aware extraction methods. |
| cmd/entire/cli/agent/geminicli/lifecycle.go | Adds Gemini lifecycle parsing + transcript/token helper implementations. |
| cmd/entire/cli/agent/geminicli/lifecycle_test.go | Tests Gemini lifecycle hook parsing. |
| cmd/entire/cli/agent/geminicli/gemini.go | Removes a redundant comment block. |
| GEMINI.md | Updates docs for SaveStep/SaveTaskStep naming. |
| CLAUDE.md | Updates docs for SaveStep/SaveTaskStep naming. |
| CHANGELOG.md | Adds 0.4.5 release notes. |
| .golangci.yaml | Adjusts ireturn allowlist to include strategy.Strategy. |
| .github/workflows/e2e.yml | Renames secret env var to ANTHROPIC_API_KEY for e2e workflow. |
0ff0ce8 to
98f41bb
Compare
No description provided.