Repository navigation
docs: fact fixes on the backends, packages, deploying and comparison pages (#836, #837, #838, #839) - #921
Conversation
… tables (#836) Both bridges persist the same four stores as the in-memory core: the event journal, the workflow metadata, the child-to-parent links and the run catalog. On DBAL, DbalWorkflowRunProjection writes the run catalog's table and DbalWorkflowRunCatalog reads it; on Illuminate, IlluminateWorkflowRunCatalog does both. The DBAL sections said three stores. The Illuminate migrations create five tables, not four: the event journal also writes durable_execution_heads (DUR053).
…sh one does (#837) Renaming the workflow type is no longer "the only way"; the paragraph now says when to rename instead of declaring a change point, as the English page does. The footer cites DUR044 next to DUR042.
DurableServiceProvider::BACKENDS accepts illuminate, memory and temporal, and the registration error names all three. gplanchat/durable-laravel is split and tagged, so the "until it is tagged" sentence gives way to the install path: the package requires the library and the Illuminate bridge.
#839) The Temporal PHP SDK v2.19 (2026-09-16), its latest release, has no API to serve a Nexus operation: between v2.18 and v2.19, Nexus appears only in the Cloud Operations client (temporalio/sdk-php#797), and the integration (temporalio/sdk-php#768) is still an open pull request. Section 8 stays as it is; "Choosing" now agrees with it, on both the SDK and the Durable side.
|
Approve at 421be64 FactsI checked every changed statement against origin/main (aab2023). #836, four stores per SQL bridge. True. #836, five Illuminate tables. True. #837. The French paragraph after the renaming example now says what the English one says (lines 137 to 139 of the English page), and the footer cites DUR042 and DUR044 with the same two reasons. #838. #839. The latest temporalio/sdk-php release is v2.19 (2026-09-16); its notes contain no occurrence of "Nexus". No path containing "nexus" exists in the v2.19 tree or in The two inconsistencies left for laterI checked both against the code, without deciding what the fix should be.
Tests and buildThe diff touches only Markdown under MechanicsFour commits, one per ticket, the largest at 68 changed lines. origin/main is an ancestor of the head, so the trial merge has nothing to do and no conflict. No em dash, no supervised path, no trailer. Non-blocking notes
|
|
Hold: two more fact corrections go into this PR (Illuminate migrations wording, DBAL "one migration" on the packages page). The approval at 421be64 is stale once they land; draft until re-reviewed. |
…e count facts The provider publishes all five files of Migrations/, and only the first one fails when run twice. The DBAL bridge ships no migration. DBAL creates a fifth table, durable_execution_heads.
|
Approve at a699d9d I reviewed the delta 421be64..a699d9d (one commit, four files, EN and FR), checking each claim against origin/main at f057864. FactsIlluminate packages paragraph (EN and FR).
DBAL packages paragraph (EN and FR).
Backends DBAL "How it works" (EN and FR).
Mechanics
Non-blocking notes
|
|
Hold lifted: the approval at a699d9d covers the current head, and the PR is out of draft. |
Four factual fixes in the user docs, one commit per ticket. No heading changes, so no anchor moves; code blocks are untouched.
#836: store counts for the SQL bridges
I counted against
src/Bridge/Dbal/Store/andsrc/Bridge/Illuminate/Store/. Both bridges persist the same four stores as the in-memory core (InMemoryEventStore,InMemoryWorkflowMetadataStore,InMemoryChildWorkflowParentLinkStore,InMemoryWorkflowRunCatalog): the event journal, the workflow metadata, the child-to-parent links and the run catalog. The run catalog is a store in the page's sense: it has its own table,durable_workflow_runs. The difference between the bridges is only how many classes cover it:DbalWorkflowRunProjectionwrites the table,DbalWorkflowRunCatalogreads it (wired together inDbalStores::registerDbalRunCatalog()).IlluminateWorkflowRunCatalogdoes both.The pages now say four for both bridges, name the four stores, and say which classes share the run catalog. On the backends page, the DBAL intro sentence listed three stores too, so I fixed it along with the "three process-local stores" bullet.
I also fixed a count the ticket does not name, in the same Illuminate section: "The four tables ship as a migration".
0001_01_01_000000_create_durable_tables.phpcreates five tables. The fifth isdurable_execution_heads, which the event store writes for the pass epoch (DUR053), and the package ships several migration files.#837: change points on the French deploying page
The paragraph after the renaming example now says what the English page says: renaming fits a change too large to express as a branch. The sentences calling renaming "the only way" and change points "separate work" are gone. The footer cites DUR044 next to DUR042, translated from the English footer.
#838:
gplanchat/durable-laravelNeither statement had been fixed on main. #913 does not touch the page. #847 fixes both, but it is still open and already conflicts with main on this page (
mergeable: CONFLICTING). So I fixed them here against main's code:DurableServiceProvider::BACKENDS:illuminate,memory,temporal. The wording and the line breaks match feat(laravel)!: suggest the Illuminate bridge instead of requiring it (#845) #847's exactly, so those lines merge cleanly.src/DurableLaravel/is inv0.1.0-beta1,bin/splitsh-publish.shpublishes it asdurable-laravel, and Packagist serves it. On main itscomposer.jsonrequires the library and the Illuminate bridge, so the paragraph says it pulls in both. feat(laravel)!: suggest the Illuminate bridge instead of requiring it (#845) #847 makes the bridge a suggestion. Whichever PR merges second has to reconcile this paragraph.#839: Nexus handlers in "Choosing"
I checked the Temporal PHP SDK before choosing which side to fix:
gh api repos/temporalio/sdk-php/compare/v2.18...v2.19contains 7 commits. The only patches mentioning Nexus aresrc/Client/GRPC/CloudClient.phpandCloudClientInterface.php, from the Cloud Operations API client (feat: add Cloud Operations API client temporalio/sdk-php#797). That is endpoint management, not a handler API.masteradds nothing about Nexus after v2.19.The SDK cannot serve a Nexus operation, so section 8 stays as it is. In "Choosing", the Nexus handler no longer counts as a reason to pick the SDK, and the Durable paragraph says "call or serve", matching section 8. Both changes are on the English and the French pages.
Checks
hugo --minify --gc -d _sitefromhugo-docs/builds. I checked every internal link and anchor in the output: none are broken on this branch, and none are broken on origin/main.Three more fact fixes
I checked each fact in the code on origin/main before rewriting.
src/Bridge/Illuminate/Migrations/directory (DurableIlluminateServiceProvider::boot()), five files, not one. The paragraph now says the command copies five files and asks to keep the files' names. Renaming a file makes Laravel run both the package's file and the copy, and only0001_01_01_000000_create_durable_tables.phpfails then: itsSchema::createcalls have no guard. The four later migrations checkhasColumn,hasIndexorhasTablefirst and return.DurableSchema::ensure()creates the tables on the first write (auto_setupdefaults totrueinConfiguration.php), andbin/console durable:setupcreates them up front. The sentence now says so and links to the DBAL section of the backends page, in line with that page and withsrc/Bridge/Dbal/README.md.DurableSchemacreates five: the fifth isdurable_execution_heads, whichDbalEventStoreuses for the pass epoch (DUR053). The bullet now names it.hugo --minify --gcbuilds; the two new links resolve to#dbal-backendand#le-backend-dbal.Closes #836, closes #837, closes #838, closes #839.