Files
coder/agent/unit
Bobby Ho c430310dfe feat(agent/unit): support outcome-aware dependencies (#30390)
feat(agent): add outcome-aware unit dependencies

Extend the unit manager for declarative script ordering without changing
existing status dependencies or `coder exp sync` behavior.

- Add a separate conditional dependency graph with `success` and
  `completion` requirements, outcome tracking, and runnable, skipped,
  or waiting decisions.
- Failed, timed-out, or skipped prerequisites skip `success` dependents
  but satisfy `completion`. Canceled or unregistered prerequisites keep
  dependents waiting.
- Add context-cancelable waiting with no built-in timeout and sorted
  unmet prerequisites for logging. Callers remain responsible for
  recording skips.
- Enforce immutable final outcomes, reject cycles and conflicting edge
  requirements, and accept identical duplicate edges.
- Add race-tested coverage for outcome semantics, validation, graph
  isolation, cancellation, and concurrent waiters.

No callers yet; script-runner integration follows in PLAT-549.

Refs PLAT-546.
2026-10-07 22:29:33 +00:00
..
…