Skip to content

fix(slack): harden M4 edit and regenerate flows (#22) - #23

Merged
yashoza19 merged 4 commits into
opdev:mainfrom
yashoza19:feat/m4-hardening
Sep 10, 2026
Merged

fix(slack): harden M4 edit and regenerate flows (#22)#23
yashoza19 merged 4 commits into
opdev:mainfrom
yashoza19:feat/m4-hardening

Conversation

@yashoza19

Copy link
Copy Markdown
Collaborator

Follow-up to #20 — addresses the gaps tracked in #22 so M4 edit/regenerate is usable in production.

  • Edit modal: one input per epic (blank = remove) to stay within Slack’s 10 input-block limit; up to 8 epics per page with pagination hints
  • Ledger hygiene: new src/status/db/edit.py — only supersede changed/dropped rows; unchanged entries stay current with audit chain intact
  • Slack UX: edit and regenerate update the original DM via chat.update (channel/ts in modal metadata); no duplicate draft messages
  • Regenerate: runs collect + drafter in a background thread after ack(); persists participation.regenerated and regenerate_reason; user notes passed to drafter via regeneration_notes (not collection flags)
  • Other: Slack user authorization on edit/regenerate, unticketed prefill from flag/entry, aggregate leadership ask on first epic only

Test plan

  • pytest tests/test_slack_edit.py tests/test_slack_regenerate.py tests/test_slack_confirm.py tests/test_draft_persist.py
  • Open edit modal on a draft with 5+ epics — modal opens without Slack API error
  • Edit one outcome → original message updates in place; source='drafted_edited' on changed row
  • Clear an epic field → entry dropped from draft
  • Regenerate with reason → ephemeral “may take a minute” message, then original DM refreshes; participation.regenerated = true
    Closes M4 follow-up: harden Slack edit/regenerate flows (PR #20) #22

@exe-prow-github-app

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: yashoza19

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

yashoza19 and others added 3 commits September 9, 2026 12:24
Treat cleared Slack inputs as epic removals, remove the leadership-asks
field, and relabel unticketed work so engineers can add missed activity.

Co-authored-by: Cursor <cursoragent@cursor.com>
@yashoza19
yashoza19 merged commit bcf054e into opdev:main Sep 10, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

M4 follow-up: harden Slack edit/regenerate flows (PR #20)

1 participant