Skip to content

Scheduled tools pause: UI + run-loop wiring (backend done) #10

Description

@JoshuaRowePhantom

Summary

Wire the deferred UI and run-loop parts of the scheduled-tools pause / stop-all feature from docs/design/scheduled-tools.md. The deterministic backend is already implemented and merged.

Already done (backend)

  • ScheduledToolHost: host-pause gate (user-computer-profile.scheduled-tools-paused), per-relationship paused skip, due-checks against tool-relationship.last-started (stamped before each run), and StopAllRunningExecutions cancellation.
  • ScheduledToolPauseStateService: persist/read the pause flag, change event, and stop-all delegation.
  • Schema: tool-relationship.paused + last-started, user-computer-profile.scheduled-tools-paused.
  • Deterministic tests for the above.

Remaining scope (this issue)

  • Periodic ScheduledToolRunner + MainWindowViewModel start/stop wiring (immediate run on startup, fixed poll interval, serialized non-overlapping invocations, cancel on shutdown).
  • Pause-icon binding on the clock / scheduled-tools button (pause icon when paused).
  • Boolean left-right toggle editor control (shared with entity-editor clone).
  • tool-relationship entity-type view fields: editable paused toggle + visible last-started.

Acceptance

  • The runner starts on workspace open and stops on shutdown without overlapping runs.
  • The main-window button shows the pause icon whenever paused.
  • Per-relationship and host pause toggles edit through the boolean toggle control and persist.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestverifiedIssue has been verified

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions