Skip to content

BUG: Projects whose names differ only in symbols keep separate histories - #112

Merged
Coder8124 merged 2 commits into
mainfrom
bug-project-symbols
Nov 4, 2026
Merged

Coder8124 merged 2 commits into
mainfrom
bug-project-symbols

Conversation

@Coder8124

Copy link
Copy Markdown
Owner

Fixes runningbugs #368. The old rule dropped every symbol from a project name, so C++, C# and C were one folder and resume handed each the others' stopping place as its own.

What changes

  • Symbols are spelled: C++ → c-plus-plus, C# → c-sharp, a:b → a-colon-b, anything else → u-<hex>. Spelling twice gives the same folder. Names of letters, digits and - _ . space / keep their folder exactly; combining marks are still dropped, so Hindi and Arabic names do not move.
  • Pre-#368 history is still read from the old folder while the project's own holds no checkpoint (History, SkippedAhead, Conversations, reviewed.md, the ledger, dead ends at edit, relevance). Resume says so and names logos project rename <old> <new> --merge. Nothing moves on its own.
  • The moment the new folder takes over is said: by checkpoint (CLI and MCP) when an agent writes it, and by resume when the session-end auto record did, until an agent checkpoints.
  • Host session ids and agent names keep the old spelling, so no conversation folder or agent filename moves partway through.

Limits, on purpose

  • Old checkpoints record only the folder name, so a new C# in a vault with C reads C's folder the same way. The notice says the history may be another project's rather than claiming it.
  • A spelled name can still meet a typed one (C# and c sharp). That is the cost of words over hex.
  • A session left open across the upgrade keeps its notes under the old key. This is narrow and not handled.

Verified

  • Each new test fails on the commit before it and passes after.
  • go build ./... && go test ./... && go vet ./... && gofmt -l .: 45 ok, vet clean, gofmt empty.
  • go test -tags chaos ./chaos/...: ok.
  • Scratch vault, end to end:
    1. The 0.5.6 binary files C++ under sessions/c.
    2. An auto record lands in sessions/c-plus-plus, and resume says the earlier history is no longer shown.
    3. The agent checkpoint says it once, and the next resume is quiet.
    4. rename c c-plus-plus --merge brings it across.

@Coder8124 Coder8124 mentioned this pull request Nov 3, 2026
@Coder8124
Coder8124 merged commit d97cddb into main Nov 4, 2026
12 checks passed
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