Skip to content

CLI-015: Keep tabs and separator characters from reshaping the terminal cards - #735

Open
shanedasbach wants to merge 3 commits into
mainfrom
lore-worker/CLI-015-tabs-and-separators-on-cards
Open

shanedasbach wants to merge 3 commits into
mainfrom
lore-worker/CLI-015-tabs-and-separators-on-cards

Conversation

@shanedasbach

Copy link
Copy Markdown
Collaborator

Problem

The terminal cards deleted tabs (four<tab>tab printed fourtab), and bodies split on \x0b, \x0c, \x1c-\x1e, \x85, U+2028 and U+2029 because of str.splitlines. The flag diff split the same way (CLI-015).

Changes

  • lore/ui.py: clean expands tabs before removing controls, and U+2028/U+2029 are removed too. Card bodies split with text_lines.
  • lore/store.py: new text_lines(), splitting at \n, \r\n and a lone \r only. flag_detail diffs with it.
  • Tests: CardShapeTest in tests/test_ui.py and a flag-diff split test in tests/test_store.py.
  • CLI-015 completed; INDEX.md regenerated.

Test plan

  • A tab in each field prints as spaces on both cards; the eight separators neither break a body line nor print; a\rb is ab in a title and two lines in a body
  • A memory changed only by \x85 diffs as one changed line
  • Existing control-character tests pass; ruff, mypy lore, tests/gate.py --python-only (1263 passed; ui.py 100%)

🤖 Generated with Claude Code

https://claude.ai/code/session_01Rm74zQcmssF7TxiN7ZceZY

shanedasbach and others added 3 commits November 13, 2026 02:56
…al cards

Card fields expand tabs to spaces instead of deleting them, and bodies and flag diffs split only at real line ends, so form feeds, NEL and the Unicode separators never start a new line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rm74zQcmssF7TxiN7ZceZY
…Unicode separators on cards only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rm74zQcmssF7TxiN7ZceZY
…abs-and-separators-on-cards

# Conflicts:
#	docs/backlog/INDEX.md

This branch has not been deployed

No deployments
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