Skip to content

Refuse a person's approval of a set whose checks are still running #2670

Closed as not planned

Description

@pournasserian

Part of #2421 (F-RTE). Found in the review of #2668 (RTE-05 approvals). Not introduced by it: TransitionAsync(Approved) behaved this way before.

A person can approve a set while its checks are still running, and the set is then approved with no approval recorded and no count. The move from checks running to approved exists in the transition table for routing's auto-publish (RTE-01). AgentPermissions lets a person make every move, so IChangeSetDirectory.ApproveAsync or TransitionAsync(id, Approved) on a set in checks running approves it directly.

Nothing calls it today. The desk only offers Approve on a set awaiting review, and agents and engines are refused. A direct caller of the directory skips both the checks and the approval count, though.

Scope

  • Only the routing engine makes the move from checks running to approved, when routing lands (ADR-0012). A person's approval is refused unless the set awaits review, with the same refusal an approval of an approved set gets.
  • The table-driven transition tests take the person off that move.

Acceptance

  • A person's ApproveAsync or TransitionAsync(id, Approved) on a set in checks running is refused and stores nothing.
  • A set still reaches approved from awaiting review through its approvals, as before.
  • All of the above passes on SQLite and PostgreSQL.

Activity

  1. pournasserian commented on Oct 31, 2026

    @pournasserian
    MemberAuthor

    Closing as superseded: FluentCMS is restarting from scratch, see #2675. If this still matters to you, please open a new issue.

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

    supersededClosed because the project restarted from scratchtype:bugDefectv2FluentCMS v2 (v2 branch)

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions