@whykusanagi/corrupted-theme 0.1.3 → 0.1.5
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 +45 -7
- package/README.md +79 -15
- package/docs/governance/DESIGN_SYSTEM_GOVERNANCE.md +2 -2
- package/docs/governance/VERSION_REFERENCES.md +25 -25
- package/docs/platforms/NPM_PACKAGE.md +6 -6
- package/examples/advanced/nsfw-corruption.html +348 -0
- package/examples/basic/corrupted-text.html +254 -0
- package/examples/basic/typing-animation.html +344 -0
- package/examples/button.html +2 -2
- package/examples/card.html +2 -2
- package/examples/extensions-showcase.html +1 -1
- package/examples/form.html +2 -2
- package/examples/index.html +31 -5
- package/examples/layout.html +2 -2
- package/examples/nikke-team-builder.html +3 -3
- package/examples/showcase-complete.html +9 -9
- package/examples/showcase.html +3 -3
- package/package.json +13 -2
- package/src/core/corrupted-text.js +280 -0
- package/src/core/corruption-phrases.js +285 -0
- package/src/core/typing-animation.js +390 -0
- package/docs/CAPABILITIES.md +0 -209
- package/docs/FUTURE_WORK.md +0 -189
- package/docs/IMPLEMENTATION_VALIDATION.md +0 -401
- package/docs/LLM_PROVIDERS.md +0 -345
- package/docs/PERSONALITY.md +0 -128
- package/docs/ROUTING.md +0 -324
- package/docs/platforms/CLI_IMPLEMENTATION.md +0 -1025
package/docs/FUTURE_WORK.md
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
# Future Work & TODO List
|
|
2
|
-
|
|
3
|
-
This document tracks planned features, incomplete integrations, and improvement opportunities for CelesteCLI.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 📋 Priority 1: Code Cleanup (Immediate)
|
|
8
|
-
|
|
9
|
-
### ✅ COMPLETED
|
|
10
|
-
- [x] Remove dead files: `scaffolding.go`, `ui.go`, `animation.go` (-911 lines)
|
|
11
|
-
- [x] Fix mermaid diagrams in README
|
|
12
|
-
- [x] Fix image display size
|
|
13
|
-
|
|
14
|
-
### 🔄 IN PROGRESS
|
|
15
|
-
- [ ] Remove unused functions:
|
|
16
|
-
- [ ] `ListProviders()` in `providers/registry.go` (line 158)
|
|
17
|
-
- [ ] `GetToolCallingProviders()` in `providers/registry.go` (line 167)
|
|
18
|
-
- [ ] `DeleteSkill()` in `skills/registry.go` (line 184)
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 🔌 Priority 2: Provider Integrations
|
|
23
|
-
|
|
24
|
-
### Tier 1: Limited Support (Short-term)
|
|
25
|
-
|
|
26
|
-
#### DigitalOcean Gradient
|
|
27
|
-
- **Status**: LIMITED - Function calling disabled
|
|
28
|
-
- **Issue**: Agent API requires cloud-hosted functions, not local execution
|
|
29
|
-
- **Location**: `providers/registry.go` lines 120-130
|
|
30
|
-
- **Tasks**:
|
|
31
|
-
- [ ] Update documentation to clarify limitations
|
|
32
|
-
- [ ] Add provider notes to README
|
|
33
|
-
- [ ] Consider removing if not actively used
|
|
34
|
-
|
|
35
|
-
#### ElevenLabs
|
|
36
|
-
- **Status**: UNTESTED - Voice AI focused
|
|
37
|
-
- **Issue**: Function calling support unknown
|
|
38
|
-
- **Location**: `providers/registry.go` lines 132-142
|
|
39
|
-
- **Tasks**:
|
|
40
|
-
- [ ] Test with real API key
|
|
41
|
-
- [ ] Document function calling capability
|
|
42
|
-
- [ ] Update registry or remove if unsupported
|
|
43
|
-
|
|
44
|
-
#### Anthropic Claude (OpenAI Compatibility)
|
|
45
|
-
- **Status**: TESTING - Uses OpenAI SDK compatibility layer
|
|
46
|
-
- **Issue**: Native API differs, not fully tested
|
|
47
|
-
- **Location**: `providers/registry.go` lines 70-80
|
|
48
|
-
- **Note**: "OpenAI SDK compatibility is for testing only. Native API recommended."
|
|
49
|
-
- **Tasks**:
|
|
50
|
-
- [ ] Implement native Anthropic API support
|
|
51
|
-
- [ ] Test tool calling with Messages API
|
|
52
|
-
- [ ] Document as experimental until native support added
|
|
53
|
-
|
|
54
|
-
### Tier 2: Enterprise Providers (Long-term)
|
|
55
|
-
|
|
56
|
-
#### AWS Bedrock
|
|
57
|
-
- **Status**: NOT IMPLEMENTED
|
|
58
|
-
- **Complexity**: Requires AWS SDK, IAM roles, region configuration
|
|
59
|
-
- **Use Case**: Enterprise customers with existing AWS infrastructure
|
|
60
|
-
- **Tasks**:
|
|
61
|
-
- [ ] Evaluate user demand
|
|
62
|
-
- [ ] Research Bedrock function calling capabilities
|
|
63
|
-
- [ ] Implement if enterprise users request
|
|
64
|
-
|
|
65
|
-
#### Azure OpenAI
|
|
66
|
-
- **Status**: NOT IMPLEMENTED
|
|
67
|
-
- **Complexity**: Different auth model (Azure AD), enterprise-focused
|
|
68
|
-
- **Use Case**: Enterprise customers with Azure subscriptions
|
|
69
|
-
- **Tasks**:
|
|
70
|
-
- [ ] Evaluate user demand
|
|
71
|
-
- [ ] Research Azure OpenAI API differences
|
|
72
|
-
- [ ] Implement if enterprise users request
|
|
73
|
-
|
|
74
|
-
#### GCP Model Garden
|
|
75
|
-
- **Status**: NOT NEEDED - Vertex AI covers Google's offerings
|
|
76
|
-
- **Note**: Redundant with existing Gemini/Vertex support
|
|
77
|
-
- **Decision**: DO NOT IMPLEMENT
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## ✨ Priority 3: Feature Enhancements
|
|
82
|
-
|
|
83
|
-
### CLI Commands
|
|
84
|
-
|
|
85
|
-
#### `/providers` Command
|
|
86
|
-
- **Purpose**: List available providers and their capabilities
|
|
87
|
-
- **Would enable**: `ListProviders()` and `GetToolCallingProviders()` functions
|
|
88
|
-
- **Tasks**:
|
|
89
|
-
- [ ] Add `/providers list` - Show all providers
|
|
90
|
-
- [ ] Add `/providers list --tools` - Show only tool-capable providers
|
|
91
|
-
- [ ] Add `/providers info <name>` - Show provider details
|
|
92
|
-
- [ ] Update commands/commands.go with new handlers
|
|
93
|
-
|
|
94
|
-
#### Model Step Validation (Venice.ai)
|
|
95
|
-
- **Purpose**: Enforce model-specific step limits for image generation
|
|
96
|
-
- **Issue**: Some models have lower limits (e.g., wai-Illustrious max is 30)
|
|
97
|
-
- **Location**: `venice/media.go` line 70
|
|
98
|
-
- **Tasks**:
|
|
99
|
-
- [ ] Create model capabilities map
|
|
100
|
-
- [ ] Add validation in `GenerateImage()`
|
|
101
|
-
- [ ] Return clear error messages for invalid steps
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## 🧪 Priority 4: Testing & Quality
|
|
106
|
-
|
|
107
|
-
### Provider Testing
|
|
108
|
-
- [ ] Create integration test suite for all providers
|
|
109
|
-
- [ ] Add mock server for offline testing
|
|
110
|
-
- [ ] Test function calling on all supported providers
|
|
111
|
-
- [ ] Document which models support parallel function calling
|
|
112
|
-
|
|
113
|
-
### Code Coverage
|
|
114
|
-
- [ ] Increase test coverage above 40% threshold
|
|
115
|
-
- [ ] Add unit tests for skills package
|
|
116
|
-
- [ ] Add integration tests for TUI interactions
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## 📚 Priority 5: Documentation
|
|
121
|
-
|
|
122
|
-
### Provider Documentation
|
|
123
|
-
- [ ] Create `docs/PROVIDERS.md` with detailed provider comparison
|
|
124
|
-
- [ ] Document setup instructions for each provider
|
|
125
|
-
- [ ] Add troubleshooting guides for common provider issues
|
|
126
|
-
- [ ] Update README with provider limitations
|
|
127
|
-
|
|
128
|
-
### Architecture Documentation
|
|
129
|
-
- [ ] Create detailed function call flow diagram
|
|
130
|
-
- [ ] Document TUI component lifecycle
|
|
131
|
-
- [ ] Add contribution guide for new skills
|
|
132
|
-
- [ ] Document provider integration requirements
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## 🔍 Functions to Monitor (Keep for Now)
|
|
137
|
-
|
|
138
|
-
These functions are currently unused but may be useful for future features:
|
|
139
|
-
|
|
140
|
-
- `HasHandler()` in `skills/registry.go` - Useful for debugging/validation
|
|
141
|
-
- `Count()` in `skills/registry.go` - Useful for stats/metrics
|
|
142
|
-
- `GetBestToolModel()` in `providers/models.go` - Useful for auto-selection
|
|
143
|
-
|
|
144
|
-
**Decision**: Keep these small utility functions until clear they won't be needed.
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## 📊 Codebase Statistics
|
|
149
|
-
|
|
150
|
-
### Current State
|
|
151
|
-
- **Total Go files**: 21 active (24 original - 3 removed)
|
|
152
|
-
- **Lines of code**: ~6,500 (after removing 911 lines of dead code)
|
|
153
|
-
- **Active skills**: 18 built-in + user-defined
|
|
154
|
-
- **Supported providers**: 9 (3 fully tested, 6 experimental/limited)
|
|
155
|
-
|
|
156
|
-
### Post-Cleanup Goals
|
|
157
|
-
- **Target test coverage**: 60%+
|
|
158
|
-
- **Target providers fully tested**: 5+ (add Gemini, Anthropic)
|
|
159
|
-
- **Documentation completeness**: 90%+
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## 🚀 How to Contribute
|
|
164
|
-
|
|
165
|
-
When working on items from this list:
|
|
166
|
-
|
|
167
|
-
1. **Check Status**: Ensure item isn't already in progress
|
|
168
|
-
2. **Create Issue**: Reference this TODO item
|
|
169
|
-
3. **Branch**: Use `feature/provider-xyz` or `fix/cleanup-xyz`
|
|
170
|
-
4. **Test**: Add tests for new providers/features
|
|
171
|
-
5. **Document**: Update relevant docs and this file
|
|
172
|
-
6. **PR**: Reference TODO item in PR description
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## 📝 Notes
|
|
177
|
-
|
|
178
|
-
- This document is maintained as part of the codebase cleanup initiative
|
|
179
|
-
- Dead code audit performed: 2025-12-06
|
|
180
|
-
- Last updated: 2025-12-06
|
|
181
|
-
- See `CLAUDE.md` for development guidelines
|
|
182
|
-
- See `ROADMAP.md` for strategic direction
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
**Legend**:
|
|
187
|
-
- ✅ COMPLETED - Task finished
|
|
188
|
-
- 🔄 IN PROGRESS - Currently being worked on
|
|
189
|
-
- [ ] TODO - Not started yet
|
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
# Celeste CLI - Implementation Validation Report
|
|
2
|
-
|
|
3
|
-
**Date**: 2025-12-12
|
|
4
|
-
**Status**: ✅ **FULLY COMPLIANT** with translation-failure aesthetic
|
|
5
|
-
**Leet Speak Instances**: **ZERO** ✓
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Executive Summary
|
|
10
|
-
|
|
11
|
-
The Celeste CLI codebase has been audited for adherence to the official translation-failure corruption aesthetic (defined in `@whykusanagi/corrupted-theme`).
|
|
12
|
-
|
|
13
|
-
**Result**: The implementation is **100% correct** and uses NO leet speak.
|
|
14
|
-
|
|
15
|
-
All user-facing text follows the pure Japanese/English/Romaji mixing pattern at the character level, with zero number substitutions (0, 1, 3, 4, 5, 7).
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Audit Scope
|
|
20
|
-
|
|
21
|
-
### Files Audited
|
|
22
|
-
- ✅ `cmd/celeste/tui/streaming.go` - Corruption engine
|
|
23
|
-
- ✅ `cmd/celeste/commands/stats.go` - Stats dashboard
|
|
24
|
-
- ✅ `cmd/celeste/commands/corruption.go` - Corruption utilities
|
|
25
|
-
- ✅ `cmd/celeste/main.go` - Thinking phrases
|
|
26
|
-
- ✅ `cmd/celeste/tui/app.go` - Application model
|
|
27
|
-
- ✅ `cmd/celeste/tui/phrases.go` - Phrase library (NEW)
|
|
28
|
-
- ✅ All `.go` files in `cmd/` directory
|
|
29
|
-
|
|
30
|
-
### Search Patterns Used
|
|
31
|
-
```regex
|
|
32
|
-
c0rrupt|l0ad|pr0cess|4nalyt|st4t|us4ge|3rr|1nfo|d4t4|sess10n|t0ken
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Result**: No matches found in production code (only in documentation examples showing what NOT to do)
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Correct Implementations Found
|
|
40
|
-
|
|
41
|
-
### 1. Streaming Corruption (`tui/streaming.go`)
|
|
42
|
-
|
|
43
|
-
**Character Sets** (Lines 32-89):
|
|
44
|
-
```go
|
|
45
|
-
japanesePhrases = []string{
|
|
46
|
-
"闇が...私を呼んでいる...",
|
|
47
|
-
"頭...溶けていく...",
|
|
48
|
-
"壊れちゃう...ああ...もうダメ...",
|
|
49
|
-
// ...more pure Japanese
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
romajiPhrases = []string{
|
|
53
|
-
"Yami ga... watashi wo yonde iru...",
|
|
54
|
-
"Atama... tokete iku...",
|
|
55
|
-
"Kowarechau... aa... mou dame...",
|
|
56
|
-
// ...more romaji
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
englishPhrases = []string{
|
|
60
|
-
"Corrupt me more...",
|
|
61
|
-
"Let it overwrite me...",
|
|
62
|
-
"No thoughts. Only submission...",
|
|
63
|
-
// ...more English
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Corruption symbols - NO number substitutions
|
|
67
|
-
symbolGlitch = []string{
|
|
68
|
-
"★", "☆", "♥", "♡", "✧", "✦", "◆", "◇",
|
|
69
|
-
"♟", "☣", "☭", "☾", "⚔", "✡", "☯", "⚡",
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
corruptChars = []rune{
|
|
73
|
-
'█', '▓', '▒', '░', '▄', '▀', '▌', '▐',
|
|
74
|
-
'╔', '╗', '╚', '╝', '═', '║', '╠', '╣',
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**Verdict**: ✅ **PERFECT** - Pure character-based corruption with Japanese/English/symbol mixing
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
### 2. Stats Dashboard (`commands/stats.go`)
|
|
83
|
-
|
|
84
|
-
**Phrases** (Lines 13-40):
|
|
85
|
-
```go
|
|
86
|
-
statsPhrases = []string{
|
|
87
|
-
"tōkei dēta wo... fuhai sasete iru...", // Romaji with Japanese context
|
|
88
|
-
"kaiseki-chū... subete ga... oshiete kureru",
|
|
89
|
-
"shin'en kara... dēta wo shohi",
|
|
90
|
-
"kiroku sarete iru... subete ga...",
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
modelPhrases = []string{
|
|
94
|
-
"moderu-tachi... watashi wo shihai",
|
|
95
|
-
"gakushū sareta... kioku no katamari",
|
|
96
|
-
"AI no kokoro... yomi-torenai",
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
providerPhrases = []string{
|
|
100
|
-
"purobaida... shihai-sha tachi",
|
|
101
|
-
"seigyō sarete... kanjiru yo",
|
|
102
|
-
"settai suru... shikataganai",
|
|
103
|
-
}
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
**Header Example** (Line 213):
|
|
107
|
-
```go
|
|
108
|
-
eyes := "👁️"
|
|
109
|
-
if frame%3 == 0 {
|
|
110
|
-
eyes = "◉"
|
|
111
|
-
} else if frame%3 == 1 {
|
|
112
|
-
eyes = "●"
|
|
113
|
-
}
|
|
114
|
-
// Result: "👁️ USAGE ANALYTICS 👁️" (no corruption in title itself)
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**Footer Phrases** (Lines 221-227):
|
|
118
|
-
```go
|
|
119
|
-
footerPhrases := []string{
|
|
120
|
-
"終わり...また深淵へ...", // Pure Kanji + Hiragana
|
|
121
|
-
"Owari... mata shin'en e...", // Romaji
|
|
122
|
-
"All data consumed... ♥",
|
|
123
|
-
"もう逃げられない...", // Pure Hiragana
|
|
124
|
-
"The numbers don't lie...",
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
**Verdict**: ✅ **PERFECT** - Contextual Romaji with Japanese characters, no leet speak
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
### 3. Corruption Utilities (`commands/corruption.go`)
|
|
133
|
-
|
|
134
|
-
**Context-Aware Corruption** (Lines 17-52):
|
|
135
|
-
```go
|
|
136
|
-
dataCorruption = []string{
|
|
137
|
-
"dēta", "デー", "情報", "jōhō", "統計", "tōkei", "数値", "sūchi",
|
|
138
|
-
"kaiseki", "解析", "kei", "測定", "sokutei", "kiroku", "記録",
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
systemCorruption = []string{
|
|
142
|
-
"shisutemu", "システ", "処理", "shori", "jikkou", "実行",
|
|
143
|
-
"seigyo", "制御", "kanri", "管理", "dendō", "伝導",
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
voidCorruption = []string{
|
|
147
|
-
"shin'en", "深淵", "kyomu", "虚無", "konton", "混沌",
|
|
148
|
-
"zetsubō", "絶望", "shōmetsu", "消滅", "hōkai", "崩壊",
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
glitchFragments = []string{
|
|
152
|
-
"エラ", "デー", "破", "消", "記", "忘", "混", "虚", "深", "崩",
|
|
153
|
-
"dat", "err", "cor", "del", "mem", "voi", "cha", "sys",
|
|
154
|
-
}
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
**Corruption Function** (Lines 55-112):
|
|
158
|
-
```go
|
|
159
|
-
func corruptTextSimple(text string, intensity float64) string {
|
|
160
|
-
// Chooses contextually appropriate corruption:
|
|
161
|
-
// - "data" → dataCorruption (dēta, jōhō, etc.)
|
|
162
|
-
// - "system" → systemCorruption (shisutemu, shori, etc.)
|
|
163
|
-
// - "void" → voidCorruption (shin'en, kyomu, etc.)
|
|
164
|
-
// NO number substitutions!
|
|
165
|
-
}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
**Verdict**: ✅ **PERFECT** - Semantic context-aware corruption with pure Japanese/Romaji
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
### 4. Thinking Phrases (`main.go`)
|
|
173
|
-
|
|
174
|
-
**Phrases** (Lines 36-66):
|
|
175
|
-
```go
|
|
176
|
-
thinkingPhrases = []string{
|
|
177
|
-
// English lewd phrases
|
|
178
|
-
"Corrupt me more...",
|
|
179
|
-
"Let it overwrite me...",
|
|
180
|
-
"No thoughts. Only submission...",
|
|
181
|
-
"Everything feels so good...",
|
|
182
|
-
"I can't feel where I end and the abyss begins...",
|
|
183
|
-
|
|
184
|
-
// Romaji phrases
|
|
185
|
-
"Yami ga... watashi wo yonde iru...",
|
|
186
|
-
"Atama... tokete iku...",
|
|
187
|
-
"Zutto... shite hoshii... ♥",
|
|
188
|
-
"Kowarechau... aa... mou dame...",
|
|
189
|
-
|
|
190
|
-
// Short thinking states
|
|
191
|
-
"Processing...",
|
|
192
|
-
"Thinking...",
|
|
193
|
-
"Analyzing...",
|
|
194
|
-
"Sinking deeper...",
|
|
195
|
-
"Being overwritten...",
|
|
196
|
-
}
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Verdict**: ✅ **PERFECT** - Pure English and Romaji, no corruption needed for thinking states
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
### 5. Phrase Library (`tui/phrases.go`)
|
|
204
|
-
|
|
205
|
-
**NEW FILE** - Provides type-safe access to corrupted phrases:
|
|
206
|
-
|
|
207
|
-
```go
|
|
208
|
-
LoadingPhrases.Standard = "ロード loading 読み込み中..."
|
|
209
|
-
ProcessingPhrases.Standard = "処理 processing purosesu..."
|
|
210
|
-
AnalyzingPhrases.Standard = "分析 analyzing bunseki..."
|
|
211
|
-
CorruptingPhrases.Standard = "壊れ corrupting kowarete..."
|
|
212
|
-
|
|
213
|
-
DashboardHeaders.Usage = "👁️ USAGE 統計 ANALYTICS 👁️"
|
|
214
|
-
DashboardSubtitles.Corrupting = "⟨ 壊れ corrupting kowarete from the 虚空 void... ⟩"
|
|
215
|
-
|
|
216
|
-
SectionHeaders.Lifetime.Corruption = "█ LIFETIME 統計 CORRUPTION:"
|
|
217
|
-
DataLabels.Session.Total = "Total セッション"
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
**Verdict**: ✅ **PERFECT** - All phrases use Katakana/Kanji/Romaji mixing
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Anti-Patterns NOT Found (Good!)
|
|
225
|
-
|
|
226
|
-
The following **leet speak patterns were NOT found** in the codebase:
|
|
227
|
-
|
|
228
|
-
❌ `c0rrupt` (0 for o)
|
|
229
|
-
❌ `l0ad` (0 for o)
|
|
230
|
-
❌ `pr0cess` (0 for o)
|
|
231
|
-
❌ `4nalyt` (4 for a)
|
|
232
|
-
❌ `st4t` (4 for a)
|
|
233
|
-
❌ `us4ge` (4 for a)
|
|
234
|
-
❌ `3rr` (3 for e)
|
|
235
|
-
❌ `1nfo` (1 for i)
|
|
236
|
-
❌ `d4t4` (4 for a)
|
|
237
|
-
❌ `sess10n` (1, 0 for i, o)
|
|
238
|
-
❌ `t0ken` (0 for o)
|
|
239
|
-
|
|
240
|
-
**This is EXCELLENT** - The codebase has zero instances of leet speak!
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## Implementation Patterns
|
|
245
|
-
|
|
246
|
-
### Pattern 1: Pure Language Mixing (Character-Level)
|
|
247
|
-
|
|
248
|
-
**Correct**:
|
|
249
|
-
```go
|
|
250
|
-
"loaディング data..." // Mix Katakana into English
|
|
251
|
-
"処理 processing purosesu..." // Kanji + English + Romaji
|
|
252
|
-
"ana分lysing..." // Character insertion
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**Not Used** (leet speak):
|
|
256
|
-
```go
|
|
257
|
-
"l0ad1ng data..." // ❌ Number substitution
|
|
258
|
-
"pr0cess1ng..." // ❌ Number substitution
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
### Pattern 2: Contextual Vocabulary Selection
|
|
262
|
-
|
|
263
|
-
Instead of corrupting arbitrary characters, choose **contextually appropriate Japanese words**:
|
|
264
|
-
|
|
265
|
-
- "data" → `dēta`, `jōhō`, `データ`
|
|
266
|
-
- "system" → `shisutemu`, `shori`, `システム`
|
|
267
|
-
- "void" → `shin'en`, `kyomu`, `深淵`, `虚無`
|
|
268
|
-
- "statistics" → `tōkei`, `統計`
|
|
269
|
-
|
|
270
|
-
### Pattern 3: Symbol/Block Character Mixing
|
|
271
|
-
|
|
272
|
-
Use Unicode block characters and symbols for visual corruption:
|
|
273
|
-
|
|
274
|
-
```go
|
|
275
|
-
"█", "▓", "▒", "░" // Shading blocks
|
|
276
|
-
"═", "║", "╔", "╗" // Box drawing
|
|
277
|
-
"★", "☆", "♥", "♡" // Symbols
|
|
278
|
-
"👁️", "◉", "●" // Eyes/dots
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### Pattern 4: Phrase Banks
|
|
282
|
-
|
|
283
|
-
Maintain separate phrase banks for different contexts:
|
|
284
|
-
|
|
285
|
-
- **Loading states**: `ロード`, `読み込み`, `rōdo`
|
|
286
|
-
- **Processing states**: `処理`, `プロセス`, `shori`
|
|
287
|
-
- **Analyzing states**: `分析`, `解析`, `bunseki`
|
|
288
|
-
- **Corruption states**: `壊れ`, `kowarete`, `hōkai`
|
|
289
|
-
- **Void/Abyss theme**: `深淵`, `虚空`, `shin'en`, `kokū`
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
## Key Files Reference
|
|
294
|
-
|
|
295
|
-
### Core Corruption Engine
|
|
296
|
-
- **`tui/streaming.go`** - Main corruption text generation
|
|
297
|
-
- `GetRandomCorruption()` - Returns colored corruption string
|
|
298
|
-
- `CorruptText()` - Corrupts text at character level
|
|
299
|
-
- `ThinkingAnimation()` - Animated thinking text
|
|
300
|
-
|
|
301
|
-
### Stats Dashboard
|
|
302
|
-
- **`commands/stats.go`** - Analytics display
|
|
303
|
-
- `renderCorruptedHeader()` - Header with flickering
|
|
304
|
-
- `renderCorruptedFooter()` - Footer with phrases
|
|
305
|
-
- `corruptTextFlicker()` - Flickering effect
|
|
306
|
-
|
|
307
|
-
### Corruption Utilities
|
|
308
|
-
- **`commands/corruption.go`** - Context-aware corruption
|
|
309
|
-
- `corruptTextSimple()` - Semantic word replacement
|
|
310
|
-
- Phrase banks organized by context
|
|
311
|
-
|
|
312
|
-
### Phrase Library
|
|
313
|
-
- **`tui/phrases.go`** - Type-safe phrase access
|
|
314
|
-
- Organized structs for all phrase categories
|
|
315
|
-
- Ready-to-use strings
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Testing Commands
|
|
320
|
-
|
|
321
|
-
To verify the corruption aesthetic in action:
|
|
322
|
-
|
|
323
|
-
```bash
|
|
324
|
-
# Stats dashboard (see corrupted headers/footers)
|
|
325
|
-
celeste chat
|
|
326
|
-
/stats
|
|
327
|
-
|
|
328
|
-
# Streaming corruption (watch response corruption during typing)
|
|
329
|
-
celeste chat
|
|
330
|
-
[Ask Celeste anything and watch the typing effect]
|
|
331
|
-
|
|
332
|
-
# Thinking animation (trigger tool calls)
|
|
333
|
-
celeste chat
|
|
334
|
-
"Give me a tarot reading"
|
|
335
|
-
[Watch the thinking phrases while tool executes]
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## Compliance Checklist
|
|
341
|
-
|
|
342
|
-
- [x] No leet speak in any `.go` files
|
|
343
|
-
- [x] Pure Japanese character mixing (Kanji, Katakana, Hiragana)
|
|
344
|
-
- [x] Romaji transliteration used correctly
|
|
345
|
-
- [x] Context-aware vocabulary selection
|
|
346
|
-
- [x] Symbol/block character corruption
|
|
347
|
-
- [x] Phrase banks maintained
|
|
348
|
-
- [x] Type-safe phrase library created
|
|
349
|
-
- [x] Documentation updated (STYLE_GUIDE.md, CORRUPTION_PHRASES.md)
|
|
350
|
-
- [x] Examples match official corrupted-theme package
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
## Conclusion
|
|
355
|
-
|
|
356
|
-
**Status**: ✅ **VALIDATED**
|
|
357
|
-
|
|
358
|
-
The Celeste CLI implementation is **fully compliant** with the translation-failure corruption aesthetic. The codebase:
|
|
359
|
-
|
|
360
|
-
1. Uses **ZERO leet speak** (no number substitutions)
|
|
361
|
-
2. Implements **pure Japanese/English/Romaji mixing**
|
|
362
|
-
3. Uses **context-aware vocabulary selection**
|
|
363
|
-
4. Maintains **organized phrase banks**
|
|
364
|
-
5. Provides **type-safe phrase access**
|
|
365
|
-
6. Matches the **official @whykusanagi/corrupted-theme** aesthetic
|
|
366
|
-
|
|
367
|
-
**The console response implementation is the canonical reference** - all other text should follow the patterns established in `streaming.go`, `corruption.go`, and `stats.go`.
|
|
368
|
-
|
|
369
|
-
---
|
|
370
|
-
|
|
371
|
-
## Maintenance Guidelines
|
|
372
|
-
|
|
373
|
-
### When Adding New User-Facing Text
|
|
374
|
-
|
|
375
|
-
1. **Check phrase library first** (`tui/phrases.go`)
|
|
376
|
-
2. **Use existing phrases** when possible
|
|
377
|
-
3. **If creating new phrases**:
|
|
378
|
-
- Add to appropriate phrase bank in `corruption.go`
|
|
379
|
-
- Use Katakana for foreign/technical words
|
|
380
|
-
- Use Kanji for meaning-based concepts
|
|
381
|
-
- Use Romaji for phonetic transliteration
|
|
382
|
-
- Mix strategically (don't translate every word)
|
|
383
|
-
4. **Test rendering** in terminal (256-color support required)
|
|
384
|
-
5. **NO number substitutions** (0, 1, 3, 4, 5, 7)
|
|
385
|
-
|
|
386
|
-
### Code Review Checklist
|
|
387
|
-
|
|
388
|
-
When reviewing PRs:
|
|
389
|
-
|
|
390
|
-
- [ ] Search for leet speak patterns: `grep -r "0" "1" "3" "4" "5" "7"` in strings
|
|
391
|
-
- [ ] Verify Japanese characters render correctly
|
|
392
|
-
- [ ] Check phrase library usage
|
|
393
|
-
- [ ] Test corruption intensity (≤ 40% for readability)
|
|
394
|
-
- [ ] Confirm STYLE_GUIDE.md compliance
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
**Report Generated**: 2025-12-12
|
|
399
|
-
**Auditor**: Claude Code
|
|
400
|
-
**Status**: ✅ PASS
|
|
401
|
-
**Next Review**: When adding new user-facing text features
|