Skip to content

v1.7.0 shadow: run the persistent Operator in observe-only mode #1090

Description

@jeffhuber

Part of #1096.

Goal

Implement the continuously running read-only Operator before enabling any repository mutation.

Dependencies

Requires the frozen contract, container, durable store, GitHub identity/reconciliation, and visibility PRs.

Scope

  • code-mower operator run --once --mode observe.
  • code-mower operator serve --mode observe.
  • Poll/reconcile configured repositories, controller decisions, gate state, provider availability, and owner actions.
  • Persist decisions and evidence but perform no issue, PR, label, branch, check, Jira, Slack, or merge mutations.
  • Graceful shutdown, lease handoff, bounded backoff, and health reporting.

Acceptance criteria

  • Observe mode is mechanically incapable of mutating remote systems.
  • One-week shadow soak survives restarts and network/provider outages without duplicate work or lost state.
  • Decisions match manual lanes status, gate-health, and controller dry-runs for the same heads.
  • Board and CodeMower.com expose freshness and owner-action state without private content.
  • A kill/restart during every lifecycle phase recovers deterministically.

Code Mower delivery

One focused runtime PR plus retained shadow-soak evidence. No active dispatch belongs in this PR.

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

    contract-firstRequires product/data/merge contract agreement before dependent work mergesenhancementNew feature or requesttier:RCode Mower generated labelv1.7Code Mower v1.7 single-tenant Operator

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions