FA-31620 / Keyboard interactions / Member archive
Keyboard macro deterministic playback scheduler: Stroke deadlines round upward rather than applying the contract floor · case 05
The event trace violates the deadline rounding rule and produces incorrect keyboard state or command output.
Case contract
Case [records,start,rate_num,rate_den,loops,gap]. Records [kind,key,offset] have ordered nonnegative integer offsets. Positive rational playback speed scales deadlines by floor(offset*den/num). Repeat cycles start after scaled final offset plus gap. End of each cycle synthesizes releases for remaining held keys in sorted order. Return emitted [kind,key,deadline] records. Loops nonnegative; gap positive. Inputs are finite ordered event traces; return the stated deterministic state. Batch entries are independent. N varies the number of independent input transactions.
Why this case matters
Controlled keyboard event processing model for debugging application event logic.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| macro-play scenario 2 | [[["down", "A", 10], ["up", "A", 12], ["down", "A", 15], ["up", "A", 17]], [["down", "A", 10], ["up", "A", 12], ["down", "A", 15], ["up", "A", 17]], [["down", "A", 10], ["up", "A", 12], ["down", "A", 15], ["up", "A", 17]], [["down", "A", 10], ["up", "A", 12], ["down", "A", 15], ["up", "A", 17]], [["down", "A", 10], ["up", "A", 12], ["down", "A", 15], ["up", "A", 17]]] | [[["down", "A", 10], ["up", "A", 11], ["down", "A", 15], ["up", "A", 16]], [["down", "A", 10], ["up", "A", 11], ["down", "A", 15], ["up", "A", 16]], [["down", "A", 10], ["up", "A", 11], ["down", "A", 15], ["up", "A", 16]], [["down", "A", 10], ["up", "A", 11], ["down", "A", 15], ["up", "A", 16]], [["down", "A", 10], ["up", "A", 11], ["down", "A", 15], ["up", "A", 16]]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗