Skip to content

Render Nexus service-call history events in timelines - #488

Merged
rmcdaniel merged 4 commits into
mainfrom
fix/service-call-history-timeline
Sep 8, 2026
Merged

Render Nexus service-call history events in timelines#488
rmcdaniel merged 4 commits into
mainfrom
fix/service-call-history-timeline

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Addresses #487 and the real worker HTTP completion regression in durable-workflow/server#140.

Adds explicit summaries and source identity for ServiceCallStarted, ServiceCallCompleted, ServiceCallFailed and ServiceCallCancelled. Request/results and caller credentials are not interpolated into summaries. Adds eight complete/sparse projection cases and a persisted-history reload test.

Local PHP 8.4: all eight unit cases pass (56 assertions). With the unchanged main HistoryTimeline mounted instead, all eight reproduce UnhandledMatchError. Focused ECS applied. Broader checks and persisted test qualification are in progress; no release yet.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Local qualification: PHP 8.4 unit cases 8/8 (56 assertions); persisted SQLite reload/projection 1/1 (3 assertions); PHPStan src reports no errors; focused ECS applied. Server HTTP regression with the candidate timeline overlaid now passes (1 test, 14 assertions), including target dispatch, durable ServiceCallStarted and completed caller task. This is candidate-source evidence; published-package verification is still required.

@rmcdaniel

Copy link
Copy Markdown
Member Author

The existing corpus guard classified added HistoryEventType match arms as replay behavior solely because the diff contained History. This fix changes timeline projection, not replay interpretation. Tightened the existing content heuristic to replay and actual history access/mutation patterns; explicit guards on the bridge, executor, fiber runner and replay classes remain unchanged. No new exemption mechanism or unrelated fixture. The focused persisted regression and eight before/after cases directly cover this failure.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Corpus validation now passes against origin/main and all 62 policy tests pass in a PHP/Python container. Content heuristics can be corrected in review; fixture selectors and unconditional core-code guards remain append-only. The local unit, persisted-history and PHPStan results are unchanged. Awaiting the normal public CI suite before merge.

@rmcdaniel
rmcdaniel marked this pull request as ready for review September 8, 2026 05:39
@rmcdaniel
rmcdaniel merged commit d25d00f into main Sep 8, 2026
15 checks passed
@rmcdaniel
rmcdaniel deleted the fix/service-call-history-timeline branch September 8, 2026 05:39
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.

2 participants