init repo

This commit is contained in:
sanbuphy
2026-04-01 18:41:21 +08:00
commit e0921a8ead
24 changed files with 3887 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
# Hidden Features & Model Codenames
> Based on publicly available online references and community discussions on Claude Code v2.1.88.
## Model Codename System
Anthropic uses **animal names** as internal model codenames. These are aggressively protected from leaking into external builds.
### Known Codenames
| Codename | Role | Evidence |
|----------|------|----------|
| **Tengu** (天狗) | Product/telemetry prefix, possibly a model | Used as `tengu_*` prefix for all 250+ analytics events and feature flags |
| **Capybara** | Sonnet-series model, currently at v8 | `capybara-v2-fast[1m]`, prompt patches for v8 behavior issues |
| **Fennec** (耳廓狐) | Predecessor to Opus 4.6 | Migration: `fennec-latest``opus` |
| **Numbat** (袋食蚁兽) | Next model launch | Comment: "Remove this section when we launch numbat" |
### Codename Protection
The `undercover` mode explicitly lists protected codenames:
```typescript
// src/utils/undercover.ts:48-49
NEVER include in commit messages or PR descriptions:
- Internal model codenames (animal names like Capybara, Tengu, etc.)
- Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8)
```
The build system uses `scripts/excluded-strings.txt` to scan for leaked codenames. Buddy system species are encoded via `String.fromCharCode()` to avoid triggering the canary:
```typescript
// src/buddy/types.ts:10-13
// One species name collides with a model-codename canary in excluded-strings.txt.
// The check greps build output (not source), so runtime-constructing the value keeps
// the literal out of the bundle while the check stays armed for the actual codename.
```
That colliding species is **capybara** — both a pet species and a model codename.
### Capybara Behavior Issues (v8)
The architecture reveals specific behavioral problems with Capybara v8:
1. **Stop sequence false trigger** (~10% rate when `<functions>` at prompt tail)
- Source: `src/utils/messages.ts:2141`
2. **Empty tool_result causes zero output**
- Source: `src/utils/toolResultStorage.ts:281`
3. **Over-commenting** — requires dedicated anti-comment prompt patches
- Source: `src/constants/prompts.ts:204`
4. **High false-claims rate**: v8 has 29-30% FC rate vs v4's 16.7%
- Source: `src/constants/prompts.ts:237`
5. **Insufficient verification** — requires "thoroughness counterweight"
- Source: `src/constants/prompts.ts:210`
## Feature Flag Naming Convention
All feature flags use the `tengu_` prefix with **random word pairs** to obscure their purpose:
| Flag | Purpose |
|------|---------|
| `tengu_onyx_plover` | Auto Dream (background memory consolidation) |
| `tengu_coral_fern` | memdir feature |
| `tengu_moth_copse` | Another memdir switch |
| `tengu_herring_clock` | Team memory |
| `tengu_passport_quail` | Path feature |
| `tengu_slate_thimble` | Another memdir switch |
| `tengu_sedge_lantern` | Away Summary |
| `tengu_frond_boric` | Analytics kill switch |
| `tengu_amber_quartz_disabled` | Voice mode kill switch |
| `tengu_amber_flint` | Agent teams |
| `tengu_hive_evidence` | Verification agent |
The random word pattern (adjective/material + nature/object) prevents external observers from inferring feature purpose from flag names alone.
## Internal vs External User Difference
Anthropic employees (`USER_TYPE === 'ant'`) receive significantly better treatment:
### Prompt Differences (`src/constants/prompts.ts`)
| Dimension | External Users | Internal (ant) |
|-----------|---------------|----------------|
| Output style | "Be extra concise" | "Err on the side of more explanation" |
| False-claims mitigation | None | Dedicated Capybara v8 patches |
| Numeric length anchors | None | "≤25 words between tools, ≤100 words final" |
| Verification agent | None | Required for non-trivial changes |
| Comment guidance | Generic | Dedicated anti-over-commenting prompt |
| Proactive correction | None | "If user has misconception, say so" |
### Tool Access
Internal users have access to tools not available externally:
- `REPLTool` — REPL mode
- `SuggestBackgroundPRTool` — background PR suggestions
- `TungstenTool` — performance monitoring panel
- `VerifyPlanExecutionTool` — plan verification
- Agent nesting (agents spawning agents)
## Hidden Commands
| Command | Status | Description |
|---------|--------|-------------|
| `/btw` | Active | Ask side questions without interrupting |
| `/stickers` | Active | Order Claude Code stickers (opens browser) |
| `/thinkback` | Active | 2025 Year in Review |
| `/effort` | Active | Set model effort level |
| `/good-claude` | Stub | Hidden placeholder |
| `/bughunter` | Stub | Hidden placeholder |