Claude transcript-dir slug must fold dots like Claude Code does
Traceability
- Spec ID: 41-claude-transcript-dir-dot-slug
- Story: QoderAI/better-harness#41
- Status: Implemented
Intent
The Claude session-evidence collector derives the project-transcript directory from the workspace path by replacing / (and drive-letter :) with -, but Claude Code's own project-directory naming also replaces . with -. For any workspace path containing a dot component (~/.claude, ~/src/foo.bar, ~/work/my.project), the computed root does not exist and every session-derived signal is silently computed from an empty set. The collector must resolve the same directory name Claude Code actually creates so dotted workspace paths stop reporting zero sessions.
Acceptance Scenarios
- AC-1:
workspaceToClaudeSlugVariants("/Users/twurm/.claude")includes-Users-twurm--claude(each/and.folded to-, dots not collapsed), and that variant is preferred as the primary slug. - AC-2: A Claude provider fixture whose workspace path contains a dotted directory component discovers its transcript sessions from