Repository navigation
Preserve fractional task repair deadlines (2.11.1) - #905
Conversation
|
|
Core 2.11.1 is published from immutable 30974a3, reviewed tree 01b14c8f. Packagist independently resolves that exact source. Published verification 39782710469 passes all 17 jobs, including every supported Laravel/PHP upgrade cell. Candidate source checks and Sonar passed before normal merge; the merged branch is retired. The patch preserves microsecond precision in all four repair-candidate timestamp bindings. The prior-source counterfactual retained eight actual at/after-deadline failures and four passing before-deadline controls; corrected SQLite/PostgreSQL/MySQL source controls pass. No timeout, retry budget or expectation was weakened. The original installed Server 2.11.1 / Core 2.10.2 lease-loss observation remains failed, not retried or rescued. Next is the coordinated PHP-only image adoption and a fresh original with the same observation budget, followed by the cold result and real Waterline reason display. That downstream acceptance is still required before #878 is delivered across the product. No unpublished #901 audit/schema adoption. |



Problem
An actual published Server 2.11.1 / Core 2.10.2 worker-loss consumer failed its unchanged 30-second observation in #878. Its only explicit repair pass ran 150 ms after the stored fractional lease expiry and selected no candidate. That original remains failed, with no browser acceptance or rescue.
Investigation reproduced the missing scan boundary: Laravel's default DateTime binding format drops microseconds. For a stored expiry
11:53:50.114071, a cutoff at11:53:50.264071binds as11:53:50, leaving the expired task unselected until the next whole second.Change
Evidence and remaining work
d7db4a2ewith the final 12-case fixture: all eight at/after-deadline cases FAIL; all four before-deadline controls PASS.c30906ff3d0eab3d456be827130fdc97bc786a8c9fcfb2ed8577bddb18896fe2.cf6b616afor repeating the format literal five times (php:S1192). The private-constant correction 4f8d6ce passes fresh Sonar: grade A, 0% new duplication and zero OPEN/CONFIRMED issues, with unchanged quality settings. That head's ECS gate then found a long nested query line. Current cd6e372 / whole 01b14c8f only wraps that line to repository style; focused ECS passes. The three fractional boundary values also round-trip through the constant in a read-only PHP control. Fresh build 39780212557 and Sonar 39780212946 qualify the current whole head. Earlier failed gates remain failed.Refs #878.