Skip to content

Config rollback (probation_expired) is invisible at the CLI #140

Description

@platypii

Summary

When a staged central config fails probation and rolls back, the event is written only to the daemon log and config-control/state.json (bad_etag / last_rollback). Nothing surfaces at the CLI unless the user runs hyp status. A rollback can strip plugins and functionality with no user-facing signal.

Evidence

state.json observed on a real machine:

{
  "bad_etag":      { "etag": "...", "reason": "probation_expired", "recorded_at": "..." },
  "last_rollback": { "etag": "...", "reason": "probation_expired", "at": "..." }
}

This made an empty hyp backfill ("No backfill providers registered") baffling: the active config had effectively lost its plugin set for a window, and no command said so.

Proposed

  • Echo a one-line rollback notice on the next CLI command after a rollback (etag + reason + remedy), similar to how sink-materialization warnings already surface.
  • Consider a standard "config health" line in a CLI banner for non---json output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions