Skip to content

Wizard resume: distinguish keeping, disabling, and editing an existing monitoring declaration #947

Open

Description

@cemililik

Found while reviewing #946 / #93; separate from monitoring evidence serialization.

forgelm/wizard/_orchestrator.py::_step_compliance only assigns monitoring when _collect_monitoring() returns a dict. Starting from an enabled plan and declining its configuration therefore silently preserves that plan. Accepting instead replaces the block with fresh defaults, losing previous answers. Reproduced directly through the real compliance step with the interactive collectors substituted: an enabled OLD_MON_URL plan remains unchanged after the monitoring collector returns None.

Acceptance criteria:

  • Distinguish keeping an existing plan, explicitly disabling/removing it, and editing it during --wizard-start-from and persisted-session resume.
  • Editing uses existing answers as defaults and preserves fields the operator has not changed.
  • Invalid env references are re-prompted at the endpoint question without echoing the raw value; do not finish the remaining plan questions before reporting the error.
  • Add regressions for keep/disable/edit and malformed env input; update EN/TR wizard guidance.

Related: #98 (broader declarative/ghost behavior), #561 (other wizard start-from losses). ASCII env-name parsing itself is addressed in #946.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingseverity: mediumReal defect with limited reach or a workaroundwave: 3Roadmap wave 3: medium severity, module sweeps

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions