nenu-lang / listener-runnables
Partial

Listener Runnables

  • Listener metadata currently owns only the event key.
  • No Listener request or response contract is projected into runnable source.
  • App Marché does not execute Listener nodes yet.

Current Metadata Boundary

A Listener node stores an event key only. Its source remains part of whole-project validation, but App Marché does not project a listener-specific request binding or Response contract.

Listener metadataListener source
Event keyIdentifies the intended trigger
Node identityKeeps the runnable in project validation
No request or response fieldsReceives no listener payload contract

Pending Payload Contract

The redesign must define how an emitter declares payload fields, how those fields become typed Nenu bindings, and whether a listener can produce any response. Until then, do not publish a payload-dependent Listener workflow.

Listener Boundaries

  • Treat the event key as the only stable Listener metadata today.
  • Do not read request or return Response as a Listener contract.
  • Defer payload-dependent workflows until the listener contract is redesigned.
  • Remember that App Marché does not execute Listener nodes yet.
  • Keep browser UI behavior in Page Script; a listener has no page state, modal, toast, or navigation context.

Common Mistakes

WrongCorrect
listener ExpenseCreated { ... }Configure the event key in Listener metadata.
Declare type RequestWait for the Listener payload-contract redesign.
Read request.expense_idDo not assume a Listener request binding exists.
Return an invented ResponseDo not assume a Listener response contract exists.
Use toast.successUse backend effects such as save, cache, log, or throw.

Continue Learning