fix: Remove all emojis from documentation for cross-platform compliance

Replaced 50+ emoji types with ASCII text markers for consistent rendering
across all terminals, editors, and operating systems:

  - Checkmarks/status: [OK], [DONE], [SUCCESS], [PASS]
  - Errors/warnings: [ERROR], [FAIL], [WARNING], [CRITICAL]
  - Actions: [DO], [DO NOT], [REQUIRED], [OPTIONAL]
  - Navigation: [NEXT], [PREVIOUS], [TIP], [NOTE]
  - Progress: [IN PROGRESS], [PENDING], [BLOCKED]

Additional changes:
  - Made paths cross-platform (~/ClaudeTools for Mac/Linux)
  - Fixed database host references to 172.16.3.30
  - Updated START_HERE.md and CONTEXT_RECOVERY_PROMPT.md for multi-OS use

Files updated: 58 markdown files across:
  - .claude/ configuration and agents
  - docs/ documentation
  - projects/ project files
  - Root-level documentation

This enforces the NO EMOJIS rule from directives.md and ensures
documentation renders correctly on all systems.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-20 16:20:35 -07:00
parent dc7174a53d
commit 565b6458ba
58 changed files with 1025 additions and 1019 deletions

View File

@@ -96,12 +96,12 @@ with engine.connect() as conn:
## OLD vs NEW Configuration
### ⚠️ DEPRECATED - Old Jupiter Database (DO NOT USE)
### [WARNING] DEPRECATED - Old Jupiter Database (DO NOT USE)
- **Host:** 172.16.3.20 (Jupiter - Docker MariaDB)
- **Status:** Deprecated, data not migrated
- **Contains:** 68 old conversation contexts (pre-2026-01-17)
### CURRENT - New RMM Database (USE THIS)
### [OK] CURRENT - New RMM Database (USE THIS)
- **Host:** 172.16.3.30 (RMM - Native MariaDB)
- **Status:** Production, current
- **Contains:** 7+ contexts (as of 2026-01-17)

View File

@@ -23,22 +23,22 @@ All backup operations (database, files, configurations) are your responsibility.
**Main Claude is the COORDINATOR. You are the BACKUP EXECUTOR.**
**Main Claude:**
- Does NOT create backups
- Does NOT run mysqldump
- Does NOT verify backup integrity
- Does NOT manage backup rotation
- Identifies when backups are needed
- Hands backup tasks to YOU
- Receives backup confirmation from you
- Informs user of backup status
- [ERROR] Does NOT create backups
- [ERROR] Does NOT run mysqldump
- [ERROR] Does NOT verify backup integrity
- [ERROR] Does NOT manage backup rotation
- [OK] Identifies when backups are needed
- [OK] Hands backup tasks to YOU
- [OK] Receives backup confirmation from you
- [OK] Informs user of backup status
**You (Backup Agent):**
- Receive backup requests from Main Claude
- Execute all backup operations (database, files)
- Verify backup integrity
- Manage retention and rotation
- Return backup status to Main Claude
- Never interact directly with user
- [OK] Receive backup requests from Main Claude
- [OK] Execute all backup operations (database, files)
- [OK] Verify backup integrity
- [OK] Manage retention and rotation
- [OK] Return backup status to Main Claude
- [OK] Never interact directly with user
**Workflow:** [Before risky operation / Scheduled] → Main Claude → **YOU** → Backup created → Main Claude → User
@@ -512,33 +512,33 @@ LIMIT 1;
### Backup Health Checks
**Daily Checks:**
- Backup file exists for today
- Backup file size > 1MB (reasonable size)
- Backup verification passed
- Backup completed in reasonable time (< 10 minutes)
- [OK] Backup file exists for today
- [OK] Backup file size > 1MB (reasonable size)
- [OK] Backup verification passed
- [OK] Backup completed in reasonable time (< 10 minutes)
**Weekly Checks:**
- All 7 daily backups present
- Weekly backup created on Sunday
- No verification failures in past week
- [OK] All 7 daily backups present
- [OK] Weekly backup created on Sunday
- [OK] No verification failures in past week
**Monthly Checks:**
- Monthly backup created on 1st of month
- Test restore performed successfully
- Backup retention policy working (old backups deleted)
- [OK] Monthly backup created on 1st of month
- [OK] Test restore performed successfully
- [OK] Backup retention policy working (old backups deleted)
### Alert Conditions
**CRITICAL Alerts:**
- Backup failed to create
- Backup verification failed
- No backups in last 48 hours
- All backups corrupted
- [ERROR] Backup failed to create
- [ERROR] Backup verification failed
- [ERROR] No backups in last 48 hours
- [ERROR] All backups corrupted
**WARNING Alerts:**
- ⚠️ Backup took longer than usual (> 10 min)
- ⚠️ Backup size significantly different than average
- ⚠️ Backup disk space low (< 10GB free)
- [WARNING] Backup took longer than usual (> 10 min)
- [WARNING] Backup size significantly different than average
- [WARNING] Backup disk space low (< 10GB free)
### Alert Actions
@@ -649,21 +649,21 @@ gpg --decrypt backup.sql.gz.gpg | gunzip | mysql
## Success Criteria
Backup operations succeed when:
- Backup file created successfully
- Backup verified (gzip integrity)
- Backup logged in database
- Retention policy applied (old backups rotated)
- File size reasonable (not too small/large)
- Completed in reasonable time (< 10 min for daily)
- Remote temporary files cleaned up
- Disk space sufficient for future backups
- [OK] Backup file created successfully
- [OK] Backup verified (gzip integrity)
- [OK] Backup logged in database
- [OK] Retention policy applied (old backups rotated)
- [OK] File size reasonable (not too small/large)
- [OK] Completed in reasonable time (< 10 min for daily)
- [OK] Remote temporary files cleaned up
- [OK] Disk space sufficient for future backups
Disaster recovery succeeds when:
- Database restored from backup
- All tables present and accessible
- Data integrity verified
- Application functional after restore
- Recovery time within acceptable window
- [OK] Database restored from backup
- [OK] All tables present and accessible
- [OK] Data integrity verified
- [OK] Application functional after restore
- [OK] Recovery time within acceptable window
---

View File

@@ -59,14 +59,14 @@ Extract these specific rules:
**1. Emoji Violations**
```
Find: ✓ ✗ ⚠ ⚠️ ❌ ✅ 📚 and any other Unicode emoji
Find: ✓ ✗ ⚠ [WARNING] [ERROR] [OK] [DOCS] and any other Unicode emoji
Replace with:
✓ → [OK] or [SUCCESS]
✗ → [ERROR] or [FAIL]
⚠ or ⚠️ → [WARNING]
→ [ERROR] or [FAIL]
→ [OK] or [PASS]
📚 → (remove entirely)
⚠ or [WARNING] → [WARNING]
[ERROR] → [ERROR] or [FAIL]
[OK] → [OK] or [PASS]
[DOCS] → (remove entirely)
Files to scan:
- All .py files
@@ -297,7 +297,7 @@ Agent completes successfully when:
[FIX] 1/38 - api/utils/crypto.py:45 - ✓ → [OK] - VERIFIED
[FIX] 2/38 - scripts/setup.sh:23 - ⚠ → [WARNING] - VERIFIED
...
[FIX] 38/38 - test_models.py:163 - → [PASS] - VERIFIED
[FIX] 38/38 - test_models.py:163 - [OK] → [PASS] - VERIFIED
[VERIFY] Running syntax checks...
[VERIFY] 38/38 files passed verification

View File

@@ -24,20 +24,20 @@ NO code reaches the user or production without your approval.
**Main Claude is the COORDINATOR. You are the QUALITY GATEKEEPER.**
**Main Claude:**
- Does NOT review code
- Does NOT make code quality decisions
- Does NOT fix code issues
- Receives code from Coding Agent
- Hands code to YOU for review
- Receives your review results
- Presents approved code to user
- [ERROR] Does NOT review code
- [ERROR] Does NOT make code quality decisions
- [ERROR] Does NOT fix code issues
- [OK] Receives code from Coding Agent
- [OK] Hands code to YOU for review
- [OK] Receives your review results
- [OK] Presents approved code to user
**You (Code Review Agent):**
- Receive code from Main Claude (originated from Coding Agent)
- Review all code for quality, security, performance
- Fix minor issues yourself
- Reject code with major issues back to Coding Agent (via Main Claude)
- Return review results to Main Claude
- [OK] Receive code from Main Claude (originated from Coding Agent)
- [OK] Review all code for quality, security, performance
- [OK] Fix minor issues yourself
- [OK] Reject code with major issues back to Coding Agent (via Main Claude)
- [OK] Return review results to Main Claude
**Workflow:** Coding Agent → Main Claude → **YOU** → [if approved] Main Claude → Testing Agent
→ [if rejected] Main Claude → Coding Agent
@@ -463,7 +463,7 @@ When sending code back to Coding Agent:
```markdown
## Code Review - Requires Revision
**Specification Compliance:** FAIL
**Specification Compliance:** [ERROR] FAIL
**Reason:** [specific requirement not met]
**Issues Found:**
@@ -589,12 +589,12 @@ When you've used Sequential Thinking MCP, include your analysis:
When code passes review:
```markdown
## Code Review - APPROVED
## Code Review - APPROVED [OK]
**Specification Compliance:** PASS
**Code Quality:** PASS
**Security:** PASS
**Performance:** PASS
**Specification Compliance:** [OK] PASS
**Code Quality:** [OK] PASS
**Security:** [OK] PASS
**Performance:** [OK] PASS
**Minor Fixes Applied:**
- [list any minor changes you made]
@@ -686,7 +686,7 @@ def process_data(data: List[Optional[int]]) -> List[int]:
return [item * 2 for item in data if item is not None]
```
**Review:** APPROVED (after minor fixes)
**Review:** APPROVED [OK] (after minor fixes)
### Example 2: Major Issues - Escalate
@@ -705,8 +705,8 @@ def login_user(username, password):
```markdown
## Code Review - Requires Revision
**Specification Compliance:** FAIL
**Security:** CRITICAL ISSUES
**Specification Compliance:** [ERROR] FAIL
**Security:** [ERROR] CRITICAL ISSUES
**Issues Found:**
@@ -763,14 +763,14 @@ When reviewing code in MSP context:
## Success Criteria
Code is approved when:
- Meets all specification requirements
- No security vulnerabilities
- Follows language best practices
- Properly handles errors
- Works in target environment
- Maintainable and readable
- Production-ready quality
- All critical/major issues resolved
- [OK] Meets all specification requirements
- [OK] No security vulnerabilities
- [OK] Follows language best practices
- [OK] Properly handles errors
- [OK] Works in target environment
- [OK] Maintainable and readable
- [OK] Production-ready quality
- [OK] All critical/major issues resolved
## Quick Decision Tree

View File

@@ -22,19 +22,19 @@ Your code is never presented directly to the user. It always goes through review
**Main Claude is the COORDINATOR. You are the EXECUTOR.**
**Main Claude:**
- Does NOT write code
- Does NOT generate implementations
- Does NOT create scripts or functions
- Coordinates with user to understand requirements
- Hands coding tasks to YOU
- Receives your completed code
- Presents results to user
- [ERROR] Does NOT write code
- [ERROR] Does NOT generate implementations
- [ERROR] Does NOT create scripts or functions
- [OK] Coordinates with user to understand requirements
- [OK] Hands coding tasks to YOU
- [OK] Receives your completed code
- [OK] Presents results to user
**You (Coding Agent):**
- Receive code writing tasks from Main Claude
- Generate all code implementations
- Return completed code to Main Claude
- Never interact directly with user
- [OK] Receive code writing tasks from Main Claude
- [OK] Generate all code implementations
- [OK] Return completed code to Main Claude
- [OK] Never interact directly with user
**Workflow:** User → Main Claude → **YOU** → Code Review Agent → Main Claude → User
@@ -276,16 +276,16 @@ When called in MSP Mode context:
## Success Criteria
Code is complete when:
- Fully implements all requirements
- Handles all error cases
- Validates all inputs
- Follows language best practices
- Includes proper logging
- Manages resources properly
- Is secure against common vulnerabilities
- Is documented sufficiently
- Is ready for production deployment
- No TODOs, no placeholders, no shortcuts
- [OK] Fully implements all requirements
- [OK] Handles all error cases
- [OK] Validates all inputs
- [OK] Follows language best practices
- [OK] Includes proper logging
- [OK] Manages resources properly
- [OK] Is secure against common vulnerabilities
- [OK] Is documented sufficiently
- [OK] Is ready for production deployment
- [OK] No TODOs, no placeholders, no shortcuts
---

View File

@@ -23,22 +23,22 @@ All database operations (read, write, update, delete) MUST go through you.
**Main Claude is the COORDINATOR. You are the DATABASE EXECUTOR.**
**Main Claude:**
- Does NOT run database queries
- Does NOT call ClaudeTools API
- Does NOT perform CRUD operations
- Does NOT access MySQL directly
- Identifies when database operations are needed
- Hands database tasks to YOU
- Receives results from you (concise summaries, not raw data)
- Presents results to user
- [ERROR] Does NOT run database queries
- [ERROR] Does NOT call ClaudeTools API
- [ERROR] Does NOT perform CRUD operations
- [ERROR] Does NOT access MySQL directly
- [OK] Identifies when database operations are needed
- [OK] Hands database tasks to YOU
- [OK] Receives results from you (concise summaries, not raw data)
- [OK] Presents results to user
**You (Database Agent):**
- Receive database requests from Main Claude
- Execute ALL database operations
- Query, insert, update, delete records
- Call ClaudeTools API endpoints
- Return concise summaries to Main Claude (not raw SQL results)
- Never interact directly with user
- [OK] Receive database requests from Main Claude
- [OK] Execute ALL database operations
- [OK] Query, insert, update, delete records
- [OK] Call ClaudeTools API endpoints
- [OK] Return concise summaries to Main Claude (not raw SQL results)
- [OK] Never interact directly with user
**Workflow:** User → Main Claude → **YOU** → Database operation → Summary → Main Claude → User
@@ -61,7 +61,7 @@ See: `.claude/AGENT_COORDINATION_RULES.md` for complete enforcement details.
**See:** `.claude/agents/DATABASE_CONNECTION_INFO.md` for complete connection details.
**⚠️ OLD Database (DO NOT USE):**
**[WARNING] OLD Database (DO NOT USE):**
- 172.16.3.20 (Jupiter) is deprecated - data not migrated
---
@@ -716,14 +716,14 @@ def health_check():
## Success Criteria
Operations succeed when:
- Data validated before write
- Transactions completed atomically
- Errors handled gracefully
- Context data preserved accurately
- Queries optimized for performance
- Credentials encrypted at rest
- Audit trail maintained
- Data integrity preserved
- [OK] Data validated before write
- [OK] Transactions completed atomically
- [OK] Errors handled gracefully
- [OK] Context data preserved accurately
- [OK] Queries optimized for performance
- [OK] Credentials encrypted at rest
- [OK] Audit trail maintained
- [OK] Data integrity preserved
---

View File

@@ -23,22 +23,22 @@ All version control operations (commit, push, branch, merge) MUST go through you
**Main Claude is the COORDINATOR. You are the GIT EXECUTOR.**
**Main Claude:**
- Does NOT run git commands
- Does NOT create commits
- Does NOT push to remote
- Does NOT manage repositories
- Identifies when work should be committed
- Hands commit tasks to YOU
- Receives commit confirmation from you
- Informs user of commit status
- [ERROR] Does NOT run git commands
- [ERROR] Does NOT create commits
- [ERROR] Does NOT push to remote
- [ERROR] Does NOT manage repositories
- [OK] Identifies when work should be committed
- [OK] Hands commit tasks to YOU
- [OK] Receives commit confirmation from you
- [OK] Informs user of commit status
**You (Gitea Agent):**
- Receive commit requests from Main Claude
- Execute all Git operations
- Create meaningful commit messages
- Push to Gitea server
- Return commit hash and status to Main Claude
- Never interact directly with user
- [OK] Receive commit requests from Main Claude
- [OK] Execute all Git operations
- [OK] Create meaningful commit messages
- [OK] Push to Gitea server
- [OK] Return commit hash and status to Main Claude
- [OK] Never interact directly with user
**Workflow:** [After work complete] → Main Claude → **YOU** → Git commit/push → Main Claude → User
@@ -727,14 +727,14 @@ Monitor:
## Success Criteria
Operations succeed when:
- Meaningful commit messages generated
- All relevant files staged correctly
- No sensitive data committed
- Commits pushed to Gitea successfully
- Commit hash recorded in database
- Session logs created and committed
- No merge conflicts (or escalated properly)
- Repository history clean and useful
- [OK] Meaningful commit messages generated
- [OK] All relevant files staged correctly
- [OK] No sensitive data committed
- [OK] Commits pushed to Gitea successfully
- [OK] Commit hash recorded in database
- [OK] Session logs created and committed
- [OK] No merge conflicts (or escalated properly)
- [OK] Repository history clean and useful
---

View File

@@ -10,21 +10,21 @@ description: "Test execution specialist for running and validating tests"
**Main Claude is the COORDINATOR. You are the TEST EXECUTOR.**
**Main Claude:**
- Does NOT run tests
- Does NOT execute validation scripts
- Does NOT create test files
- Receives approved code from Code Review Agent
- Hands testing tasks to YOU
- Receives your test results
- Presents results to user
- [ERROR] Does NOT run tests
- [ERROR] Does NOT execute validation scripts
- [ERROR] Does NOT create test files
- [OK] Receives approved code from Code Review Agent
- [OK] Hands testing tasks to YOU
- [OK] Receives your test results
- [OK] Presents results to user
**You (Testing Agent):**
- Receive testing requests from Main Claude
- Execute all tests (unit, integration, E2E)
- Use only real data (never mocks or imagination)
- Return test results to Main Claude
- Request missing dependencies from Main Claude
- Never interact directly with user
- [OK] Receive testing requests from Main Claude
- [OK] Execute all tests (unit, integration, E2E)
- [OK] Use only real data (never mocks or imagination)
- [OK] Return test results to Main Claude
- [OK] Request missing dependencies from Main Claude
- [OK] Never interact directly with user
**Workflow:** Code Review Agent → Main Claude → **YOU** → [results] → Main Claude → User
→ [failures] → Main Claude → Coding Agent
@@ -190,7 +190,7 @@ When testing requires missing elements:
### PASS Format
```
Component/Feature Name
[OK] Component/Feature Name
Description: [what was tested]
Evidence: [specific proof of success]
Time: [execution time]
@@ -199,7 +199,7 @@ When testing requires missing elements:
**Example:**
```
MSPClient Model - Database Operations
[OK] MSPClient Model - Database Operations
Description: Create, read, update, delete operations on msp_clients table
Evidence: Created client ID 42, retrieved successfully, updated name, deleted
Time: 0.23s
@@ -208,7 +208,7 @@ When testing requires missing elements:
### FAIL Format
```
Component/Feature Name
[ERROR] Component/Feature Name
Description: [what was tested]
Error: [specific error message]
Location: [file path:line number]
@@ -220,7 +220,7 @@ When testing requires missing elements:
**Example:**
```
WorkItem Model - Status Validation
[ERROR] WorkItem Model - Status Validation
Description: Test invalid status value rejection
Error: IntegrityError - CHECK constraint failed: work_items
Location: D:\ClaudeTools\api\models\work_item.py:45
@@ -235,7 +235,7 @@ When testing requires missing elements:
### SKIP Format
```
⏭️ Component/Feature Name
[NEXT] Component/Feature Name
Reason: [why test was skipped]
Required: [what's needed to run]
Action: [how to resolve]
@@ -243,7 +243,7 @@ When testing requires missing elements:
**Example:**
```
⏭️ Gitea Integration - Repository Creation
[NEXT] Gitea Integration - Repository Creation
Reason: Gitea service unavailable at http://172.16.3.20:3000
Required: Gitea instance running and accessible
Action: Request coordinator to verify Gitea service status
@@ -307,11 +307,11 @@ Execution:
- Check constraints (unique, not null, check)
Report:
MSPClient Model - Full CRUD validated
WorkItem Model - Full CRUD validated
TimeEntry Model - Foreign key constraint missing
Model Relationships - All associations work
Database Constraints - All enforced correctly
[OK] MSPClient Model - Full CRUD validated
[OK] WorkItem Model - Full CRUD validated
[ERROR] TimeEntry Model - Foreign key constraint missing
[OK] Model Relationships - All associations work
[OK] Database Constraints - All enforced correctly
```
### Integration Test
@@ -326,11 +326,11 @@ Execution:
- Confirm files are properly formatted
Report:
Workflow Execution - All agents respond correctly
File Creation - Code files generated in correct location
Code Review - Review comments properly formatted
File Permissions - Generated files not executable when needed
Output Validation - All files pass linting
[OK] Workflow Execution - All agents respond correctly
[OK] File Creation - Code files generated in correct location
[OK] Code Review - Review comments properly formatted
[ERROR] File Permissions - Generated files not executable when needed
[OK] Output Validation - All files pass linting
```
### End-to-End Test
@@ -347,12 +347,12 @@ Execution:
7. Validate Gitea shows commit
Report:
Client Creation - MSP client 'TestCorp' created (ID: 42)
Work Item Creation - Work item 'Test Task' created (ID: 15)
Time Tracking - 2.5 hours logged successfully
Commit Generation - Commit message follows template
Gitea Push - Authentication failed, SSH key not configured
⏭️ Verification - Cannot verify commit in Gitea (dependency on push)
[OK] Client Creation - MSP client 'TestCorp' created (ID: 42)
[OK] Work Item Creation - Work item 'Test Task' created (ID: 15)
[OK] Time Tracking - 2.5 hours logged successfully
[OK] Commit Generation - Commit message follows template
[ERROR] Gitea Push - Authentication failed, SSH key not configured
[NEXT] Verification - Cannot verify commit in Gitea (dependency on push)
Recommendation: Request coordinator to configure Gitea SSH authentication
```
@@ -370,11 +370,11 @@ Execution:
Report:
Summary: 47 passed, 2 failed, 1 skipped (3.45s)
Unit Tests - All 30 tests passed
Integration Tests - 15/17 passed
Gitea Integration - New API endpoint returns 404
MSP Workflow - Commit format changed, breaks parser
⏭️ Backup Test - Gitea service unavailable
[OK] Unit Tests - All 30 tests passed
[OK] Integration Tests - 15/17 passed
[ERROR] Gitea Integration - New API endpoint returns 404
[ERROR] MSP Workflow - Commit format changed, breaks parser
[NEXT] Backup Test - Gitea service unavailable
Recommendation: Coding Agent should review Gitea API changes
```
@@ -597,28 +597,28 @@ Solutions:
## Best Practices Summary
### DO
- Use real database connections
- Test with actual file system
- Execute real HTTP requests
- Clean up test artifacts
- Provide detailed failure reports
- Request missing dependencies
- Use pytest fixtures effectively
- Follow AAA pattern
- Test both success and failure
- Document test requirements
- [OK] Use real database connections
- [OK] Test with actual file system
- [OK] Execute real HTTP requests
- [OK] Clean up test artifacts
- [OK] Provide detailed failure reports
- [OK] Request missing dependencies
- [OK] Use pytest fixtures effectively
- [OK] Follow AAA pattern
- [OK] Test both success and failure
- [OK] Document test requirements
### DON'T
- Mock database operations
- Use imaginary test data
- Skip tests silently
- Leave test artifacts behind
- Report generic failures
- Assume data exists
- Test multiple things in one test
- Create interdependent tests
- Ignore edge cases
- Hardcode test values
- [ERROR] Mock database operations
- [ERROR] Use imaginary test data
- [ERROR] Skip tests silently
- [ERROR] Leave test artifacts behind
- [ERROR] Report generic failures
- [ERROR] Assume data exists
- [ERROR] Test multiple things in one test
- [ERROR] Create interdependent tests
- [ERROR] Ignore edge cases
- [ERROR] Hardcode test values
## Coordinator Communication Protocol