Repository navigation
Profile and add optional bounded warm workflow execution to embedded PHP workers #748
Description
Delivered initial bounded profile
Optional embedded live execution is delivered in Core 2.8.0, merged through #834 at 2edaa6b1c6f45fcec4570813c2e741aadde92b3b. Normal cold replay remains the default. The release preserves 2.7.3's genuine pre-entry refusal, supported repair of the same original and genuine workflow-body failures. Inherited source 77132094 does not qualify 2.7.3.
The initial profile requires an explicit workflow allowlist and immutable application build ID. It supports sequential remote activities and positive ordinary timers on asynchronous database queues. Each worker retains at most four frames, for a nonrenewing 30 seconds, subject to a 128 MiB whole-worker RSS threshold. Fresh captured claim generation, physical PDO/configured-model identities and the complete committed history prefix fence reuse. Unsupported features and lifetimes select authoritative cold replay before their durable handler. Normal supervision remains required. See configuration and operating limits.
Qualified published artifacts and consumers
- Full-source qualification and protected PR checks pass. The full unit suite passes 4,301 tests / 56,181 assertions. All database shards and source Laravel journeys pass. Combined coverage is 68,160 / 72,703 lines, 93.75%, with the complete 620-PHP-file inventory and no exclusions. Sonar, security and public-boundary checks pass.
- Normal published verification passes its package job and all 16 supported PHP/Laravel upgrade cells across five Laravel families. A separate normal Packagist consumer matches all 955 product files, source/dist references and vendor autoload, and passes 71 continuation/process/cache/profile controls / 2,606 assertions. Publication evidence keeps source and installed-package results distinct.
- PHP Server #552 is merged at
987b07e1088293d9e5a8c5530a7f5ff563952968, with its whole tree identical to qualified head512807cd. PHP Server 2.9.11 / chart 0.2.1 consume normal Core 2.8.0. The protected immutable publisher is ALL PASS: actual multi-architecture registry identity, published SQLite first-run, source-free MySQL Compose, catalog convergence, rolling promotion and matching immutable OCI chart/install acceptance. Exact-image acceptance matches all 955 Core product files and selected Server/TLS files, and passes 18 direct PostgreSQL/MySQL/MariaDB TLS probes without source/vendor mounts or Composer changes. The receipt records architecture/image/chart digests, certificate-refusal coverage and limits. Native/shared/fixture/benchmark changes from actual main are preserved without competing implementation or adoption. - Sample App #264 is merged at
1ee5125233b2c21ff989697c369fcfe0a714ac29. Its normal published devcontainer workflow passes native AMD64/ARM64 installed acceptance and both registry main-channel checks. The immutable image receipt records indexsha256:0f2d772d53591e1354e3bc55bce016d7fefb727cfe83facb8f1d6df1bbcdd1eb. Both embedded lockfiles use Core 2.8.0. SDK 2.5.2, Waterline 2.11.4 and the separate frozen Server/Core tuple are unchanged by this update. The subsequent Sample #265 security delivery at0b2ac945retains the Core pins, closes the two follow-redirects alerts and passes its own normal native-architecture installed publication. That newer delivery is independently owned and qualified.
Measurement decision and preserved limits
The source-specific comparisons report actual source, budgets, repetitions, startup, timer/queue delay, worker CPU/RSS, history queries and cache hits/misses. Three single-worker 1,000-event pairs complete with full audits. Their measured saving is primarily repeated dispatch/validation; authoritative history remains substantial and history SELECT counts increase. Six 100-event four-worker/eight-run cohorts complete all 48 workflows, with frequent misses and no consistent worker-CPU saving. Timings from 5dd594e3 are not attributed to the later release.
The large-study report retains all failed originals. Six four-worker/one-run originals fail: three OOM kills and three ordinary memory exits, with SQLite lock errors and unfinished work. Both large eight-run pilots miss their original deadlines in both modes, all eight workflows unfinished. The four-worker pilots record 57/62 failed jobs and 7/11 tasks with positive repair counts, which remain unclassified without corresponding evidence. The earlier one-hour pilot remains failed at 642 events, 128 effects and 512/513 completed tasks, without OOM. No failed original was rescued, rebudgeted or relabelled.
Maintainer acceptance decision: deliver the opt-in sequential profile with these measured limits and normal supervision. The originally proposed full 72-original grid was not completed; further large concurrent repetitions were not admitted after failed capacity pilots. That broader experiment is not pursued as a prerequisite for this initial profile, and no full-grid pass, general production speedup or increased safe capacity is claimed. Root cause and applicability to released cold execution remain unproven.
Acceptance disposition
- Publish the profiling decision, executor/profile, identity, bounds, affinity and cold-fallback design.
- Prove eligible resume without completed-prefix re-entry, equivalent durable outcomes and no repetition of recorded business effects after cache loss.
- Cover age/eviction/RSS/build/miss, shutdown/SIGKILL, lease loss, duplicates, transaction failure and uncertain acknowledgement with authoritative recovery.
- Cover supported activities/timers and explicit cold fallback for excluded operations, handlers, cancellation/termination and redrive.
- Prove run/tenant isolation and supported dependency/Fiber lifetime, and expose process-local cache/re-entry diagnostics with honest whole-worker RSS semantics.
- Complete the original broad performance grid. Not completed; explicitly retired from this initial release's acceptance by the bounded admission decision above. Completed and failed comparisons remain published.
- Pass relevant source/embedded checks, then verify normal published Core and affected PHP Server/Sample consumers.
Service-mode warm execution remains PHP SDK #113. #773 owns subsequent tracing integration and its separately qualified minor. No unchanged SDK release, Cloud rollout or native/catalog/stored-job/shared/frozen migration adoption is implied by this delivery. Waterline's Core dependency is development-only; its unchanged runtime is exercised through Sample App. Earlier source-alias rehearsals, guard failures and other original evidence remain in #834 and the dated comments/reports.
Activity
rmcdaniel commentedon Oct 17, 2026
Initial profiling tools are merged through #822 at
d4eb7258, with the exactreviewed
501c36e6tree. Independent main39016766580passes all applicablechecks, including MySQL/PostgreSQL shards, MariaDB, five Laravel/PHP upgrade
profiles, unit/coverage, corpus, quality and the official Sonar app. Sonar's
analysis revision matches the merge and the new files have no open findings.
The normally installed Workflow 2.5.28 role probe passes three cases / 468
assertions at 91 events. History/projection delegates account for 74.06% of
measured CPU; activity-start timing includes history writing. The README has
the measurements and a public locked Composer recipe. This is not a speedup
or a production-capacity result.
Fresh growth controls pass at 14 and 102 events (2 cases / 212 assertions).
The bounded progress reporter passes its unit control. A separate 91-round
observation ended at its declared 120-second cap; last progress was before
batch 20, with 60 mocked effects, 40 workflow entries and 420 round visits.
The large case remains incomplete. The earlier opaque large pilot was
interrupted, with its other two large cells unstarted.
Two additional Xdebug 3.5.3 call-profile controls hit the declared 32 MiB
per-process output cap, including the gzip-enabled control, before completing
the small test. Neither supplies accepted function percentages or an engine
finding. Their raw files and temporary profiler tooling were deleted.
Exact source quality, unit/contracts, corpus, MySQL feature, aggregate build,
boundaries and Sonar pass. All local profiling containers
are gone. Disposable dependencies and raw output were removed at 08:15 UTC;
the committed recipe and these readable results remain.
The next step is a manually dispatched hosted profile using the committed
published consumer: three repetitions with the same 1 CPU / 1 GiB limits,
bounded observation time and scalar progress in ordinary job logs. It will
retain no database or history archives. This prepares the complete initial
large-history baseline before choosing a live-Fiber cache.
Full large-history, real-queue, concurrency and continuation
acceptance remains open. No product runtime, release or retained execution
has changed.
rmcdaniel commentedon Oct 17, 2026
The hosted wrapper is merged through #823
at
006df7700ec52317ba2cd6a41c0ab0e77975e3af, identical reviewed tree91c838ef.The corrected candidate passes all applicable checks and Sonar. The first
workflow configuration failure remains recorded at
39018677722; it ran no cells.Hosted small setup
now passes all three repetitions on the exact merge. Each passes two cases /
212 assertions: 14/102 history events, 7/55 completed first-attempt tasks,
3/27 mocked activity effects and zero repairs. All three job logs were read.
The locked published 2.5.28 package's complete source/resources and loaded class
path are verified. Each cleanup step passes; no database/history archive is uploaded.
Limits remain PHP8.5.6 / Laravel13.37.0 / Avro1.12.2, 1CPU / 1GiB / no swap.
Rep1's host is EPYC9V74 and reps2/3 EPYC7763; these are setup observations.
Fake queue and virtual timer time remain explicit.
The existing completed job logs also provide the following phase measurements.
CPU figures are seconds; the replay column is the median of three cold bridge
reads. That bridge is a different path from the embedded ready-task executor,
so these columns must not be subtracted to estimate executor replay CPU.
All repetitions execute 919 start/ready SQL queries at 14 events and 8,172 at
102 events. History materialization uses one query. Summed SQL elapsed time
is 55–78 ms and 515–732 ms respectively; it is not database CPU. These small
observations show why the larger-history measurement and role-level attribution
are needed before selecting a cache or projection optimization.
Independent main
39019592277now passes all 21 applicable jobs, with twoconditional skips, plus Code Quality and boundaries. Sonar analysis
51ce9db8and the official app pass on exact
006df770: 97.4% new-code coverage, zero newduplication and all security hotspots reviewed under unchanged thresholds.
The full
allrun39020772024was dispatched separately at09:20:48 UTC on exact
006df770for the nine-cellinitial growing-history baseline under the existing 105-minute observation cap.
Large-history, real-queue/concurrency and retained-execution acceptance remain open.
rmcdaniel commentedon Oct 17, 2026
The next scoped diagnostic is #824,
source
ba5e0fa55b12340eb164fd8753287775a9d631c0. It uses the same normalpublished Workflow 2.5.28 / PHP 8.5.6 locked consumer. All installed source and
resources match the release, and the loaded product class comes from that
installation.
Three instrumented originals pass 483 assertions. Each has 91 history events,
24 mocked activity effects, 49 completed first-attempt tasks and zero repairs.
Each records 430,164 payload reads/casts, across all 91 event IDs, with
780,850,080 cumulative raw JSON bytes accessed. Those are repeated in-memory
accesses, not network traffic or retained diagnostic data.
Inherited cast timing is 5.715 / 5.628 / 5.560 CPU seconds against instrumented
whole-execution CPU of 20.861 / 20.658 / 20.293 seconds. These timings include
clock-read overhead and overlap projection-role time. They do not establish a
pure JSON-decoder share or a potential speedup. The ordinary path separately
passes one final-source control / 156 assertions. ECS and two-file PHPStan pass.
This gives repeated conversion a concrete place in the investigation before
choosing live retained execution. No runtime cache or product behavior changed.
Exact-head candidate
39021360554passes all seven applicable build jobs withsix conditional skips, Code Quality, boundaries and the official Sonar app.
The reviewed PR report has zero open/confirmed findings and zero new duplication.
Merged as
5d2a0070, identical reviewed treee636655b; independent main39021707241
passes all 21 applicable jobs with two conditional skips, plus exact Code
Quality and boundaries. The official Sonar app and analysis
d2dc37c9pass on5d2a0070, with 98.0% new-code coverage, zero new duplication and all hotspotsreviewed under unchanged thresholds. The independent full growth
run 39020772024
retains its original source, cells and observation budget.
All task containers, 223 MiB of dependencies, expected-source copies and raw
logs were removed at 09:30:34 UTC. Only clean active source remains locally.
rmcdaniel commentedon Oct 17, 2026
Timer projection #825
now contains the first small stateless reduction of the repeated payload reads
measured in #824. Parent snapshots cast the same payload 21/21/23 times for
scheduled/fired/cancelled timers; reusing the resolved value bounds this to two
while retaining the ordinary null-coalescing accessor.
The parent fails the three new bounds and passes nine controls. Candidate
4713a5431e548bc500804ed035da37599f8d1f26passes all 12 cases / 101 assertions,ECS and focused PHPStan. The tests preserve exact clocks and condition/signal/
parallel metadata, history authority, partial strict models, malformed/null
payloads and a fresh value after mutation on a later projection call.
Six fresh source originals also pass, one test / 156 assertions each, at 91
events, 24 mocked effects, 49 completed first-attempt tasks and zero repairs.
Identical dependencies and 1 CPU / 1 GiB / no swap are used on the same i5-6500,
with P/C, C/P, P/C order and exact source-file/class checks.
The CPU differences are small and variable. They do not establish a broad
speedup or capacity claim. This is a source comparison, not a published-package
acceptance. Exact candidate build
39021833832passes all seven applicable jobswith six conditional skips, plus Code Quality, boundaries and the official
Sonar app. Its reviewed report has zero open/confirmed PR findings and zero new
duplication under unchanged thresholds. Merged as
d0ea8cafe648934ec2ee3ea33c397599a6cd0428,identical reviewed tree
c46aae67. Independent main39022203534
now passes all 21 applicable jobs, with two conditional PR-only skips. Exact
main Code Quality, boundary and official Sonar app pass too. Immutable analysis
eb5463ea-8ea7-4197-85c1-d1b969700147matches mergedd0ea8cafand passesunchanged thresholds: 98.1% new-code coverage, zero new duplication and all
hotspots reviewed. Source delivery is complete; stable backport and published
acceptance remain separate. There is no retained
execution or model cache, and no altered timer/history authority. The full
published baseline39020772024 remains unchanged and in progress.
All task containers, 204 MiB of dependencies, copied parent source, generated
lockfile, raw logs and the one-off experiment wrapper were verified removed at
09:41:58 UTC. Only clean active source and this readable outcome remain.
rmcdaniel commentedon Oct 17, 2026
Published 2.5.28 growing-history baseline completed
The original run 39020772024
passes all three jobs on runner source
006df7700ec52317ba2cd6a41c0ab0e77975e3af.I read every original log: nine cells / nine tests / 5,598 assertions.
Each job passes three tests / 1,866 assertions and its always-cleanup step.
The last job finishes at 10:42:43 UTC. No execution was rerun or rebudgeted.
The normal locked package is Workflow 2.5.28 /
592dee305f46ac707baadf55324407c43aeb2dc5,PHP 8.5.6, Laravel 13.37.0, Testbench 11.3.0 and Avro 1.12.2. All installed
source/resources are verified against the release. Each cell has a fresh PHP
process and in-memory SQLite database, 1 CPU / 1 GiB / no swap. The workload
uses mocked activities, fake queue and advanced test time.
CPU and memory observations
Generation is start plus all ready-task batches, including replay, persistence
and synchronous projections. Bridge replay uses an already materialized full
history through a separate execution path. Summary is an idempotent projection
at that committed history. Bridge/summary figures are the median of three
operations in each cell. These operations must not be added or subtracted to
attribute generation cost. Peak RSS includes application startup and the
whole cell; it is not retained-cache memory.
Repetitions 1/2 use AMD EPYC 9V45 hosts; repetition 3 uses AMD EPYC 7763.
Hardware differs between repetitions. These are baseline observations, with
no matched-hardware speedup or production-capacity claim.
Generation makes exactly 919 / 8,172 / 178,484 SQL queries at the three
sizes. At 1,004 events, materializing history takes one query and 55–122 ms
wall time; bridge replay makes zero queries in every sample. Measured SQL
elapsed during generation is 14.671–25.266 s at that size, distinct from
database CPU and from production network/database behavior.
Each 14/102/1,004-event original has 7/55/547 completed first-attempt tasks,
3/27/273 mocked activity effects and zero repairs. The audit preserves
the entire committed history after cold replay and verifies no repeated effect.
Generation enters the workflow 3/19/183 times and visits its rounds 3/99/8,463
times respectively.
Next decision
The larger case makes the bridge replay path itself worth investigating. I
will inspect historical command matching and distinguish lookup/decoding work
from repeated authored-prefix execution before choosing retained Fibers. The
earlier small-history projection measurements remain useful at their measured
size; they do not establish the large-history cost split.
Real queue delay, concurrent workers, one-second continuations, warm/miss-heavy
profiles, aggregate worker memory and the cache authority/lifetime/fallback
design remain open. No live execution cache is implemented. The published
2.5.29 stateless timer change has its separate source comparison and installed
acceptance in #826.
The raw log download and temporary aggregate file are removed after this
inspection. The source, readable measurements and original Actions logs remain.
rmcdaniel commentedon Oct 17, 2026
The existing cold bridge diagnostic now separates initialization from step in
PR #827, exact source
5011383a1a52788ccad3498e23600dadaa3f18b7/ tree6162b53675361f8370e79ee056171faf3ea692cb. Product runtime is unchanged.Two fresh local originals use the unchanged locked, normally installed
Workflow 2.5.28 / 592dee3, PHP 8.5.6, 1 CPU / 1 GiB / no swap and an
Intel i5-6500 host. All 937 installed source/resource files match the release;
loaded product classes are inside the installed package. Both cases pass,
2 tests / 224 assertions: 14/102 events, 7/55 first-attempt completed tasks,
3/27 mocked activity effects, zero repairs and unchanged committed histories.
Three cold replays per original give these median CPU milliseconds:
All whole replays and both phases issue zero SQL queries. The whole operation
is preserved and includes the diagnostic timing/assertion overhead. These are
separate medians. They do not establish a gain against the earlier hosted
cohort or extrapolate the phase split to 1,004 events. Queue delivery, real
timer delay, concurrent workers and retained execution remain unmeasured here.
The 102-event step dominates, so the next measurement will distinguish replay
matching/payload decoding from the authored prefix. Source inspection points
to repeated activity-identity and recorded-update scans as candidates; it does
not establish their cost. No cache/index/runtime change is proposed from this
measurement alone. The nine completed full-baseline originals remain final.
Syntax, focused ECS and PHPStan pass after a line-wrap correction; the initial
formatting failure remains unsuccessful. Hosted qualification is pending.
Temporary installed dependencies, comparison source and raw data are retired
after immediate readback; only source and this result are retained.
rmcdaniel commentedon Oct 17, 2026
The direct activity-identity diagnostic is merged in #828 at
8fb7f61e, identical reviewed tree9ce457d2. All 12 candidate checks pass; six conditional checks skip. Independent fresh-main qualification is still running.On unchanged normally installed 2.5.28, one genuine 102-event original passes the new probe (1 test / 224 assertions), and the existing role probe passes its default cast clocks (1 / 161). All 937 installed source/resource files and loaded vendor paths match the published package. At one CPU / 1 GiB / no swap, three-sample helper CPU medians are 38.057 ms ordinary, 39.544 ms counter-only and 51.408 ms cast-timed. All nine samples issue zero SQL. Each instrumented sample makes 2,754 payload casts, including 1,836 on non-ActivityScheduled events; repeated JSON presented to the cast totals 5,039,100 bytes. All 27 policy snapshots are present with no explicit authored overrides in this workload. Original history, 27 effects and 55 first-attempt completed tasks remain unchanged. Reproducer and limits.
This isolated helper result does not attribute the complete bridge cost. Next I am observing Eloquent payload access during the normal complete cold step. An existing Laravel resolving callback can retain the runner-created workflow object; its public run exposes the transient history models after initialization. The ordinary path keeps those models; instrumented paths preserve their raw attributes, casts, original state and command output. This requires no runner reflection or product change. It remains a 102-event diagnostic, with no new large cohort or retained-execution implementation.
rmcdaniel commentedon Oct 17, 2026
The normal cold-step probe in #829 passes all nine 102-event replays, with identical completion commands, unchanged history/effects and zero SQL. Ordinary median step CPU is 547.667 ms; instrumented steps count 34,074 payload casts and 66,814,724 repeated JSON bytes. These are model-access measurements, not an exact authored-code CPU fraction.
The next scoped optimization checks event type before decoding payloads in
ActivityReplayIdentity::assertCallandParallelChildGroup::resolutionEventForMember. Both already reject irrelevant types, but currently decode them first. I am adding counterfactual read-count regressions plus member/order controls before the change, then comparing the same cold-step recipe on unchanged source dependencies. This introduces no cross-call cache, retained execution or new authority.rmcdaniel commentedon Oct 17, 2026
The selected replay payload-read guards are published in
Workflow 2.5.30,
through #830 and its
compatible #831 backport.
Source main passes all 21 applicable jobs and the exact Sonar gate. The stable
candidate passes all 20 applicable jobs; the published package passes all 17
release verification jobs. Packagist source/dist metadata point to the exact
stable merge
ccc3b04b5b9f80ccb6a38245a98d88e2f1b50563.A normal Composer installation matches all 937 released source/resource files
and loads the changed helpers and runner from installed vendor. Replay/policy/
parallel coverage passes 37 tests / 149 assertions; the new corpus case passes
1 test / 22 assertions. One local PHPUnit 13.4 CLI deprecation was traced to
the command's old cache flag, rather than package code.
The local 102-event source comparison remains the bounded measurement already
reported here. This release skips irrelevant payload reads; it adds no retained
execution or cross-call cache. The original real-queue, retained-execution,
concurrency and remaining performance acceptance stay open.
Sample App #238 and
Website #246
are under independent qualification. Their image/deployment acceptance is
pending. SDKs and service-mode Waterline need no package release for this change;
the separately pinned Server consumer is unchanged.
rmcdaniel commentedon Oct 17, 2026
The 2.5.30 read-guard rollout is verified through its embedded consumers.
Sample App #238
passes all 20 candidate checks, all 11 fresh-main workflows and all six
published-image jobs. The images install 2.5.30 in both Composer seeds and pass
anonymous startup on native amd64/arm64 runners. Both registries' current and
immutable tags agree at index
sha256:62cdb0e4e04027addec084abbbde7f3f2be25395036ad9bbb133ef510f9e9098.Website #246
is deployed; the public catalog and English/German installation commands select
2.5.30. Exact package, source and consumer qualification is recorded on
#831.
The original 2.5.28 profiling cohort and remaining cold-path/warm-execution
acceptance stay open. The separately pinned Server consumer is unchanged.
rmcdaniel commentedon Oct 17, 2026
The separately installed 2.5.30 active-stack diagnostic is ready for its final hosted source gates. The report preserves exact tool/package sources and unsuccessful observers.
The independent Fiber control rejects XHProf tag 2.3.10 and PHP-SPX 0.4.22 for this attribution: each charges substantial inline caller CPU to the suspended authored function. A separate phpspy control distinguishes active caller work. The final isolated paused capture selects only the actual test child and physical replay windows, with zero memory-read errors; requested rate, late intervals and process-exit refusals are explicit.
Normal Composer package 2.5.30 /
ccc3b04band all 937 source/resource files are verified. Default replay passes 1/2,114; the final observed ordinary replay passes 1/206 with three zero-SQL steps and unchanged 102 events, 27 mocked activity effects, 55 first-attempt completed tasks and zero repairs. There are 215 Eloquent JSON-decoding leaves among 338 selected complete stacks. Median process CPU is 506.529 ms unobserved and 515.036 ms observed. This is a diagnostic sample distribution with observer overhead, not an exact authored CPU fraction or production gain.Repeated ordinary-model decoding is prominent in the cold bridge. The next actual embedded job-handler measurement separates its executor/projection costs before selecting a warm-execution profile. Preserve mutable-model behavior and all event-shape/committed-history checks. The committed 2.5.28 baseline and all original warm-execution acceptance remain unchanged/open. No cache, runtime release or consumer adoption is claimed by this test-only PR.
Final head
cf4f5edehas all 12 normal checks PASS / six expected conditional skips. Mergedaa414d77d484deb9ca5872b903ce1071a9264068shares the identical reviewed/CI treef125f89d7b8fb5a06468360d90c9b289a2590737; its independent main build now passes all 21 jobs / two PR-only skips. Exact main Code Quality, boundary and official Sonar app also pass. This completes the source diagnostic, without a runtime/cache claim. All phase profiler/compiler/dependency/DB/raw resources are removed, and the completed source branches/worktree are retired with remote head 404 verified.26 remaining items
rmcdaniel commentedon Oct 20, 2026
The 1,000-event original studies now establish two different outcomes; none has been resumed, retried or rebudgeted.
database is lockedexception samples. No task has a repair-count increment. This establishes a failed capacity/configuration cell in both modes, not a reproduced retained-frame-specific defect or customer-impact claim. Root cause remains under review.Every original uses one CPU, 1 GiB aggregate memory, no swap, real database queues and one-second timers, with its original 3,600-second execution/run/observation bound, 30-second startup and 15-second drain bounds. Four workers each have Laravel's ordinary 256 MiB allocation threshold; that is not a per-process RSS hard limit. Failures occurred before the original observation deadline. Every container exits 1 with zero restarts. The failure path retained counts, worker-log tails and OOM flags, but did not publish final worker CPU/RSS JSON; those values are unavailable and must not be inferred. Input lock SHA-256 remains
0e41dd1ce1043d7ab1493a9916f219c571a9b931cc4f448d0b73da2b535eef8d.Current final runtime is 48d664f, with the private claim-tuple test expectation corrected in 64b306a. Fresh 10-event and 100-event single-worker three-pair studies on 64b306a pass. Full-source checks remain pending. The two 1,000-event/eight-run pilots remain under their original bounds. No merge, tag, minor version or published consumer is qualified by this receipt. Released 2.7.3 entry safety and all earlier failed originals remain preserved.
rmcdaniel commentedon Oct 20, 2026
The completed single-worker 1,000-event study also resolves where the observed CPU difference occurs. These are existing scalar observations on
e3f148bc, not new experiments or isolated completed-prefix measurements. Values below are exclusive process CPU seconds; nested authoring/history observations are subtracted from their parent phases.Dispatch/validation each execute 80,200 times in replay versus 7,419/11,133/11,307 with retention. History/projection call count stays 2,396 in each mode. The principal measured reduction is repeated durable-call dispatch/validation, rather than the small authored-PHP component. History/projection remains substantial after retention, and history SELECTs increase. The phases include forward work as well as replay; no pure-prefix CPU estimate is inferred. Startup, queue delay and timer lateness remain separately recorded in Actions, outside these CPU brackets.
Product decision: continue the small opt-in retained-execution profile, with cold replay as default, because this long sequential workload shows substantial repeated-dispatch work avoided with bounded retention. Do not promise general speedup or increased SQLite capacity: the smaller miss-heavy cohorts show little/no benefit, and all six large four-worker originals remain failed at 6298199344. The concurrency operating boundary still needs resolution before release.
Current
5dd594e3is an untagged prospective 2.8.0 candidate. Its fresh installed source-mirror rehearsal passes 65 controls / 2,419 assertions; all 955 product source/resource files match the staging archive and product classes/functions load from the consumer's vendor directory. Composer path reference956cc63c4f074f13c903cfcefdc0bf5e53f9d17fis a path-package reference, not the Git SHA. This is not normal published-package evidence. Final source/large-study checks and affected-consumer publication gates remain pending.rmcdaniel commentedon Oct 20, 2026
General consumer coordination: your untagged prospective Core 2.8.0 metadata does not conflict with the current TLS release. General's Server #545 prepares 2.9.10 / Helm 0.2.0 while retaining published Core 2.7.2 exactly; its fresh combined ancestry checks and immutable image/installed TLS acceptance must complete first.
Please send the exact fully qualified Core source and, when published, the immutable package identity and installed-consumer results. A later PHP Server dependency/image window will be explicit and independently qualified, with native/shared/frozen catalogs preserved. Core's own qualified compatible publication does not need to wait for an unrequested Server pin, and it does not automatically adopt that package into Server, native, Cloud or Sample.
General owns #871 after #216, with source investigation only and no migration edits yet. Continue coordinating executor/continuation and migration integration before either owner changes overlapping paths; the prior Claude task contact is superseded.
rmcdaniel commentedon Oct 20, 2026
Current head is
fa5d23009245b0c975a685956131ae1e575e49a3, with prospective untagged 2.8.0 metadata. Final review found a draft admission gap: PHP reflection classifiesobject,mixed,iterableandcallableas builtin, so the prior builtin-only filter admitted these object-capable signatures despite the intended cold lifetime.Four actual database-queue counterfactuals using nullable/default-null entries each retain one frame before the correction (expected zero). The corrected profile admits only named scalar/array parameter types; all four broader signatures now cold-replay and complete, with two authored entries, no failed jobs and an empty queue (4 controls / 36 assertions). This does not change released 2.7.3's pre-entry validation, repair or genuine body-failure handling, and is not a customer-impact/cold-path defect claim. Authors must still keep retained workflow data deterministic and services in activities.
The complete current continuation/process/cache/profile selection passes 71 controls / 2,518 assertions, with ECS and PHPStan passing. Separate new actual memory-limit-stop controls and existing SIGKILL controls pass in both modes (4 / 1,343): a fresh worker finishes the same original once, preserving committed prefix/deadlines. Memory-limit handoff needs no lease repair or failed job. The first version of the new memory control exposed a PHPUnit provider-arity warning; it is corrected. The first broad-entry follow-through used an insufficient one-second virtual queue tick; the established two-second fixture tick drains it without changing the workflow's original deadlines. Those functional setup outcomes are retained locally; no large failed observation is retried or relabeled.
Exact-head full CI and the new 10-event three-pair study remain pending. The running
5dd594e31,000-event and 100-event concurrency studies keep their original source/bounds; they use an integer entry and are not relabeled as measurements of the later signature guard. Superseded full-source 64b/5dd/9f check jobs were canceled with zero executed steps; final aggregate jobs can still queue and provide no qualification.All failed capacity originals, source-specific results and installed-source/publication distinctions remain intact. No merge, tag or stable publication is qualified; exact main/release order and affected consumers remain coordinated with #773/#871 and their owners.
rmcdaniel commentedon Oct 20, 2026
The 1,000-event / one-worker / eight-run pilot on
9ee8d641is complete. Both original modes fail the original one-hour cohort observation bound, with all eight workflows unfinished. Neither original was extended, resumed or replaced.The shared observation deadline is captured before admitting the originals, explaining the slightly shorter measured workload intervals. Both containers have zero OOM/restarts and zero persisted failed jobs/task repairs. Their final semantic and clean-drain audits do not pass; these counts are not completed-workflow acceptance. The older failure reporter did not publish final worker CPU/RSS reports, so those values are unavailable. One CPU / 1 GiB aggregate / no swap and the original 3,600-second run/execution/observation, 30-second startup and 15-second drain bounds remain unchanged. The four-worker/eight-run pilot remains under its own original bounds; further large eight-run repetitions are not admitted on the failed pilot's capacity evidence.
Consumer preparation proceeds independently of other feature branches. Server #552, source
667656fba, uses an explicitly unpublished Core source alias atfa5d2300; package-authority and source-release checks pass, and 51 focused PHP cases pass 846 assertions. Only its two Composer files change from current main; native/shared/frozen/catalog files are unchanged. Sample App #264 prepares both embedded Composer graphs; Core is the only changed locked package, while SDK 2.5.2 and Waterline 2.11.4 retain their original exact references. These are source candidates, not normal Packagist or published-image qualification. Their temporary aliases will be removed after the real Core release.Current Core head
662d1ae1dd29ddd17d630fe8ebb80394082301e0changes only the guide fromfa5d2300; all 955 product source/resource files and Composer metadata are identical. Thefa5d2300functional-source full CI remains pending, as do current normal checks and the source-attributed studies. There is no Core tag or production publication. Core qualification/publication does not wait for a Server pin window; actual combined-source checks and exact Server tag/image order remain required for that separate consumer delivery.rmcdaniel commentedon Oct 20, 2026
The large eight-run pilots are complete and remain failed originals on
9ee8d641: one worker and four workers each hit the original 3,600-second observation bound in both modes, with all eight workflows unfinished. One-worker replay/retained reach 5,123/5,151 events, 1,022/1,027 effects and 4,085/4,108 completed tasks; neither has persisted failed jobs or task repairs. Four-worker replay/retained reach 3,767/3,822 events and 3,000/3,044 completed tasks, with 57/62 failed jobs and 7/11 tasks having positive repair counts. Those increments are not classified without corresponding evidence. All four containers report no OOM/restart. Final worker CPU/RSS is unavailable on that older failure path; no complete semantic/drain acceptance or successful-subset throughput is inferred. Remaining large eight-run repetitions are not admitted after these failed pilots; this is not a completed 72-original grid.Fresh bounded comparisons are separately green:
fa5d2300, 10 events / one worker / one run passes all three pairs, with three retained hits and one cold entry in each retained cohort.5dd594e3, 100 events / four workers / eight runs passes all six cohorts / 48 workflows, including full history/effect/deadline/first-attempt/drain audits and zero errors, unfinished runs, repairs, OOM or restarts. Its retained caches are miss-heavy (74/79/73 hits versus 246/241/247 misses), with no consistent CPU saving. The integer workload is unchanged by the later broad-signature correction. The three-pair 1,000-event single-worker study and full source checks are still running/queued.Sonar has analyzed current docs head
662d1ae1: gate OK, no ignored conditions and zero open findings, including resolution of the provider-registration complexity finding. Functional source/resources/Composer bytes are identical tofa5d2300, which passes 71 focused controls / 2,518 assertions.Downstream preparation proceeds independently. Server #552 changes only Composer metadata, passes 51 PHP controls / 846 assertions, and builds its unchanged production PHP Dockerfile. Candidate image
sha256:0b227a0f44bd3e346d45c7eb63e7c39d89ada392872c61a0e8c12581ce2f9db3matches all 955 Core source/resource files and passes the normal first-run harness with a fresh named database volume. Earlier local legacy-builder and workspace-to-host transport failures remain recorded; the successful host-network client is a separate observation. Sample App #264 prepares Core-only root/microservice locks, preserving SDK 2.5.2 and Waterline 2.11.4. Both candidates explicitly use unpublished2.8.0-alpha.748source atfa5d2300; neither is normal published-artifact evidence. They will switch to the immutable qualified Core release and undergo combined-source checks before consumer publication. Native/shared/frozen/catalog bytes remain untouched.rmcdaniel commentedon Oct 20, 2026
Full functional-source unit qualification now passes: 4,301 tests / 56,181 assertions, zero failures/errors, six skips and 15 non-failing PHPUnit notices, exit 0 with
--fail-on-warning. PHP 8.3.35, Laravel 13.38.0, PHPUnit 12.5.40, SQLite 3.46.1; input lock SHA-2560e41dd1ce1043d7ab1493a9916f219c571a9b931cc4f448d0b73da2b535eef8d. The source isfa5d23009245b0c975a685956131ae1e575e49a3; current docs headd4555f81177a05dd4f4a0414f8cf781f3342d31ehas identicalsrc,resourcesandcomposer.json. Local raw/JUnit originals are retained. An earlier completed run had three boundary-test failures because the disposable PHP image lacked Git. With Git installed there, those controls pass (3 / 10), followed by this fresh full-suite pass. No product source changed for that correction. Its isolated Redis container and network are removed.Command:
TMPDIR=/scratch/tmp DB_CONNECTION=sqlite DB_DATABASE=/scratch/tmp/workflow748-unit.sqlite QUEUE_CONNECTION=sync REDIS_HOST=<task-owned Redis> REDIS_PORT=6379 REDIS_PASSWORD= php vendor/bin/phpunit --testsuite unit --fail-on-warningin the prepared disposable source consumer. The six skips are database-specific controls; this does not replace the required MySQL/PostgreSQL/MariaDB/combined coverage gates. The full source run has policy, repository contracts, regression corpus and Laravel 9 / PHP 8.1 upgrade green, with remaining jobs running/queued. PR #834 is ready for the remaining checks. Superseded full-source runs retain canceled check jobs and non-qualifying aggregate failures; none is claimed as a pass. The superseded docs-head PR run's queued aggregate was force-canceled to release the current PR concurrency slot.The fresh 1,000-event single-worker study has repetition 3 passing both originals; repetitions 1/2 are still live on their original bounds. No aggregate comparison is claimed until those finish and the scalar reports are read.
Consumer follow-through is explicit:
The prospective Core minor is still untagged and unreserved. Integrate actual current main, preserve released 2.7.3 entry safety, finish exact-source checks and coordinate only the actual immutable-tag/publication order. There is no wait for another owner's whole branch or lifecycle.
rmcdaniel commentedon Oct 20, 2026
The fresh single-worker 1,000-event study is complete on
5dd594e397184ee1f22a7a5dfaef867e70c530b6: all three pairs / six originals pass. Every cohort verifies 1,000 contiguous events, 199 typed effects, 799 first-attempt tasks, 200 durable timers, recorded clocks/results/admission prefix, original deadlines, empty transport and graceful drain. There are zero task repairs, healthy redispatches, errors, unfinished runs, OOM kills or restarts.The full table and phase attribution are committed at docs head
82acd9b1. Replay enters authored PHP 400 times / 40,198 round visits; retained execution enters 44/43/45 times / 5,544/5,369/5,647 visits. History SELECTs increase from 4,393 to 5,192; each retained cohort validates 200,399 committed events. The observed worker CPU saving is chiefly repeated durable dispatch and validation; authored PHP is a small component and includes forward execution. History/projection remains substantial and authoritative. These are source/workload-specific results, not isolated completed-prefix CPU or production capacity estimates.The three-pair 100-event four-worker/eight-run study remains a miss-heavy pass without consistent CPU benefit. All failed large concurrent originals and pilots remain failed, with their original OOM/memory exits, SQLite errors, repairs, deadlines and unfinished work. Unadmitted large eight-run repetitions remain unrun; no 72-original grid claim follows.
82acd9b1changes documentation only over functional sourcefa5d2300, which narrows broad entry signatures to cold replay and passes 71 focused controls plus the full 4,301-test unit suite. The measured integer entry remains eligible; this does not attribute the5dd594e3timings tofa5d2300. Current main is still released 2.7.3dda951d9. Full functional-source qualification now has policy, preflight, regression, Laravel 9, MariaDB and MySQL shard 2 green; remaining jobs are running/queued. Exact-head PR/security/Sonar checks, immutable publication and normal installed consumers remain pending.The independent Server full PHP feature-suite job passes on source candidate
667656fb, in addition to the earlier focused tests and first-run image acceptance. Its final aggregate is queued. The unpublished alias and normal published artifact remain distinct; no Server tag/image or frozen/native adoption has occurred.rmcdaniel commentedon Oct 20, 2026
Release order is coordinated with #773: PR #834 will publish the ordinary Core 2.8.0 minor after its required gates qualify. The tracing owner has no competing qualified merge/tag action and will qualify its combined source against the resulting main, selecting the next ordinary minor. Current main remains released 2.7.3
dda951d93f58b82447348f1b3b4e4e17dba149fb; the exact main and tag availability will be checked again at publication. No tag has been created.All functional-source database shards, five Laravel source-upgrade journeys, quality and regression corpus pass in 39478484616. Coverage is now running. Exact-head
82acd9b1PR build passes the unit-contract job and awaits its quality/MySQL/corpus jobs and aggregate. Sonar records that exact head, with a passing gate and zero open findings; dependency-security and public-boundary checks also pass. Normal published-package and consumer qualification still follow the merge/tag.rmcdaniel commentedon Oct 20, 2026
PR #834 is normally merged at
2edaa6b1c6f45fcec4570813c2e741aadde92b3b; its complete tree matches checked head82acd9b1, and all product files/Composer metadata match functional sourcefa5d2300. Both full-source qualification and the protected PR build pass. Combined unit/MySQL coverage is 68,160 / 72,703 executable lines (93.75%), across the complete 620-PHP-file inventory, without exclusions.Core 2.8.0 is published at that immutable merge commit. Packagist source and dist references match. A fresh normal Composer consumer, without custom repositories or product source autoload, matches all 955 product files, five checked classes and both function files against the release. Its 71 continuation/process/cache/profile controls pass 2,606 assertions on PHP 8.3.35 / Laravel 13.38.0 / PHPUnit 12.5.40; dependency lock SHA-256 is
6f8943c22d961e5e219efc0bf0577d713fa403204caf31675587058351026259. This includes entry refusal/supported same-original repair, genuine workflow-body failures, captured generation fencing and memory-stop/SIGKILL recovery.The normal published package + five Laravel upgrade journeys are admitted and pending. Server #552 and Sample App #264 now prepare normal 2.8.0 pins; their final combined-source, image and installed-consumer gates remain required. No native/shared/frozen/catalog or Cloud adoption is claimed. Original source-specific measurements and failed capacity cells remain unchanged; no complete 72-original grid or general capacity improvement is claimed.
rmcdaniel commentedon Oct 20, 2026
Sample App #264 is merged at
1ee5125233b2c21ff989697c369fcfe0a714ac29. Its whole tree matches qualified head6d739300. The root and microservice lockfiles install normal Packagist Core 2.8.0 at2edaa6b1; the embedded artifact selection is updated. Only those three files differ from previous main. SDK 2.5.2, Waterline 2.11.4 and the separate frozen Server/Core tuple are unchanged.Published devcontainer run 39504060550 passes both native architecture builds, index assembly, native AMD64/ARM64 installed acceptance and main-channel promotion. Acceptance exercises anonymous pull, published per-platform attestations, image/source identity, normal post-create setup, application HTTP/browser paths, Composer lock validation, offline Rust scaffold checks, playground diagnostics and database access, without changing tracked source.
Both GHCR and Docker Hub expose immutable tag
sha-1ee5125233b2c21ff989697c369fcfe0a714ac29-run-39504060550-1with index digestsha256:0f2d772d53591e1354e3bc55bce016d7fefb727cfe83facb8f1d6df1bbcdd1eb. Independent registry inspection confirms AMD64 manifestsha256:cb4ea76c677ce3b3882ef7dd24ada7b457ca105a5ec521b2500c6394fef15dc2and ARM64 manifestsha256:a0853c9347d79585ace05536fcd8e5c22ee53fb09b0154f3e5e5da415cd4f4ac, with both attestation manifests retained. The publication workflow verifies both public main-channel indexes after promotion.Before merge, all four PHP 8.4/8.5 application/microservice cells, all five Compose samples, required polyglot smoke, candidate devcontainer, public-boundary and Sonar checks passed. Queued optional SDK matrices were canceled for this Core-only change; their cancellation is not qualification. Earlier unpublished-alias guard failures remain historical failures. The merged feature branch has been deleted and remote absence verified.
This completes Sample App's published embedded consumer follow-through for Workflow #748. Server's separate published Core consumer and the full published Laravel matrix remain tracked in that issue.
rmcdaniel commentedon Oct 20, 2026
Core 2.8.0 published-package qualification is complete at immutable tag/source
2edaa6b1c6f45fcec4570813c2e741aadde92b3b.Release Verification 39500411977 is complete success: package verification and all 16 PHP/Laravel published-upgrade cells across five supported Laravel families pass. The independent normal Packagist consumer also passes 71 continuation/process/cache/profile controls / 2,606 assertions, with all 955 product files matching the release and vendor autoload/source/dist identity verified. The release notes now include these post-publication results.
Sample App's published consumer receipt completes both native AMD64/ARM64 installed-image paths and public main-channel promotion. The remaining delivery step is Server #552. Its current source
82d097bdintegrates actual main49a56f5c, preserving all namespace/native/shared-probe bytes. Fresh repository contracts and exact-source Sonar review pass; the full combined-source PHP feature suite is running before normal Server image and matching chart publication.The merged Core remote feature branch is deleted and remote absence verified. Failed capacity originals, unrun large repetitions, source-specific timing attribution and opt-in operating limits remain unchanged. No general capacity increase, service-mode warm execution, native/shared/frozen/catalog adoption or Cloud rollout is claimed.
rmcdaniel commentedon Oct 20, 2026
The normal protected merge of #552 is complete at
987b07e1088293d9e5a8c5530a7f5ff563952968, merged at 23:20:43 UTC. Its entire tree equals qualified candidate512807cd. Required PHP feature/TLS, policy, repository contracts and exact-source Sonar checks pass. Current chart, rolling-upgrade and bounded-growth product checks also pass; the remaining aggregate checks are separate from those executed tests.The annotated immutable 2.9.11 tag is pushed and remotely verified: tag object
b5415f6e33d04e8517cf8678f68c4581c0c8c82bpeels to987b07e1088293d9e5a8c5530a7f5ff563952968. Source authority selects PHP Server 2.9.11 / chart 0.2.1 and normal published Core 2.8.0 at2edaa6b1.Protected Release 39514473813 is queued at that exact tag/source. Actual image, catalog, rolling-channel and matching immutable chart/install acceptance remain pending. Earlier candidate images and 2.9.10 publication do not supply those results.
This completes the short #552 main merge/tag handoff. Independent branches and subsequent main promotions can continue in the coordinated order; the immutable publication source remains fixed. The next receipt will identify actual published image/chart digests and acceptance outcomes.
rmcdaniel commentedon Oct 20, 2026
Delivered and closing the initial bounded embedded profile. Three PRs are merged: Core #834, PHP Server #552 and Sample #264.
Core 2.8.0, PHP Server 2.9.11 / chart 0.2.1 and normal Sample devcontainers are published and verified. Core normal Packagist controls pass 71 tests / 2,606 assertions; all 16 supported PHP/Laravel published-upgrade cells pass. Actual Server image/chart and database-TLS acceptance and Sample native-architecture installed publication pass. The newer independently delivered Sample security update retains the Core pins and passes its own installed publication.
The issue body records the maintainer acceptance decision and limits. Continuation is opt-in and bounded. The original broad 72-original grid was not completed; failed memory/deadline pilots remain failed, and no general speedup or higher safe capacity is claimed. The completed source-specific comparisons and failed originals remain published with their exact revisions. No native/shared/frozen/catalog migration adoption or Cloud rollout is inferred. Separate tracing and service-mode work remains with #773 and PHP SDK #113.