fix: Use ASCII arrows instead of unicode#1010
fix: Use ASCII arrows instead of unicode#1010Dansyuqri wants to merge 1 commit intoFission-AI:mainfrom
Conversation
This fixes the issue of ambiguous unicode character width when visualizing on terminals
📝 WalkthroughWalkthroughThe explore-mode skill template instructions were updated to replace Unicode box-drawing and arrow characters with ASCII equivalents ( Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/core/templates/workflows/explore.ts (1)
162-251:⚠️ Potential issue | 🟠 MajorIncomplete fix: example diagrams below the directive still use Unicode box-drawing characters.
The new directive at lines 72–77 forbids
┌,─,│,▼,═, etc., but the three example diagrams further down in the same template still use them:
- Lines 162–176 (
COLLABORATION SPECTRUM):═,│,▼,┌,─,┐,└,┘- Lines 185–205 (
CURRENT AUTH FLOW):┌,─,┐,│,▼,└,┘,┬,┴- Lines 237–251 (
CLI TOOL DATA STORAGE):┌,─,┐,└,┘This contradicts the directive and will likely cause the LLM to mimic these Unicode patterns, reproducing the exact ambiguous-width visual artifact described in
#983that this PR claims to close. The OPSX command template (lines 303–482) was already cleaned up because it doesn't contain these examples — but the skill template still does.Please convert these three diagrams to ASCII-only as well (using
+,-,|,v,^,-->) so the examples match the directive.♻️ Suggested ASCII conversion for the three example diagrams
@@ Lines 162-176 (COLLABORATION SPECTRUM) - COLLABORATION SPECTRUM - ════════════════════════════════════════════ - - Awareness Coordination Sync - │ │ │ - ▼ ▼ ▼ - ┌────────┐ ┌────────┐ ┌────────┐ - │Presence│ │Cursors │ │ CRDT │ - │ "3 │ │ Multi │ │Conflict│ - │online" │ │ select │ │ free │ - └────────┘ └────────┘ └────────┘ - │ │ │ - trivial moderate complex + COLLABORATION SPECTRUM + ============================================ + + Awareness Coordination Sync + | | | + v v v + +--------+ +--------+ +--------+ + |Presence| |Cursors | | CRDT | + | "3 | | Multi | |Conflict| + |online" | | select | | free | + +--------+ +--------+ +--------+ + | | | + trivial moderate complex @@ Lines 185-205 (CURRENT AUTH FLOW) - ┌─────────────────────────────────────────────┐ - │ CURRENT AUTH FLOW │ - └─────────────────────────────────────────────┘ - │ - ┌─────────────┼─────────────┐ - ▼ ▼ ▼ - ┌─────────┐ ┌─────────┐ ┌─────────┐ - │ Google │ │ GitHub │ │ Email │ - │ OAuth │ │ OAuth │ │ Magic │ - └────┬────┘ └────┬────┘ └────┬────┘ - │ │ │ - └─────────────┼─────────────┘ - ▼ - ┌───────────┐ - │ Session │ - └─────┬─────┘ - │ - ▼ - ┌───────────┐ - │ Perms │ - └───────────┘ + +---------------------------------------------+ + | CURRENT AUTH FLOW | + +---------------------------------------------+ + | + +-------------+-------------+ + v v v + +---------+ +---------+ +---------+ + | Google | | GitHub | | Email | + | OAuth | | OAuth | | Magic | + +----+----+ +----+----+ +----+----+ + | | | + +-------------+-------------+ + v + +-----------+ + | Session | + +-----+-----+ + | + v + +-----------+ + | Perms | + +-----------+ @@ Lines 237-239 (CLI TOOL DATA STORAGE header) - ┌─────────────────────────────────────────────────┐ - │ CLI TOOL DATA STORAGE │ - └─────────────────────────────────────────────────┘ + +-------------------------------------------------+ + | CLI TOOL DATA STORAGE | + +-------------------------------------------------+ @@ Lines 247-249 (status markers) - Deployment embedded ✓ needs server ✗ - Offline yes ✓ no ✗ - Single file yes ✓ no ✗ + Deployment embedded [yes] needs server [no] + Offline yes [yes] no [no] + Single file yes [yes] no [no]Note: the parity-test hashes for
getExploreSkillTemplate(line 33) and'openspec-explore'(line 59) intest/core/templates/skill-templates-parity.test.tswill need to be regenerated after this change.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/core/templates/workflows/explore.ts` around lines 162 - 251, The template still contains Unicode box-drawing characters in the three example diagrams inside the explore skill template; update the diagrams in the getExploreSkillTemplate (the "COLLABORATION SPECTRUM", "CURRENT AUTH FLOW", and "CLI TOOL DATA STORAGE" examples) to ASCII-only characters (use + - | v ^ --> or similar) to match the new directive and mirror the OPSX template cleanup, and then regenerate the parity-test hashes referenced for getExploreSkillTemplate and the 'openspec-explore' entry in test/core/templates/skill-templates-parity.test.ts so tests reflect the changed template content.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@src/core/templates/workflows/explore.ts`:
- Around line 162-251: The template still contains Unicode box-drawing
characters in the three example diagrams inside the explore skill template;
update the diagrams in the getExploreSkillTemplate (the "COLLABORATION
SPECTRUM", "CURRENT AUTH FLOW", and "CLI TOOL DATA STORAGE" examples) to
ASCII-only characters (use + - | v ^ --> or similar) to match the new directive
and mirror the OPSX template cleanup, and then regenerate the parity-test hashes
referenced for getExploreSkillTemplate and the 'openspec-explore' entry in
test/core/templates/skill-templates-parity.test.ts so tests reflect the changed
template content.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d8213da8-bef7-4d61-8f45-55a7c7140e4a
📒 Files selected for processing (2)
src/core/templates/workflows/explore.tstest/core/templates/skill-templates-parity.test.ts
This fixes the issue of ambiguous unicode character width when visualizing on terminals
Previously, the issue was that the unicode characters caused a visual defect:

BEFORE
After updating the skill generation, the arrows use ASCII characters, which fix the issue.

Fixes #983
Summary by CodeRabbit