You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: treat plain text as a known format (file-order passthrough, not score-reorder) #205
Stringy's entire premise is format-aware string extraction. Plain ASCII/UTF-8 text is a format -- arguably the simplest one -- so "unrecognized container, fall back to unstructured byte scan and score-reorder the lines" is the tool failing its own thesis, not a harmless edge case. If stringy isn't aware of text, it isn't format-aware.
Running stringy on a plain ASCII/UTF-8 text file reorders the file's lines by semantic score instead of preserving document order:
stringy AI_POLICY.md
Info: Unsupported container format; proceeding with unstructured byte scan
Everything else follows from that. <- a concluding sentence from the middle
## New Contributors
We build operator-focused security tools...
... <- headers and intro appear scrambled
All 16 lines are present, but the semantic ranking scrambles a human-readable document. For non-container text input this is worse than strings/cat, which preserve order. The reordering only makes sense once the user has asked for it (ranking, top-N, tag filters).
Proposed solution
When the input is not a recognized container (raw byte-scan fallback) and no ordering/ranking/filter flags are supplied, default to file-order passthrough (cat-like) rather than score-reordered output. Ranking/dedup/tag-filtering kick in only when the user opts into them (--top, --only-tags, --enc, etc.).
Open design questions:
Does "no params" also imply skipping dedup, or just skipping reordering?
Should this apply only to the unstructured-fallback path, or also when a container is detected but the user passed no filters?
Touches: pipeline (ordering/normalization gating on input type + flags), main.rs.
Alternatives considered
Always rank regardless of input type (current behavior): surprising and less useful than strings for text.
A dedicated --passthrough/--raw-like flag: --raw already exists but also strips tags/score and is a different intent; the ask here is a sensible default, not a new flag.
Activity
coderabbitai commentedon Jul 5, 2026
🔗 Related PRs
#125 - Ranking system [merged]
#141 - feat: Stringy v1.0 -- pipeline architecture, CLI hardening, and comprehensive testing [closed]
#147 - docs: Improve README, CLI UX, and documentation accuracy [closed]
#190 - feat: encoding confidence close-out for issue 22 [merged]
#198 - chore: add issue/PR templates and setup.sh bootstrap [merged]
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!