← Back to issue list

Process grammar and non-grammar dictionary data

View original Github issue

Metadata

Project
craft-application
Number
#331
Type
issue
State
open
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

Feature request to make the `organize` keyword handle a mix of grammar entries (e.g. `on amd64 to arm64:`) and plain non-grammar dict entries in the same list, merging them into a single dict. Currently only pure-grammar lists are processed.

Suggested action: keep open

Reason: The issue was filed by a maintainer (mr-cal) with a clear reproduction and expected output, and an internal Jira ticket (CRAFT-2862) was created, indicating it was triaged and acknowledged. The current code in `craft_application/grammar.py` (`process_part`) does accept a list of dicts/strings, but whether the underlying `craft_grammar` `GrammarProcessor.process` correctly merges non-grammar dict entries alongside grammar entries is not evident from the repo alone — the `merge_processed_dict` helper only merges the grammar-processed results. No PR or commit in the history references this issue or implements mixed grammar/non-grammar dict merging for `organize`, so it appears still open.

Impact: 45 Quick Win: 27.0 Staleness: 55 Complexity: 40 Confidence: 60 Support Request: 10

Issue body

### What needs to get done Craft-application added support for processing grammar in the `organize` keyword but it cannot parse a mix of grammar and non-grammar data: For example, when building for `arm64`, the following yaml: ```yaml organize: - on amd64 to amd64: hello-world.sh: hello-world-amd64.sh - on amd64 to arm64: hello-world.sh: hello-world-arm64.sh - test-file.in: test-file.out ``` should be processed to: ```yaml organize: hello-world.sh: hello-world-arm64.sh test-file.in: test-file.out ``` ### Why it needs to get done To make grammar in the `organize` keyword useable.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 45
Quick Win: 27.0
Staleness: 55
Complexity: 40
Confidence: 60
Support Request: 10
keep open Feature request to make the `organize` keyword handle a mix of grammar entries (e.g. `on amd64 to arm64:`) and plain non-grammar dict entries in the same list, merging them into a single dict. Currently only pure-grammar lists are processed.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 40
Confidence: 80
Support Request: 10
needs triage Untriaged feature request to enable mixed grammar and non-grammar data parsing in the organize keyword. Inactive for over two years with no maintainer labels or assignment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 10
needs triage Unlabelled feature request to support mixed grammar and non-grammar data in the organize keyword. Inactive for over a year with no maintainer assessment or assignee.
qwen3.6-35b-a3b-mtp-q6
Staleness: 88
Complexity: 42
Confidence: 78
Support Request: 10
needs triage Fix the organize keyword to parse mixed grammar and non-grammar dictionary data for architecture-specific builds. Open and inactive for over a year; internal Jira ticket created but unassigned with no active development.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#328 (confidence 55%)

    PR #328 'fix: allow a mix of strings and dicts for grammar' is closely related — it enabled mixing strings and dicts in grammar lists, which is a prerequisite for this issue's mixed grammar/non-grammar dict scenario.

  • Related To: craft-application#330 (confidence 50%)

    PR #330 'fix: do not process non-grammar keywords' added the guard that skips non-grammar keywords in `process_part`; this issue concerns a grammar keyword (`organize`) that contains non-grammar dict entries, a related but distinct case.

Related issues

No related issues found above the similarity threshold.