Summary
Three unilateral dispositions in PR #535 (#536 Phase 2) are hardcoded but silent: seeder_error_gate auto-continues, classify_error_gate auto-skips, and workflow_error_gate's evidence path is split. Beethoven flagged these for review — the decision is likely correct but operators have no way to audit it after the fact without reading events.jsonl.
Solution: interpose a type: notification step at each auto-disposition point that emits a structured auto_disposition event. The route stays hardcoded. The decision becomes observable in notifications.jsonl and visible in platespinner.
YAML sketch (seeder example)
notifications:
types:
auto_disposition:
version: 1
payload:
decision_site: { type: string }
disposition: { type: string } # "auto_continue" | "auto_skip" | "auto_abort"
reason: { type: string }
work_item_id: { type: string }
agents:
- name: seeder
type: script
routes:
- to: child_router
when: "{{ seeder.output.error_count == 0 }}"
- to: seeder_partial_continue_notifier
when: "{{ seeder.output.error_count > 0 and seeder.output.children_seeded > 0 }}"
- to: abort_run
on_error: true # catastrophic failure
- name: seeder_partial_continue_notifier
type: notification
notification: auto_disposition
payload:
decision_site: "seeder"
disposition: "auto_continue"
reason: "Seeder completed with {{ seeder.output.error_count }} error(s); {{ seeder.output.children_seeded }} children seeded."
work_item_id: "{{ workflow.input.work_item_id }}"
routes:
- to: child_router
Sites
plan-level.yaml: seeder partial-continue
restack-remedy.yaml: classify auto-skip
actionable.yaml: workflow_error_gate split (evidence path — confirm no change needed, but add notification for evidence_reviewer → workflow_abandoned catch-all)
Value
Prerequisites
conductor Phase 1 (#229) + notifications (#213). No verb changes. Additive only.
Full patterns doc: .squad/decisions/inbox/wagner-on-error-notifications-patterns-2026-05-28T23-00-46Z.md
Summary
Three unilateral dispositions in PR #535 (#536 Phase 2) are hardcoded but silent:
seeder_error_gateauto-continues,classify_error_gateauto-skips, andworkflow_error_gate's evidence path is split. Beethoven flagged these for review — the decision is likely correct but operators have no way to audit it after the fact without readingevents.jsonl.Solution: interpose a
type: notificationstep at each auto-disposition point that emits a structuredauto_dispositionevent. The route stays hardcoded. The decision becomes observable innotifications.jsonland visible in platespinner.YAML sketch (seeder example)
Sites
plan-level.yaml: seeder partial-continuerestack-remedy.yaml: classify auto-skipactionable.yaml: workflow_error_gate split (evidence path — confirm no change needed, but add notification for evidence_reviewer → workflow_abandoned catch-all)Value
notifications.jsonlfordisposition: "auto_continue"to audit after any runPrerequisites
conductor Phase 1 (#229) + notifications (#213). No verb changes. Additive only.
Full patterns doc:
.squad/decisions/inbox/wagner-on-error-notifications-patterns-2026-05-28T23-00-46Z.md