Skip to content

Report existing history-cache counters at worker shutdown - #170

Merged
rmcdaniel merged 4 commits into
mainfrom
fix/worker-cache-diagnostics
Oct 14, 2026
Merged

rmcdaniel merged 4 commits into
mainfrom
fix/worker-cache-diagnostics

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Change

Include the Worker's existing lifetime history-cache counters in the worker.stopped diagnostic context. PSR logs, diagnostic callbacks and Laravel/Symfony events receive the same sticky_cache map. Shutdown still clears retained history and preserves the counters.

This supports #112's actual cache and memory qualification. The earlier qualification refused missing worker-listing telemetry and remains unqualified.

Verification

  • Add a polled-history control exercising a hit, eviction and authoritative cold fallback, then assert the actual nonzero lifetime counters survive managed cleanup in both diagnostics and PSR logging.
  • Extend the existing Laravel/Symfony compatibility fixtures to receive those counters through their normal framework events.
  • Source review and git diff --check pass. Hosted PHP/framework, static analysis, dependency and corpus gates are pending.

This is diagnostic reporting only. Cache settings, replay behavior, request bodies and task authority are unchanged. The test transport is constructed; installed framework verification and a compatible stable publication are still required. Main documentation merge is held until that publication is qualified. #112 and PR #169 retain their remaining lifecycle and measurement criteria.

@rmcdaniel

Copy link
Copy Markdown
Member Author

The first candidate exposed a test-fixture mistake: the new managed cache lifecycle shared Laravel's logger with an existing shutdown-only assertion. Current head b734e74b9a8a76ad66adba5d8f328ab69c7d8987 gives the cache control its own logger and preserves both assertions. The product change remains the single shutdown-context field.

The original Symfony 6.4/7 jobs separately failed downloading PHPStan with HTTP 429 from GitHub before behavioral/static checks; no cause beyond that response is inferred. Those original failures remain recorded. Fresh normal checks are running on the corrected head; no source or installed acceptance is claimed yet.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Exact head d0248d8a4fc6b7e06c5a03a59be173606c38e1d1 completes CI attempt 1 with 27 jobs passing. Symfony 8, PHP 8.3 and one Laravel 9 cell each fail before tests on the same PHPStan distribution download returning HTTP 429. Target branch qualification fails on those missing prerequisites.

I am requesting one retry of only failed jobs on the same head, commands and limits. The original failures remain recorded. No dependency, transport policy, test expectation or source change is being made for that response. Publication and installed acceptance remain pending.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Exact source d0248d8a4fc6b7e06c5a03a59be173606c38e1d1 now passes all 33 applicable checks. CI attempt 2 reran only failed download-dependent jobs with the original head and limits; the original HTTP 429 failures remain recorded. Connected cooperation is explicitly skipped.

The new polled-history cache/logging control and Laravel/Symfony event controls pass. This qualifies source reporting, not a published installation or the optional Octane workload. Stable backport #171 has its own normal gates, reviewed merge, publication and installed verification ahead. Main documentation merge stays held until that stable delivery.

@rmcdaniel rmcdaniel left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed final main head f126f174e2c699e40f91f2d67278d2fb576e99bd, tree 5e481de749085a2373f2586d6c74ee86fbea1826. All 33 applicable normal checks pass; connected cooperation is explicitly skipped.

The compatible 2.4.1 release and normal installed acceptance are complete, so the documentation hold is released. This source diff adds the same diagnostic field/tests/docs and aligns version/quickstart metadata to published 2.4.1. Existing main-only cooperative implementation is not included in that stable release.

Ready for merge. Keep the public portal on the qualified stable tag rather than publishing main-only APIs. #112 and #169 retain their actual cache/loss and measurement criteria.

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 14, 2026 20:43
@rmcdaniel
rmcdaniel merged commit c352a10 into main Oct 14, 2026
34 checks passed
@rmcdaniel
rmcdaniel deleted the fix/worker-cache-diagnostics branch October 14, 2026 20:43
@rmcdaniel

Copy link
Copy Markdown
Member Author

2.4.1 release alignment is complete. Published tag/source/dist 520a53f2c4c7fe19358556375302e8e47e09e519 / reviewed tree 39c2dfb1251e5cd884632cea08e76091d145c277 remains the installed qualified identity (receipt #171 comment 6177950199).

Main #170 merged as c352a10d6c268ecc6d71deeba791fe3473b82c9b, identical reviewed tree 5e481de749085a2373f2586d6c74ee86fbea1826. All applicable fresh-main checks in 38634486390 pass; connected cooperative cancellation is explicitly skipped. The merged head is deleted. Main retains separate unpublished Nexus work, so its automatic portal 38634485942 was intentionally cancelled; the successful stable-tag portal 38633304041 is live and its deployment audit binds exact 520a53f2. Published actual declared-Server HTTP smoke 38633304775 passes.

Normal registry-only bare, Laravel 12.69.3 and Symfony 7.4 framework consumers agree on 2.4.1 metadata/source/dist and loaded Worker hash; existing framework configuration and real shutdown diagnostic forwarding controls pass. Those synthetic framework transports do not establish full #112/Octane or Nexus execution. Published diagnostics add actual lifetime cache counters to the existing worker.stopped event; no transport, authority, cache policy or default changes.

The optional #169 application has separately adopted only the normal 2.4.1 package and is continuing its actual runtime cache qualification. No Cloud, frozen cohort, shared dependency or major-version promotion follows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant