📜 Entire CLI hooks into your Git workflow to capture AI agent sessions as you work. Sessions are indexed alongside commits, creating a searchable record of how code was written in your repo.
This report summarizes scanner evidence for entireio/cli, a Go project with 5,282 GitHub stars. SynthScan examined 727,119 lines of code across 2040 source files, recording 2092 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 3.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1824 finding(s).
Are imports declared and package/API names verified? 261 finding(s).
Are wrappers, guards, and repeated structures necessary? 7 finding(s).
Which changes need focused human review? 2092 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2092 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .goreleaser.nonprod.yaml | 1 | # yaml-language-server: $schema=https://goreleaser.com/static/schema.json | COMMENT |
| LOW | .goreleaser.yaml | 121 | # build both origins' URLs from one template. | COMMENT |
| LOW | .goreleaser.yaml | 181 | # cli` still delivers the latest binary. That binary carries the in-CLI | COMMENT |
| LOW | .golangci.yaml | 81 | no-unaliased: true | COMMENT |
| LOW | cmd/git-remote-entire/main.go | 1 | // Command git-remote-entire is the git remote helper for entire:// URLs. | COMMENT |
| LOW | cmd/git-remote-entire/main.go | 161 | COMMENT | |
| LOW | cmd/git-remote-entire/main.go | 301 | // points at that command; a partial path (entire://gh, entire://gh/owner) or a | COMMENT |
| LOW | cmd/git-remote-entire/main.go | 381 | COMMENT | |
| LOW | cmd/git-remote-entire/main.go | 401 | Next: base, | COMMENT |
| LOW | cmd/git-remote-entire/main.go | 461 | } | COMMENT |
| LOW | cmd/entire/main.go | 41 | signals := []os.Signal{os.Interrupt} | COMMENT |
| LOW | cmd/entire/main.go | 121 | // keyring read was aborted by Ctrl-C. Don't dump the raw | COMMENT |
| LOW | cmd/entire/main.go | 161 | } | COMMENT |
| LOW | cmd/entire/main.go | 181 | case procsignal.Load() != nil: | COMMENT |
| LOW | cmd/entire/cli/resolveref.go | 21 | // the single match under the response's singular `project`/`repo` field, or | COMMENT |
| LOW | cmd/entire/cli/resolveref.go | 41 | // "which provider backs this account" — see the note there. | COMMENT |
| LOW | cmd/entire/cli/resolveref.go | 161 | if err != nil { | COMMENT |
| LOW | cmd/entire/cli/resolveref.go | 321 | // path ref (`/et/<project>/<repo>`, the `path` the API returns and | COMMENT |
| LOW | cmd/entire/cli/resolveref.go | 401 | } | COMMENT |
| LOW | cmd/entire/cli/resolveref.go | 421 | // telling the user branch protection is governed upstream, which is a better | COMMENT |
| LOW | cmd/entire/cli/plugin_index_test.go | 361 | } | COMMENT |
| LOW | cmd/entire/cli/placement_latency.go | 21 | // | COMMENT |
| LOW | cmd/entire/cli/placement_latency.go | 41 | // of silence reads as a hung command. | COMMENT |
| LOW | cmd/entire/cli/placement_latency.go | 61 | // returned as is, while a bare "::1" is bracketed exactly once. JoinHostPort | COMMENT |
| LOW | cmd/entire/cli/placement_latency.go | 81 | // connection comes back immediately and says nothing about distance, so | COMMENT |
| LOW | cmd/entire/cli/placement_latency.go | 101 | // nothing, sends no bytes that identify the caller or the repo, and its ratio | COMMENT |
| LOW | cmd/entire/cli/placement_latency.go | 181 | } | COMMENT |
| LOW | cmd/entire/cli/transcript.go | 281 | info, err = os.Stat(path) | COMMENT |
| LOW | cmd/entire/cli/transcript.go | 301 | // where a subagent's edits never appear. | COMMENT |
| LOW | cmd/entire/cli/review_bridge.go | 101 | // maxPostedReviewFindings bounds how many findings one review posts. It | COMMENT |
| LOW | cmd/entire/cli/config.go | 41 | // Fails when `.entire` is not a real directory. The root pre-run already made | COMMENT |
| LOW | cmd/entire/cli/config.go | 161 | COMMENT | |
| LOW | cmd/entire/cli/config.go | 241 | func GetAgentsWithHooksInstalled(ctx context.Context) []types.AgentName { | COMMENT |
| LOW | cmd/entire/cli/clean.go | 501 | // | COMMENT |
| LOW | cmd/entire/cli/clean.go | 641 | } | COMMENT |
| LOW | cmd/entire/cli/explain_summary_provider.go | 101 | // picker even when external_agents is currently off. Installation | COMMENT |
| LOW | cmd/entire/cli/explain_summary_provider.go | 141 | // agents are not enabled, so the caller can say so rather than leaving the user | COMMENT |
| LOW | cmd/entire/cli/explain_summary_provider.go | 161 | // registered agent, so a committed `"provider": "claude-code"` keeps working | COMMENT |
| LOW | cmd/entire/cli/explain_summary_provider.go | 301 | return buildCheckpointSummaryProviderWithEffectiveModel(name, summarize.ResolveModel(name, model)) | COMMENT |
| LOW | cmd/entire/cli/explain_summary_provider.go | 321 | names = append(names, string(name)) | COMMENT |
| LOW | cmd/entire/cli/explain_summary_provider.go | 441 | // | COMMENT |
| LOW | cmd/entire/cli/checkpoint_resume.go | 101 | return resumeAutoTarget(ctx, cmd, lookup, target, force) | COMMENT |
| LOW | cmd/entire/cli/checkpoint_list.go | 21 | // historically produced byte-for-byte, so downstream consumers | COMMENT |
| LOW | cmd/entire/cli/plugin_fork_windows_test.go | 1 | //go:build windows | COMMENT |
| LOW | cmd/entire/cli/resume.go | 861 | } | COMMENT |
| LOW | cmd/entire/cli/resume.go | 921 | sessions, restoreErr := strat.RestoreLogsOnly(ctx, w, errW, point, force) | COMMENT |
| LOW | cmd/entire/cli/remote_topology.go | 21 | // single-URL repo and stop being unambiguous in two topologies users set up | COMMENT |
| LOW | cmd/entire/cli/remote_topology.go | 41 | pinned bool | COMMENT |
| LOW | cmd/entire/cli/remote_topology.go | 61 | // explicitRemote is the remote a valid checkpoint_push_remote settles on. | COMMENT |
| LOW | cmd/entire/cli/remote_topology.go | 181 | COMMENT | |
| LOW | cmd/entire/cli/project_create_wizard.go | 161 | } | COMMENT |
| LOW | cmd/entire/cli/checkpoint_backend.go | 21 | ) | COMMENT |
| LOW | cmd/entire/cli/repo_clone.go | 21 | COMMENT | |
| LOW | cmd/entire/cli/repo_clone.go | 41 | COMMENT | |
| LOW | cmd/entire/cli/repo_clone.go | 61 | // `repo clone`, so the wire format lives in one place. | COMMENT |
| LOW | cmd/entire/cli/repo_clone.go | 81 | const nativeCloneForge = gitremote.ForgeNative | COMMENT |
| LOW | cmd/entire/cli/repo_clone.go | 101 | // `paul/..`, `paul/.foo`, `paul/foo.` and `paul/-x` are all refused locally. | COMMENT |
| LOW | cmd/entire/cli/repo_clone.go | 161 | return nil, err | COMMENT |
| LOW | cmd/entire/cli/repo_clone.go | 221 | // nativePlacements lists the clusters a native repo is readable from: its home | COMMENT |
| LOW | cmd/entire/cli/repo_clone.go | 301 | // one, derives its endpoint by appending `.git` to the remote, so a repo | COMMENT |
| 1625 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/entire/cli/checkpoint_create_test.go | 230 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/hook_registry_test.go | 40 | gitConfig := exec.CommandContext(context.Background(), "git", "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/entire/cli/hook_registry_test.go | 412 | gitConfig := exec.CommandContext(context.Background(), "git", "config", "user.email", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint_list_test.go | 346 | Author: &object.Signature{Name: "Test", Email: "test@test.com", When: time.Now()}, | CODE |
| LOW | cmd/entire/cli/checkpoint_list_test.go | 371 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/status_test.go | 83 | Email: "test@test.com", | CODE |
| LOW | cmd/entire/cli/explain_test.go | 1207 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/explain_test.go | 4016 | Author: &object.Signature{Name: "Test", Email: "test@test.com", When: time.Now()}, | CODE |
| LOW | cmd/entire/cli/explain_test.go | 4064 | Author: &object.Signature{Name: "Test", Email: "test@test.com", When: time.Now()}, | CODE |
| LOW | cmd/entire/cli/explain_test.go | 4242 | {"config", "user.email", "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint_delete_test.go | 143 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/doctor_test.go | 242 | Author: object.Signature{Name: "test", Email: "test@test.com", When: time.Now()}, | CODE |
| LOW | cmd/entire/cli/doctor_test.go | 243 | Committer: object.Signature{Name: "test", Email: "test@test.com", When: time.Now()}, | CODE |
| LOW | cmd/entire/cli/context_flag_test.go | 71 | t.Setenv(contexts.EnvContextVar, "placeholder") // registers the restore | CODE |
| LOW | cmd/entire/cli/clean_test.go | 60 | sig := object.Signature{Name: "test", Email: "test@test.com"} | CODE |
| LOW | cmd/entire/cli/lifecycle_test.go | 1763 | Email: "test@test.com", | CODE |
| LOW | cmd/entire/cli/lifecycle_test.go | 4431 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/migrate_test.go | 42 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/migrate_test.go | 83 | commitHash, err := CreateCommit(ctx, repo, newTree, ref.Hash(), "test: legacy metadata", "Test", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint/migrate_test.go | 471 | advanced, err := CreateCommit(ctx, repo, headCommit.TreeHash, imported, "refs-store write", "Test", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint/redaction_counts_test.go | 73 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_signing_test.go | 61 | Email: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_imported_test.go | 40 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/testrepo_helpers_test.go | 56 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | …entire/cli/checkpoint/persistent_phantom_paths_test.go | 35 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | …entire/cli/checkpoint/persistent_phantom_paths_test.go | 49 | AuthorEmail: "test@test.com", | CODE |
| LOW | …entire/cli/checkpoint/persistent_phantom_paths_test.go | 81 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | …entire/cli/checkpoint/persistent_phantom_paths_test.go | 95 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 158 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 348 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 452 | commitHash, err := CreateCommit(context.Background(), store.repo, treeHash, plumbing.ZeroHash, "Initialize metadata bra | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 467 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 772 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 786 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 864 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 877 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 905 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 2421 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 2535 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 3595 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 3622 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 3645 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/checkpoint_test.go | 3674 | AuthorEmail: "test@test.com", | CODE |
| LOW | …d/entire/cli/checkpoint/persistent_opf_trailer_test.go | 42 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | …d/entire/cli/checkpoint/persistent_opf_trailer_test.go | 55 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_assets_test.go | 267 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_assets_test.go | 340 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/backwards_compat_test.go | 48 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_ref_update_test.go | 65 | t.Context(), repo, initialCommit.TreeHash, initial, "replacement", "Test", "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_ref_update_test.go | 111 | newTip, err := CreateCommit(ctx, repo, initialCommit.TreeHash, initial, "replacement", "Test", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_ref_update_test.go | 257 | newCommit, err := CreateCommit(ctx, repo, tree, parent, marker, "Test", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_ref_update_test.go | 263 | externalTip, err = CreateCommit(ctx, repo, commit.TreeHash, parent, "external writer", "Test", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_ref_update_test.go | 361 | external, err := CreateCommit(ctx, repo, commit.TreeHash, current, "external writer", "Test", "test@test.com") | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_update_test.go | 46 | Author: &object.Signature{Name: "Test", Email: "test@test.com"}, | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_update_test.go | 61 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_update_test.go | 209 | AuthorEmail: "test@test.com", | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_read_store_test.go | 40 | h, err := wt.Commit(msg, &git.CommitOptions{Author: &object.Signature{Name: "Test", Email: "test@test.com"}}) | CODE |
| LOW | cmd/entire/cli/checkpoint/persistent_read_store_test.go | 95 | AuthorEmail: "test@test.com", | CODE |
| LOW | …e/cli/checkpoint/persistent_compact_transcript_test.go | 59 | AuthorEmail: "test@test.com", | CODE |
| LOW | …e/cli/checkpoint/persistent_compact_transcript_test.go | 122 | AuthorEmail: "test@test.com", | CODE |
| 201 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/entire/cli/search_cmd.go | 528 | // Step 1: Get repos index from the control plane. *coreapi.Client | COMMENT |
| LOW | cmd/entire/cli/search_cmd.go | 550 | // Step 2: Resolve repo slug filters to ULIDs and narrow to matching cells. | COMMENT |
| LOW | cmd/entire/cli/search_cmd.go | 565 | // Step 3: Group repos by cell and resolve baseURLs via shared helpers. | COMMENT |
| LOW | cmd/entire/cli/search_cmd.go | 579 | // Step 4: Fan out via the shared fanOutCells helper. | COMMENT |
| LOW | cmd/entire/cli/setup_bootstrap.go | 126 | // Step 1: decide whether to init here — and, on the bare interactive | COMMENT |
| LOW⚡ | cmd/entire/cli/setup_bootstrap.go | 150 | // Step 2: git init. | COMMENT |
| LOW⚡ | cmd/entire/cli/setup_bootstrap.go | 160 | // Step 3: resolve commit message (+ skip decision) and ensure git | COMMENT |
| LOW | cmd/entire/cli/trail_cmd.go | 1926 | // Step 1: Title and body | COMMENT |
| LOW | cmd/entire/cli/trail_cmd.go | 1974 | // Step 2: Branch (derived from title) and status | COMMENT |
| LOW | …tire/cli/integration_test/subagent_checkpoints_test.go | 41 | // Step 1: PreTask - creates pre-task file | COMMENT |
| LOW | …tire/cli/integration_test/subagent_checkpoints_test.go | 53 | // Step 2: PostTodo - simulate TodoWrite calls with file changes between them. | COMMENT |
| LOW | …tire/cli/integration_test/subagent_checkpoints_test.go | 104 | // Step 3: PostTask - creates final task checkpoint | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 289 | // Step 2: Overwrite hooks with third-party content (simulating lefthook, husky, etc.) | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 298 | // Step 3: Verify hooks are no longer Entire hooks | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 303 | // Step 4: Second user-prompt-submit should reinstall hooks | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 309 | // Step 5: Verify hooks are reinstalled | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 314 | // Step 6: Verify the hooks chain to original hooks (backup should exist) | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 343 | // Step 2: Delete all hooks (simulating aggressive third-party tool) | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 351 | // Step 3: Verify hooks are gone | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 356 | // Step 4: Second user-prompt-submit should reinstall hooks | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 362 | // Step 5: Verify hooks are reinstalled | COMMENT |
| LOW | cmd/entire/cli/integration_test/hooks_test.go | 277 | // Step 1: First user-prompt-submit installs hooks via EnsureSetup | COMMENT |
| LOW | cmd/entire/cli/integration_test/hooks_test.go | 331 | // Step 1: First user-prompt-submit installs hooks via EnsureSetup | COMMENT |
| LOW | cmd/entire/cli/strategy/condense_images_test.go | 108 | // Step 1: extract images (before redaction). | COMMENT |
| LOW | cmd/entire/cli/strategy/condense_images_test.go | 123 | // Step 2: redact the placeholder-bearing transcript. | COMMENT |
| LOW | cmd/entire/cli/strategy/condense_images_test.go | 142 | // Step 3: reinject restores the exact image bytes. | COMMENT |
| LOW | .claude/skills/changelog/SKILL.md | 19 | ## Step 1: Gather Data | COMMENT |
| LOW | .claude/skills/changelog/SKILL.md | 26 | ## Step 2: Identify External Contributors | COMMENT |
| LOW | .claude/skills/changelog/SKILL.md | 38 | ## Step 3: Write the Entry | COMMENT |
| LOW | .claude/skills/e2e/implement.md | 21 | ## Step 1: Identify Fixes | COMMENT |
| LOW | .claude/skills/e2e/implement.md | 55 | ## Step 2: Ask the User | COMMENT |
| LOW | .claude/skills/e2e/implement.md | 65 | ## Step 3: Apply Fixes | COMMENT |
| LOW | .claude/skills/e2e/implement.md | 108 | ## Step 4: Summary | COMMENT |
| LOW | .claude/skills/e2e/triage-ci.md | 56 | ### Step 1: Analyze Each Failure | COMMENT |
| LOW | .claude/skills/e2e/triage-ci.md | 64 | ### Step 2: Classify Each Failure | COMMENT |
| LOW | .claude/skills/e2e/triage-ci.md | 119 | ### Step 3: Cross-Agent Correlation | COMMENT |
| LOW | .claude/skills/e2e/triage-ci.md | 126 | ### Step 4: Present Findings Report | COMMENT |
| LOW | .claude/skills/e2e/triage-ci.md | 167 | ### Step 5: Summary | COMMENT |
| LOW | .claude/skills/agent-integration/test-writer.md | 12 | ### Step 1: Read E2E Test Infrastructure | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/test-writer.md | 27 | ### Step 2: Read Existing E2E Test Scenarios | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/test-writer.md | 35 | ### Step 3: Read Checkpoint Scenarios Doc | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/test-writer.md | 39 | ### Step 4: Create Agent Implementation | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/test-writer.md | 163 | ### Step 5: Update SetupRepo (if needed) | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/test-writer.md | 173 | ### Step 6: Verify | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/test-writer.md | 183 | ### Step 7: Commit | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/implementer.md | 25 | ### Step 1: Read Implementation Guide | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/implementer.md | 34 | ### Step 2: Read Reference Implementation | COMMENT |
| LOW⚡ | .claude/skills/agent-integration/implementer.md | 40 | ### Step 3: Create Bare-Minimum Compiling Package | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 72 | ### Step 4: E2E Tier 1 — `TestHumanOnlyChangesAndCommits` | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 94 | ### Step 5: E2E Tier 2 — `TestSingleSessionManualCommit` | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 116 | ### Step 6: E2E Tier 2b — `TestCheckpointMetadataDeepValidation` | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 137 | ### Step 7: E2E Tier 3 — `TestSingleSessionAgentCommitInTurn` | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 156 | ### Step 8: E2E Tier 4 — Multi-Session Tests | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 177 | ### Step 9: E2E Tier 5 — File Operation Edge Cases | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 192 | ### Step 10: Optional Interfaces | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 209 | ### Step 11: E2E Tier 6 — Interactive and Resume Tests | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 224 | ### Step 12: E2E Tier 7 — Complex Scenarios | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 241 | ### Step 13: Full E2E Suite Pass | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 263 | ### Step 14: Write Unit Tests | COMMENT |
| LOW | .claude/skills/agent-integration/implementer.md | 289 | ### Step 15: Verify Registration | COMMENT |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/entire/cli/setup_managed_scaffold.go | 19 | // managedScaffoldStatus is the outcome of writing an Entire-managed scaffold file | COMMENT |
| MEDIUM⚡ | cmd/entire/cli/setup_managed_scaffold.go | 97 | // scaffoldTarget is where one managed scaffold is written: the root to write | COMMENT |
| MEDIUM⚡ | cmd/entire/cli/setup_managed_scaffold.go | 100 | // name and relPath differ only when the scaffold sits under a symlinked agent | COMMENT |
| MEDIUM⚡ | cmd/entire/cli/setup_managed_scaffold.go | 110 | // openScaffoldTarget resolves where a scaffold at relPath should be written. | COMMENT |
| MEDIUM | cmd/entire/cli/setup_agent_help_skill_test.go | 71 | // Idempotent: a second scaffold of identical content reports unchanged. | COMMENT |
| MEDIUM | cmd/entire/cli/setup_agent_help_skill.go | 47 | // The worktree root is the anchor the scaffold is written through, so a | COMMENT |
| MEDIUM | cmd/entire/cli/setup_search_skill.go | 47 | // The worktree root is the anchor the scaffold is written through, so a | COMMENT |
| MEDIUM | cmd/entire/cli/setup_search_skill.go | 177 | // claudeDirName is Claude Code's project directory. Named because the scaffold | COMMENT |
| MEDIUM | cmd/entire/cli/setup_search_skill.go | 246 | // Unlike the subagent this feature used to scaffold, a skill body is injected | COMMENT |
| MEDIUM | cmd/entire/cli/doctor_test.go | 1600 | // The scaffold parents are Entire's to create too, and a link there is reported | COMMENT |
| MEDIUM | cmd/entire/cli/doctor_test.go | 1986 | // path that is fine and said nothing about the one that is not: scaffold | COMMENT |
| MEDIUM | cmd/entire/cli/setup_search_skill_test.go | 623 | // directory every agent's scaffold path is built from. Without this pin, | COMMENT |
| MEDIUM | cmd/entire/cli/doctor.go | 956 | // scaffold installation follows the first and refuses the second, so the | COMMENT |
| MEDIUM | cmd/entire/cli/doctor.go | 1159 | // function: the hook-config paths (agent.HookConfigLocator) and the scaffold | COMMENT |
| MEDIUM | cmd/entire/cli/doctor.go | 1169 | // component of the config or scaffold path underneath it. | COMMENT |
| MEDIUM | cmd/entire/cli/agent/antigravity/antigravity.go | 1 | // Package antigravity implements the Agent interface for Antigravity (Google's agentic coding CLI). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmd/entire/cli/search_cmd.go | 528 | // Step 1: Get repos index from the control plane. *coreapi.Client | COMMENT |
| LOW | cmd/entire/cli/search_cmd.go | 550 | // Step 2: Resolve repo slug filters to ULIDs and narrow to matching cells. | COMMENT |
| LOW | cmd/entire/cli/search_cmd.go | 565 | // Step 3: Group repos by cell and resolve baseURLs via shared helpers. | COMMENT |
| LOW | cmd/entire/cli/search_cmd.go | 579 | // Step 4: Fan out via the shared fanOutCells helper. | COMMENT |
| LOW | cmd/entire/cli/setup_bootstrap.go | 126 | // Step 1: decide whether to init here — and, on the bare interactive | COMMENT |
| LOW⚡ | cmd/entire/cli/setup_bootstrap.go | 150 | // Step 2: git init. | COMMENT |
| LOW⚡ | cmd/entire/cli/setup_bootstrap.go | 160 | // Step 3: resolve commit message (+ skip decision) and ensure git | COMMENT |
| LOW | cmd/entire/cli/trail_cmd.go | 1926 | // Step 1: Title and body | COMMENT |
| LOW | cmd/entire/cli/trail_cmd.go | 1974 | // Step 2: Branch (derived from title) and status | COMMENT |
| LOW | …tire/cli/integration_test/subagent_checkpoints_test.go | 41 | // Step 1: PreTask - creates pre-task file | COMMENT |
| LOW | …tire/cli/integration_test/subagent_checkpoints_test.go | 53 | // Step 2: PostTodo - simulate TodoWrite calls with file changes between them. | COMMENT |
| LOW | …tire/cli/integration_test/subagent_checkpoints_test.go | 104 | // Step 3: PostTask - creates final task checkpoint | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 289 | // Step 2: Overwrite hooks with third-party content (simulating lefthook, husky, etc.) | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 298 | // Step 3: Verify hooks are no longer Entire hooks | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 303 | // Step 4: Second user-prompt-submit should reinstall hooks | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 309 | // Step 5: Verify hooks are reinstalled | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 314 | // Step 6: Verify the hooks chain to original hooks (backup should exist) | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 343 | // Step 2: Delete all hooks (simulating aggressive third-party tool) | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 351 | // Step 3: Verify hooks are gone | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 356 | // Step 4: Second user-prompt-submit should reinstall hooks | COMMENT |
| LOW⚡ | cmd/entire/cli/integration_test/hooks_test.go | 362 | // Step 5: Verify hooks are reinstalled | COMMENT |
| LOW | cmd/entire/cli/integration_test/hooks_test.go | 277 | // Step 1: First user-prompt-submit installs hooks via EnsureSetup | COMMENT |
| LOW | cmd/entire/cli/integration_test/hooks_test.go | 331 | // Step 1: First user-prompt-submit installs hooks via EnsureSetup | COMMENT |
| LOW | cmd/entire/cli/strategy/condense_images_test.go | 108 | // Step 1: extract images (before redaction). | COMMENT |
| LOW | cmd/entire/cli/strategy/condense_images_test.go | 123 | // Step 2: redact the placeholder-bearing transcript. | COMMENT |
| LOW | cmd/entire/cli/strategy/condense_images_test.go | 142 | // Step 3: reinject restores the exact image bytes. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .golangci.yaml | 183 | # Test harness that happens not to end in _test.go, so the rules above | COMMENT |
| MEDIUM | cmd/entire/cli/checkpoint/id/id.go | 124 | // robust for legacy and ULID IDs alike and impossible to compute inconsistently | COMMENT |
| MEDIUM | cmd/entire/cli/agent/antigravity/lifecycle.go | 243 | // This is undocumented but consistent. To stay robust against both the | COMMENT |
| MEDIUM | cmd/entire/cli/strategy/hooks.go | 152 | // It delegates to `git rev-parse --git-dir` to leverage git's own validation. | COMMENT |
| MEDIUM | .claude/skills/test-repo/test-harness.sh | 2 | # Test harness for Entire CLI strategy testing | COMMENT |
| MEDIUM | .claude/skills/test-repo/test-harness.sh | 3 | # Usage: test-harness.sh <step> [args...] | COMMENT |
| MEDIUM | .github/workflows/nightly-e2e.yml | 47 | # What a first-run `entire enable` writes (setup.go). Unset, the harness | COMMENT |
| MEDIUM | .github/workflows/nightly-e2e.yml | 154 | # harness and the CLI under test come from one commit. | COMMENT |
| MEDIUM | .github/workflows/nightly-e2e.yml | 358 | # 20 minutes is sized from the harness's retry ceiling, not from the | COMMENT |
| MEDIUM | .github/workflows/nightly-e2e.yml | 528 | # harness writes modelProvider=gemini into an isolated HOME itself. | COMMENT |
| MEDIUM | .github/workflows/e2e.yml | 154 | # governs only the FIRST agy spawn of the job, and the harness | COMMENT |
| MEDIUM | .github/workflows/e2e.yml | 195 | # ADC is optional since agy 1.1.13: without the secret the harness runs | COMMENT |
| MEDIUM | e2e/testutil/repo.go | 827 | // or index is non-empty. This keeps cloned-repo E2E tests robust when | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cmd/entire/cli/explain_test.go | 2867 | // Should show AI-generated intent and outcome as markdown. | COMMENT |
| HIGH | cmd/entire/cli/activity_types.go | 111 | // (custom name > AI-generated name > heuristic). repo_full_name / is_private | COMMENT |
| HIGH | api/checkpoint/metadata.go | 241 | // Summary is an optional AI-generated summary for this checkpoint. | COMMENT |
| HIGH | api/checkpoint/metadata.go | 505 | // AI-generated summary of the checkpoint | COMMENT |
| HIGH | api/checkpoint/metadata.go | 654 | // Summary contains AI-generated summary of a checkpoint. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmd/entire/cli/status_style.go | 273 | // sectionRule renders a section header like: ── Active Sessions ──────────── | COMMENT |
| MEDIUM | cmd/entire/cli/search_tui.go | 726 | // ─── View ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cmd/entire/cli/search_tui.go | 1662 | // ─── Column Layout ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cmd/entire/cli/search_tui.go | 1711 | // ─── Formatting Helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cmd/entire/cli/search_tui.go | 1743 | // ─── Snippet Markdown ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cmd/entire/cli/search_tui.go | 1833 | // ─── Static Fallback ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cmd/entire/cli/review/tui_detail.go | 93 | // 1. Header line: "─── <name> (<n> events) ─────────────" (filled to termWidth) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/install.sh | 502 | # Check if the installed binary is the one that will be found in PATH | COMMENT |
| LOW | scripts/migrate-sessions.sh | 208 | # Check if a checkpoint is up-to-date on target branch (same source commit) | COMMENT |
| LOW | scripts/migrate-sessions.sh | 219 | # Check if metadata.json exists on target | COMMENT |
| LOW | scripts/migrate-sessions.sh | 224 | # Check if same source commit (up-to-date) | COMMENT |
| LOW | scripts/migrate-sessions.sh | 252 | # Check if this is session metadata (has session_id) or already aggregated | COMMENT |
| LOW | scripts/migrate-sessions.sh | 476 | # Check if already up-to-date | COMMENT |
| LOW | scripts/migrate-sessions.sh | 599 | # Check if any of the modified checkpoints need migration | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/publish-channel-manifest.sh | 23 | # Usage: | COMMENT |
| LOW | scripts/publish-installers.sh | 43 | # Usage: | COMMENT |