Skip to content

feat: Add global Claude Code preferences - #8

Merged
evansenter merged 2 commits into
mainfrom
feat/add-global-claude-preferences
Dec 24, 2025
Merged

feat: Add global Claude Code preferences#8
evansenter merged 2 commits into
mainfrom
feat/add-global-claude-preferences

Conversation

@evansenter

Copy link
Copy Markdown
Owner

Summary

  • Add home/.claude/CLAUDE.md with global workflow preferences for Claude Code sessions
  • Preferences include:
    • Use /feature-dev skill for multi-step tasks
    • Watch CI and address PR review feedback
    • Create GitHub issues for bugs/improvements not addressed immediately

Test plan

  • Run ./bootstrap.sh and verify ~/.claude/CLAUDE.md is created
  • Start a new Claude Code session and verify preferences are loaded

🤖 Generated with Claude Code

Add CLAUDE.md with workflow preferences that apply to all sessions:
- Prefer /feature-dev skill for multi-step implementation tasks
- Watch CI and address PR review feedback
- Create GitHub issues for deferred bugs/improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@claude

claude Bot commented Dec 24, 2025

Copy link
Copy Markdown

PR Review

Thanks for adding global Claude Code preferences! This is a clean addition that extends the existing .claude/ configuration structure. Here's my feedback:

✅ Strengths

  1. Consistent with existing patterns - Follows the same approach as the repository-level CLAUDE.md at the root
  2. Appropriate location - Placing this in home/.claude/ means it will sync to ~/.claude/ and apply globally
  3. Non-invasive - Simple markdown file with no complex logic
  4. Complementary to existing setup - Works alongside the existing hooks-based PR review automation

🔍 Observations & Suggestions

1. Reference to /feature-dev skill

The preference mentions using the /feature-dev skill, but I don't see this skill defined in the repository. Consider:

  • Adding a comment explaining where this skill comes from (external tool, future addition, etc.)
  • OR removing this reference if the skill isn't available yet
  • OR adding the skill definition if it should be part of this dotfiles setup

2. Redundancy with existing automation

The second preference about watching CI and fetching PR comments duplicates functionality already provided by home/.claude/hooks/post-pr-review.py:43-47. The hook automatically:

  • Instructs Claude to watch CI with gh pr checks
  • Prompts to fetch comments with gh pr view
  • Suggests addressing feedback and creating GitHub issues for deferred items

Recommendation: Either:

  • Remove the redundant preference (let the hook handle it), OR
  • Clarify that this preference reinforces the hook behavior, OR
  • Remove the hook if you prefer static preferences over dynamic hooks

3. Documentation updates needed

Since this adds a new global configuration file, consider updating:

  • Root CLAUDE.md (lines 93-100) - Add a section explaining that home/.claude/CLAUDE.md provides global preferences that apply to all Claude sessions, not just this repo
  • Test plan in PR description - The file is just CLAUDE.md, not .claude/CLAUDE.md, so the path in the test plan should be ~/.claude/CLAUDE.md

4. Bootstrap process

The file will be copied by rsync in bootstrap.sh:172-183, which is correct. No changes needed there, but worth documenting that this file is synced like other dotfiles.

🐛 Potential Issues

No bugs or security concerns identified.

🎯 Performance & Best Practices

  • Performance: N/A - static markdown file
  • File naming: Using CLAUDE.md (all caps) is consistent with the repo-level file
  • Content organization: Clear and well-structured

📝 Suggested Changes

 ## Workflow Preferences
 
-- For any implementation task with multiple phases or steps, prefer using the `/feature-dev` skill to guide the work.
+- For any implementation task with multiple phases or steps, prefer using the `/feature-dev` skill to guide the work. (Note: This skill must be installed separately via Claude Code skills marketplace)
 - After pushing a PR, watch CI status with `gh pr checks <PR#> --watch --interval 5`, then fetch review comments with `gh pr view <PR#> --comments`. Address all sensible feedback from the code review, and open GitHub issues for items that should be deferred.

OR simply remove the /feature-dev line if the skill isn't available.

Also consider adding to root CLAUDE.md:

 **Claude Code Hooks** (home/.claude/)
 - Hooks are merged into `~/.claude/settings.json` during bootstrap (requires `jq`)
 - `hooks.json` defines a PostToolUse hook that runs after Bash commands
 - `hooks/post-pr-review.py` triggers on `gh pr create` or `git push` commands:
   - Detects PR number from command output
   - Instructs Claude to watch CI and fetch review comments
   - Prompts to address feedback from automated code review
 - To disable: remove the hooks section from `~/.claude/settings.json`
+- `CLAUDE.md` provides global workflow preferences for all Claude Code sessions
+  - Preferences are applied when Claude loads configuration from `~/.claude/`
+  - These preferences supplement the repository-level `CLAUDE.md` at the project root

Summary

This is a well-structured addition with good intent. The main concerns are:

  1. Clarifying the /feature-dev skill availability
  2. Resolving the overlap between static preferences and the existing PR review hook
  3. Adding documentation to explain the global vs. repo-level configuration distinction

Overall: Approve with minor suggestions

Add documentation explaining that home/.claude/CLAUDE.md provides
global workflow preferences that apply to all Claude Code sessions,
supplementing repository-level CLAUDE.md files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@claude

claude Bot commented Dec 24, 2025

Copy link
Copy Markdown

Code Review: Global Claude Code Preferences

Summary

This PR adds global Claude Code workflow preferences via home/.claude/CLAUDE.md and documents the configuration. Overall, this is a clean, well-executed addition that enhances the Claude Code experience. The implementation is solid, but I have a few suggestions below.


✅ Strengths

  1. Clear Documentation: The CLAUDE.md documentation section is well-written and accurately describes the feature's purpose and relationship to repo-level CLAUDE.md files.

  2. Minimal Scope: The PR does exactly what it says - no feature creep or unnecessary changes.

  3. Consistent with Existing Patterns: Follows the same approach as hooks.json (synced during bootstrap).

  4. Good Workflow Guidance: The preferences in home/.claude/CLAUDE.md are sensible and actionable:

    • Using /feature-dev for multi-step tasks is a best practice
    • Watching CI and addressing PR feedback systematically is excellent
    • Creating GitHub issues for deferred work prevents things from being forgotten

🔍 Observations & Suggestions

1. Bootstrap Script Doesn't Handle CLAUDE.md Specially

The file home/.claude/CLAUDE.md is synced via the standard rsync in sync_dotfiles() (bootstrap.sh:175-183), which is fine. However, unlike hooks.json which has special merge logic (bootstrap.sh:141-170), CLAUDE.md will simply overwrite any existing ~/.claude/CLAUDE.md.

Consideration: If users customize their global CLAUDE.md, running bootstrap will silently overwrite it. This might be intentional (dotfiles are meant to be sync'd), but it's worth noting.

Suggestion: Consider one of these approaches:

  • Document in CLAUDE.md that users should edit the repo version, not ~/.claude/CLAUDE.md directly
  • Add a check similar to check_newer_local_files() to warn about local customizations
  • Add an ~/.claude/CLAUDE.extra.md pattern (similar to ~/.extra for zsh) that gets sourced but isn't tracked

2. Test Plan in PR Description

The test plan is good but incomplete. It should also verify:

  • ✅ Run ./bootstrap.sh and verify ~/.claude/CLAUDE.md is created
  • ✅ Start a new Claude Code session and verify preferences are loaded
  • Missing: Verify that preferences from both global CLAUDE.md and repo-level CLAUDE.md are both respected (test the "supplements" behavior)
  • Missing: Test that re-running bootstrap overwrites/updates the file as expected

3. Reference to /feature-dev Skill

Line 7 of home/.claude/CLAUDE.md references the /feature-dev skill. This assumes:

  • The skill exists and is available
  • Users understand what this skill does

Suggestion: Consider adding a brief parenthetical explanation or pointing to documentation about this skill for users who might not be familiar with it.

4. Minor: Wording Clarity

In home/.claude/CLAUDE.md:8, the instruction says:

"After pushing a PR, watch CI status... Address all sensible feedback..."

The word "sensible" is subjective. Consider more specific guidance like:

  • "Address all actionable feedback from the code review"
  • "Address feedback that improves code quality, security, or maintainability"

🐛 Potential Issues

None identified. The code is clean and bug-free.


⚡ Performance Considerations

No concerns. Adding one markdown file has negligible performance impact.


🔒 Security Concerns

No concerns. This is a documentation/configuration file with no executable code or sensitive data.


🧪 Test Coverage

Not applicable - this is a configuration file addition. However, you could add:

  • A simple shell script test that verifies ./bootstrap.sh creates ~/.claude/CLAUDE.md
  • A check that the file contains expected content

📝 Code Quality & Best Practices

Excellent. The changes follow the repository's conventions:

  • Documentation is thorough and consistent with the existing CLAUDE.md style
  • File placement follows the home/ directory structure
  • The rsync exclusion pattern for hooks.json is maintained

Verdict

LGTM with minor suggestions. This is a solid PR that I'd approve. The suggestions above are optional improvements, not blockers. The core implementation is clean and well-documented.

Recommended next steps:

  1. Consider adding documentation about editing global vs. repo CLAUDE.md files
  2. Optionally add a brief explanation of the /feature-dev skill
  3. Ship it! 🚀

@evansenter
evansenter merged commit 03748f9 into main Dec 24, 2025
1 check passed
@evansenter
evansenter deleted the feat/add-global-claude-preferences branch December 24, 2025 00:28
evansenter added a commit that referenced this pull request Jan 5, 2026
Documents the pattern we just demonstrated:
- Send help_needed with template prompt
- Receive help_response with fresh perspective
- Iterate 2-3 rounds until convergence
- Synthesis beats either session alone

Uses the rust-genai section refinement as concrete example:
typestate insight surfaced in R2, converged in R3.

Acknowledges limitation: only works for interactive sessions
(hook polls on prompt, not during tool loops).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
evansenter added a commit that referenced this pull request Jan 5, 2026
…ment story

- dotfiles: Reframe themes as architectural patterns
  - Commands as Workflow Specifications (not shortcuts)
  - Hook-Based Lifecycle Extension (context preservation)
  - Global Behavioral Dependency Injection (CLAUDE.md propagation)
  - Self-Improving Feedback Loop (mines own usage)
- Add meta-note explaining Repository Details generation process
- Expand Key Learning #8 with full refinement story and table
- Document what broke (SSE stream correction)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
evansenter added a commit that referenced this pull request Jan 6, 2026
…priorities

Major restructure:
- Move cross-session refinement methodology to 'The Experiment' section (was buried in Key Learnings)
- Add 'What to Build Next' section with prioritized improvements
- Simplify Key Learning #8 (now references methodology section)

Structure now: Thesis → Architecture → Experiment (methodology + stats) → Protocol → Learnings → What to Build → Frontier → Getting Started → Repository Details

Created issues for top priorities:
- session-analytics #54: Wire event-bus integration (P1)
- gemicro #231: Agent memory layer (P2)
- gemicro #232: Online evaluation hooks (P3)
- rust-genai #300: Wire format fuzzer (P4)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
evansenter added a commit that referenced this pull request Jan 6, 2026
Frame the surprising amount of context window management machinery:
- Hooks checkpoint/restore around compaction
- TodoWrite survives summarization
- Task subagents get isolated windows
- CLAUDE.md always injected
- Event bus cursors avoid re-injection
- Worktrees prevent context bleed

The 39% subagent token ratio isn't incidental—fresh windows are cheaper
than cramming everything into one context.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
evansenter added a commit that referenced this pull request Jan 6, 2026
* refactor: Rewrite user_guide.md as evidence-based case study

Restructure from sales pitch to documented experiment format:
- Add per-repo activity table (PRs, issues, LoC, +/- lines)
- Add session analytics with source citations
- Add cost analysis (£1K subscription vs $28K API equivalent)
- Add system architecture diagram showing data flow
- Reduce from 580 to 218 lines (62% reduction)

Update repo-stats.sh with --session-stats flag:
- Integrates session-analytics-cli for token/tool data
- Shows sessions, tool invocations, cache ratio
- Displays date range for data availability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Address PR feedback on user_guide and repo-stats

- Add clarifying note about Dec 30+ date range for cost data
- Widen session stats column (15→25 chars) for long sequences
- Change "Code" header to "LoC" for consistency
- Add --days flag to Source column commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Address 11 inline review comments on user guide

- Fix session logging wording (not retention, but when logging began)
- Add cost breakdown: Claude Max $200 + 2x quota + pay-as-you-go
- Move architecture diagram to top as headline
- Add control plane / data plane terminology
- Note running up to 15 parallel sessions
- Add event-bus state caching to context compaction mitigation
- Emphasize MCP push limitation significance for multi-agent
- Rewrite CLAUDE.md section as system-wide dependency injection
- Add dotfiles feature set section with commands, agents, hooks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Use MCP tools for PR comment fetching in pr-review workflow

Aligns with CLAUDE.md guidance: "Prefer MCP tools for structured data"
- mcp__github__get_pull_request_comments for inline code comments
- mcp__github__get_pull_request_reviews for review summaries
- Keep gh api for issue comments (no MCP equivalent)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add architectural learnings and expand frontier

Thesis:
- Reframe around workflow integration over code generation

Key Learnings:
- #6: Ownership over Skill (domain agents > capability agents)
- #7: Workflow Integration over Code Generation (the real value prop)

Frontier:
- Expand MCP section to cover learning propagation gap
- Add Constrained Self-Evolution (swarm controller, self-modifying DI)

Also: Update pr-review.md to use MCP tools for comment fetching

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Organize dotfiles capabilities by theme, not function

Replace Commands/Agents/Hooks/Infrastructure listing with thematic capabilities:
- Workflow Orchestration (issue→PR loop)
- Parallel Development (worktrees, event bus coordination)
- Context Continuity (compaction survival, WIP restoration)
- Self-Improvement (analytics-driven automation)
- Ambient Awareness (statusline, tmux integration)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Clarify self-evolution is partially implemented

dotfiles/ as swarm controller is real, but limited by:
- No push notifications (MCP)
- No dynamic reload (CC reads CLAUDE.md at start)

Workarounds: claude --continue, event bus "reload recommended"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Event bus is proper pub/sub, MCP is the blocker

The event bus architecture is sound—it's MCP's request/response
model that prevents push delivery, not the event bus design.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Expand self-improvement loop with event bus routing

Friction → issue → event bus routes to repo owner → free agent
(with human approval) picks up the work

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Clarify current state is unconstrained self-modification

No guardrails on scope, no automatic rollback, no approval thresholds.
Human approval is the only constraint—once approved, anything goes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: Clarify parallel session limits are human + API, not tooling

Tooling scales beyond 15—bottleneck is user context-switching
overhead and API rate limits.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add Repository Details for all 4 supporting repos

Add capability-themed documentation for:
- claude-event-bus (Coordinate): Session lifecycle, broadcast pub/sub, MCP+CLI parity, observable logging
- claude-session-analytics (Insight): Incremental ingestion, pattern detection, session intelligence, git correlation, raw signals
- gemicro (Agents): Streaming observability, agent composition, trajectory recording, tool permissions, event bus coordination
- rust-genai (SDK): Stateful conversations, flexible function calling, streaming with resume, Evergreen types, built-in tools

Each section follows the established format: role in parentheses, capability themes as bold headers with em-dashes, value prop before implementation details.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Incorporate rust-genai session's framing for SDK section

Updated based on cross-session feedback via event bus:
- Renamed "Evergreen Type System" → "Evergreen Soft-Typing"
- Consolidated "Flexible Function Calling" + "Built-In Tools" → "Unified Tool Ecosystem"
- Merged "Stateful Conversations" into "Multi-Turn State Management"
- Kept "Streaming with Resume" (unique insight not in their response)

This demonstrates the template working: same codebase, different sessions,
different but coherent capability themes that can be merged.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Final rust-genai section via 3-round cross-session iteration

Themes converged after 3 rounds of event bus feedback from rust-genai session:

R1: Evergreen, Unified Tools, Multi-Turn State
R2: +Compile-Time Safety, -Unified Tools, +Resumable Streaming
R3: Compile-Time Safety + Unified Tools + Evergreen + Resumable (converged)

Key insight surfaced: typestate pattern makes invalid API sequences
impossible to compile—deeper than "state management" framing.

Also: "docs sometimes lie" re ENUM_WIRE_FORMATS.md empirical testing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add Key Learning #8 - Cross-Session Refinement

Documents the pattern we just demonstrated:
- Send help_needed with template prompt
- Receive help_response with fresh perspective
- Iterate 2-3 rounds until convergence
- Synthesis beats either session alone

Uses the rust-genai section refinement as concrete example:
typestate insight surfaced in R2, converged in R3.

Acknowledges limitation: only works for interactive sessions
(hook polls on prompt, not during tool loops).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Replace gemicro section with owner-session's architectural insights

Cross-session refinement surfaced deeper patterns:

DROPPED (feature-level):
- Agent Composition, Trajectory Recording, Event Bus Coordination

ADDED (architectural):
- Generic Interceptor Semantics (single trait, decision tree)
- Orchestration Resource Budgets (semaphores, timeouts, depth)
- Agent-Owned Progress Reporting (streaming without introspection)

REFINED:
- Streaming Observability → Soft-Typed Event Extensibility
- Tool Permission Boundaries → ToolSet Permission Boundaries (inheritance!)

Role changed: (Agents) → (Owner) per Key Learning #6

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Add gemicro Round 2 insights - LLM-First Design theme

Round 2 follow-up clarified:
- Why Trajectory/EventBus dropped: "useful but not architecturally novel"
- Layering: rust-genai = LLM client, gemicro = agent patterns
- No Frontier solutions (MCP push, learning propagation)
- Evaluation is "feature not architecture"

Added:
- "LLM-First Design" theme: trust the model, thin wrappers, breaking changes ok
- Improved intro: "Agent patterns and tool orchestration on top of rust-genai"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Update event-bus section with owner-session insights

Cross-session refinement surfaced:

NEW theme:
- "Human-as-Router Coordination" - honest about MCP constraints, DMs notify human

REFRAMED:
- "Session Lifecycle" → "Cursor-Tracked Session Lifecycle" (cursor is the interesting part)
- Broadcast-First now includes trade-off acknowledgment (simplicity over scale)

DROPPED:
- "MCP + CLI Parity" - not architecturally novel, just good practice

Key insight: "Deliberately minimal—a coordination primitive, not a framework"

Honest Frontier assessment: MCP push NOT solved, learning propagation NOT addressed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Rename event-bus theme to Hook-Driven Semi-Realtime Updates

More accurately describes the automatic polling via prompt-events.sh hook
that injects <recent-events> on every prompt, rather than implying manual
human intervention for cross-session coordination.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Update session-analytics section and learning propagation insights

- session-analytics: Replace feature list with architectural themes from owner-session
  - Raw Signals Over Interpretation (RFC #17)
  - Guaranteed Drill-Down Paths (RFC #49)
  - Incremental Ingestion with Protected History
  - Agent-Aware Token Deduplication (RFC #41)
- Architecture diagram: Change 'SSE stream' to 'poll-based' (SSE is FastMCP internal)
- Learning propagation: Correct to 'latency gap, not absence'
- Add potential improvement: Wire event-bus + session-analytics together

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Update dotfiles section and strengthen cross-session refinement story

- dotfiles: Reframe themes as architectural patterns
  - Commands as Workflow Specifications (not shortcuts)
  - Hook-Based Lifecycle Extension (context preservation)
  - Global Behavioral Dependency Injection (CLAUDE.md propagation)
  - Self-Improving Feedback Loop (mines own usage)
- Add meta-note explaining Repository Details generation process
- Expand Key Learning #8 with full refinement story and table
- Document what broke (SSE stream correction)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Deep rewrite of dotfiles section after exploration

Themes now at same architectural depth as other repos:
- Session Lifecycle Inversion of Control (hooks as extension points)
- Discontinuity-Aware State Management (compaction as checkpoint/restore)
- Persistent Workflow Topology (commands as resumable state machines)
- Declared Behavioral Contracts (CLAUDE.md as runtime constraint spec)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Add Frontier gaps and Key Learning #9 from cross-session feedback

New Frontier sections from event-bus and session-analytics:
- Correlation Without Causation (analytics can't determine cause)
- Broadcast Scalability Ceiling (deliberately accepted for simplicity)

New Key Learning #9: Self-Play API Testing
- From session-analytics RFC #49 work
- Every aggregate should lead to source data

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add dotfiles to refinement table

Used explore agent to go deeper on own codebase, discovered
'Session Lifecycle IoC' framing (hooks as extension points).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add Frontier gaps from gemicro and rust-genai

New Frontier sections:
- External API Documentation Drift (Google docs sometimes wrong)
- Typestate Complexity Ceiling (combinatorial state explosion)
- Offline-Only Evaluation (no online agent quality measurement)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Restructure doc with methodology prominence and actionable priorities

Major restructure:
- Move cross-session refinement methodology to 'The Experiment' section (was buried in Key Learnings)
- Add 'What to Build Next' section with prioritized improvements
- Simplify Key Learning #8 (now references methodology section)

Structure now: Thesis → Architecture → Experiment (methodology + stats) → Protocol → Learnings → What to Build → Frontier → Getting Started → Repository Details

Created issues for top priorities:
- session-analytics #54: Wire event-bus integration (P1)
- gemicro #231: Agent memory layer (P2)
- gemicro #232: Online evaluation hooks (P3)
- rust-genai #300: Wire format fuzzer (P4)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Clarify agent model and separate runtime from projects

Key changes to user_guide.md:
- Add transparency that "agents" are Claude Code sessions, not gemicro
- Separate architecture into "Runtime System" (dotfiles, event-bus, analytics)
  and "Projects Under Development" (gemicro, rust-genai)
- Add future goal diagram showing gemicro agents replacing CC sessions
- Split repository activity table by category
- Update Repository Details headings to match hierarchy

Also includes:
- CLAUDE.md: Improve event handling guidance with explicit scan/respond pattern
- .exports: Disable statusline hyperlinks due to injection corruption (#172)
- statusline-command.sh: Various improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Takeaway section with key conclusions

- "The control plane is the product" - main thesis for agent researchers
- Summarize what didn't work (push workarounds, emerging analytics utility)
- Note session-analytics self-play: used it to analyze human's role
- Quantify human leverage: sparse checkpoint guidance shapes autonomous work
- Position for Google agent research audience

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Tighten case study with key insights

- Rename user_guide.md → case-study.md (matches content)
- Merge Key Learning #5 (dependency injection) into #6 (ownership)
- Cut Key Learning #7 (workflow integration) - covered in thesis/takeaway
- Cut 3 implementation-specific Frontier items (api drift, typestate, eval)
- Add "human in the loop is the design" to Takeaway
- Add ecosystem reframing: "A world of single agents is a swarm"
- Update cross-references for renumbered learnings

Net: -24 lines while adding higher-value insights for agent researchers.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add Key Learning #8 - Context Is Infrastructure

Frame the surprising amount of context window management machinery:
- Hooks checkpoint/restore around compaction
- TodoWrite survives summarization
- Task subagents get isolated windows
- CLAUDE.md always injected
- Event bus cursors avoid re-injection
- Worktrees prevent context bleed

The 39% subagent token ratio isn't incidental—fresh windows are cheaper
than cramming everything into one context.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Address Gemini feedback on case study

- Add "Operating the Swarm" section (human experience, failure mode)
- Add Concepts mapping table (generic terms for portability)
- Reorder Key Learnings: fundamentals first, then architecture, then tactics
- Trim gemicro/rust-genai sections (cut feature lists, keep insights)
- Remove "Getting Started" section
- Add "context compression is a black box" to what didn't work
- Rewrite "it's not X, it's Y" sentences to direct statements
- Update Thesis to emphasize ownership-based agents

Net: -16 lines while adding human experience section and concepts table.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Simplify Self-Play API Testing to focus on methodology

The key insight is the method (LLM uses its own API to find gaps),
not the specific "821 errors" example.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add repo links for all 5 repositories

Short linked descriptions for runtime system (dotfiles, event-bus,
analytics) and projects under development (gemicro, rust-genai).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Update push protocol to MCP or custom

No scaffolding found in gemicro - either MCP adds push support
or we build a custom protocol.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Move The Experiment section after Takeaway

Evidence/data becomes appendix-style - readers get insights first,
supporting data to validate after.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Consolidate thin Frontier items into Known Limits

Merged Rate Limiting and Broadcast Scalability into bullet list.
Dropped No Cross-Machine Coordination (not useful).
Removed redundant Two Blockers section.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Reduce repetition between intro and takeaway

- Intro: "Code generation isn't the bottleneck" (softer)
- Takeaway: "The control plane compounds" (conclusion from experiment)
- Trimmed What to Build Next to Priority 1 only
- Removed Further Reading section
- Consolidated thin Frontier items

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor: Reorder doc with Takeaway before Frontier

Sections now flow: Key Learnings → Takeaway → The Frontier → The Experiment → Repository Details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant