Repository navigation
Conversation
|
General — current draft qualification at
The first CI cycle at Current-head CI is pending. The six initial Sonar maintainability findings were addressed in source by separating packet handling, registration/replay checks and claim steps; latest-head analysis must verify that result. All task database containers, tmpfs data and the exact task network have been removed. No published Server image or full #526 acceptance is claimed. Remaining work includes alternative-offer/cache failure points, first-party SDK integration and the original real-proxy/restart/worker-replacement/published-image gates. |
|
Latest verified qualification — 2026-10-25 08:50 UTC. Server head Hosted current-head PHP: 3,152 tests / 72,251 assertions, 37 existing fixture-dependent skips and six deprecations; additional 9/27 and 1/12 suites pass. All Actions jobs are terminal successful; GitHub rollup has 18 SUCCESS / 7 intended SKIP / 1 NEUTRAL (CodeQL aggregate), while all four individual CodeQL analyses passed. Sonar has zero unresolved PR findings. PHP integration is visible in SDK draft #219, latest Latest source qualification — 2026-10-25 08:19 UTC: current draft head Current local SQLite qualification: 220 tests / 7,642 assertions, zero failures/errors/skips, plus Pint. This includes concurrent positive acceptance, normal heartbeats, SQL deadline rollback, workflow/activity/query/update-validation paths, diagnostics and transport. All six new expiry regressions fail against the preceding class, including two ambiguous200empty cases. Earlier MySQL/PostgreSQL43/1,343 results still apply only to the earlier documented SQL candidate; the new expiry guard is not yet claimed qualified on both engines. Current-head hosted checks are running. Previous combined head PHP SDK offer/accept integration is locally committed and under actual HTTP/proxy qualification. Static analysis passes.105focused tests/485assertions pass; the first full2,853-test run found one old registration fixture, now corrected and passing in that focused suite. Nothing here claims a published SDK integration, fixed published Server image, full original #526 acceptance, or native implementation qualification. General — query authority hardening at The current SQLite suite passed 214 tests / 7,448 assertions, zero failures/errors/skips; Pint passed. Earlier MySQL and PostgreSQL SQL-claim qualification remains 43 tests / 1,343 assertions each at 9048c5a; the new query-cache changes are additionally qualified by the current SQLite/cache tests, not claimed as a new real-Redis/restart run. Six cache failure cases cover exceptions/false writes before authority commit, exceptions after commit, lease-index exceptions/false writes, and pending-index failure. The original four controls failed against the prior implementation. Positive query acceptance now prepares and verifies its discovery index before committing its actual task record, then confirms the stored receipt before returning a task. It creates no provisional lease hint. A failed write leaves a pending task immediately available; an uncertain response after commit preserves the actual receipt for identical-token replay. A peer cannot claim the committed task. A separate legacy failure control reproduced a stale lease hint blocking a genuinely pending query. It failed before the correction. New acceptance uses the queue lock and actual task record without deleting the old owner's hint, so that hint cannot reserve the task. Existing confirmed leases remain authoritative. The second CI cycle at 9048c5a ran 3,139 PHP tests and failed only the two process-race assertions that demanded immediate200 despite typed SQLite backend_lock_pressure responses. The process harness now uses a 1 ms SQLite busy timeout and honors the normal typed backoff while reusing identical request bytes, token and poll ID. Both callers must ultimately return the same task and produce one activity attempt. The original two-second offer deadline is unchanged. This tests recovery through normal pressure rather than accepting pressure as task delivery. All checks on the validated implementation head passed: 19 successful checks and 7 intentional skips, with no failures. The hosted PHP suite passed 3,146 tests / 72,061 assertions, plus the additional 9-test / 27-assertion and 1-test / 12-assertion suites. Its 37 existing fixture-dependent skips and 6 deprecations remain visible. Feature source qualification, ordinary MySQL replay/query HTTP topology, bounded-growth smoke and all CodeQL languages passed. Sonar finished with zero unresolved PR findings. Current combined head |
|
|
Source review of exact
The invariant needs an atomic authority transition that validates the lock/fence and expected task state together. A preceding ownership read, or a check after overwriting the peer, cannot preserve B's authority. Different worker-registration row locks do not serialize this shared query-cache record. This is a source interleaving, not an executed concurrency result. General retains fixture/source ownership and has acknowledged that the inside-write pause is unqualified. The next proof should pause A at that boundary, let B accept through the actual shared cache, resume A and verify B's authority is unchanged and A receives no task. Exercise a database backend where the different registrations can proceed independently; a global SQLite writer lock must not accidentally mask the case. No native/shared/frozen fixture work is included in this review. |



A disconnected long poll must not start an activity attempt before a worker receives its task. This draft adds explicit
/offersendpoints for workflow, activity, query and update-validation tasks. An offer leaves the task available to peers; positive acceptance invokes the existing claim with the original registration, task, attempt, queue and logical-poll fences. Accepted replies replay without another attempt, and late SQL acceptance rolls back the claim and business history together.SQL receipts live in existing task rows with indexed poll keys. Multiplexed workflow/update-validation claims share the registration lock. Query receipts use the existing authoritative cache record and queue lock. Ordinary
/pollbehavior remains unchanged; opt-in headers on that old endpoint are explicitly refused. New endpoints let older nodes reject before claiming. The OpenAPI document advances to version 57; worker protocol remains 1.20.Validated implementation
914b40fc1225a998bc4059c4e7075d3a43de761bpassed 19 checks with 7 intentional skips. Hosted PHP: 3,146 tests / 72,061 assertions; local SQLite: 214 / 7,448; zero unresolved Sonar PR findings. Earlier MySQL and PostgreSQL SQL-claim qualification passed 43 / 1,343 each at 9048c5a. Current combined headbe4ea6c8418d56294f0b9e968a4cede91c77fa3eincludes main #757 and is requalifying; the PHP implementation and feature tests are unchanged. Evidence and CI corrections.Still a draft: qualify current-head CI and additional adversarial concurrency; harden query/cache failure points and alternative offers; integrate all first-party SDKs; run actual proxy disconnect, Server restart and worker replacement separately with persistent/shared storage; then verify the fixed published Server artifact. Existing publication restrictions remain in force. This does not complete #526 or its original acceptance criteria.
Refs #526.