Skip to content

Render 'could not load' instead of an empty panel: migrate forge callers to executeForgeCommandDetailed #90

Description

@pseudoseed

Follow-up to #17, which shipped the warning (#88). This is the "better" option that issue named.

#88 makes a broken concept audible — a line on stderr naming the concept, the failure kind and the elapsed time. It does not make it visible: the dashboard merged panel still renders empty, because the caller still receives null and cannot tell "no results" from "broke".

executeForgeCommandDetailed already returns the discriminated result (ok, timedOut, exitCode, stdout, stderr, unavailable, durationMs). What is left is per-caller work, and each one is a UI decision rather than a mechanical swap:

Worth doing highest-blast-radius first. cleanup.ts is the one where a swallowed failure changes a destructive decision.

The dashboard side needs a "could not load" state per panel — an empty panel that means "broken" is worse than an error, because it is believable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/coreCore libraries and shared logic

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions