packages feed

keiro-dsl-0.15.0.0: test/fixtures/workspace-nominals/domain/project-artifact.keiro

language keiro-dsl 4
context workspace-nominal-proof

aggregate ProjectArtifact
  regs
    projectId ProjectId = placeholder
    phase ProjectPhase = Draft
  states Empty Recorded!

  command RecordArtifact { projectId phase:ProjectPhase }
  event ArtifactRecorded = fields(RecordArtifact)

  Empty -- RecordArtifact -->
    guard cmd.projectId == reg.projectId && cmd.phase == reg.phase
    write projectId := cmd.projectId
    write phase := cmd.phase
    emit ArtifactRecorded
    goto Recorded

  wire kind=ctorName fields=camelCase schemaVersion=1