fix(covgate,covratchet): progress is the single canonical table#33
Merged
Conversation
Stream live progress rows in the same column layout as the final
table, with a new leading COUNT column ([N/total]) above STATUS,
COVERAGE, REQUIRED, TIME, PACKAGE. The previous compact format
("[i/N] STATUS pkg time") didn't share column widths with the
sorted recap, making the two blocks visually inconsistent.
The final table still prints unchanged after the progress block:
in completion order live, then alphabetical recap once everything
finishes. The leading announcement is also shortened to
"Running N packages with parallelism=P; progress:" since the COUNT
header now self-documents what follows.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The streamed progress block and the alphabetical recap carried the exact same per-package rows, doubling the output without adding information. Now there is one table: the live progress stream. Behavior changes when --parallelism=0: - Per-package rows print only once (in completion order, as part of the progress stream). - The second STATUS header and reprinted rows are gone. - FAIL detail (multi-line raw test output for testErr cases) still prints after the stream — that's not duplicated data. - --exclude SKIPPED rows still print, indented under the COUNT column so they align with the progress table's STATUS column. Non-progress mode (--parallelism>0) is unchanged: a single alphabetical table, no progress stream. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #32. The live progress block and the alphabetical recap table carried the exact same per-package rows, doubling output without adding information — the user reported "the spacing is off" and then "the first and second table give exact same information, please only show first table".
Now, when
--parallelism=0:COUNTcolumn under[N/total]) is the single canonical table.STATUSheader and reprinted rows are removed.testErrcases) still prints after the stream — that's not duplicated data.--excludeSKIPPED rows still print, indented under theCOUNTcolumn so they align with the progress table'sSTATUScolumn.Non-progress mode (
--parallelism>0) is unchanged: a single alphabetical table, no progress stream.Before (current
main)After
With
--exclude, SKIPPED rows appear indented under the COUNT column:Notes
progressColWidth(total)scales the COUNT column with package count:[ 8/27]is 7 chars for 27 packages,[ 88/100]is 9 for 100.writeRunHeaderin both packages to keeprun()under the 50-linefunclenlimit after the bracketing/header logic was added.restOfOutputis the dual offirstLine— used in progress mode to print only the trailing FAIL detail ofcheckResult.output, not the row that was already streamed.STATUSheader appears exactly once (progress IS the table); aCOUNTheader is present in progress mode and absent otherwise; progress lines must carry full row data.Test plan
go test ./internal/services/covgate/... ./internal/services/covratchet/...passes./scripts/preflight.shends with=== All checks passed ===go run ./cmd/miru covgate --packages="./internal/..." --src-prefix=internal --parallelism=0— single table, no duplicate--exclude=./internal/services/lint/...— SKIPPED rows render indented under COUNT🤖 Generated with Claude Code