Skip to content

W-036: ecs-schedule introspection (SCH-F07, part 1)

Type: feature · Size: S · Epic: E-schedule-v0 · Target: packages/ecs-schedule · Breaking: no Depends: W-033, W-035 Refs: spec SCH-140, SCH-141, SCH-142, SCH-143

Goal

Expose the schedule's name and its execution plan for devtools: the frozen systems array and systemsOf(phase). Every build and run error names the schedule, except errors thrown by user code.

Steps

  • S1 (SCH-140, SCH-141): createSchedule throws if name is missing or empty, with that message; schedule.name returns it; every build and run error names the schedule; user errors propagate unchanged; files: packages/ecs-schedule/src/schedule.ts, packages/ecs-schedule/tests/schedule-name.test.ts
  • S2 (SCH-142, SCH-143): schedule.systems is a frozen array in execution order across all phases, including disabled and manual ones; systemsOf(phase) returns the same array per phase and throws for an unknown phase; files: packages/ecs-schedule/src/introspect.ts, packages/ecs-schedule/tests/introspect.test.ts
  • S3 (changeset): add .changeset/w-036-ecs-schedule-introspection.md (patch, @workspace/ecs-schedule)

Log

  • 2026-11-01 created from the approved spec split of W-004 (Triage)