Skip to content

Keep the landing intact when a plugin warns at startup - #414

Closed
TheGreatAxios wants to merge 1 commit into
mainfrom
cl-5718-landing-survives-warnings
Closed

Keep the landing intact when a plugin warns at startup#414
TheGreatAxios wants to merge 1 commit into
mainfrom
cl-5718-landing-survives-warnings

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

A startup plugin warning went out through appendStreamRow, whose first statement is clearLandingMark — so one warning took the whole landing hero with it: the mark, the hints beside it, the composition. A first run in any repo with an unresolved skill showed no landing at all.

CL-5618 routed MCP and hook failures through surfaceStartupNotice for exactly this reason; its comment says so outright. Plugin diagnostics were the path it missed.

What changed

  • startupPluginNotices ride the notice strip instead of the transcript
  • The internal command gutter label is gone from system rows — plumbing, not a word an operator would use for what they are reading
  • formatPluginWarningsSummary dedupes: one skill referenced by three plugins produced three warnings, so seven missing skills printed as nine entries and the count disagreed with the list

Scope

The bug half of CL-5718, split out so it lands now. The composition work — snow, changelog-on-fresh-install, the ranked notice register, short-terminal degradation — continues separately against the mockups on the ticket. Three meta: "palette" labels remain and belong with that pass.

A startup plugin warning went out through appendStreamRow, whose first
statement is clearLandingMark — so one warning took the whole landing
hero with it: the mark, the hints beside it, the composition. A first run
in any repo with an unresolved skill showed no landing at all.

CL-5618 routed MCP and hook failures through surfaceStartupNotice for
this exact reason. Plugin diagnostics were the path it missed.

Also drops the internal gutter labels these rows carried. "command" is
plumbing, not a word an operator would use for what they are reading.

And dedupes the summary: one skill referenced by three plugins produced
three warnings, so seven missing skills printed as nine entries and the
count disagreed with the list.
@linear-code

linear-code Bot commented Aug 8, 2026

Copy link
Copy Markdown

CL-5718

@TheGreatAxios

Copy link
Copy Markdown
Collaborator Author

Closing in favour of cl-5718-landing-hero-impl, which does this properly.

I patched the one flush site. That branch found that systemRow is the only appendStreamRow caller in runner.ts — feeding all ten of its call sites — and fixed the wiring layer instead, behind a named seam (startup-notices.ts, flushStartupNotices) so "a startup diagnostic is never a transcript row" has one owner rather than a per-call-site convention.

That is the right shape and the same lesson as the grep/secret-scrub finding: a cross-cutting constraint applied at call sites is one forgotten call site away from being false. It also removes the three meta: "palette" labels this PR left behind and absorbs the falling snow from #380.

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.

1 participant