Flows YAML — port imperative webhook handlers as ops #1067
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#1067
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As the platform, I want the three imperative webhook handlers to become YAML ops invoked from flows, so that webhook ingress is a pure dispatcher and there is exactly one path from event to side effect.
Resolves audit finding §1.1.1 (flow + legacy collision; same event has two writers).
Acceptance criteria
Ops to author
cancel_tasks— replaceshandleIssueUnassignedatapps/server/src/http/webhook.ts:296. Args:repo,issue_number,assignee?.pr_dependency_markers— replaceshandlePrDependencyMarkersatwebhook.ts:325.propagate_dependencies— replaceshandleStackedRebaseCascadeatwebhook.ts:333and the legacyhandleIssueClosedcallback.Webhook cleanup
webhook.ts:296–341removed; webhook just calls the YAML dispatcher.Default-flow wiring
flows/defaults/issue-unassigned.ymlinvokescancel_tasksonissues.unassigned.flows/defaults/pr-synchronize.ymlinvokespr_dependency_markersand (conditional)propagate_dependencies.flows/defaults/issue-closed.ymlinvokespropagate_dependencies.Tests
Out of scope
References
docs/specs/flows-yaml.md§6.1, §11 Phase 3 step 4.apps/server/src/http/webhook.ts:296–341.