← Back to issue list

Brief Emitter mode still appears to be verbose when plugins are called ?

View original Github issue

Metadata

Project
craft-cli
Number
#243
Type
issue
State
open
Author
flotter
Labels
Created
Updated
Closed

Current evaluation

Question about whether open_stream() subprocess output should be suppressed in BRIEF emitter mode; moved from craft-parts to craft-cli, meeting scheduled to discuss expected behavior but no resolution recorded; code still shows subprocess output ephemerally in BRIEF mode.

Suggested action: needs triage

Reason: The issue was moved from craft-parts to craft-cli with a meeting scheduled to resolve the design question (lengau: 'I'm not sure what the correct behaviour here is'), but no resolution was recorded and the code in open_stream() still routes BRIEF-mode subprocess output to sys.stderr with ephemeral=True. It needs a maintainer to decide whether the current ephemeral display is intended or whether BRIEF mode should suppress open_stream() output entirely.

Impact: 35 Quick Win: 19.25 Staleness: 80 Complexity: 45 Confidence: 75 Support Request: 55

Issue body

### What needs to get done I am not 100% sure if my observation is correct, but hopefully an expert could help me out ? I am starting the Emitter with ```streaming_brief=False``` In fact the CLI startup code in some secret craft project looks like this: ```python for lib_name in ("craft_providers", "craft_parts"): logger = logging.getLogger(lib_name) logger.setLevel(logging.DEBUG) emit.init( EmitterMode.BRIEF, "XXXcraft", f"Starting XXXcraft version {__version__}", log_filepath=logpath, streaming_brief=False, ) ``` and then inside my lifecycle code (not using craft-application, but doing the same thing) ```python with self._lcm.action_executor() as aex: emit.message("Processing firmware parts ...") for act in actions: emit.progress( f"{step_to_action(act.step, True)} {act.part_name!r} ..." ) with emit.open_stream() as stream: aex.execute([act], stdout=stream, stderr=stream) ``` However when I look at the plugin handler code, it looks like we are passing the stdout / stderr to the script so that whatever is processed by the script, will result in each shell line being echoed, and as a result, I see lots of lines: ```shell + ln ... .... + cp x .. y ``` See: craft-parts/craft_part/_create_and_run_script _create_and_run_script(..) I see the same detailed output from the **autotools** plugin. ### Why it needs to get done Am I missing a trick to suppress the detailed output while running a progress runner in BRIEF emitter mode ?

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 19.25
Staleness: 80
Complexity: 45
Confidence: 75
Support Request: 55
needs triage Question about whether open_stream() subprocess output should be suppressed in BRIEF emitter mode; moved from craft-parts to craft-cli, meeting scheduled to discuss expected behavior but no resolution recorded; code still shows subprocess output ephemerally in BRIEF mode.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 65
Confidence: 88
Support Request: 85
close stale Cross-repo discussion from over two years ago about output suppression in BRIEF emitter mode. Stalled without maintainer resolution or labels, representing a support expectation mismatch rather than a clear bug.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 60
Confidence: 45
Support Request: 75
needs triage User reports verbose plugin output in BRIEF emitter mode despite streaming_brief=False. Discussion stalled over two years ago after a meeting was scheduled to clarify expected behavior. No labels or assignee.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 35
Confidence: 75
Support Request: 60
close stale BRIEF emitter mode with streaming_brief=False still outputs verbose plugin logs instead of suppressing them. Maintainers are clarifying expected behavior between craft-cli and craft-parts and have scheduled a meeting to resolve the discrepancy.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.