← Back to issue list

emitter: add "streaming brief" feature

View original Github issue

Metadata

Project
craft-cli
Number
#166
Type
pull request
State
merged
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

Merged after approval and CI. Adds a streaming brief Emitter feature that streams info logs and pipe text on a single line prefixed by the active progress message. Initially disabled, it resolves issue #165 and increases coverage by 0.13%.

Suggested action:

No scores available.

Issue body

This commit adds a new feature to the Emitter, tentatively called "streaming brief". It is initially disabled, and can be enabled in the Emitter's init() call. Once enabled, the feature will leverage the "multi-action" nature of progress() calls to "stream", in a single line, info-level log messages and text written to the open_stream()'s pipe. For example, the following sequence of calls in BRIEF mode: ``` emit.progress("Starting stage 1", permanent=False) ... log.info("Doing first step") ... log.info("Doing second step") ... emit.progress("Finished stage 1", permanent=True) ``` ... will cause the two 'info' messages to "stream" on the terminal, prefixed by "Starting stage 1 ::" to indicate that they are related to that progress message. All these three messages are ephemeral which means that in the end only the final progress() call will be visible on the terminal. Fixes #165 - [ ] Have you followed the guidelines for contributing? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `tox`?

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged after approval and CI. Adds a streaming brief Emitter feature that streams info logs and pipe text on a single line prefixed by the active progress message. Initially disabled, it resolves issue #165 and increases coverage by 0.13%.
qwen3.6-35b-a3b-mtp-q6 Merged into main, implementing a streaming brief feature for the Emitter. Initially disabled, it streams info-level logs under progress messages when enabled via init(). Fixes #165. Merged with 100% diff coverage and a 0.13% overall increase.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#4331 enable "streaming brief" CLI mode snapcraft merged Merged into main, enabling the streaming brief CLI mode and resolving issue #4317. The update includes dependency bumps, passed CI checks, received reviewer approval, and increased test coverage.
77%
#349 enable "streaming brief" CLI mode rockcraft merged Merged changes enabling streaming brief CLI mode. Updates craft-parts, craft-providers, and craft-cli. Streams info messages inline during Brief mode and cleans up progress output. Fixes #345. Approved by two reviewers and passed CI.
74%
#85 feat: enable streaming in brief craft-application merged Successfully merged into main after passing CI and receiving approval from two reviewers. The change enables streaming in brief by adding a single line to one file, with no impact on overall code coverage.
74%
#419 feat: oxidize streaming_brief feature craft-cli merged Merged after maintainer approval. The change re-adds the streaming_brief feature for niche logging scenarios and restores message prefixing for Emitter.open_stream. Commits were force-pushed to clean history before merging.
73%
#202 In "streaming brief" mode, `emit.message()` should clean the progress prefix craft-cli closed Closed without a linked resolution or pull request. The bug report that emit.message() fails to clear the progress prefix in streaming brief mode was acknowledged but left without a merged fix or further action.
71%