Skip to main content
Language v0.2.0 · Preview

Deterministic N/M target scheduling

Build bounded integer-nanosecond ASAP schedules, preserve source order and physical-resource dependencies, and fail closed on timeline drift.

Target scheduling 0.1 contract

A successful target compilation publishes a deterministic static schedule with positive safe-integer nanosecond durations, exact arithmetic, stable operation ids, and no physical-qubit overlap.

v0.1
100,000
Maximum operations
ns
Integer time unit
ASAP
Resource policy

ASAP resource dependencies

Each operation starts at the greatest prior end time among all physical qubits it uses. Operations on disjoint qubits may start together; operations sharing a qubit cannot overlap.

Frozen traversal order

Operations retain depth-first source order. Static control-flow bodies are represented conservatively in that order; the schedule is a compile-time carrier, not a prediction of which runtime branch will execute.

Exact schedule invariants

Operation ids are sequential, endNs equals startNs plus durationNs, logical and physical targets match placement, and totalDurationNs equals the largest operation end.

Fail-closed boundaries

Missing or duplicate placement, non-integer duration, more than 100,000 operations, or safe-integer timeline overflow produces NM-SCHEDULE issues and an empty schedule.

CLI and JSON carrier

nm transpile main.nm --calibration calibration.json --json

The transpile JSON result includes placement, calibration identity, schedule, and schedulingIssues. Consumers must require success and an empty schedulingIssues array before submitting work downstream.

Stable scheduling diagnostics

Placement, duration, dependency, limit, and invariant failures use machine-readable codes independent of localized error prose.

NM-SCHEDULE-001NM-SCHEDULE-002NM-SCHEDULE-003NM-SCHEDULE-004NM-SCHEDULE-005

The static ASAP schedule does not model pulse shaping, crosstalk, dynamic branch probability, provider queues, control-electronics latency, or actual wall-clock execution. Those require a provider-specific contract.

Conformance mutates dependencies and totals, exercises fail-closed placement/duration/overflow paths, checks 1,000 seeded operations, and ratchets the full 100,000-operation boundary in packed core.