Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/docs/substrate/tasks/strip-emojis.md
Fimeg e480809c70 docs: rescue the agent-substrate tree out of a gitignored directory
219 files, 2.0 MB, untracked in souveraine/docs and existing nowhere else.
The volume is at 100% with no snapshots.
2026-07-26 12:11:50 -04:00

3.1 KiB

task_id title status assignee priority phase
strip-emojis-001 Strip Emoji from Logs and Code pending medium hygiene

Task: Strip Emoji from Logs and Code

Objective

Remove pictographic emoji from the codebase — both from log output (they end up in souveraine.log) and from source files generally. Casey's call: the emoji are noise. Code and logs should read plain.

Why

  • souveraine.log carries emoji emitted by tracing macros (e.g. 🔢, 🌉, 🧠). Logs are read in terminals, grepped, pasted into issues — emoji break alignment, confuse search, and add nothing a word doesn't.
  • Source files have emoji in string literals, comments, and UI labels.
  • This is a hygiene pass, not a feature. It should be mechanical and reviewable.

Scope

In scope — remove

  • Emoji in tracing::{info,warn,error,debug}! messages and any other log/print output. Replace with plain words.
  • Emoji in string literals surfaced to the user (CLI prints, screen titles, menu labels — e.g. app.rs "⏰ Agent Time").
  • Emoji in code comments and doc comments.

Out of scope — leave alone

  • Functional TUI glyphs. The cockpit prefixes (◈ ◉ ◆ ▲), box-drawing (── │ ╮), and similar geometric/dingbat characters are deliberate terminal UI design, not emoji. They render as single-width glyphs and carry meaning in the layout. Do not strip these.
  • (high-voltage) — used as the inference-strain glyph; borderline. Decide per-site: if it's a TUI status glyph, keep; if it's decoration in a log line, drop.
  • Memory/docs/ prose authored by the agent — her memfs is hers.

The line: pictographic emoji = remove. Structural/geometric UI glyph = keep.

Approach

  1. Survey — find pictographic-range characters in src/:
    grep -rlP '[\x{1F000}-\x{1FAFF}\x{2600}-\x{27BF}]' src/
    
    and inspect each hit. The Unicode ranges above are pictographic; the geometric-shape range (\x{25A0}-\x{25FF}) where ◈ ◆ live is intentionally excluded so functional glyphs aren't swept up.
  2. For log/print sites: replace the emoji with a plain word or nothing.
  3. For UI labels: drop the emoji, keep the text.
  4. For comments: drop the emoji.
  5. cargo build + cargo test clean afterwards. No behavior change intended.

Files (initial survey — verify before editing)

src/core/sensorium/mod.rs, src/main.rs, src/ui/cockpit_panel.rs, src/core/voice/client.rs, src/ui/schedules.rs, src/core/tools/mod.rs, src/ui/settings.rs, src/bridge/model_router.rs, src/core/compact/strategy.rs, src/core/identity/seed.rs, src/ui/health_panel.rs, src/ui/animation.rs, src/ui/chat.rs, src/bridge/bifrost.rs, src/cli/commands.rs, src/tui/components/sidebar.rs, src/backend/local.rs, src/ui/app.rs.

(src/ui/chat.rs.new and other chat.rs.* stray files are untracked working copies — ignore or delete them, don't edit.)

Notes

  • This task exists because emoji kept creeping into new code. Worth a short note in CLAUDE.md conventions: log/print/comment text is plain; only the TUI's deliberate geometric glyph set is allowed, and that set is fixed.