Framework + contract for @plurnk/plurnk-execs-* runtime executor packages. Consumed by plurnk-service's exec scheme for EXEC op dispatch.
SPEC.md— author-facing contract.- Constellation: plurnk-grammar (EXEC AST), plurnk-providers, plurnk-schemes, plurnk-mimetypes.
BaseExecutor— abstract base a@plurnk/plurnk-execs-*sibling subclasses: declares its output channels and implementsrun(args) → ExecResult.SubprocessExecutor— concreteBaseExecutorfor subprocess runtimes (sh/node/python): spawns viaresolveRuntime, streams stdout/stderr, honors cancellation, reports exit code. Siblings subclass it.discover(options?)— scansnode_modules/@plurnk/forplurnk.kind === "exec"packages and builds the runtime-tag registry (fail-hard on tag collision).ExecArgs,ExecResult,ChannelDecl,ChannelState,ExecutorMetadata,ExecInfo,ExecRegistry,Discovery,DiscoverOptions— contract types.TelemetryEvent,ContentOffset,LogCoordinate— local mirror of grammar's telemetry envelope (theemitsink's payload).resolveRuntime(runtime, command),isKnownRuntime(runtime),KNOWN_RUNTIMES,SpawnArgs,RuntimeResolver— subprocess-family helper for the consumer's legacy spawn path (§4).
test:lint, test:unit.