# Allowlist for `python -m mypy.stubtest processkit` (run with --ignore-disjoint-bases).
#
# Every entry below suppresses a finding that is an irreducible PyO3 / stub-only
# convention, NOT a real stub bug. stubtest still checks method signature SHAPE
# (parameter names/kinds/defaults) and member existence (both directions) across
# the whole surface; return / property / attribute *types* carry no runtime
# annotations on a compiled module, so those are pinned separately by mypy in
# tests/_typing_pins.py. Keep this list minimal; an unused entry fails CI
# (--ignore-unused-allowlist is NOT passed), so a stale suppression surfaces.

# --- PyO3 constructor convention -------------------------------------------
# PyO3 builds instances via __new__ (the generated runtime __init__ takes no
# args); the hand-written stub uses the conventional __init__ form. mypy
# type-checks construction against that __init__ at every call site, and the test
# suite constructs all four with real arguments, so the signatures are covered —
# stubtest just sees the __new__/__init__ split as a mismatch.
processkit._processkit.CliClient.__init__
processkit._processkit.CliClient.__new__
processkit._processkit.Command.__init__
processkit._processkit.Command.__new__
processkit._processkit.ProcessGroup.__init__
processkit._processkit.ProcessGroup.__new__
processkit._processkit.Supervisor.__init__
processkit._processkit.Supervisor.__new__

# --- type aliases -----------------------------------------------------------
# SignalName is an exported runtime alias in `_types`, but stubtest flags a
# module-level `Literal` type-alias ("is not a Union") instead of seeing the
# runtime object — a known false positive. (StrPath, a plain union alias, is not
# flagged, so no entry. Read-only Literals like `SupervisionOutcome.stopped` are
# inlined at the return type, so they need no alias and no entry.)
processkit._types.SignalName

# --- compiled-module __all__ ------------------------------------------------
# PyO3 emits a module-level __all__ on the extension; the stub does not redeclare
# it. The public surface is re-exported and __all__-listed by processkit/__init__.py
# (and that __all__ is guarded by tests/test_api_surface.py).
processkit._processkit.__all__
