Stream Direction vs Task Intent

Why the doc splits on data direction, not task feel

§4 and §5 split tasks by where the data comes from:

Event-driven (§4)

Events arrive in our system from outside (push).

Schedule-driven (§5)

Our system runs scheduled queries against its own data (pull).

A separate, independent dimension is what the resulting task feels like to the operator:

Reactive

Something has already happened; we're responding.

Proactive

We're getting ahead of something before it happens.

These two dimensions are orthogonal — all four combinations exist.

Example Where the data comes from What the task feels like
Client message arrives → "respond to client" Event-driven (push) Reactive
Flight feed pushes delay alert → "warn client before they leave for the airport" Event-driven (push) Proactive
Daily query finds birthday in 7 days → "TA prepares gift" Schedule-driven (pull) Proactive
15-min query detects SLA timer at 30 min to breach → "respond to client NOW" Schedule-driven (pull) Reactive

The doc uses event-driven / schedule-driven in §4 and §5 because that's the dimension the architecture actually splits on (push vs pull). The task-intent dimension (reactive / proactive) varies independently per task and isn't a section-level grouping.

Reactive / proactive can become operational later — drives SLA defaults, default priority, dashboard sort orders. Those calls land in the PRD, not this outline.

(For engineers: event-driven = WRITE / push side; schedule-driven = READ / pull side.)