You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provenance: maintainer ruling 2026-08-27 (PM chat, decision-inbox batch 4, adjudication session session_01DKWDdUJ2XNRESVVWUvcpnh), verbatim: 「其他接受」 — adopting Option C on #8501: make a licensed max_nodes oversell VISIBLE to operators; the atomic slot-claim enforcement mechanism is deliberately NOT built now (deferred until real commercial pull — see the reopen triggers recorded on #8501).
Scope
Make an over-cap boot visible beyond the existing os serve log line: an operator-facing surface (console and/or telemetry) showing declared replicas vs the licensed cap, fed by the MultiNodeGate verdict vocabulary (admitted / refused / capped) that #8367 / PR #8503 landed. Visibility only:
The gate verdict is advisory and stays advisory; this card makes the advisory reading reach a human.
First actions for the implementing dev (premise-first)
Re-measure the three facts on today's tree before designing — the seam changed at feat(service-cluster): carry an admitted node count through the multi-node gate (#8367) #8503: gate consulted once per process at boot (packages/cli/src/commands/serve.ts), no cluster membership view (generateNodeId random per process), OS_CLUSTER_REPLICAS is an operator-declared count identical in every replica (split-brain-guard.ts).
Establish where the reading can actually land: if the display half lands in objectui (console surface), stop and report for cross-repo splitting per contract-first — do not absorb a cross-repo feature into one PR.
Named reader: the domain:services seat (gate and cluster primitives live in packages/services/service-cluster); routing note for triage. Refs: #8501 (ruling + full four-facet record), #8367 / PR #8503 (the seam), #8504 (the serve-time loud warning, landed), objectstack-ai/cloud#1275 (the 2026-08-13 overflow-semantics ruling — unchanged).
Provenance: maintainer ruling 2026-08-27 (PM chat, decision-inbox batch 4, adjudication session
session_01DKWDdUJ2XNRESVVWUvcpnh), verbatim: 「其他接受」 — adopting Option C on #8501: make a licensedmax_nodesoversell VISIBLE to operators; the atomic slot-claim enforcement mechanism is deliberately NOT built now (deferred until real commercial pull — see the reopen triggers recorded on #8501).Scope
Make an over-cap boot visible beyond the existing
os servelog line: an operator-facing surface (console and/or telemetry) showing declared replicas vs the licensed cap, fed by theMultiNodeGateverdict vocabulary (admitted/refused/capped) that #8367 / PR #8503 landed. Visibility only:max_nodescap still cannot be enforced by any replica: the cluster has no membership view and no slot claim, so a count-carrying gate verdict stays advisory #8501; sub-decisions like TTL semantics and refusal posture stay unmade until that card's reopen triggers fire).First actions for the implementing dev (premise-first)
packages/cli/src/commands/serve.ts), no cluster membership view (generateNodeIdrandom per process),OS_CLUSTER_REPLICASis an operator-declared count identical in every replica (split-brain-guard.ts).Named reader: the
domain:servicesseat (gate and cluster primitives live inpackages/services/service-cluster); routing note for triage. Refs: #8501 (ruling + full four-facet record), #8367 / PR #8503 (the seam), #8504 (the serve-time loud warning, landed), objectstack-ai/cloud#1275 (the 2026-08-13 overflow-semantics ruling — unchanged).