Skip to content

[demo] checkbox-approval UX #3

Description

@logosc

Demo only. This is a mock-up of what the plan-approval gate would
look like with a task checkbox instead of /symphony approve slash
commands. Click the checkbox below to see how GitHub renders it as a
clickable CTA. (This issue has no symphony:ready label, so the
orchestrator won't pick it up.)

Plan

The agent has analyzed the issue and proposes the following changes:

```

Scope

files_touched:

  • HELLO_DEMO.md
    estimated_lines_added: 1
    estimated_lines_removed: 0
    risk_summary: trivial — adds one file at the repo root
    ```

Approval

  • I approve this plan — writer-permission required.

How it works:

  1. You toggle the checkbox above. GitHub edits this comment, flipping
    `- [ ]` to `- [x]` and emitting an `issue.edited` event.
  2. `symphony-go`'s polling loop sees the edit on the next tick.
  3. The orchestrator looks up the user who toggled it (via `reactions` or
    `event.actor`), verifies their permission level
    (`admin / maintain / write`), and on success transitions the label to
    `symphony:implementing`. The agent starts implementation.
  4. If a user without write permission toggles it, the orchestrator
    un-toggles it (edits back to `[ ]`) and posts a one-line comment
    explaining why.

Compared to `/symphony approve`:

slash command checkbox
Click count 0 (must type) 1
Visibility text in timeline rendered widget
Audit comment is searchable edit history is searchable
Spoof-resistance same — both gated by permission check same

Comments asking questions about the plan are welcome and don't trigger
approval — only the explicit checkbox does.

Reject path

To reject, leave the checkbox unchecked and either:

  • add the `symphony:stop` label (orchestrator will mark blocked, post
    a comment), or
  • comment with your concerns; the orchestrator does nothing on free-text
    comments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions