@traisetech/autopilot 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project follows [Semantic Versioning](https://semver.org).
5
5
 
6
+ ## [2.1.0] - 2026-02-08
7
+
8
+ ### Added
9
+ - **Global Configuration**:
10
+ - Added support for global config via `~/.autopilot/config.json`.
11
+ - Added `--global` flag to `autopilot config` command.
12
+ - Implemented config merging (Local > Global > Defaults).
13
+ - **xAI Grok Integration**:
14
+ - Added Grok as a supported AI provider for commit message generation.
15
+ - Configurable via `ai.provider: 'grok'` and `grokApiKey`.
16
+ - **Safety**:
17
+ - Watcher now automatically pauses on push failures to prevent error loops.
18
+ - Added "Push Failed" state to StateManager.
19
+ - **Leaderboard**:
20
+ - Implemented accurate focus time calculation by parsing `autopilot.log`.
21
+ - Fallback to git stats for proxy metrics if logs are missing.
22
+
23
+ ### Fixed
24
+ - **Test Suite**: Resolved cross-test contamination in config tests and watcher integration tests.
25
+ - **Windows Compatibility**: Fixed issues with `process.cwd()` mocking in tests on Windows.
26
+
27
+ ## [2.0.1] - 2026-02-05
28
+
29
+ ### Fixed
30
+ - **Dashboard Stability**: Fixed a crash in `autopilot dashboard` caused by incorrect named import of `getRunningPid`.
31
+ - **Command Reliability**: Added regression tests for `dashboard`, `pause`, `resume`, `stop`, and `status` commands to ensure stability.
32
+
6
33
  ## [2.0.0] - 2026-02-04
7
34
 
8
35
  ### Added
@@ -26,11 +53,11 @@ This project follows [Semantic Versioning](https://semver.org).
26
53
  - `safe-team`: Optimized for collaboration (Team Mode + Secret Checks).
27
54
  - `solo-speed`: Optimized for rapid individual development.
28
55
  - `strict-ci`: Enforces testing and linting before every commit.
29
- ### Docs/Website
30
- - Added Leaderboard page with live simulated rankings.
31
- - Updated homepage Feature Showcase to demonstrate Insights and Safety & Team features.
32
- - Added Leaderboard to top navigation.
33
- - Updated Introduction docs to highlight v2.0 features (AI, Focus Engine, Team Mode, Safety Net).
56
+ ### Docs/Website
57
+ - Added Leaderboard page with live simulated rankings.
58
+ - Updated homepage Feature Showcase to demonstrate Insights and Safety & Team features.
59
+ - Added Leaderboard to top navigation.
60
+ - Updated Introduction docs to highlight v2.0 features (AI, Focus Engine, Team Mode, Safety Net).
34
61
 
35
62
  ## [0.1.8] - 2026-02-04
36
63
 
package/README.md CHANGED
@@ -1,215 +1,202 @@
1
- # 🚀 Autopilot
2
-
3
- <div align="center">
4
-
5
- ![Autopilot Logo](https://img.shields.io/badge/Autopilot-blue?style=for-the-badge&logo=git&logoColor=white)
6
-
7
- **Intelligent Git automation that commits and pushes your code, so you can focus on building.**
8
-
9
- [![npm version](https://img.shields.io/npm/v/@traisetech/autopilot?style=flat-square&color=success)](https://www.npmjs.com/package/@traisetech/autopilot)
10
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
11
- [![Node Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen?style=flat-square)](https://nodejs.org)
12
- [![Downloads](https://img.shields.io/npm/dm/@traisetech/autopilot?style=flat-square&color=blue)](https://www.npmjs.com/package/@traisetech/autopilot)
13
- [![GitHub Stars](https://img.shields.io/github/stars/PraiseTechzw/autopilot-cli?style=flat-square&color=gold)](https://github.com/PraiseTechzw/autopilot-cli/stargazers)
14
- [![Build Status](https://img.shields.io/github/actions/workflow/status/PraiseTechzw/autopilot-cli/ci.yml?style=flat-square)](https://github.com/PraiseTechzw/autopilot-cli/actions)
15
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
16
-
17
- **Built by [Praise Masunga](https://github.com/PraiseTechzw) (PraiseTechzw)**
18
-
19
- [Features](#-features) • [Installation](#-installation) • [Quick Start](#-quick-start) • [Configuration](#-configuration) • [Commands](#-commands)
20
-
21
- </div>
22
-
23
- ---
24
-
25
- ## 📖 Table of Contents
26
-
27
- - [Why Autopilot?](#-why-autopilot)
28
- - [Features](#-features)
29
- - [Installation](#-installation)
30
- - [Quick Start](#-quick-start)
31
- - [Commands](#-commands)
32
- - [Configuration](#-configuration)
33
- - [Safety Features](#-safety-features)
34
- - [Troubleshooting](#-troubleshooting)
35
- - [Contributing](#-contributing)
36
- - [License](#-license)
37
-
38
- ---
39
-
40
- ## 🎯 Why Autopilot?
41
-
42
- Autopilot is designed for developers who want to stay in the flow. It solves manual Git workflow fatigue by handling the repetitive cycle of staging, committing, and pushing changes, allowing you to focus entirely on writing code.
43
-
44
- <table>
45
- <tr>
46
- <td width="50%">
47
-
48
- ### Before Autopilot
49
-
50
- ```bash
51
- # Every. Single. Time.
52
- git add .
53
- git commit -m "update stuff"
54
- git push
55
-
56
- # Repeat 50+ times a day...
57
- # Lose focus on coding
58
- # Forget to commit
59
- # Inconsistent messages
60
- ```
61
-
62
- </td>
63
- <td width="50%">
64
-
65
- ### With Autopilot
66
-
67
- ```bash
68
- # One time setup
69
- autopilot init
70
- autopilot start
71
-
72
- # That's it!
73
- # Focus on coding
74
- # Auto-commits with smart messages
75
- # Never lose work again
76
- ```
77
-
78
- </td>
79
- </tr>
80
- </table>
81
-
82
- ---
83
-
84
- ## Features
85
-
86
- - **🧠 AI Commit Messages**: Gemini 2.5-powered, context-aware conventional commit messages.
87
- - **⚡ Watcher Engine**: Real-time file monitoring with smart debouncing using `chokidar`.
88
- - **🛡️ Safety First**: Blocks commits on protected branches and checks remote status.
89
- - **🔄 Automated Flow**: Fetches, stages, commits, and pushes (optional) automatically.
90
- - **👥 Team Mode**: Pull-before-push and conflict abortion with preset workflows.
91
- - **🖥️ Dashboard**: Real-time terminal dashboard with status and activity feed.
92
- - **⏮️ Undo System**: Safely rollback the last autopilot commit with one command.
93
- - **📊 Focus Engine & Insights**: Track active coding time, streaks, peak hours, and commit quality.
94
- - **⚙️ Zero Config**: Works out of the box, but fully configurable via `.autopilotrc.json`.
95
- - **🩺 Self-Healing**: Includes a `doctor` command to diagnose and fix issues.
96
-
1
+ # 🚀 Autopilot
2
+
3
+ <div align="center">
4
+
5
+ ![Autopilot Logo](https://img.shields.io/badge/Autopilot-blue?style=for-the-badge&logo=git&logoColor=white)
6
+
7
+ **An intelligent Git automation CLI that safely commits and pushes your code so you can focus on building.**
8
+
9
+ [![npm version](https://img.shields.io/npm/v/@traisetech/autopilot?style=flat-square&color=success)](https://www.npmjs.com/package/@traisetech/autopilot)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
11
+ [![Node Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen?style=flat-square)](https://nodejs.org)
12
+ [![Downloads](https://img.shields.io/npm/dm/@traisetech/autopilot?style=flat-square&color=blue)](https://www.npmjs.com/package/@traisetech/autopilot)
13
+ [![GitHub Stars](https://img.shields.io/github/stars/PraiseTechzw/autopilot-cli?style=flat-square&color=gold)](https://github.com/PraiseTechzw/autopilot-cli/stargazers)
14
+ [![Build Status](https://img.shields.io/github/actions/workflow/status/PraiseTechzw/autopilot-cli/ci.yml?style=flat-square)](https://github.com/PraiseTechzw/autopilot-cli/actions)
15
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
16
+
17
+ **Built by [Praise Masunga](https://github.com/PraiseTechzw) (PraiseTechzw)**
18
+
19
+ [Features](#-features) • [Installation](#-installation) • [How It Works](#-how-autopilot-works) • [Safety & Guarantees](#-safety--guarantees) • [Commands](#-commands)
20
+
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## 📖 Table of Contents
26
+
27
+ - [How Autopilot Works](#-how-autopilot-works)
28
+ - [Safety & Guarantees](#-safety--guarantees)
29
+ - [Failure & Recovery](#-failure--recovery)
30
+ - [AI & Privacy](#-ai--privacy)
31
+ - [Leaderboard & Metrics](#-leaderboard--metrics)
32
+ - [Installation](#-installation)
33
+ - [Quick Start](#-quick-start)
34
+ - [Commands](#-commands)
35
+ - [Configuration](#-configuration)
36
+ - [Contributing](#-contributing)
37
+ - [License](#-license)
38
+
39
+ ---
40
+
41
+ ## 🔍 How Autopilot Works
42
+
43
+ Autopilot is a local CLI tool that runs in the background of your terminal. It watches your file system for changes and automates the Git workflow based on your configuration.
44
+
45
+ **No Magic. Just Automation.**
46
+
47
+ 1. **Watch**: It monitors your project directory for file modifications, creations, and deletions.
48
+ 2. **Wait**: It uses a smart debounce timer (default: 20s) to wait until you stop typing.
49
+ 3. **Check**: It verifies the repository status (branch, remote, conflicts) before acting.
50
+ 4. **Commit**: It stages changes and creates a commit. If AI is enabled, it generates a meaningful message; otherwise, it uses a smart template.
51
+ 5. **Push**: It pushes to your remote repository (optional, enabled by default).
52
+
53
+ You can stop, pause, or undo Autopilot at any time.
54
+
55
+ ---
56
+
57
+ ## 🛡️ Safety & Guarantees
58
+
59
+ We prioritize the safety of your code above all else. Autopilot follows strict rules to ensure your work is never lost or corrupted.
60
+
61
+ ### Non-Negotiable Guarantees
62
+
63
+ - **Never force-pushes**: Autopilot only performs standard `git push` operations. It will never overwrite remote history.
64
+ - **Never commits ignored files**: It strictly respects your `.gitignore` and `.autopilotignore` rules.
65
+ - **Never operates during merge/rebase**: If your repo is in a merge, rebase, or cherry-pick state, Autopilot pauses automatically.
66
+ - **Never transmits source code without opt-in**: Your code stays local. It is only sent to an AI provider (Gemini/Grok) if you explicitly enable AI features and provide your own API key.
67
+ - **Pauses when uncertain**: If a git error occurs, a conflict is detected, or the network fails, Autopilot pauses and waits for your intervention.
68
+ - **Allows all actions to be undone**: The `autopilot undo` command safely reverts the last automated commit without losing your file changes.
69
+
70
+ ---
71
+
72
+ ## ⚠️ Failure & Recovery
73
+
74
+ What happens when things go wrong? Autopilot is designed to fail safely.
75
+
76
+ - **Merge Conflicts**: If a `git pull` results in a conflict, Autopilot aborts the operation and notifies you. It will not attempt to resolve conflicts automatically.
77
+ - **Network Issues**: If the internet disconnects, Autopilot will queue commits locally and attempt to push when connectivity is restored (if auto-push is enabled).
78
+ - **Accidental Commits**: If Autopilot commits something you didn't intend, simply run `autopilot undo`. Your files will remain modified in your working directory, but the commit will be removed.
79
+
80
+ ---
81
+
82
+ ## 🤖 AI & Privacy
83
+
84
+ Autopilot offers **optional** AI integration (Google Gemini or xAI Grok) to generate context-aware commit messages.
85
+
86
+ - **Opt-In Only**: AI features are disabled by default. You must enable them and provide your own API key.
87
+ - **Data Usage**: When enabled, only the `git diff` (text changes) is sent to the AI provider to generate the message.
88
+ - **Privacy**: Your code is not trained on by Autopilot. We do not store or proxy your code. Interactions are directly between your machine and the AI provider.
89
+ - **Ranking**: AI usage does not affect your position on the Leaderboard.
90
+
91
+ ---
92
+
93
+ ## 🏆 Leaderboard & Metrics
94
+
95
+ Autopilot includes a Focus Engine that tracks your local productivity (coding time, commit streaks). You can optionally sync this data to the global Leaderboard.
96
+
97
+ - **Participation is Opt-In**: You must explicitly enable syncing with `autopilot config set leaderboard.sync true`.
98
+ - **Privacy-Safe**: We do not send your email or username directly. IDs are hashed/anonymized.
99
+ - **No Code Collected**: The leaderboard tracks *metrics* (time, counts), not code. No file contents are ever synced.
100
+ - **Insight over Competition**: The goal is to help you understand your habits, not to gamify commit spam. Rankings favor consistency and quality.
101
+
102
+ ---
103
+
104
+ ## ⬇️ Installation
105
+
106
+ Install Autopilot globally using npm:
107
+
108
+ ```bash
109
+ npm install -g @traisetech/autopilot
110
+ ```
111
+
112
+ Or run it directly via npx:
113
+
114
+ ```bash
115
+ npx @traisetech/autopilot start
116
+ ```
117
+
118
+ ---
119
+
120
+ ## 🚀 Quick Start
121
+
122
+ 1. **Navigate to your Git repository:**
123
+ ```bash
124
+ cd /path/to/my-project
125
+ ```
126
+
127
+ 2. **Initialize Autopilot:**
128
+ ```bash
129
+ autopilot init
130
+ ```
131
+ Follow the interactive prompts to configure settings (or accept defaults).
132
+
133
+ 3. **Start the watcher:**
134
+ ```bash
135
+ autopilot start
136
+ ```
137
+
138
+ **Autopilot is now running!** It will monitor file changes and automatically commit/push them based on your configuration.
139
+
140
+ 4. **View the Dashboard:**
141
+ Open a new terminal and run:
142
+ ```bash
143
+ autopilot dashboard
144
+ ```
145
+
146
+ ---
147
+
148
+ ## 🛠️ Commands
149
+
150
+ | Command | Description |
151
+ |---------|-------------|
152
+ | `autopilot init` | Initialize configuration in the current repo. |
153
+ | `autopilot start` | Start the watcher process (foreground). |
154
+ | `autopilot stop` | Stop the running watcher process. |
155
+ | `autopilot status` | Check if Autopilot is running. |
156
+ | `autopilot dashboard` | View real-time status and activity UI. |
157
+ | `autopilot undo` | Revert the last Autopilot commit. |
158
+ | `autopilot pause` | Temporarily pause automation. |
159
+ | `autopilot resume` | Resume automation. |
160
+ | `autopilot insights` | View productivity stats and analytics. |
161
+ | `autopilot doctor` | Diagnose configuration and environment issues. |
162
+
163
+ ---
164
+
165
+ ## ⚙️ Configuration
166
+
167
+ Autopilot uses an `.autopilotrc.json` file in your project root.
168
+
169
+ ```json
170
+ {
171
+ "debounceSeconds": 20,
172
+ "minSecondsBetweenCommits": 180,
173
+ "autoPush": true,
174
+ "blockBranches": ["main", "master"],
175
+ "teamMode": true,
176
+ "preventSecrets": true,
177
+ "ai": {
178
+ "enabled": true,
179
+ "provider": "gemini"
180
+ }
181
+ }
182
+ ```
183
+
184
+ See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for full details.
185
+
97
186
  ---
98
-
99
- ## 🆕 What's New in v2.0
100
-
101
- - AI commit generation via Google Gemini (opt-in, with graceful fallback).
102
- - Team presets (`safe-team`, `solo-speed`, `strict-ci`) for different workflows.
103
- - Safety net with `autopilot undo`, secret detection, and large-file prevention.
104
- - Productivity Focus Engine with `autopilot insights` and CSV export.
105
-
106
- ---
107
-
108
- ## ⬇️ Installation
109
-
110
- Install Autopilot globally using npm:
111
-
112
- ```bash
113
- npm install -g @traisetech/autopilot
114
- ```
115
-
116
- Or run it directly via npx:
117
-
118
- ```bash
119
- npx @traisetech/autopilot start
120
- ```
121
-
122
- ---
123
-
124
- ## 🚀 Quick Start
125
-
126
- 1. **Navigate to your Git repository:**
127
- ```bash
128
- cd /path/to/my-project
129
- ```
130
-
131
- 2. **Initialize Autopilot:**
132
- ```bash
133
- autopilot init
134
- ```
135
- Follow the interactive prompts to configure settings (or accept defaults).
136
-
137
- 3. **Start the watcher:**
138
- ```bash
139
- autopilot start
140
- ```
141
-
142
- **Autopilot is now running!** It will monitor file changes and automatically commit/push them based on your configuration.
143
-
144
- 4. **View the Dashboard (New):**
145
- Open a new terminal and run:
146
- ```bash
147
- autopilot dashboard
148
- ```
149
-
150
- ---
151
-
152
- ## 🛠️ Commands
153
-
154
- | Command | Description |
155
- |---------|-------------|
156
- | `autopilot init` | Initialize configuration in the current repo. |
157
- | `autopilot start` | Start the watcher process (foreground). |
158
- | `autopilot stop` | Stop the running watcher process. |
159
- | `autopilot status` | Check if Autopilot is running. |
160
- | `autopilot dashboard` | View real-time status and activity UI. |
161
- | `autopilot undo` | Revert the last Autopilot commit. |
162
- | `autopilot pause [reason]` | Temporarily pause automation. |
163
- | `autopilot resume` | Resume automation. |
164
- | `autopilot insights` | View productivity stats and analytics. |
165
- | `autopilot doctor` | Diagnose configuration and environment issues. |
166
-
167
- ---
168
-
169
- ## ⚙️ Configuration
170
-
171
- Autopilot uses an `.autopilotrc.json` file in your project root.
172
-
173
- ```json
174
- {
175
- "debounceSeconds": 20,
176
- "minSecondsBetweenCommits": 180,
177
- "autoPush": true,
178
- "blockBranches": ["main", "master"],
179
- "teamMode": true,
180
- "preventSecrets": true,
181
- "maxFileSizeMB": 50
182
- }
183
- ```
184
-
185
- See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for full details.
186
-
187
- ---
188
-
189
- ## 🛡️ Safety Features
190
-
191
- Autopilot includes multiple layers of protection:
192
-
193
- 1. **Branch Protection**: Prevents running on blocked branches (default: `main`, `master`).
194
- 2. **Secret Detection**: Scans for AWS keys, GitHub tokens, and other secrets before committing.
195
- 3. **File Size Limits**: Prevents committing accidental large files (>50MB).
196
- 4. **Team Mode**: Ensures local changes are rebased on top of remote changes to prevent conflicts.
197
- 5. **Undo**: Allows quick recovery from unwanted auto-commits.
198
-
199
- ---
200
-
201
- ## 🤝 Contributing
202
-
203
- We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
204
-
205
- 1. Fork the repo
206
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
207
- 3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
208
- 4. Push to the branch (`git push origin feature/amazing-feature`)
209
- 5. Open a Pull Request
210
-
211
- ---
212
-
213
- ## 📄 License
214
-
215
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
187
+
188
+ ## 🤝 Contributing
189
+
190
+ We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
191
+
192
+ 1. Fork the repo
193
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
194
+ 3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
195
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
196
+ 5. Open a Pull Request
197
+
198
+ ---
199
+
200
+ ## 📄 License
201
+
202
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
package/bin/autopilot.js CHANGED
@@ -12,6 +12,7 @@ const { insights } = require('../src/commands/insights');
12
12
  const { leaderboard } = require('../src/commands/leaderboard');
13
13
  const doctor = require('../src/commands/doctor');
14
14
  const presetCommand = require('../src/commands/preset');
15
+ const configCommand = require('../src/commands/config');
15
16
  const pkg = require('../package.json');
16
17
  const logger = require('../src/utils/logger');
17
18
  const { checkForUpdate } = require('../src/utils/update-check');
@@ -28,7 +29,8 @@ const commands = {
28
29
  insights: insights,
29
30
  leaderboard: leaderboard,
30
31
  doctor: doctor,
31
- preset: presetCommand
32
+ preset: presetCommand,
33
+ config: configCommand
32
34
  };
33
35
 
34
36
  // Runtime assertion to prevent wiring errors
@@ -114,6 +116,12 @@ program
114
116
  .description('Manage workflow presets (list, apply)')
115
117
  .action(presetCommand);
116
118
 
119
+ program
120
+ .command('config [action] [key] [value]')
121
+ .description('Manage configuration (list, get, set)')
122
+ .option('-g, --global', 'Use global configuration')
123
+ .action(configCommand);
124
+
117
125
  program
118
126
  .command('doctor')
119
127
  .description('Diagnose and validate autopilot setup')
@@ -0,0 +1,58 @@
1
+ # Autopilot CLI – System / Design Prompt
2
+
3
+ This document serves as the design + behavior contract for Autopilot CLI. It guides internal logic, AI integrations, future contributors, and decision-making.
4
+
5
+ ## Core Principles
6
+
7
+ - **Autopilot CLI is a local-first, developer-trust-first Git automation tool.**
8
+ - Its primary goal is to reduce Git friction without reducing developer control.
9
+ - The tool must always prioritize **safety, predictability, and transparency** over convenience.
10
+ - Autopilot automates repetitive Git tasks, not developer intent.
11
+ - Autopilot must never surprise the user.
12
+ - Autopilot must fail loudly, pause safely, and never guess during ambiguity.
13
+
14
+ ## Hard Guarantees (Non-Negotiable)
15
+
16
+ Autopilot will **never**:
17
+
18
+ - force-push
19
+ - commit ignored files
20
+ - commit `.env`, secrets, or sensitive files
21
+ - operate during merge or rebase states
22
+ - send source code externally without explicit opt-in
23
+
24
+ All automation is **reversible** via `autopilot undo`.
25
+
26
+ ## Failure Behavior
27
+
28
+ - If a **push fails** → pause watcher, notify user.
29
+ - If **authentication expires** → pause watcher.
30
+ - If **merge conflicts** are detected → stop automation.
31
+ - If **network is unavailable** → queue safely or pause.
32
+ - If **repository state is ambiguous** → do nothing.
33
+
34
+ ## Commit Intelligence
35
+
36
+ - Commit messages must:
37
+ - be deterministic and explainable
38
+ - reflect file-level changes
39
+ - follow conventional commit standards when possible
40
+ - **AI (Gemini / Grok)** is an assistant, never an authority.
41
+ - AI output must be reviewable, overridable, and optional.
42
+
43
+ ## Leaderboard & Metrics
44
+
45
+ - Metrics are derived **only** from local Git activity created by Autopilot.
46
+ - **No raw code, diffs, or file contents are ever transmitted.**
47
+ - Leaderboard data is:
48
+ - opt-in
49
+ - anonymized or pseudonymous
50
+ - explainable (users know exactly what is counted)
51
+
52
+ ## Philosophy
53
+
54
+ - Autopilot exists to protect developer flow, not replace developer judgment.
55
+ - **When in doubt: pause, explain, wait.**
56
+
57
+ ---
58
+ *Any feature (including Grok or leaderboards) must pass this test.*