What it does

DayShift treats a disrupted day like a system that needs recovery, not a blank calendar that needs planning. When reality changes — for example a 50-minute bus delay — a WebMCP-aware agent can read the exact schedule, read non-negotiable constraints, simulate candidate recoveries, and stage a valid proposal. DayShift's deterministic constraint engine independently checks the proposal. The human then sees the trade-offs in the same web UI and is the only actor that can approve the change. Only after that approval can the agent commit it.

Why WebMCP is essential

The core experience depends on a shared semantic control surface. The agent does not infer calendar blocks from pixels or hunt for drag-and-drop controls. DayShift exposes schedule state and recovery operations directly as WebMCP tools, while the human sees and controls the same underlying state. The visible UI deliberately cannot stage or commit a recovery; removing WebMCP therefore breaks the complete recovery loop instead of merely making it slower.

Better user experience

The user can describe what broke in natural language and keep their decision authority. DayShift shows exactly what will move, which preference is sacrificed, and whether every hard constraint still passes. Staging is visibly different from committing, so there is no hidden mutation.

What humans and agents can do together now

The agent can explore the repair space quickly; DayShift enforces invariant truth deterministically; the human makes the final trade-off decision. Those three forms of authority stay separate while operating on the same live web application.

WebMCP implementation

DayShift registers six imperative tools through document.modelContext.registerTool(): get_day_state, get_constraints, report_disruption, simulate_recovery, stage_recovery, and commit_recovery. Read-only tools are annotated with readOnlyHint. Mutation tools use revision binding and deterministic re-validation. Human approval is deliberately absent from the tool surface, and commit_recovery fails closed unless the current proposal was approved in the UI. Invalid or duplicate schedule changes fail closed as well.

Architecture principle

Agent = proposal authority. DayShift = validity authority. Human = decision authority.

Built With

Share this project:

Updates