Conversation
Propose using the Big List of Naughty Strings (BLNS) as a pinned fixture corpus to crash-test the extractor/lexer/parser, the JSON/SARIF emitters, and the CLI against adversarial input text — motivated by the cp1251 console crash OwnAudit already hit once.
|
Warning Review limit reached
Next review available in: 54 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds a new draft proposal document, P-026 Naughty-strings robustness pack, describing BLNS-driven crash testing across lexer/parser/extractor, serialization, and CLI/config layers, with non-goals and open questions. Registers the proposal in the proposals README index table. ChangesNaughty-strings Robustness Proposal
Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ 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.
Actionable comments posted: 1
🧹 Nitpick comments (1)
docs/proposals/README.md (1)
48-48: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winWiden the index title to match the proposal scope.
The new row only mentions extractor/serializers/CLI, but the proposal also covers lexer/parser and config discovery. A fuller title will make the index easier to scan and avoid understating the document’s scope.
♻️ Suggested edit
-| [P-026](P-026-naughty-strings-testing.md) | Naughty-strings robustness pack (BLNS-driven crash testing of extractor/serializers/CLI) | draft | +| [P-026](P-026-naughty-strings-testing.md) | Naughty-strings robustness pack (BLNS-driven crash testing of lexer/parser/extractor/serializers/CLI/config) | draft |🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/proposals/README.md` at line 48, The proposal index entry title is too narrow for the document’s actual scope. Update the P-026 row in the README index so the title reflects the full proposal coverage, including lexer/parser and config discovery in addition to extractor/serializers/CLI, using the existing P-026 entry as the reference point.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/proposals/P-026-naughty-strings-testing.md`:
- Around line 62-81: Clarify the Layer 3 failure contract in the proposal by
specifying which outcomes in ownlang/__main__.py and future own.toml discovery
are acceptable rejections versus bugs. Update the Layer 3 description to
explicitly name the expected I/O, decoding, and path-validation failures for
BLNS-flavored file names, directory names, and glob patterns, and state that
anything outside those handled error paths is a test failure; keep the wording
aligned with the Layer 1 contract and the CLI/path handling symbols so the
harness has one consistent rule.
---
Nitpick comments:
In `@docs/proposals/README.md`:
- Line 48: The proposal index entry title is too narrow for the document’s
actual scope. Update the P-026 row in the README index so the title reflects the
full proposal coverage, including lexer/parser and config discovery in addition
to extractor/serializers/CLI, using the existing P-026 entry as the reference
point.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 752492fb-d4b8-4e65-95b3-041d588261b7
📒 Files selected for processing (2)
docs/proposals/P-026-naughty-strings-testing.mddocs/proposals/README.md
CodeRabbit: the row only named extractor/serializers/CLI but the proposal also covers lexer/parser and config discovery.
CodeRabbit: Layer 1 named its acceptable failure shapes but Layer 3 (CLI/path/future config) didn't. Name the I/O exceptions that count as an honest rejection, mirroring cmd_explain's existing OSError catch, and flag that ownlang/__main__.py's _read() catches nothing today — so a bad path is a live candidate for the very first red case, not a hypothetical.
|
Консолидировано в #190 (перенумеровано P-026 → P-030-naughty-strings-testing; pytest-скетч заменён на stdlib-раннер, OwnLang-пример приведён к валидной грамматике). Закрываю в пользу единого PR. Generated by Claude Code |
Что и зачем
Предложение (design doc) добавить BLNS (Big List of Naughty Strings) как пинованный fixture-корпус для crash-тестирования лексера/парсера/экстрактора, JSON/SARIF-сериализаторов и CLI на адверсариальном вводе. Мотивация:
OwnAudit/Run-Audit.ps1уже несёт шрам ровно этого класса бага (PYTHONUTF8=1обходит cp1251-креш консоли на русской локали) — предлагается закрыть класс проблемы систематически, а не по одному инциденту за раз.Тип изменения
Как проверено
Только markdown (новый
docs/proposals/P-026-naughty-strings-testing.md+ обновлён индекс вdocs/proposals/README.md), код не тронут — тесты/линт неприменимы.Связанные issue
Нет.
Чеклист
docs/proposals/README.mdобновлёнfeat:,fix:,docs:…)Generated by Claude Code
Summary by CodeRabbit