Skip to content

the shell leaves both headers β€” a third spelling of the same emoji - #314

Merged
stupart merged 1 commit into
mainfrom
feat/no-shell
Sep 17, 2026
Merged

stupart merged 1 commit into
mainfrom
feat/no-shell

Conversation

@stupart

@stupart stupart commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Tyler circled it on his phone: a shell still sitting beside "conch" in the ledger header β€” after #309 had supposedly removed the emoji everywhere.

#309 removed the literal 🐚. Both apps wrote it as Text("\u{1F41A}"). A grep for the character can't see a code point, so the sweep passed and it shipped β€” in both headers.

The guard had the same blind spot: not.toContain("🐚") is satisfied trivially by an escape sequence.

DashboardView.swift:237 Mac title strip β€” removed
LedgerView.swift:171 phone toolbar β€” removed
PairingView.swift:58 Image("ConchMark") β€” kept, it's the real icon
StatusItem.swift:85 menu bar image β€” kept, nothing else to draw

The guard now covers both spellings

The code point is swept across all four surfaces (no source writes it in prose, so that's safe everywhere). The literal character is swept everywhere except PairingView, whose comment β€” "The real icon, not the 🐚 emoji it replaced" β€” records why that screen dropped the emoji. Deleting a comment to satisfy a sweep would delete the reason.

Both comments arguing for the shell went with it. One read "Same wordmark, same mark, wherever you look at conch", which is now the opposite of what the code does.

Verified: bun test 2357/0 Β· tsc clean Β· swift test 138/0 Β· both apps build Β· 4 mutations, 4 killed β€” including the escaped shell returning to each header.

πŸ€– Generated with Claude Code

https://claude.ai/code/session_01SfEX6bfwCGXtThk1JRNmsE

Tyler circled it on his phone: a shell still beside the word "conch" in the
ledger header, after #309 had supposedly taken the emoji off every surface that
names the app.

#309 removed the literal 🐚. Both apps wrote it as `Text("\u{1F41A}")` β€” the
Mac's title strip and the phone's toolbar. A grep for the character cannot see a
code point, so the sweep passed and the emoji shipped. The guard written at the
time had the same blind spot: `not.toContain("🐚")` is satisfied trivially by an
escape.

A sweep for one spelling of a thing is not a sweep for the thing. The guard now
checks the CODE POINT across all four surfaces β€” no source writes it in prose,
so that is safe everywhere β€” and the literal character everywhere except
PairingView, whose comment ("The real icon, not the 🐚 emoji it replaced")
records why that screen dropped the emoji. Deleting the comment to satisfy a
sweep would delete the reason.

Both comments arguing FOR the shell went with it. One claimed "Same wordmark,
same mark, wherever you look at conch" β€” which is now the opposite of what the
code does, and a comment left arguing against its own code is how the
`--shRaised` note misled this session for an hour.

Kept on purpose: `Image("ConchMark")` on the pairing screen and
`ConchMark.statusImage` in the menu bar. Those are the drawn icon, not an emoji,
and the menu bar has nothing else to draw. Both are guarded.

Verified: bun test 2357/0, tsc clean, swift test 138/0, both apps build. Four
mutations, four killed β€” the escaped shell returning to each header, the
wordmark being deleted along with the glyph, and the pairing screen losing its
real mark.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SfEX6bfwCGXtThk1JRNmsE
@stupart
stupart merged commit 990f5f9 into main Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant