Skip to content

Select Workflow 2.27.0; document the namespace allowlist and child fan-out cost - #524

Merged
rmcdaniel merged 2 commits into
mainfrom
docs/892-child-fan-out-cost
Nov 13, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
docs/892-child-fan-out-cost

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Adopts Workflow 2.27.0 (released and verified: https://github.com/durable-workflow/workflow/releases/tag/2.27.0) in English and all seven translations, with reviewed source hashes.

  • stable-releases.json selects workflow 2.27.0.
  • Compatibility: the current embedded line is 2.27, with unchanged floors and worker protocol 1.22. The upgrade-contract link points at 2.27.0, and there are 2.27 upgrade notes (no migration).
  • Configuration → Which namespaces an app runs (new, workflow#889): DW_V2_NAMESPACES / DW_V2_ALL_NAMESPACES. When the list is set, it is the exact list, so include DW_V2_NAMESPACE itself. It's an execution-safety boundary, not tenant isolation.
  • Monitoring → Metrics and health (workflow#1112): operator_metrics.namespace_scope_refusals and the advisory health check. Use a shared cache store. The English heading now carries the explicit {#stuck-run-metrics} anchor the translations already use.
  • Child workflows → Cost of wide fan-out (workflow#892 item 3): from 2.27 a close costs a fixed number of queries. Guidance near the default pending_child_count of 1,000.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…notes

- stable-releases.json selects workflow 2.27.0; compatibility points the embedded upgrade contract at 2.27.0 and adds the 2.27 upgrade notes (no migration).
- Configuration: new 'Which namespaces an app runs' section for DW_V2_NAMESPACES / DW_V2_ALL_NAMESPACES (workflow#889).
- Monitoring: operator_metrics.namespace_scope_refusals and the advisory health check (workflow#1112); the English 'Metrics and health' heading takes the explicit {#stuck-run-metrics} anchor the translations already use.

All seven translations and source hashes updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rmcdaniel rmcdaniel changed the title Explain the cost of wide child fan-out (workflow#892) Select Workflow 2.27.0; document the namespace allowlist and child fan-out cost Nov 13, 2026
@rmcdaniel
rmcdaniel marked this pull request as ready for review November 13, 2026 01:50
@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel rmcdaniel mentioned this pull request Nov 13, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

Security PASS at f32d41d (CI 14 green).

The docs, stable-releases and source-hashes changes are content only, with no scripts or workflows. Security-relevant wording:

  • Namespace allowlist: the section states the boundary correctly. It stops one app running another app's work with the wrong code or credentials, and it explicitly isn't tenant isolation, since apps sharing a database can still read each other's rows. I spot-checked the same sentence in all 7 translations, and each keeps the "not tenant isolation" caveat. The safe defaults are documented: unset means only DW_V2_NAMESPACE, an empty list serves none, and * is refused.
  • Version links: the upgrade-contract link and the stable-releases entry point at the 2.27.0 tag. I verified that tag earlier: 6a0aa6f2, tree identical to the reviewed #1119 head.
  • namespace_scope_refusals: the shared-cache note is operational guidance, not a security claim.

If #525 merges first, a branch update whose only extra change is the sdk-php line doesn't need a re-review.

@rmcdaniel
rmcdaniel merged commit 3e1bf99 into main Nov 13, 2026
14 checks passed
@rmcdaniel
rmcdaniel deleted the docs/892-child-fan-out-cost branch November 13, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant