Skip to content

Commit 099778d

Browse files
committed
fix: Stop misattributing Claude Code's auto-compaction as a Pilot feature
Auto-compaction is a built-in Claude Code feature. What Pilot adds are hooks (PreCompact + SessionStart(compact)) that capture and restore Pilot-specific state, and persistent memory that carries context across sessions. Updated all website copy, testimonials, FAQ, README comparison table, and agent descriptions to correctly attribute each. Also fixes: hook count 12→15, SessionEnd hook description, 90%→83% compaction threshold, unused ctx parameter, SETTINGS_FILE constant usage.
1 parent dd6fa76 commit 099778d

9 files changed

Lines changed: 21 additions & 20 deletions

File tree

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ So I built Pilot. Instead of adding process on top, it bakes quality into every
4646
| --------------------------- | --------------------------------------------------------------- |
4747
| Writes code, skips tests | TDD enforced — RED, GREEN, REFACTOR on every feature |
4848
| No quality checks | Hooks auto-lint, format, type-check on every file edit |
49-
| Context degrades mid-task | Intelligent context management with auto-compaction |
49+
| Context degrades mid-task | Hooks preserve and restore state across compaction cycles |
5050
| Every session starts fresh | Persistent memory across sessions via Pilot Console |
5151
| Hope it works | Verifier sub-agents perform code review before marking complete |
5252
| No codebase knowledge | Production-tested rules loaded into every session |
@@ -65,9 +65,9 @@ There are other AI coding frameworks out there. I tried them. They add complexit
6565

6666
This isn't a vibe coding tool. It's built for developers who ship to production and need code that actually works. Every rule in the system comes from daily professional use: real bugs caught, real regressions prevented, real sessions where the AI cut corners and the hooks stopped it. The rules are continuously refined based on what measurably improves output.
6767

68-
**The result: you can actually walk away.** Start a `/spec` task, approve the plan, then go grab a coffee. When you come back, the work is done — tested, verified, formatted, and ready to ship. Auto-compaction handles session continuity automatically, quality hooks catch every mistake along the way, and verifier agents review the code before marking it complete. No babysitting required.
68+
**The result: you can actually walk away.** Start a `/spec` task, approve the plan, then go grab a coffee. When you come back, the work is done — tested, verified, formatted, and ready to ship. Hooks preserve state across compaction cycles, persistent memory carries context between sessions, quality hooks catch every mistake along the way, and verifier agents review the code before marking it complete. No babysitting required.
6969

70-
The system stays fast because it stays simple. Quick mode is direct execution with zero overhead — no sub-agents, no plan files, no directory scaffolding. You describe the task and it gets done. `/spec` adds structure only when you need it: plan verification, TDD enforcement, independent code review, automated quality checks. Both modes share the same quality hooks. Both modes benefit from automatic context compaction and persistent memory.
70+
The system stays fast because it stays simple. Quick mode is direct execution with zero overhead — no sub-agents, no plan files, no directory scaffolding. You describe the task and it gets done. `/spec` adds structure only when you need it: plan verification, TDD enforcement, independent code review, automated quality checks. Both modes share the same quality hooks. Both modes benefit from persistent memory and hooks that preserve state across compaction.
7171

7272
---
7373

@@ -327,7 +327,7 @@ Run `/sync` after adding servers to generate documentation.
327327

328328
### The Hooks Pipeline
329329

330-
**12 hooks** fire automatically across 6 lifecycle events:
330+
**15 hooks** fire automatically across 6 lifecycle events:
331331

332332
#### SessionStart (on startup, clear, or compact)
333333

@@ -431,7 +431,7 @@ Conditional rules activated by file type — loaded only when working with match
431431
| TypeScript| `*.ts`, `*.tsx`, `*.js`, `*.jsx` | npm/pnpm, Jest, ESLint, Prettier, React patterns |
432432
| Go | `*.go` | Modules, testing, formatting, error handling |
433433
| Frontend | `*.tsx`, `*.jsx`, `*.html`, `*.vue`, `*.css` | Components, CSS methodology, accessibility, responsive design, design principles |
434-
| Backend | `**/models/**`, `**/routes/**`, `**/api/**`, etc | API design, data models, query optimization, migrations |
434+
| Backend | `**/models/**`, `**/routes/**`, `**/api/**`, etc. | API design, data models, query optimization, migrations |
435435

436436
### MCP Servers
437437

@@ -475,7 +475,7 @@ Access the web-based Claude Pilot Console to visualize your development workflow
475475
476476
> "Other frameworks I tried added so much overhead that half my tokens went to the system itself. Pilot is lean — quick mode has zero scaffolding, and even /spec only adds structure where it matters. More of my context goes to actual work."
477477
478-
> "Auto-compaction solved the problem I didn't know how to fix. Complex refactors used to stall at 60% because Claude lost track of what it was doing. Now compaction kicks in seamlessly and Claude just keeps going without missing a beat."
478+
> "The persistent memory changed everything. I can pick up a project after a week and Claude already knows my architecture decisions, the bugs we fixed, and why we chose certain patterns. No more re-explaining the same context every session."
479479
480480
---
481481

@@ -537,14 +537,14 @@ Yes. Pilot enhances Claude Code — it doesn't replace it. You need an active Cl
537537
<details>
538538
<summary><b>Does Pilot work with existing projects?</b></summary>
539539

540-
Yes — that's the primary use case. Pilot doesn't scaffold or restructure your code. You install it, run `/sync`, and it explores your codebase to discover your tech stack, conventions, and patterns. From there, every session has full context about your project. The more complex and established your codebase, the more value Pilot adds — quality hooks catch regressions, auto-compaction preserves context across long sessions, and `/spec` plans features against your real architecture.
540+
Yes — that's the primary use case. Pilot doesn't scaffold or restructure your code. You install it, run `/sync`, and it explores your codebase to discover your tech stack, conventions, and patterns. From there, every session has full context about your project. The more complex and established your codebase, the more value Pilot adds — quality hooks catch regressions, persistent memory preserves decisions across sessions, and `/spec` plans features against your real architecture.
541541

542542
</details>
543543

544544
<details>
545545
<summary><b>Does Pilot work with any programming language?</b></summary>
546546

547-
Pilot's quality hooks (auto-formatting, linting, type checking) currently support Python, TypeScript/JavaScript, and Go out of the box. TDD enforcement, spec-driven development, auto-compaction, persistent memory, and all rules and standards work with any language that Claude Code supports. You can add custom hooks for additional languages.
547+
Pilot's quality hooks (auto-formatting, linting, type checking) currently support Python, TypeScript/JavaScript, and Go out of the box. TDD enforcement, spec-driven development, persistent memory, context preservation hooks, and all rules and standards work with any language that Claude Code supports. You can add custom hooks for additional languages.
548548

549549
</details>
550550

docs/site/src/components/AgentRoster.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ const agents = [
4545
color: "text-amber-400",
4646
bgColor: "bg-amber-400/10",
4747
borderColor: "border-amber-400/30",
48-
desc: "Monitors context usage. Auto-compaction preserves state via hooks — no work lost, ever.",
48+
desc: "Monitors context usage. Hooks capture plan state and task progress before compaction, then restore it after — no work lost, ever.",
4949
},
5050
{
5151
name: "PLANNER",

docs/site/src/components/ComparisonSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const painSolution = [
55
{
66
audience: "Losing context mid-task",
77
pain: ["Context degrades halfway through", "Every session starts from scratch", "Manual copy-paste to continue"],
8-
solution: ["Auto-compaction at 90% context", "Persistent memory across sessions", "Hooks preserve and restore state"],
8+
solution: ["Hooks capture and restore state across compaction", "Persistent memory across sessions", "Context monitor warns before limits hit"],
99
},
1010
{
1111
audience: "Inconsistent code quality",

docs/site/src/components/DeepDiveSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ const DeepDiveSection = () => {
167167
</div>
168168
<div>
169169
<h3 className="text-2xl font-bold text-foreground">Hooks Pipeline</h3>
170-
<p className="text-sm text-muted-foreground">12 hooks across 6 lifecycle events — fire automatically at every stage</p>
170+
<p className="text-sm text-muted-foreground">15 hooks across 6 lifecycle events — fire automatically at every stage</p>
171171
</div>
172172
</div>
173173

docs/site/src/components/FAQSection.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ const faqItems = [
2626
{
2727
question: "Does Pilot work with existing projects?",
2828
answer:
29-
"Yes \u2014 that's the primary use case. Pilot doesn't scaffold or restructure your code. You install it, run /sync, and it explores your codebase to discover your tech stack, conventions, and patterns. From there, every session has full context about your project. The more complex and established your codebase, the more value Pilot adds \u2014 quality hooks catch regressions, auto-compaction preserves context across long sessions, and /spec plans features against your real architecture.",
29+
"Yes \u2014 that's the primary use case. Pilot doesn't scaffold or restructure your code. You install it, run /sync, and it explores your codebase to discover your tech stack, conventions, and patterns. From there, every session has full context about your project. The more complex and established your codebase, the more value Pilot adds \u2014 quality hooks catch regressions, persistent memory preserves decisions across sessions, and /spec plans features against your real architecture.",
3030
},
3131
{
3232
question: "Does Pilot work with any programming language?",
3333
answer:
34-
"Pilot's quality hooks (auto-formatting, linting, type checking) currently support Python, TypeScript/JavaScript, and Go out of the box. TDD enforcement, spec-driven development, auto-compaction, persistent memory, and all rules and standards work with any language that Claude Code supports. You can add custom hooks for additional languages.",
34+
"Pilot's quality hooks (auto-formatting, linting, type checking) currently support Python, TypeScript/JavaScript, and Go out of the box. TDD enforcement, spec-driven development, persistent memory, context preservation hooks, and all rules and standards work with any language that Claude Code supports. You can add custom hooks for additional languages.",
3535
},
3636
{
3737
question: "Can I use Pilot on multiple projects?",

docs/site/src/components/TestimonialsSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const testimonials = [
77
role: "Senior Developer",
88
},
99
{
10-
quote: "Auto-compaction is a game-changer. I used to lose context halfway through complex refactors. Now it kicks in seamlessly and Claude just keeps going without missing a beat.",
10+
quote: "The persistent memory is what sold me. I can pick up a project after a week and Claude already knows my architecture decisions, the bugs we fixed, and why we chose certain patterns. No more re-explaining everything.",
1111
role: "Full-Stack Engineer",
1212
},
1313
{

docs/site/src/content/blog/claude-code-hooks-guide.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ Claude Pilot installs several hooks automatically:
162162
- **TDD Enforcer** (PostToolUse): Reminds Claude to write tests before production code
163163
- **Context Monitor** (PostToolUse): Tracks context usage and prepares for auto-compaction at 90%
164164
- **Tool Redirect** (PreToolUse): Blocks inefficient tools and suggests better alternatives
165-
- **Session End** (SessionEnd): Saves session state for context restoration after compaction
165+
- **PreCompact** (PreCompact): Captures active plan, task progress, and key context to memory before compaction
166+
- **Session End** (SessionEnd): Stops worker daemon when no other sessions are active and sends completion notifications
166167

167168
These hooks work together to enforce quality workflows without relying on Claude remembering rules. Hooks are deterministic — they always run, unlike rules which Claude might occasionally skip.

docs/site/src/content/blog/managing-context-long-sessions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ Here's how it works:
101101

102102
### 1. Context Monitoring
103103

104-
A background hook continuously tracks context usage percentage. At 80%, it warns that context is getting high. At 90%, auto-compaction triggers and state is preserved via hooks.
104+
A background hook continuously tracks context usage percentage. At 75%, it warns that context is getting high. At 80%+, state-preservation hooks prepare for Claude Code's built-in auto-compaction at ~83%.
105105

106106
### 2. State Preservation
107107

installer/steps/claude_files.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ def _get_dest_path(self, category: str, file_path: str, ctx: InstallContext) ->
422422
rel_path = Path(file_path).relative_to("pilot")
423423
return home_pilot_plugin_dir / rel_path
424424
elif category == "settings":
425-
return ctx.project_dir / ".claude" / "settings.local.json"
425+
return ctx.project_dir / ".claude" / SETTINGS_FILE
426426
else:
427427
return ctx.project_dir / file_path
428428

@@ -437,7 +437,7 @@ def _post_install_processing(self, ctx: InstallContext, ui: Any) -> None:
437437
if not ctx.local_mode:
438438
self._update_hooks_config(home_pilot_plugin_dir)
439439

440-
self._merge_app_config(ctx)
440+
self._merge_app_config()
441441
self._patch_overlapping_settings(ctx)
442442
self._cleanup_stale_rules(ctx)
443443
self._ensure_project_rules_dir(ctx)
@@ -481,7 +481,7 @@ def _update_hooks_config(self, plugin_dir: Path) -> None:
481481
except (json.JSONDecodeError, OSError, IOError):
482482
pass
483483

484-
def _merge_app_config(self, ctx: InstallContext) -> None:
484+
def _merge_app_config(self) -> None:
485485
"""Merge app-level preferences from pilot/claude.json into ~/.claude.json.
486486
487487
Reads the installed claude.json template and merges its keys into the
@@ -518,7 +518,7 @@ def _patch_overlapping_settings(self, ctx: InstallContext) -> None:
518518
override settings.local.json. Remove overlapping env vars and non-permission
519519
top-level keys from both so settings.local.json takes clean precedence.
520520
"""
521-
local_settings_path = ctx.project_dir / ".claude" / "settings.local.json"
521+
local_settings_path = ctx.project_dir / ".claude" / SETTINGS_FILE
522522
if not local_settings_path.exists():
523523
return
524524

0 commit comments

Comments
 (0)