docs(oracle-parser): document the two parse_type_phrase grammars - #7401
docs(oracle-parser): document the two parse_type_phrase grammars#7401JacobWoodson wants to merge 1 commit into
Conversation
Split out of phase-rs#7396 per the maintainer hard-stop policy on ".claude/skills/**" (.agents/pr-review-policy.toml): agent-instruction changes must not ride along with an implementation PR. oracle_nom::target::parse_type_phrase and oracle_target::parse_type_phrase have swapped return shapes and different grammars, so importing the wrong one silently changes which cards a characteristic head accepts. Documents both, their failure modes (Legacy is infallible and yields an empty TypedFilter, not TargetFilter::Any), and their differing type-list join separators. Note: the closing paragraph references TypePhraseGrammar, which is introduced by phase-rs#7396 - merge this after that PR lands. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
matthewevans
left a comment
There was a problem hiding this comment.
Changes requested — explicit human maintainer review required.
At current head 9710204f5c4c3980b209f665eb27dddbbbe4f610, this external-contributor PR changes protected instruction path .claude/skills/oracle-parser/SKILL.md. Repository policy classifies .claude/skills/** as a hard-stop path. I have not implementation-reviewed or approved this change. Please obtain an explicit human maintainer review before any further automated handling.
Summary
Splits the
.claude/skills/oracle-parser/SKILL.mdchange out of #7396, per themaintainer review on that PR:
.agents/pr-review-policy.tomlclassifies.claude/skills/**as a[hard_stops]path, so agent-instruction changes mustnot ride along with an implementation PR.
#7396 has been force-pushed with this hunk removed and is now hard-stop clear.
What this documents
oracle_nom::target::parse_type_phraseandoracle_target::parse_type_phraseare two different readers with the same name, and picking the wrong one silently
changes which cards a characteristic head accepts:
oracle_nom::targetoracle_targetOracleResult<'_, TargetFilter>=(remainder, filter)(TargetFilter, &str)=(filter, remainder)ErrTypedFilter+ whole input (notTargetFilter::Any, so anAnyguard does not catch it)" or "only" or "," and "," and/or "and comma formsBoth signatures verified against current
main:crates/engine/src/parser/oracle_nom/target.rs:41andcrates/engine/src/parser/oracle_target.rs:2135.Ordering constraint
Merge this after #7396. The closing paragraph references
TypePhraseGrammar, the typed parameter #7396 introduces inoracle_nom/quantity.rs. That symbol does not exist onmaintoday(
git grep TypePhraseGrammar origin/main -- crates/is empty), so landing thisfirst would leave a dangling reference. Opened as a draft for that reason.
Verification
Documentation only — no code, no build surface. The two-grammar facts in the
table were re-read against
origin/mainrather than carried over from #7396.