Skip to content

Append-Only Pass

This fixture passes because AuditStore.appendEvent emits the effect that the component grants.

module audit
resource AuditEvent : AppendOnly
component AuditStore {
owns AuditEvent
grants Append<AuditEvent>
fn appendEvent
effects complete {
Append<AuditEvent>
}
}

Run:

Terminal window
shp check fixtures/pass/append_only_append/audit.shape

Expected result:

Shape check passed.

Use this as the smallest positive example for a resource, component, grant, function, and complete effect summary.