type t = {
  id: id;
  name: string;
  metadata: [`String of string] option;
  depends_on: id list;
  on_failure_activate: id list;
  on_success_activate: id list;
  make: Build_process.t;
  condition: Condition.t option;
  equivalence: Equivalence.t;
  history: State.t;
  log: (Time.t * string) list;
  tags: string list;
} [@@deriving yojson]