OnConflictResolvedConcrete advertise conflict policy (no "inherit") — what Lookup runs.
models
Source src/internal/nodeCore.ts:961 lines
export type type OnConflictResolved =
| "livenessReplace"
| "askIncumbent"
| "reject"
Concrete advertise conflict policy (no "inherit") — what Lookup runs.
OnConflictResolved = type Exclude<T, U> = T extends U
? never
: T
Exclude from T those types that are assignable to U
Exclude<type OnConflict =
| "livenessReplace"
| "askIncumbent"
| "reject"
| "inherit"
Directory advertise conflict policy when the same nodeKey already has a row.
livenessReplace — ping incumbent; alive → reject; dead → replace
askIncumbent — if alive, Lookup asks NodeStatus.yield; refuse/timeout → reject
reject — alive → reject; dead → still replace
inherit — continue up the resolve chain (call-site → node → Lookup → hard fallback)
OnConflict, "inherit">;