@@ -55,14 +55,14 @@ The contract covers:
5555
5656It does not cover:
5757
58- - the control-plane/data-plane role split described by Phase 4 ( # 582 ) .
58+ - the control-plane/data-plane role split described by Phase 4.
5959 The split will move matching onto a dedicated control-plane role,
6060 but must preserve the discovery, claim, and wake guarantees below.
61- - the scheduler cache independence work described by Phase 5 ( # 583 ) .
61+ - the scheduler cache independence work described by Phase 5.
6262 Cache independence will replace the shared-cache wake backend with
6363 a stronger primitive but must preserve the snapshot/changed contract
6464 named here.
65- - the rollout safety enforcement work described by Phase 6 ( # 584 ) .
65+ - the rollout safety enforcement work described by Phase 6.
6666- host-level queue infrastructure choices such as which Laravel queue
6767 driver to deploy, how to size queue workers, or whether to run a
6868 dedicated supervisor process. Those are deployment concerns that
@@ -327,7 +327,7 @@ Guarantees:
327327 Redis, a database cache, or another backend reachable from every
328328 server node. File or in-memory backends do not coordinate
329329 signals across nodes and break the multi-node guarantee. This
330- is the explicit Phase 5 ( # 583 ) seam.
330+ is the explicit Phase 5 seam.
331331
332332Wake notification is observability of new work, not an assignment.
333333A signalled channel does not promise a specific task to the
@@ -370,7 +370,7 @@ What the contract intentionally does not partition on:
370370- The matching role does not implement queue-level priorities. A
371371 host that needs priority traffic must run priority queues.
372372
373- These intentional non-guarantees are how Phase 4 ( # 582 ) and later
373+ These intentional non-guarantees are how Phase 4 and later
374374phases keep room to introduce a real matching service without
375375re-litigating the partition primitives.
376376
@@ -386,7 +386,7 @@ an explicit per-worker quota:
386386 ` max_concurrent_activity_tasks ` at registration time so operator
387387 surfaces can show the planned capacity. The matching role does
388388 not enforce these limits at claim time today; that enforcement
389- is explicitly part of the Phase 6 ( # 584 ) rollout-safety work.
389+ is explicitly part of the Phase 6 rollout-safety work.
390390- Long lease expiry (5 minutes for workflow tasks) is the
391391 fail-stop boundary for an unresponsive worker. Operators sizing
392392 rollout windows MUST treat this as the upper bound on how long
@@ -453,7 +453,7 @@ the claim transaction:
453453
454454These couplings are correct as semantics — every claim must be
455455immediately visible to operators and immediately reflected in
456- history. They are the seam where Phase 4 ( # 582 ) will split the
456+ history. They are the seam where Phase 4 will split the
457457control-plane and execution-plane roles. The contract guarantees:
458458
459459- Visibility (` RunSummaryProjector ` ) and lifecycle dispatch
@@ -499,16 +499,16 @@ The following are explicitly deferred to later roadmap phases and
499499must not be assumed:
500500
501501- Per-worker concurrency caps are advertised but not enforced at
502- claim time. Enforcement belongs to Phase 6 ( # 584 ) rollout
502+ claim time. Enforcement belongs to Phase 6 rollout
503503 safety, where it can land alongside the broader coordination
504504 health story.
505505- A dedicated out-of-process matching service is not provided. The
506506 in-worker library shape and the in-server HTTP shape are the
507507 two supported deployment shapes today; a future Phase 4 service
508508 shape will preserve the contract above without breaking either.
509- - Cache independence for wake notification is deferred to Phase 5
510- ( # 583 ). The current cache-backed wake store is the explicit
511- seam Phase 5 will replace.
509+ - Cache independence for wake notification is deferred to Phase 5.
510+ The current cache-backed wake store is the explicit seam Phase 5
511+ will replace.
512512- Priority queues, weighted fair scheduling, and per-tenant
513513 isolation primitives are intentionally not part of this
514514 contract. They are policy choices a host implements through
@@ -523,6 +523,6 @@ A change to any named guarantee in this document is a protocol-level
523523change for the purposes of ` docs/api-stability.md ` and downstream
524524SDKs. Reviewers should treat unmotivated changes to the language
525525above as breaking changes and require explicit cross-SDK
526- coordination before merge. The Phase 3 roadmap ( # 581 ) owns updates
527- to this contract; Phase 4 ( # 582 ) , Phase 5 ( # 583 ) , and Phase 6
528- ( # 584 ) must extend the contract rather than silently redefine it.
526+ coordination before merge. The Phase 3 roadmap owns updates to
527+ this contract; Phase 4, Phase 5, and Phase 6 must extend the
528+ contract rather than silently redefine it.
0 commit comments