Skip to content

emberd absolute resource guard: OS-enforced commit/VRAM ceilings on every spawned run — kill the per-callsite preflight class #898

Description

@wordingone

Operator directives (2026-07-16 evening, binding)

  1. 'Impossible to set up an absolute memory/ram/vram guard inside emberd? You expect others in the future to manually do all this?'
  2. 'There is ZERO justification behind keeping ANYTHING like the launcher outside of emberd.' — total absorption. No standalone dispatcher, no launch scripts, no thin wrappers. emberd is the ONLY way any run, tool, or cockpit process starts. The current standalone dispatcher/launch scripts exist only until this issue closes, then they are DELETED — not wrapped, deleted.

Scope: complete surface enumeration, walls at birth

A run touches a FINITE list of host surfaces. Done = every surface caged by emberd at spawn, proven by a probe, and no process starts without a declared budget per surface:

Surface Wall (emberd-owned) Proof probe
Host RAM/commit Windows Job Object JOB_OBJECT_LIMIT_JOB_MEMORY from declared budget at spawn over-allocating probe dies at ceiling; concurrent host process unaffected
VRAM per-process fraction cap + NVML floor sentinel probe exceeding fraction fails; floor breach fires ladder
Disk (B/C) floor receipts absorbed into the same spawn preflight write past budget refused
Process tree job object kill-on-close; all children caged orphan child dies with job
Windows/UI runs spawn no visible windows except through the cockpit contract UIA census before/after probe
CPU governor pacing receipted in the same manifest sustained 100% probe throttled

Structure

  • emberd is the sole entry point. Every process class it manages — trainers, runners, verifiers, smoke probes, the cockpit — is born through emberd and therefore born caged. 'Started by emberd' and 'inside the walls' are the same fact by construction.
  • emberd sentinel: polls host commit (GetPerformanceInfo) + VRAM (NVML) floors while anything it owns lives; governed ladder defer→pause→clean-abort with retained evidence, receipted to telemetry; detects and terminates any GPU/large-commit process NOT born through emberd.
  • Declared-or-refused: spawn requires a declared budget per surface; undeclared = refused.
  • Demotion: per-callsite preflights (Bound checkpoint serialization and retain failure evidence #895 class) become defense-in-depth only.

Acceptance

  • Every probe in the table above, receipted.
  • A probe process started OUTSIDE emberd is detected and terminated by the sentinel (receipted).
  • The standalone dispatcher and every launch script are DELETED from the tree; repo guard blocks reintroducing any launcher-shaped script outside emberd.
  • A fresh contributor starts a governed run with one emberd command and zero manual steps.

Provenance

Step-8192 checkpoint OOM cascade (#892) took down two seats and the run. This issue ends the launcher-outside-emberd era and the per-incident guard pattern with it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects:EMBER-02Work materially affects canonical milestone EMBER-02; this is not a completion claim.area:ember-labDurable Ember subsystem: Ember Lab runtime.area:runtimeDurable Ember subsystem: runtime.kind:engineeringWork-object kind: engineering.priority:p0Triage priority P0.state:in-progressCurrent lifecycle state: in-progress.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions