Skip to content

fix(cli): stop veryfront build printing a bare bullet line - #3617

Merged
kwakayama merged 1 commit into
mainfrom
fix/dx-20260811-r2-32
Aug 12, 2026
Merged

kwakayama merged 1 commit into
mainfrom
fix/dx-20260811-r2-32

Conversation

@kojiwakayama

Copy link
Copy Markdown
Contributor

Symptom

veryfront build --dry-run prints a glyph-only line — ● with no text — between the dry-run notice and Building....

Reproduced against published 0.1.1229 in a sandbox outside the platform checkout (npm i veryfront@0.1.1229, scaffolded with veryfront init):

$ veryfront build --dry-run
Veryfront (v0.1.1229)

  ● ! Dry run: no files will be written
  ●                                        <-- bare bullet
  ● Building...

--verbose --dry-run on 0.1.1229 emits two of them (lines 23 and 25 — one after the config block, one after the dry-run notice).

Root cause

The CLI logger preset renders every message as <glyph> <message>. cli/commands/build/config-display.ts used cliLogger.info("") as a section break, so the glyph was emitted with an empty message instead of a blank line.

This is the same defect commit 7b25cb7 (#3556) fixed for veryfront routes in this release — the build path had two more instances of it that the earlier fix did not touch.

Fix

Emit both section breaks directly with console.log(""), matching the routes fix and the "blank line between logical sections" rule in the CLI output conventions. No behaviour change beyond the layout.

Verification against the published repro

Same sandbox project, same command, run against this branch:

Veryfront (v0.1.1229)

  ● ! Dry run: no files will be written
                                           <-- real blank line
  ● Building...

--verbose --dry-run grep for ^ ● $: 2 matches on 0.1.1229, 0 matches on this branch.

Dry-run behaviour is unchanged — seeded dist/keepme.txt survives the dry run intact and nothing is written.

Test

cli/commands/build/config-display.test.ts gains a section separators under the CLI logger preset block that renders displayBuildConfig through the real cli logger preset and asserts:

  • no glyph-only line is emitted (dry-run path and verbose path), and
  • the line immediately before Building... is blank — so deleting the separator fails here rather than passing silently.

Both cases were confirmed to fail before the fix with AssertionError: emitted a glyph-only line with no content: " ● ".

Scope

cli/commands/build/config-display.ts only. Other cliLogger.info("") callers (pull, lock, analyze-chunks, task, workflow, env-prompt) have the same latent issue but are out of scope for this finding.

`veryfront build --dry-run` printed a glyph-only "  ● " line between the
dry-run notice and "Building...". The CLI logger preset renders every
message as `  <glyph> <message>`, so the `cliLogger.info("")` used as a
section break got the glyph with an empty message instead of emitting a
blank line.

This is the same defect 7b25cb7 (#3556) fixed for `veryfront routes`;
the build path had two more instances of it -- the dry-run notice break
and the verbose config block break. Emit both section breaks directly
with `console.log("")`, matching the routes fix and the "blank line
between logical sections" rule in the CLI output conventions.

Locked with a regression test that renders `displayBuildConfig` through
the real CLI logger preset and asserts no glyph-only line is emitted and
that a blank line precedes "Building...". Verified both cases fail
before the fix with 'emitted a glyph-only line with no content: "  ● "'.
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@kojiwakayama, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 29 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c6015b8b-4a3c-411c-83de-3a117dafc666

📥 Commits

Reviewing files that changed from the base of the PR and between 64d6850 and 7d47c02.

📒 Files selected for processing (2)
  • cli/commands/build/config-display.test.ts
  • cli/commands/build/config-display.ts

Comment @coderabbitai help to get the list of available commands.

@kojiwakayama
kojiwakayama added this pull request to the merge queue Aug 11, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 11, 2026

@kwakayama kwakayama left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No actionable findings.

Evidence: cli/commands/build/config-display.ts:34,39 emits unprefixed blank separators for both verbose and dry-run blocks. cli/commands/build/config-display.test.ts:139-175 exercises both paths through the CLI logger preset and verifies no glyph-only line is emitted before Building....

Rubric: correctness 40/40, tests 20/20, reliability/security 15/15, maintainability 15/15, scope/docs 10/10.

Review-Gate:
Reviewer: Codex
Reviewed-SHA: 7d47c02
Score: 100/100
Actionable-Findings: 0
Verdict: APPROVE

@kwakayama
kwakayama added this pull request to the merge queue Aug 12, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 12, 2026
@kwakayama
kwakayama added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit 263321a Aug 12, 2026
33 checks passed
@kwakayama
kwakayama deleted the fix/dx-20260811-r2-32 branch August 12, 2026 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants