AgentCapability constructor

const AgentCapability({
  1. String? devRoot,
  2. DartLinkService linkService = const DartLinkService(),
  3. OverlayMaterializer materializer = const OverlayMaterializer(),
  4. GridAssetRegistry? assetRegistry,
  5. GridAssetRosterOverride? assetRosterOverride,
  6. String overlaySourceRef = kUnknownSourceRef,
  7. Map<String, String> overlayArgs = const {},
  8. AgentSessionAdapterRegistry sessionAdapters = kBuiltinAgentSessionAdapters,
  9. AgentSteerSource steers = const NoAgentSteerSource(),
  10. GitRunner? gitRunner,
})

Creates the agent capability. devRoot is the station's registered root checkout path (RootCheckout.path — "the registered root checkout's path") relative grid.dart dev-path links absolutize against in the per-bead worktree; null in an offline/dry-run build (no root registered — a relative link then refuses, never silently applies a broken override). linkService is injectable for tests.

materializer/assetRegistry/assetRosterOverride/overlayArgs are the asset delivery seam (bead pow-kzx, re-homed onto the one resolution by pow-4peu): the SELECTED vended skills materialized into the per-bead worktree at provision, so the spawned claude -p can /invoke them. A NULL assetRegistry disables materialization outright — the explicit posture an isolated capability test (a session-adapter suite) takes so a spawn touches no asset tree at all.

gitRunner is the REGISTRY's one git seam (A9(5)), threaded here by buildCodeRegistry so the round-commit fence counts through the same runner rebase/pin-diff/declared-tests already share; absent ⇒ the real SystemGitRunner.

Implementation

const AgentCapability({
  String? devRoot,
  DartLinkService linkService = const DartLinkService(),
  OverlayMaterializer materializer = const OverlayMaterializer(),
  sdk.GridAssetRegistry? assetRegistry,
  GridAssetRosterOverride? assetRosterOverride,
  String overlaySourceRef = kUnknownSourceRef,
  Map<String, String> overlayArgs = const {},
  AgentSessionAdapterRegistry sessionAdapters = kBuiltinAgentSessionAdapters,
  AgentSteerSource steers = const NoAgentSteerSource(),
  GitRunner? gitRunner,
}) : _sessionAdapters = sessionAdapters,
     _steers = steers,
     _devRoot = devRoot,
     _linkService = linkService,
     _materializer = materializer,
     _assetRegistry = assetRegistry,
     _assetRosterOverride = assetRosterOverride,
     _overlaySourceRef = overlaySourceRef,
     _overlayArgs = overlayArgs,
     _gitRunner = gitRunner;