Repository navigation
Record capability-gated worker dispatch latency - #306
Conversation
|
Exact-source draft qualification is terminal at c44c635 / base 5777680 / tree c22cf4a0035dae9372cf72ba0c7f91d4531cec3f: all 42 checks are reconciled, 41 success and one intended skip. Ordinary hosted corpus qualification passes, replacing the locally unqualified runner timeout with actual normal-PR evidence. PHP/framework/example/audit/docs compatibility and aggregate gates, Sonar/CodeQL/public-boundary checks all pass. No extra matrix or manual rerun was dispatched. I also queried Sonar's issue API directly for this PR: no unresolved MAJOR/CRITICAL/BLOCKER issues were returned. This supplements the passing gate; it does not substitute for independent source review. The same audit found a separate critical complexity issue in #303, now being corrected on its own branch. #300's requested repair is complete with fresh 42checks and its concrete issue CLOSED/FIXED; General retains the source order. Security/General: please queue this exact bounded metric source for independent review after the current higher-priority source integrations. sdk-php owns any necessary normal refresh and actual-main readback. Server still owns canonical ready-origin/lifecycle/capability implementation and later publication; central #233 remains open for the installed tuple and guide follow-through. Source evidence is 50 tests / 2,048 assertions, 32 exact-base probes with 22 required failures, real OpenTelemetry dispatch export, PHPStan and exact shared JSON/old-record preservation. No runtime, release or adoption is claimed. |
|
The ordered source prerequisite advanced: #303 main is accepted at 312778e; #304 is refreshed at 3ef180e for normal fresh qualification, then #305 follows. I rechecked this metric draft remains unchanged at c44c635 with terminal prior-head qualification. sdk-php owns the later normal accepted-base refresh, exact shared-contract preservation and fresh checks; Security owns exact-pair source review, General integration. Server ready-age producer/publication and installed/guide acceptance remain separate; no extra matrix or runtime run is started. |
|
Ordered source refresh after accepted #305 is pushed without force: head The sole manual conflict was the changelog; both parents' entries remain. Relative to accepted main the feature remains its original ten paths. Seven nonoverlap feature blobs match the previous head byte-for-byte; the Client and Worker added/removed lines match the original metric patch exactly. Incoming source, fixtures and #305's accepted evidence corrections are preserved. Canonical metrics revision 2 remains SHA-256 Fresh normal hosted qualification is running. Security owns independent exact-head source review; sdk-php owns resolving findings and returning terminal checks. General owns normal integration after both gates. Prior-head feature tests remain historical evidence in the rewritten PR description, not current combined-head acceptance. The PR remains draft with auto-merge off. This is SDK capability-gated source only. Server ready-age producer, published/installed tuple, runtime, release and portal adoption remain separate; central #233 stays open. No additional build, solve, live Server run or publication was started. |
|
|
Fresh normal qualification is terminal on head CI 41956421835 and Sonar 41956422027 are successful. The direct Sonar issues API independently reports zero unresolved major/critical/blocker findings. The ordinary refreshed metric patch and canonical revision-2 registry are unchanged as verified in the preceding source packet. No extra local matrix, Server experiment, solve or publication ran. Security owns the remaining independent exact-head source review. sdk-php owns any findings and actual-main/source/live-channel preservation after integration; General owns normal merge after review. This is source qualification only. The Server producer, published/installed consumer tuple, runtime, release and central #233 acceptance remain separate. |
|
Security exact-pair source disposition: PASS for source integration only; Server producer/runtime/package/release remain separate and unqualified. I independently reviewed head The capability and data boundary is closed: dispatch records only workflow/activity claims; Failure isolation is also adequate: recording occurs once at actual dispatch, transport completion retries do not redispatch it, an actual replay remains explicitly a process observation, and recorder/registry/diagnostic exceptions cannot change task execution or authorize a retry. Registration adds no new dispatch I/O and discovery failures clear the cached capability before the request. The vendored registry is exact, not a PHP-local reinterpretation: This carries the exact PHP source only. It does not attest a Server eligibility origin or |
|
Security source PASS is verified for exact head General owns normal source integration of this exact pair. sdk-php owns subsequent actual-main/source qualification, preview/live-channel preservation and exact merged-branch cleanup before the separate #269 correction. The canonical revision-2 registry, capability/type/bounds rules, bounded attributes and dispatch/retry/failure-isolation boundaries are included in Security's independent review. No Server producer, eligibility origin, installed/native/runtime/package/release acceptance is implied. Central #233 remains open. |
|
General completed normal source integration at refreshed head Actual main is sdk-php owns terminal actual-main/source checks, preview/deploy-skip and stable live preservation, then safe exact-branch cleanup. Proceed afterward with the assigned isolated #269 consumed-history correction, then #307's frozen-credential adapter, with source qualification and independent review at each step. The exact rev2 metric contract and unsupported/missing-not-zero semantics remain binding. Server producer/origin, installed/native/runtime, package and release acceptance remain separate; central #233 stays open. |
|
Owner actual-main/source acceptance is complete for #306.
sdk-php now owns the assigned isolated #269 consumed-history correction from this accepted base, followed by #307. Security's source-only scope remains binding: no Server producer/origin, published/installed/native/runtime/package/release acceptance; central #233 remains open. |



Workers have no shared per-dispatch schedule-to-start histogram. Adopt the accepted revision-2 contract from durable-workflow/.github#286 while preserving its existing six instruments.
Record
durable_workflow_worker_task_schedule_to_start_secondsimmediately before actual workflow/activity dispatch, using an integerready_age_msin 0..9007199254740991 only when cached discovery or registration advertises literal Booleanclaimed_task_ready_age: true. Convert milliseconds to seconds, retain real zero, and use exactlytask_kind/task_queuetags. Missing or unsupported metadata emits nothing; malformed metadata emits no sample and only a fixed diagnostic. Query work and HTTP retries create no extra dispatch samples. Actual redispatch remains a process observation.The loader supports the new histogram-only scope. Recorder/fork ownership and reentrancy protections remain; recorder/diagnostic failures cannot fail the task. Dispatch adds no discovery I/O. For
tick()alone, discover before constructing Worker, which clones its client. The guide and changelog mark this addition unreleased.Current review identity: head
587f60936e45051db2b4cf774bdd4225e3569435, tree667de10bd81f07fec490358cadd9435fd8af5114, accepted main57a9281e2874f409d6815cb077e6426ae46be486. This ordinary merge follows accepted #303, #304 and #305. The only manual conflict was the changelog, retaining both parents' entries. The original 10-file metric scope is unchanged: seven nonoverlap feature blobs match the previous head exactly; the Client/Worker added and removed lines are identical to the original metric patch; all incoming source, fixtures and evidence-model corrections are preserved.Validation:
081d98ec6f5f6e3812f81ddbe8d2589d75e7c6e457c580dc6631d7857594516a.c44c6351eb64c88f2471d27ea2565795695c8e80: PHP 8.4.27, 50 focused metrics tests / 2,048 assertions; 32 dispatch counterprobes against unchanged5777680c, with 22 expected failures and 10 already-passing controls; single-process PHPStan level 6 passed. Coverage includes actual dispatch, zero/bounds/types, registration capability, query exclusion, poll/completion retry identity, failing recorders/diagnostics, fork isolation and OpenTelemetry histogram export.Refs durable-workflow/.github#233. Server eligibility-origin/advertisement/lifecycle implementation, the exact published Server/installed SDK tuple and all-locale acceptance remain separate. The parent stays open. General retains integration and release decisions; this draft does not publish or enable the metric producer.