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):
createSchedulethrows ifnameis missing or empty, with that message;schedule.namereturns 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.systemsis 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)