Add build-time grammar conflict analysis to participle
Add build-time static analysis that detects ambiguous participle grammars and reports conflicts.
participle-grammar-conflict-analysis
Normalized profile
What this task asks for
Add build-time static analysis that detects ambiguous participle grammars and reports conflicts. Add build-tagged grammar conflict types and analysis APIs while leaving new symbols unavailable without the analyze tag. Populate every conflict with type, severity, location, message, grammar snippet, example, and actionable suggestion. Provide immutable report filtering, counting, formatting, merging, and deduplication operations. Let parsers analyze with optional conflict suppression and let `StrictMode` reject every reported conflict during build. Detect first-first, first-follow, and unreachable alternatives with the specified severity and token-overlap rules. Suppress analysis inside lookahead groups and treat negation nodes as conflict-free.
Intent
- feature implementation
- configuration tuning
- bug repair
- test and validation
Work surfaces
- parser
- compiler
- configuration
- library API
- build system
Technology
- Participle
Expected artifacts
- repository patch
What makes it difficult
- reverse engineering from incomplete or indirect evidence
- specialized algorithmic or domain reasoning
- changes span multiple components or interfaces
Published evidence
Model × harness outcomes
Counts are tied to these exact configurations. Harnesses are not treated as equivalent across benchmarks.
- Models
- 13
- Configurations
- 41
- Trials
- 164
Showing 41 of 41 configurations
| Model | Harness | Effort | Result | Passes |
|---|---|---|---|---|
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 1/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | max | Mixed | 2/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | low | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| claude-sonnet-4-6anthropic | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gemini-3-1-pro-previewvertex_ai | mini-swe-agentpublished configuration | high | Mixed | 2/4 |
| gemini-3-5-flashvertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 1/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gpt-5-4openai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | max | Mixed | 2/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 2/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | max | Mixed | 2/4 |
| kimi-k2-7-codeopenrouter | mini-swe-agentpublished configuration | default | Mixed | 1/4 |